/* TIG Leads CRM — "ledger" theme: deep investment green, brass accents, paper-white surfaces */
:root{
  --ink:#18212F; --ink-2:#3D4756; --muted:#6B7480; --line:#E2E6EA; --line-2:#EEF1F3;
  --paper:#F3F5F4; --surface:#FFFFFF;
  --green:#0E5A4B; --green-2:#167A65; --green-soft:#E3F1EC; --green-ink:#0B3D33;
  --brass:#A9822A; --brass-soft:#F6EEDB;
  --red:#B42318; --red-soft:#FDECEA; --amber:#B25E09; --amber-soft:#FEF3E2; --blue:#2D5B9A; --blue-soft:#E8EFF8;
  --radius:10px;
}
*{box-sizing:border-box}
html,body{background:var(--paper);color:var(--ink)}
body{font-family:'IBM Plex Sans Arabic',Tahoma,sans-serif;font-size:14.5px;line-height:1.6}
a{color:var(--green-2)} a:hover{color:var(--green)}
.num,.table td.n,.table th.n{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:plaintext;text-align:right}

/* ---------- layout ---------- */
.sidebar{position:fixed;inset-block:0;right:0;width:244px;background:var(--green-ink);color:#CFE0DA;display:flex;flex-direction:column;z-index:1030}
.brand{display:flex;gap:.7rem;align-items:center;padding:1.25rem 1.1rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}
.brand-mark{font-weight:700;letter-spacing:.06em;color:var(--green-ink);background:var(--brass);border-radius:6px;padding:.3rem .5rem;font-size:.9rem}
.brand-text{color:#fff;font-weight:600;line-height:1.25;font-size:.95rem}
.brand-text small{display:block;color:#8FB0A6;font-weight:400;font-size:.72rem;direction:ltr;text-align:right}
.sidebar nav{flex:1;padding:.75rem .6rem;overflow-y:auto}
.sidebar nav a{display:flex;align-items:center;gap:.7rem;padding:.55rem .75rem;border-radius:8px;color:#CFE0DA;text-decoration:none;margin-bottom:2px;position:relative}
.sidebar nav a svg{width:19px;height:19px;fill:currentColor;opacity:.75;flex:none}
.sidebar nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff;font-weight:600}
.sidebar nav a.active::before{content:"";position:absolute;right:-.6rem;top:.45rem;bottom:.45rem;width:3px;border-radius:3px;background:var(--brass)}
.nav-badge{margin-inline-start:auto;background:var(--red);color:#fff;border-radius:20px;font-size:.72rem;padding:0 .45rem;font-weight:600}
.sidebar-user{display:grid;grid-template-columns:auto 1fr;gap:.2rem .6rem;padding:1rem;border-top:1px solid rgba(255,255,255,.08);font-size:.85rem}
.sidebar-user strong{display:block;color:#fff;font-weight:600}
.sidebar-user small{color:#8FB0A6}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--brass);color:var(--green-ink);display:grid;place-items:center;font-weight:700;grid-row:span 2}
.sidebar-user-links{grid-column:2;display:flex;gap:.9rem}
.sidebar-user-links a{color:#8FB0A6;font-size:.8rem}
.main{margin-right:244px;min-height:100vh}
.topbar{display:flex;align-items:center;gap:1rem;padding:1rem 1.75rem;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1020;flex-wrap:wrap}
.topbar h1{font-size:1.25rem;font-weight:700;margin:0;flex:1;min-width:160px}
.topbar-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;padding:.25rem .65rem;font-size:1.1rem}
.content{padding:1.5rem 1.75rem 3rem;max-width:1500px}
@media (max-width: 991px){
  .sidebar{transform:translateX(100%);transition:transform .2s}
  body.nav-open .sidebar{transform:none;box-shadow:0 0 0 100vmax rgba(0,0,0,.35)}
  .main{margin-right:0} .menu-btn{display:block}
  .content{padding:1rem}
  .topbar{padding:.75rem 1rem}
}

/* ---------- surfaces ---------- */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1.25rem}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
.panel-head h2{font-size:1rem;font-weight:700;margin:0}
.panel-head .hint{color:var(--muted);font-size:.8rem}
.panel-body{padding:1.1rem}
.panel-body.flush{padding:0}

/* ---------- ledger strip (dashboard hero) ---------- */
.ledger{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1.25rem;overflow:hidden}
.ledger-cell{padding:1.15rem 1.25rem 1rem;position:relative;border-inline-start:1px solid var(--line-2)}
.ledger-cell:first-child{border-inline-start:0}
.ledger-cell .lbl{color:var(--muted);font-size:.82rem}
.ledger-cell .val{font-size:2rem;font-weight:700;line-height:1.2;margin:.15rem 0 .25rem;font-variant-numeric:tabular-nums;color:var(--ink)}
.ledger-cell .val small{font-size:.9rem;font-weight:500;color:var(--muted);margin-inline-start:.2rem}
.ledger-cell .sub{font-size:.8rem;color:var(--ink-2)}
.ledger-cell.money .val{color:var(--green)}
.ledger-cell .lbl{padding-inline-end:6.5rem}
.ledger-link{position:absolute;inset-inline-end:1rem;top:1rem;background:var(--brass-soft);color:#7D5F1C;border:1px solid #E8D9B4;font-size:.72rem;font-weight:600;border-radius:20px;padding:.05rem .5rem;white-space:nowrap}
.ledger-cell:not(:first-child)::before{content:"";position:absolute;inset-inline-start:-6px;top:50%;width:10px;height:10px;border-top:1px solid #C9D3CF;border-inline-start:1px solid #C9D3CF;background:var(--surface);transform:translateY(-50%) rotate(-45deg);z-index:1}
.delta{font-size:.78rem;font-weight:600;border-radius:4px;padding:0 .3rem}
.delta.up{color:#05603A;background:var(--green-soft)} .delta.down{color:var(--red);background:var(--red-soft)} .delta.flat{color:var(--muted);background:var(--line-2)}
@media (max-width: 991px){.ledger{grid-template-columns:repeat(2,1fr)} .ledger-cell:nth-child(3){border-inline-start:0} .ledger-cell:nth-child(n+3){border-top:1px solid var(--line-2)} .ledger-cell::before{display:none}}
@media (max-width: 520px){.ledger{grid-template-columns:1fr} .ledger-cell{border-inline-start:0;border-top:1px solid var(--line-2)}}

.metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem;margin-bottom:1.25rem}
.metric{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.7rem .9rem}
.metric .lbl{font-size:.78rem;color:var(--muted)}
.metric .val{font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums}
.metric.alert-red{border-color:#F4C7C3;background:var(--red-soft)} .metric.alert-red .val{color:var(--red)}
.metric.alert-amber{border-color:#F7D9AE;background:var(--amber-soft)} .metric.alert-amber .val{color:var(--amber)}
a.metric{text-decoration:none;color:inherit} a.metric:hover{border-color:var(--green-2)}
@media (max-width: 1200px){.metrics{grid-template-columns:repeat(3,1fr)}}
@media (max-width: 576px){.metrics{grid-template-columns:repeat(2,1fr)}}

/* ---------- filters ---------- */
.filterbar{display:flex;gap:.5rem;align-items:flex-end;flex-wrap:wrap}
.filterbar .form-label{font-size:.75rem;color:var(--muted);margin-bottom:.15rem}
.filterbar .form-control,.filterbar .form-select{min-width:120px}
.form-control,.form-select{border-color:#D5DBE0;font-size:.92rem}
.form-control:focus,.form-select:focus{border-color:var(--green-2);box-shadow:0 0 0 .2rem rgba(22,122,101,.15)}
.form-label{font-weight:500;font-size:.85rem;margin-bottom:.25rem}
.req::after{content:" *";color:var(--red)}
.btn{font-weight:500;border-radius:8px}
.btn-primary{background:var(--green);border-color:var(--green)} .btn-primary:hover,.btn-primary:focus{background:var(--green-ink);border-color:var(--green-ink)}
.btn-outline-primary{color:var(--green);border-color:var(--green)} .btn-outline-primary:hover{background:var(--green);border-color:var(--green)}
.btn-brass{background:var(--brass);border-color:var(--brass);color:#fff} .btn-brass:hover{background:#8E6C21;color:#fff}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px}

/* ---------- tables ---------- */
.table{margin:0;font-size:.88rem;--bs-table-hover-bg:#F7FAF9}
.table thead th{background:#F7F9F8;color:var(--ink-2);font-weight:600;font-size:.8rem;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}
.table td{vertical-align:middle;border-color:var(--line-2)}
.table tfoot td,.table tr.total td{font-weight:700;background:#F7F9F8}
.table-wrap{overflow-x:auto}
.row-overdue td:first-child{box-shadow:inset -3px 0 0 var(--red)}
.lead-name{font-weight:600;color:var(--ink);text-decoration:none} .lead-name:hover{color:var(--green-2);text-decoration:underline}
.muted{color:var(--muted)} .small-note{font-size:.78rem;color:var(--muted)}

/* ---------- badges ---------- */
.chip{display:inline-block;font-size:.75rem;font-weight:600;border-radius:20px;padding:.08rem .55rem;white-space:nowrap;background:var(--line-2);color:var(--ink-2)}
.chip.won{background:var(--green-soft);color:#05603A} .chip.lost{background:#EEE;color:#777} .chip.hold{background:var(--blue-soft);color:var(--blue)}
.chip.open{background:#EEF3F1;color:var(--green-ink)}
.chip.hot{background:var(--red-soft);color:var(--red)} .chip.warm{background:var(--amber-soft);color:var(--amber)} .chip.cold{background:var(--blue-soft);color:var(--blue)}
.chip.overdue{background:var(--red);color:#fff} .chip.today{background:var(--amber-soft);color:var(--amber)} .chip.upcoming{background:var(--green-soft);color:#05603A} .chip.nodate{background:#FFF7D6;color:#8A6100}
.chip.active{background:var(--green-soft);color:#05603A} .chip.planned{background:var(--blue-soft);color:var(--blue)} .chip.paused{background:var(--amber-soft);color:var(--amber)} .chip.ended{background:#EEE;color:#777}
.chip.role-admin{background:var(--brass-soft);color:var(--brass)}

/* progress (target) */
.bar{height:6px;background:var(--line-2);border-radius:6px;overflow:hidden;min-width:70px}
.bar>span{display:block;height:100%;background:var(--green-2);border-radius:6px}
.bar.over>span{background:var(--brass)}

/* timeline */
.timeline{list-style:none;padding:0;margin:0}
.timeline li{position:relative;padding:0 1.4rem .95rem 0;border-right:2px solid var(--line);margin-right:.4rem}
.timeline li::before{content:"";position:absolute;right:-7px;top:.35rem;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--green-2)}
.timeline li.t-stage::before{border-color:var(--brass);background:var(--brass-soft)}
.timeline .meta{font-size:.78rem;color:var(--muted)}
.timeline .body{white-space:pre-wrap}

.kv{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.9rem;margin:0}
.kv dt{color:var(--muted);font-weight:400} .kv dd{margin:0;font-weight:500}

.chart-box{position:relative;height:280px}
.chart-box.tall{height:330px}
.empty-state{text-align:center;padding:3rem 1rem;color:var(--muted)}
.empty-state h2{font-size:1.15rem;color:var(--ink)}

/* login */
.guest-main{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(160deg,var(--green-ink) 0 38%,var(--paper) 38%)}
.login-card{width:100%;max-width:400px;background:#fff;border-radius:14px;padding:2rem;border:1px solid var(--line)}
.login-card .brand-mark{display:inline-block;margin-bottom:.75rem}

/* quick log */
.quick-log{background:#FAFBFA;border:1px dashed #C9D6D1;border-radius:var(--radius);padding:1rem}
.type-pills{display:flex;gap:.35rem;flex-wrap:wrap}
.type-pills input{display:none}
.type-pills label{border:1px solid var(--line);border-radius:20px;padding:.2rem .8rem;cursor:pointer;font-size:.85rem;background:#fff}
.type-pills input:checked+label{background:var(--green);border-color:var(--green);color:#fff}

/* ---------- print ---------- */
.print-only{display:none}
.report-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid var(--green);padding-bottom:.6rem;margin-bottom:1rem}
.report-head h2{margin:0;font-size:1.3rem;font-weight:700;color:var(--green-ink)}
.report-head .meta{font-size:.8rem;color:var(--muted);text-align:left}
.report-section{break-inside:avoid;margin-bottom:1rem}
.report-section h3{font-size:.98rem;font-weight:700;color:var(--green-ink);border-bottom:1px solid var(--line);padding-bottom:.3rem;margin-bottom:.5rem}
@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff;font-size:11px}
  .sidebar,.topbar,.no-print,.alert{display:none!important}
  .main{margin:0} .content{padding:0;max-width:none}
  .print-only{display:block}
  .panel{border:0;margin-bottom:.6rem} .panel-head{padding:.3rem 0} .panel-body{padding:.3rem 0}
  .table{font-size:10px} .table td,.table th{padding:.2rem .35rem}
  .ledger,.metric{border-color:#ccc}
  .ledger-cell .val{font-size:1.35rem}
  .chart-box{height:210px}
  .page-break{break-before:page}
  a{text-decoration:none;color:inherit}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.metrics.metrics-4{grid-template-columns:repeat(4,1fr)}
@media (max-width: 576px){.metrics.metrics-4{grid-template-columns:repeat(2,1fr)}}
@media print{.h-100{height:auto!important}.report-section .chart-box{height:200px;overflow:hidden}.row>[class*=col-]{margin-bottom:.5rem}}
