:root{
    --navy:#0B2545;
    --navy-2:#13345E;
    --gold:#B98A3C;
    --gold-light:#E8D3A6;
    --bg:#F3F1EA;
    --card:#FFFFFF;
    --ink:#1B1F27;
    --muted:#67707D;
    --line:#E3DFD3;
    --red:#B3261E;
    --green:#256B33;
    --idle:#C7CCD6;
    --blue-soft:#8FA4C2;
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;color-scheme:light only;overflow-x:hidden;max-width:100vw;}
  body{color-scheme:light only;overflow-x:hidden;max-width:100vw;overflow-wrap:break-word;word-break:break-word;
    margin:0;background:var(--bg);color:var(--ink);
    font-family:"Segoe UI","Tahoma","Geeza Pro","Arial",sans-serif;
    line-height:1.75;font-size:18px;
  }
  .wrap{max-width:1240px;margin:0 auto;padding:0 16px 70px;}
  @media(max-width:640px){
    body{font-size:19px;}
    .wrap{padding:0 12px 60px;}
  }

  nav.sitenav{position:sticky;top:0;z-index:50;background:var(--navy);border-bottom:3px solid var(--gold);
              box-shadow:0 2px 8px rgba(0,0,0,.15);}
  nav.sitenav .nav-inner{max-width:1240px;margin:0 auto;display:flex;gap:8px;overflow-x:auto;
              padding:12px 16px;-webkit-overflow-scrolling:touch;}
  nav.sitenav .nav-inner::-webkit-scrollbar{height:4px;}
  nav.sitenav a{flex:0 0 auto;color:#CBD5E1;text-decoration:none;font-size:15.5px;font-weight:700;
              padding:9px 16px;border-radius:20px;white-space:nowrap;transition:.15s;border:1.5px solid transparent;}
  nav.sitenav a:hover{color:#fff;border-color:rgba(255,255,255,.25);}
  nav.sitenav a.active{background:var(--gold);color:#fff;border-color:var(--gold);}
  section[id]{scroll-margin-top:64px;}
  details.panel{scroll-margin-top:64px;}

  header.hero{
    background:radial-gradient(circle at 15% 20%, #163a63 0%, var(--navy) 55%, #081b34 100%);
    color:#fff;padding:34px 0 28px;border-bottom:6px solid var(--gold);
  }
  header.hero .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center;}
  .eyebrow{color:var(--gold-light);font-size:15px;font-weight:700;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase;}
  h1.title{font-size:28px;margin:0 0 10px;font-weight:800;line-height:1.35;color:#FFFFFF;}
  .subtitle{color:#DCE4F0;font-size:16px;max-width:560px;}
  .fleet-viz{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:16px;}
  .fleet-title{font-size:16px;color:#E4E9F2;margin-bottom:10px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-weight:700;}
  .fleet-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;}
  .car-icon{transition:opacity .3s ease;}
  .fleet-legend{display:flex;gap:16px;margin-top:12px;font-size:15px;color:#E4E9F2;flex-wrap:wrap;font-weight:600;}
  .dot{width:11px;height:11px;border-radius:3px;display:inline-block;margin-inline-end:5px;}

  .grid-main{display:grid;grid-template-columns:320px 1fr;gap:22px;margin-top:26px;align-items:start;}
  @media(max-width:980px){
    .grid-main{grid-template-columns:1fr;}
    header.hero .wrap{grid-template-columns:1fr;}
    .panel{position:static !important;order:2;}
    .grid-main > div{order:1;}
  }

  .panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;
         position:sticky;top:14px;box-shadow:0 2px 10px rgba(20,20,30,.05);}
  .panel h3{margin:0 0 4px;font-size:19px;color:var(--navy);display:inline;}
  .panel summary{cursor:pointer;list-style:none;padding-bottom:6px;border-bottom:2px solid var(--line);margin-bottom:8px;}
  .panel summary::-webkit-details-marker{display:none;}
  .panel summary::after{content:"▾";float:left;color:var(--gold);font-size:18px;transition:transform .2s;}
  .panel[open] summary::after{transform:rotate(180deg);}
  .panel .hint{font-size:15.5px;color:var(--muted);margin-bottom:18px;}
  .field{margin-bottom:18px;}
  .field label{display:block;font-size:15.5px;font-weight:700;color:var(--navy);margin-bottom:8px;}
  .field .val{color:var(--gold);font-weight:800;font-size:17px;}
  .presets{display:flex;gap:6px;margin-bottom:9px;flex-wrap:wrap;}
  .preset-btn{border:1.5px solid var(--gold);background:#fff;color:var(--gold);font-weight:700;
              font-size:15px;border-radius:20px;padding:8px 15px;cursor:pointer;transition:.15s;min-height:40px;}
  .preset-btn:hover{background:var(--gold-light);}
  .preset-btn.active{background:var(--gold);color:#fff;}
  input[type=range]{width:100%;accent-color:var(--gold);height:28px;}
  input[type=number]{width:100%;padding:12px 10px;border:1.5px solid var(--line);border-radius:9px;font-size:17px;
                      font-family:inherit;text-align:center;-moz-appearance:textfield;min-height:46px;}
  details.adv{margin-top:10px;border-top:1px solid var(--line);padding-top:12px;}
  details.adv summary{cursor:pointer;font-weight:700;color:var(--navy);font-size:15.5px;padding:6px 0;}
  details.adv .field{margin-top:12px;}
  .mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .reset-btn{width:100%;margin-top:8px;background:var(--navy);color:#fff;border:none;border-radius:9px;
             padding:13px;font-weight:700;font-size:15.5px;cursor:pointer;min-height:46px;}
  .reset-btn:hover{background:var(--navy-2);}

  .kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:26px;}
  @media(max-width:420px){.kpis{grid-template-columns:1fr;}}
  @media(min-width:760px){.kpis{grid-template-columns:repeat(4,1fr);}}
  .kpi{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:18px 12px;
       text-align:center;box-shadow:0 1px 3px rgba(20,20,30,.04);}
  .kpi .num{font-size:24px;font-weight:800;color:var(--navy);word-break:break-word;line-height:1.25;}
  .kpi .lbl{font-size:15px;color:var(--muted);margin-top:6px;font-weight:600;}
  .kpi.alert .num{color:var(--red);}
  .kpi.good .num{color:var(--green);}
  .kpi.score-card{position:relative;}
  .kpi.score-card .num{font-size:22px;}
  .kpi.score-card.score-good{background:#E3F2E5;border-color:#A9D9B2;}
  .kpi.score-card.score-good .num{color:var(--green);}
  .kpi.score-card.score-warn{background:#FDECD2;border-color:#F0C989;}
  .kpi.score-card.score-warn .num{color:#8a5a12;}
  .kpi.score-card.score-danger{background:#FCE4E1;border-color:#F3B3AA;}
  .kpi.score-card.score-danger .num{color:var(--red);}

  section{margin-bottom:36px;}
  .sec-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;border-bottom:2px solid var(--line);padding-bottom:10px;}
  .sec-num{font-size:15px;font-weight:800;color:#fff;background:var(--gold);border-radius:20px;padding:4px 12px;flex:0 0 auto;}
  h2{font-size:20px;margin:0;color:var(--navy);font-weight:800;line-height:1.4;}
  .card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;
        box-shadow:0 1px 3px rgba(20,20,30,.04);}
  .charts-grid{display:grid;grid-template-columns:1fr;gap:20px;}
  @media(min-width:900px){.charts-grid{grid-template-columns:1fr 1fr;}}
  .chart-title{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:18px;text-align:center;line-height:1.4;}

  /* CSS stacked bar (donut replacement) */
  .stack-bar{display:flex;width:100%;height:32px;border-radius:9px;overflow:hidden;background:#eee;margin-bottom:18px;}
  .stack-seg{height:100%;transition:width .3s ease;}
  .legend-list{display:flex;flex-direction:column;gap:12px;}
  .legend-item{display:flex;align-items:center;justify-content:space-between;font-size:15.5px;flex-wrap:wrap;gap:6px;}
  .legend-item .left{display:flex;align-items:center;gap:9px;font-weight:600;}
  .legend-item .swatch{width:14px;height:14px;border-radius:4px;flex:0 0 auto;}
  .legend-item .amt{font-weight:800;color:var(--navy);}

  /* CSS vertical bar chart */
  .vbars{display:flex;align-items:flex-end;justify-content:space-around;height:210px;gap:12px;padding:0 4px;}
  .vbar-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;flex:1;height:100%;}
  .vbar{width:100%;max-width:70px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,var(--navy-2),var(--navy));
        transition:height .3s ease;min-height:2px;}
  .vbar-val{font-size:15px;font-weight:800;color:var(--navy);margin-bottom:8px;text-align:center;}
  .vbar-lbl{font-size:15.5px;color:var(--muted);margin-top:10px;font-weight:700;text-align:center;}
  .vbar-col.current .vbar{background:linear-gradient(180deg,var(--gold),#8a662a);}
  .vbar-col.current .vbar-val{color:var(--gold);}

  /* CSS horizontal bar chart */
  .hbars{display:flex;flex-direction:column;gap:18px;}
  .hbar-row{display:grid;grid-template-columns:82px 1fr 92px;align-items:center;gap:10px;}
  .hbar-lbl{font-size:15px;font-weight:700;color:var(--navy);text-align:right;}
  .hbar-track{background:#eee;border-radius:9px;height:28px;overflow:hidden;}
  .hbar-fill{height:100%;border-radius:9px;transition:width .3s ease;}
  .hbar-val{font-size:15px;font-weight:800;color:var(--navy);text-align:left;}

  table{border-collapse:collapse;width:100%;font-size:16.5px;min-width:520px;}
  th,td{padding:13px 12px;text-align:center;border-bottom:1px solid var(--line);}
  th{background:var(--navy);color:#fff;font-size:15.5px;font-weight:700;}
  td.lbl-cell,th.lbl-cell{text-align:right;font-weight:600;}
  tbody tr:nth-child(even){background:#FAF9F5;}
  tr.total-row td{font-weight:800;background:var(--gold-light);}
  .scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;}

  /* Responsive card-style table for narrow screens: avoids page-wide shrink/zoom */
  @media(max-width:680px){
    table.responsive-table{min-width:0;width:100%;}
    table.responsive-table thead{display:none;}
    table.responsive-table, table.responsive-table tbody, table.responsive-table tfoot,
    table.responsive-table tr, table.responsive-table td{display:block;width:100%;}
    table.responsive-table tr{margin-bottom:14px;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card);}
    table.responsive-table tr.total-row{border-color:var(--gold);}
    table.responsive-table td{display:flex;justify-content:space-between;align-items:center;
                               padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;}
    table.responsive-table td:last-child{border-bottom:none;}
    table.responsive-table td::before{content:attr(data-label);font-weight:700;color:var(--navy);text-align:right;}
    table.responsive-table tr.total-row td{background:var(--gold-light);}
  }

  .mix-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
  .mix-row label{flex:0 0 70px;font-size:15px;font-weight:700;}
  .mix-row input[type=range]{flex:1;height:28px;}
  .mix-row .mix-val{flex:0 0 52px;text-align:center;font-weight:800;color:var(--gold);font-size:16px;}
  .mix-sum{font-size:15px;color:var(--muted);margin-top:4px;font-weight:600;}
  .mix-sum.bad{color:var(--red);font-weight:700;}

  ol.recs{padding-inline-start:22px;margin:0;}
  ol.recs li{margin-bottom:14px;font-size:16px;}
  ol.recs b{color:var(--navy);}

  .callout{background:#FCEFEA;border:1.5px solid #EAC2B6;color:#7A2E22;border-radius:10px;padding:16px 18px;
           margin-top:16px;font-size:15px;line-height:1.7;}

  .decision-list{display:flex;flex-direction:column;gap:12px;}
  .decision-item{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:10px;
                  border-inline-start:5px solid var(--line);background:#FAF9F5;font-size:15px;line-height:1.6;}
  .decision-item .di-icon{font-size:18px;flex:0 0 auto;}
  .decision-item.di-good{border-inline-start-color:var(--green);background:#F0F8F1;}
  .decision-item.di-warn{border-inline-start-color:#c9922e;background:#FDF6EA;}
  .decision-item.di-danger{border-inline-start-color:var(--red);background:#FCF0EE;}

  footer{text-align:center;color:var(--muted);font-size:15px;padding:26px 0 8px;border-top:1px solid var(--line);}

  /* ---------- OPERATIONAL TRACKING (docs / maintenance / performance / monthly) ---------- */
  .ops-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end;margin-bottom:8px;}
  .ops-form .field{margin-bottom:0;}
  .ops-form input[type=text],.ops-form input[type=date],.ops-form input[type=month],.ops-form input[type=number],.ops-form select{
    width:100%;padding:12px 10px;border:1.5px solid var(--line);border-radius:9px;font-size:16px;
    font-family:inherit;text-align:center;min-height:46px;background:#fff;
  }
  .add-btn{background:var(--gold);color:#fff;border:none;border-radius:9px;padding:12px 20px;
           font-weight:800;font-size:15.5px;cursor:pointer;white-space:nowrap;min-height:46px;width:100%;}
  .add-btn:hover{background:#9c7530;}
  .entry-list{display:flex;flex-direction:column;gap:12px;margin-top:18px;}
  .entry-item{display:flex;justify-content:space-between;align-items:center;gap:12px;
              background:#FAF9F5;border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;flex-wrap:wrap;}
  .entry-main{font-weight:800;color:var(--navy);font-size:16px;}
  .entry-sub{font-size:14.5px;color:var(--muted);margin-top:3px;}
  .entry-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:0 0 auto;}
  .badge{font-size:14px;font-weight:800;padding:5px 12px;border-radius:14px;white-space:nowrap;}
  .badge.ok{background:#E3F2E5;color:var(--green);}
  .badge.warn{background:#FDECD2;color:#8a5a12;}
  .badge.danger{background:#FCE4E1;color:var(--red);}
  .entry-del{background:none;border:1.5px solid var(--line);color:var(--red);font-size:18px;font-weight:800;
             border-radius:8px;cursor:pointer;padding:6px 12px;line-height:1;min-height:38px;}
  .entry-del:hover{background:#FCE4E1;border-color:var(--red);}
  .entry-edit{background:none;border:1.5px solid var(--line);color:var(--navy);font-size:14px;font-weight:800;
              border-radius:8px;cursor:pointer;padding:6px 12px;line-height:1;min-height:38px;}
  .entry-edit:hover{background:var(--gold-light);border-color:var(--gold);}
  .empty-state{color:var(--muted);font-size:15px;text-align:center;padding:24px 0;}
  .agg-line{font-size:14.5px;color:var(--navy);background:var(--gold-light);border-radius:8px;padding:10px 14px;margin-top:14px;font-weight:700;}

  /* ---------- Modern card-grid docs module (SaaS style) ---------- */
  .kpi-row-docs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;}
  @media(max-width:640px){.kpi-row-docs{grid-template-columns:1fr;}}
  .kpi-row-docs .sbadge{border-radius:14px;padding:16px 14px;font-weight:700;font-size:15px;
                         display:flex;align-items:center;justify-content:space-between;
                         border:1.5px solid transparent;}
  .kpi-row-docs .sbadge .n{font-size:28px;font-weight:800;line-height:1;}
  .kpi-row-docs .sbadge.danger{background:#FCE4E1;color:var(--red);border-color:#F3B3AA;}
  .kpi-row-docs .sbadge.warn{background:#FDECD2;color:#8a5a12;border-color:#F0C989;}
  .kpi-row-docs .sbadge.ok{background:#E3F2E5;color:var(--green);border-color:#A9D9B2;}

  .doc-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;
               gap:12px;margin-bottom:14px;}
  .doc-filters{display:flex;gap:10px;flex-wrap:wrap;flex:1 1 340px;}
  .doc-actions{display:flex;gap:8px;flex-wrap:wrap;}
  .filter-input{flex:1;min-width:140px;padding:11px 10px;border:1.5px solid var(--line);border-radius:9px;
                font-size:15px;font-family:inherit;background:#fff;min-height:44px;}

  .io-btn{background:#fff;border:1.5px solid var(--navy);color:var(--navy);border-radius:9px;
          padding:10px 16px;font-weight:700;font-size:14.5px;cursor:pointer;min-height:44px;
          display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
  .io-btn:hover{background:var(--navy);color:#fff;}
  .io-btn-primary{background:var(--gold);border-color:var(--gold);color:#fff;}
  .io-btn-primary:hover{background:#9c7530;border-color:#9c7530;}
  .io-hint{font-size:12.5px;color:var(--muted);margin:10px 0 0;}

  .add-form-panel{background:#FAF9F5;border:1.5px dashed var(--gold);border-radius:14px;
                   padding:18px;margin-bottom:20px;}
  .add-form-panel[hidden]{display:none;}

  /* ===================== CRM SHELL ===================== */
  .crm-shell{display:flex;gap:18px;align-items:flex-start;}
  @media(max-width:900px){.crm-shell{flex-direction:column;}}

  .crm-sidebar{flex:0 0 220px;position:sticky;top:70px;display:flex;flex-direction:column;gap:16px;
               align-self:flex-start;max-height:calc(100vh - 90px);overflow-y:auto;}
  @media(max-width:900px){.crm-sidebar{position:static;flex:1 1 auto;width:100%;max-height:none;
    flex-direction:row;flex-wrap:wrap;}}
  .crm-block{background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:14px;}
  @media(max-width:900px){.crm-block{flex:1 1 220px;}}
  .crm-block-title{font-size:12.5px;font-weight:800;color:var(--muted);text-transform:uppercase;
                    letter-spacing:.04em;margin-bottom:10px;}
  .crm-block .filter-input{width:100%;margin-bottom:8px;}
  .crm-block .filter-input:last-child{margin-bottom:0;}
  .crm-block-btn{width:100%;justify-content:center;margin-bottom:8px;}
  .crm-block-btn:last-child{margin-bottom:0;}

  .crm-view-switch{display:flex;flex-direction:column;gap:6px;}
  .view-btn{background:#fff;border:1.5px solid var(--line);color:var(--navy);border-radius:9px;
            padding:9px 12px;font-weight:700;font-size:14px;cursor:pointer;text-align:right;}
  .view-btn:hover{background:var(--gold-light);}
  .view-btn.active{background:var(--navy);color:#fff;border-color:var(--navy);}

  .crm-main{flex:1 1 0;min-width:0;}

  /* Sticky filter/action row on mobile-collapsed sidebar */
  @media(max-width:900px){
    .crm-block:has(#docSearch){position:sticky;top:56px;z-index:10;}
  }

  /* ---- Bulk action bar ---- */
  .bulk-bar{display:flex;align-items:center;gap:12px;background:var(--navy);color:#fff;
            border-radius:10px;padding:10px 16px;margin-bottom:14px;flex-wrap:wrap;}
  .bulk-bar .io-btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);color:#fff;
                     min-height:36px;padding:7px 14px;font-size:13.5px;}
  .bulk-bar .io-btn:hover{background:#fff;color:var(--navy);}
  .bulk-bar[hidden]{display:none;}

  /* ---- List view: table ---- */
  .crm-table-wrap{overflow-x:auto;border:1.5px solid var(--line);border-radius:12px;}
  table.crm-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:640px;}
  .crm-table thead th{position:sticky;top:0;background:var(--navy);color:#fff;font-size:13px;
                       font-weight:700;padding:11px 10px;text-align:center;white-space:nowrap;z-index:2;}
  .crm-table thead th.lbl-cell{text-align:right;}
  .crm-table tbody td{padding:9px 10px;text-align:center;border-bottom:1px solid var(--line);
                       font-size:14px;white-space:nowrap;}
  .crm-table tbody td.lbl-cell{text-align:right;font-weight:700;color:var(--navy);cursor:pointer;
                                overflow:hidden;text-overflow:ellipsis;max-width:260px;}
  .crm-table tbody tr{cursor:pointer;transition:background .1s;}
  .crm-table tbody tr:nth-child(even){background:#FAF9F5;}
  .crm-table tbody tr:hover{background:var(--gold-light);}
  .crm-table tbody tr.row-selected{background:#E6EEF8;}
  .crm-table .col-check, .crm-table .col-actions{width:40px;}
  .crm-table .row-actions{display:flex;gap:4px;justify-content:center;}
  .crm-table .row-actions button{background:none;border:1.5px solid var(--line);border-radius:6px;
                                  padding:4px 8px;font-size:12px;cursor:pointer;color:var(--navy);}
  .crm-table .row-actions button:hover{border-color:var(--gold);background:var(--gold-light);}
  .crm-table .row-actions button.row-del:hover{border-color:var(--red);color:var(--red);background:#FCE4E1;}
  .status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-inline-end:6px;}
  .status-dot.danger{background:var(--red);}
  .status-dot.warn{background:#c9922e;}
  .status-dot.ok{background:var(--green);}

  /* ---- Card view: compact ---- */
  .doc-card-grid-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;}
  @media(max-width:640px){.doc-card-grid-compact{grid-template-columns:1fr;}}
  .doc-card-compact{background:var(--card);border:1.5px solid var(--line);border-radius:10px;
                     padding:10px 12px;height:118px;display:flex;flex-direction:column;justify-content:space-between;
                     border-inline-end:4px solid var(--line);cursor:pointer;transition:box-shadow .15s;}
  .doc-card-compact:hover{box-shadow:0 4px 10px rgba(20,20,30,.08);}
  .doc-card-compact.danger{border-inline-end-color:var(--red);}
  .doc-card-compact.warn{border-inline-end-color:#c9922e;}
  .doc-card-compact.ok{border-inline-end-color:var(--green);}
  .doc-card-compact .dcc-type{font-size:10.5px;font-weight:800;color:#7a5a20;background:var(--gold-light);
                               border-radius:10px;padding:2px 8px;display:inline-block;width:fit-content;}
  .doc-card-compact .dcc-name{font-weight:800;font-size:14px;color:var(--navy);line-height:1.3;
                               overflow:hidden;text-overflow:ellipsis;display:-webkit-box;
                               -webkit-line-clamp:2;-webkit-box-orient:vertical;}
  .doc-card-compact .dcc-foot{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--muted);}

  /* ---- Kanban view ---- */
  .kanban-board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  @media(max-width:900px){.kanban-board{grid-template-columns:1fr;}}
  .kanban-col{background:#FAF9F5;border:1.5px solid var(--line);border-radius:12px;padding:12px;
              max-height:560px;overflow-y:auto;}
  .kanban-col-head{font-weight:800;font-size:14px;margin-bottom:10px;display:flex;justify-content:space-between;
                    align-items:center;padding-bottom:8px;border-bottom:2px solid var(--line);}
  .kanban-card{background:#fff;border:1.5px solid var(--line);border-radius:9px;padding:10px 12px;
               margin-bottom:8px;cursor:pointer;border-inline-start:4px solid var(--line);}
  .kanban-card:hover{box-shadow:0 3px 8px rgba(20,20,30,.08);}
  .kanban-col[data-status="danger"] .kanban-card{border-inline-start-color:var(--red);}
  .kanban-col[data-status="warn"] .kanban-card{border-inline-start-color:#c9922e;}
  .kanban-col[data-status="ok"] .kanban-card{border-inline-start-color:var(--green);}
  .kanban-card .kc-name{font-weight:700;font-size:13.5px;color:var(--navy);margin-bottom:3px;}
  .kanban-card .kc-sub{font-size:11.5px;color:var(--muted);}

  /* ---- Pagination ---- */
  .crm-pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;
                   gap:10px;margin-top:14px;font-size:13.5px;color:var(--muted);}
  .crm-pagination label{display:flex;align-items:center;gap:6px;}
  .filter-input-sm{width:auto;min-width:64px;min-height:36px;padding:6px 8px;}
  .crm-pagination-nav{display:flex;align-items:center;gap:10px;}
  .crm-pagination-nav .io-btn{min-height:36px;padding:7px 14px;font-size:13.5px;}
  .crm-pagination-nav .io-btn:disabled{opacity:.4;cursor:not-allowed;}

  /* ---- Slide-over panel ---- */
  .slideover-backdrop{position:fixed;inset:0;background:rgba(11,37,69,.45);z-index:200;}
  .slideover-backdrop[hidden]{display:none;}
  .slideover{position:fixed;top:0;bottom:0;left:0;width:min(420px,92vw);background:#fff;z-index:201;
             box-shadow:6px 0 24px rgba(0,0,0,.2);display:flex;flex-direction:column;
             animation:slidein .2s ease;}
  .slideover[hidden]{display:none;}
  @keyframes slidein{from{transform:translateX(-100%);}to{transform:translateX(0);}}
  .slideover-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;
                     border-bottom:1.5px solid var(--line);background:var(--navy);color:#fff;}
  .slideover-header h3{margin:0;font-size:17px;}
  .slideover-close{background:rgba(255,255,255,.12);border:none;color:#fff;width:34px;height:34px;
                    border-radius:8px;font-size:16px;cursor:pointer;}
  .slideover-close:hover{background:rgba(255,255,255,.25);}
  .slideover-body{padding:20px;overflow-y:auto;flex:1;}
  .slideover-row{margin-bottom:16px;}
  .slideover-row .sr-label{font-size:12.5px;font-weight:800;color:var(--muted);text-transform:uppercase;
                            letter-spacing:.03em;margin-bottom:5px;}
  .slideover-row .sr-value{font-size:16px;font-weight:700;color:var(--navy);}
  .slideover-actions{display:flex;gap:10px;margin-top:24px;padding-top:18px;border-top:1.5px solid var(--line);}
  .slideover-actions .io-btn{flex:1;justify-content:center;}

  .view-panel[hidden]{display:none;}

  /* ---------- AI chat widget ---------- */
  #rcdChatWidget{position:fixed;bottom:20px;left:20px;z-index:300;}
  #rcdChatToggle{width:58px;height:58px;border-radius:50%;background:var(--gold);color:#fff;border:none;
                 font-size:24px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25);}
  #rcdChatToggle:hover{background:#9c7530;}
  #rcdChatPanel{position:fixed;bottom:88px;left:20px;width:min(360px,90vw);height:min(480px,70vh);
                background:#fff;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.25);
                display:flex;flex-direction:column;overflow:hidden;border:1.5px solid var(--line);}
  #rcdChatPanel[hidden]{display:none;}
  #rcdChatHeader{background:var(--navy);color:#fff;padding:14px 16px;display:flex;justify-content:space-between;
                 align-items:center;font-weight:800;font-size:15px;}
  #rcdChatHeader button{background:rgba(255,255,255,.12);border:none;color:#fff;width:28px;height:28px;
                         border-radius:6px;cursor:pointer;}
  #rcdChatMessages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#FAF9F5;}
  .rcd-msg{max-width:85%;padding:10px 13px;border-radius:12px;font-size:14px;line-height:1.6;}
  .rcd-msg.user{align-self:flex-end;background:var(--gold);color:#fff;border-bottom-right-radius:3px;}
  .rcd-msg.bot{align-self:flex-start;background:#fff;border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:3px;}
  .rcd-msg.typing{color:var(--muted);font-style:italic;}
  #rcdChatInputRow{display:flex;gap:8px;padding:12px;border-top:1.5px solid var(--line);background:#fff;}
  #rcdChatInput{flex:1;padding:10px 12px;border:1.5px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;}
  #rcdChatSend{background:var(--navy);color:#fff;border:none;border-radius:9px;padding:10px 16px;
               font-weight:700;font-size:14px;cursor:pointer;}
  #rcdChatSend:hover{background:var(--navy-2);}
  #rcdChatSend:disabled{opacity:.5;cursor:not-allowed;}


  /* ==========================================================================
     إضافات نسخة لارافيل — عناصر لم تكن في الإضافة الأصلية (حالة المزامنة،
     اختيار الفترة، ملاحظات البذر). مضافة أسفل الملف عمداً حتى تبقى القواعد
     المنقولة أعلاه مطابقة حرفياً للأصل.
     ========================================================================== */

  .sync-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;}
  .sync-pill{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;
             border-radius:20px;padding:7px 14px;background:rgba(255,255,255,.10);
             border:1px solid rgba(255,255,255,.22);color:#E4E9F2;}
  .sync-pill .sync-dot{width:9px;height:9px;border-radius:50%;background:var(--idle);flex:0 0 auto;}
  .sync-pill.fresh .sync-dot{background:#5FD07A;box-shadow:0 0 0 3px rgba(95,208,122,.22);}
  .sync-pill.stale .sync-dot{background:#E8B84B;box-shadow:0 0 0 3px rgba(232,184,75,.22);}
  .sync-pill.failed{background:rgba(179,38,30,.20);border-color:rgba(255,150,140,.45);color:#FFD9D4;}
  .sync-pill.failed .sync-dot{background:#FF8B7E;}
  .sync-btn{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.35);color:#fff;
            min-height:38px;padding:7px 14px;font-size:13.5px;}
  .sync-btn:hover{background:#fff;color:var(--navy);}

  .period-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
              background:var(--card);border:1px solid var(--line);border-radius:13px;
              padding:12px 16px;margin-bottom:16px;}
  .period-form{display:flex;align-items:center;gap:10px;margin:0;}
  .period-form label{font-size:14.5px;font-weight:800;color:var(--navy);white-space:nowrap;}
  .period-form select{min-width:170px;}
  .period-meta{font-size:14px;color:var(--muted);font-weight:600;}

  .seed-note{font-size:12.5px;color:var(--green);font-weight:700;margin-top:6px;}

  .flash{border-radius:11px;padding:13px 17px;margin:18px 0;font-weight:700;font-size:15px;}
  .flash.ok{background:#E3F2E5;border:1.5px solid #A9D9B2;color:#1D4D28;}
  .flash.err{background:#FCE4E1;border:1.5px solid #F3B3AA;color:#7A2E22;}

  /* تقرير الطباعة: يخفي عناصر التفاعل ويحوّل الصفحة لمستند A4 */
  @media print{
    nav.sitenav,.panel,.sync-strip,.period-form,.io-btn,.add-btn,.ops-form,
    .crm-sidebar,.add-form-panel,#rcdChatWidget{display:none !important;}
    body{font-size:13px;background:#fff;}
    .card,.kpi{break-inside:avoid;box-shadow:none;}
    header.hero{padding:18px 0;}
    section{margin-bottom:20px;}
  }

  /* ---- عناصر الجلسة داخل شريط التنقّل (أُضيفت مع حماية /costs) ---- */
  nav.sitenav .nav-spacer{flex:1 0 12px;}
  nav.sitenav a.nav-side{border:1.5px solid rgba(255,255,255,.25);color:#E4E9F2;}
  nav.sitenav a.nav-side:hover{background:rgba(255,255,255,.10);}
  nav.sitenav .nav-logout{flex:0 0 auto;margin:0;}
  nav.sitenav .nav-logout button{
    display:inline-flex;align-items:center;gap:6px;cursor:pointer;
    background:rgba(179,38,30,.16);border:1.5px solid rgba(255,150,140,.45);color:#FFD9D5;
    font-family:inherit;font-size:15.5px;font-weight:700;padding:9px 16px;border-radius:20px;
    white-space:nowrap;transition:.15s;min-height:40px;
  }
  nav.sitenav .nav-logout button:hover{background:#B3261E;border-color:#B3261E;color:#fff;}
  @media(max-width:980px){ nav.sitenav .nav-spacer{display:none;} }
