
  :root{
    --ink:#101F2B; --inkSoft:#1C3144; --cream:#FAF6EE; --paper:#FFFFFF;
    --amber:#F2A93B; --amberDeep:#C97A1A; --slate:#5C6B73; --line:#E4DCC8;
    --green:#2A9D6F; --red:#C5453A; --sidebarW:248px;
    --shadow-sm:0 1px 2px rgba(16,31,43,.08);
    --shadow-md:0 3px 8px rgba(16,31,43,.12);
    --shadow-lg:0 10px 24px rgba(16,31,43,.16);
  }
  *{box-sizing:border-box;}
  body{margin:0;background:var(--cream);font-family:'Inter',sans-serif;color:var(--ink);}
  .mono{font-family:'JetBrains Mono',monospace;}
  .disp{font-family:'Oswald',sans-serif;}
  header.top{background:linear-gradient(180deg,#152840,var(--ink));padding:14px 22px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 3px 10px rgba(0,0,0,.25);position:relative;z-index:5;}
  .brand{display:flex;align-items:center;gap:9px;}
  .brand .name{font-family:'Oswald',sans-serif;font-size:27px;font-weight:700;color:var(--cream);letter-spacing:.04em;}
  .brand .badge{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--amber);border:1px solid var(--amber);padding:1px 6px;border-radius:3px;margin-left:2px;}
  .userchip{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--cream);opacity:.8;}
  .layout{display:flex;min-height:calc(100vh - 53px);}
  .sidebar{width:var(--sidebarW);background:linear-gradient(180deg,#20374A,var(--inkSoft));flex-shrink:0;padding:16px 0;overflow-y:auto;box-shadow:2px 0 10px rgba(0,0,0,.12);}
  .sidebar .grp-label{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;letter-spacing:.1em;color:#8FA0AC;text-transform:uppercase;padding:14px 18px 6px;}
  .sidebar .grp-label.grp-toggle{cursor:pointer;display:flex;align-items:center;justify-content:space-between;user-select:none;transition:background .12s ease;}
  .sidebar .grp-label.grp-toggle:hover{background:#22384B;color:#C7D4DC;}
  .sidebar .grp-label.grp-toggle .grp-chevron{font-size:9px;opacity:.75;transition:transform .12s ease;}
  .sidebar button.navitem{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:transparent;border:none;color:#D9E2E8;padding:8px 18px;font-family:'Inter',sans-serif;font-size:14px;cursor:pointer;transition:background .12s ease,padding-left .12s ease;}
  .sidebar button.navitem:hover{background:#22384B;padding-left:22px;}
  .sidebar button.navitem.active{background:linear-gradient(180deg,#FFC868,var(--amber));color:var(--ink);font-weight:600;box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 2px 6px rgba(0,0,0,.18);}
  main{flex:1;padding:26px 28px 60px;max-width:1180px;}
  .pill-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;}
  .pill-tabs button{padding:7px 16px;border-radius:18px;cursor:pointer;border:1.5px solid var(--line);background:var(--paper);color:var(--slate);font-size:13.5px;font-weight:500;font-family:'Inter',sans-serif;box-shadow:var(--shadow-sm);transition:all .12s ease;}
  .pill-tabs button:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);}
  .pill-tabs button.active{border-color:var(--ink);background:linear-gradient(180deg,#1C3144,var(--ink));color:var(--cream);box-shadow:inset 0 1px 0 rgba(255,255,255,.12), var(--shadow-md);}
  .card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:24px;box-shadow:var(--shadow-sm);}
  .card.tight{padding:18px 20px;}
  .card-title{display:flex;align-items:center;gap:9px;margin-bottom:18px;}
  .card-title h2{font-family:'Oswald',sans-serif;font-size:19px;font-weight:600;color:var(--ink);margin:0;text-transform:uppercase;letter-spacing:.02em;}
  .card-title h3{font-family:'Oswald',sans-serif;font-size:14px;font-weight:600;color:var(--ink);margin:0;text-transform:uppercase;letter-spacing:.03em;}
  .pagehead{margin-bottom:18px;}
  .pagehead h1{font-family:'Oswald',sans-serif;font-size:23px;font-weight:600;margin:0 0 3px;text-transform:uppercase;letter-spacing:.02em;}
  .pagehead p{margin:0;color:var(--slate);font-size:14px;}
  .breadcrumbs{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--slate);margin-bottom:8px;flex-wrap:wrap;}
  .breadcrumbs .bc-link{color:var(--amberDeep);text-decoration:none;font-weight:600;cursor:pointer;}
  .breadcrumbs .bc-link:hover{text-decoration:underline;}
  .breadcrumbs .bc-sep{color:var(--line);}
  .breadcrumbs .bc-current{color:var(--ink);font-weight:600;}
  label.field-label{font-size:11.5px;color:#000;font-family:'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase;display:block;margin-bottom:5px;}
  input, select, textarea{width:100%;box-sizing:border-box;padding:9px 11px;border-radius:6px;border:1px solid var(--line);font-family:'Inter',sans-serif;font-size:15px;color:var(--ink);outline:none;background:var(--paper);box-shadow:inset 0 1px 2px rgba(16,31,43,.05);transition:box-shadow .12s ease,border-color .12s ease;}
  input:focus, select:focus, textarea:focus{border-color:var(--amberDeep);box-shadow:0 0 0 3px rgba(201,122,26,0.18), inset 0 1px 2px rgba(16,31,43,.05);}
  /* Dropdown text ALL CAPS per request — applies to the closed select box
     and its open option list. Values/IDs typed into plain <input> fields
     are untouched (only <select>/<option> get the transform). */
  select, select option{text-transform:uppercase;}
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
  .grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px;}
  .btn-primary{padding:11px 16px;border-radius:7px;border:none;background:linear-gradient(180deg,#16293A,var(--ink));color:var(--cream);font-family:'Inter',sans-serif;font-weight:600;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 3px 8px rgba(16,31,43,.3);transition:transform .08s ease,box-shadow .08s ease;}
  .btn-primary:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 5px 12px rgba(16,31,43,.38);}
  .btn-primary:active{transform:translateY(1px);box-shadow:inset 0 2px 4px rgba(0,0,0,.35);}
  .btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;}
  .btn-primary.auto{width:auto;padding:10px 20px;}
  .btn-ghost{padding:10px 16px;border-radius:7px;border:1px solid var(--line);background:linear-gradient(180deg,var(--paper),#F7F2E6);color:var(--slate);font-family:'Inter',sans-serif;font-size:14.5px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:var(--shadow-sm);transition:transform .08s ease,box-shadow .08s ease;}
  .btn-ghost:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);}
  .btn-ghost:active{transform:translateY(1px);box-shadow:inset 0 2px 3px rgba(16,31,43,.15);}
  .price-box{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--cream),#F3ECDB);border:1px dashed var(--line);border-radius:8px;padding:14px 18px;margin:16px 0;box-shadow:var(--shadow-sm);}
  .price-box .label{font-size:10.5px;color:var(--slate);font-family:'JetBrains Mono',monospace;letter-spacing:.04em;}
  .price-box .amt{font-family:'Oswald',sans-serif;font-size:26px;font-weight:600;color:var(--ink);}
  .confirm-box{margin-top:16px;padding:13px 15px;border-radius:8px;background:#10231A;color:#D7F2E3;display:flex;align-items:center;gap:10px;font-size:13px;box-shadow:var(--shadow-sm);}
  .tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.06em;padding:3px 8px;border-radius:3px;text-transform:uppercase;font-weight:500;box-shadow:0 1px 2px rgba(16,31,43,.15);}
  .tag.ink{background:linear-gradient(180deg,#1C3144,var(--ink));color:var(--cream);}
  .tag.amber{background:linear-gradient(180deg,#FFC868,var(--amber));color:var(--ink);}
  .tag.green{background:linear-gradient(180deg,#39B884,var(--green));color:#fff;}
  .tag.red{background:linear-gradient(180deg,#DA6055,var(--red));color:#fff;}
  .tag.line{background:transparent;color:var(--slate);border:1px solid var(--line);box-shadow:none;}
  .manifest{border:1.5px solid var(--ink);border-radius:8px;padding:18px 20px;background:repeating-linear-gradient(135deg,var(--cream) 0px,var(--cream) 14px,#F3ECDB 14px,#F3ECDB 15px);}
  .manifest-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;}
  .manifest-id{font-family:'JetBrains Mono',monospace;font-size:17px;font-weight:700;color:var(--ink);}
  .rail{position:relative;margin-bottom:6px;}
  .rail-bg{position:absolute;top:7px;left:7px;right:7px;height:2px;background:var(--line);}
  .rail-fill{position:absolute;top:7px;left:7px;height:2px;background:var(--amberDeep);}
  .rail-steps{display:flex;justify-content:space-between;position:relative;}
  .rail-step{display:flex;flex-direction:column;align-items:center;width:58px;}
  .rail-dot{width:15px;height:15px;border-radius:50%;z-index:1;border:2px solid var(--line);background:var(--paper);}
  .rail-dot.reached{border-color:var(--amberDeep);background:var(--amberDeep);}
  .rail-label{font-size:9px;font-family:'JetBrains Mono',monospace;color:var(--slate);margin-top:6px;text-align:center;line-height:1.3;}
  .rail-label.reached{color:var(--ink);}
  .stat-row{display:flex;gap:13px;margin-bottom:18px;flex-wrap:wrap;}
  .stat-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px 18px;flex:1;min-width:135px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:box-shadow .15s ease,transform .15s ease;}
  .stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--amberDeep),var(--amber));}
  .stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
  .stat-top{display:flex;justify-content:space-between;align-items:flex-start;}
  .stat-label{font-size:10.5px;color:var(--slate);font-family:'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase;}
  .stat-val{font-family:'Oswald',sans-serif;font-size:26px;font-weight:600;color:var(--ink);margin-top:5px;}
  .stat-sub{font-size:12.5px;color:var(--green);margin-top:2px;}
  .two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;margin-bottom:18px;}
  table{width:100%;border-collapse:collapse;font-family:'Inter',sans-serif;font-size:13.5px;}
  thead tr{border-bottom:1.5px solid var(--ink);}
  th{text-align:left;padding:8px 9px;color:var(--slate);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:linear-gradient(180deg,#FBF8F0,#F3ECDB);}
  tbody tr{border-bottom:1px solid var(--line);transition:background .1s ease;}
  tbody tr:nth-child(even){background:#FBF7ED;}
  tbody tr:hover{background:#F4E9D2;}
  td{padding:9px;color:var(--ink);}
  .status-pill{display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:500;}
  .status-dot{width:6px;height:6px;border-radius:50%;}
  .advance-btn{border:1px solid var(--ink);background:linear-gradient(180deg,var(--paper),#F0EADD);color:var(--ink);border-radius:5px;padding:4px 9px;font-size:10.5px;cursor:pointer;font-family:'Inter',sans-serif;box-shadow:var(--shadow-sm);transition:transform .08s ease;}
  .advance-btn:hover{transform:translateY(-1px);}
  .advance-btn:active{transform:translateY(1px);}
  .barchart{display:flex;align-items:flex-end;gap:9px;height:170px;padding-top:10px;}
  .bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;}
  .bar{width:100%;background:linear-gradient(180deg,var(--amberDeep),rgba(201,122,26,0.25));border-radius:4px 4px 0 0;}
  .bar-day{font-size:10px;color:var(--slate);margin-top:6px;}
  .icon-btn{border:1px solid var(--line);background:linear-gradient(180deg,var(--paper),#F5F0E4);color:var(--ink);border-radius:5px;padding:5px 7px;cursor:pointer;display:inline-flex;font-size:13px;box-shadow:var(--shadow-sm);transition:transform .08s ease,box-shadow .08s ease;}
  .icon-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);}
  .icon-btn:active{transform:translateY(1px);box-shadow:inset 0 2px 3px rgba(16,31,43,.15);}
  .icon-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none;}
  .icon-btn.danger{color:var(--red);border-color:var(--red);}
  .search-box{position:relative;}
  .search-box input{padding-left:26px;width:200px;font-size:13px;}
  .search-box .sicon{position:absolute;left:8px;top:9px;font-size:11px;color:var(--slate);}
  .form-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px;}
  .table-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:8px;}
  .stack{display:flex;flex-direction:column;gap:16px;}
  .empty-row td{padding:16px 9px;color:var(--slate);text-align:center;}
  .helptext{font-size:12.5px;color:var(--slate);margin-top:4px;}
  .suggest-box{display:none;position:absolute;z-index:20;top:100%;left:0;right:0;background:var(--paper);border:1px solid var(--line);border-radius:7px;box-shadow:0 8px 20px rgba(16,31,43,0.12);max-height:220px;overflow-y:auto;margin-top:3px;}
  .suggest-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--line);font-size:13.5px;}
  .suggest-item:last-child{border-bottom:none;}
  .suggest-item:hover{background:var(--cream);}
  .suggest-item.active{background:var(--amber);}
  .ledger-amt-debit{color:var(--red);font-family:'JetBrains Mono',monospace;}
  .ledger-amt-credit{color:var(--green);font-family:'JetBrains Mono',monospace;}
  @media (max-width:900px){
    .layout{flex-direction:column;}
    .sidebar{width:100%;display:flex;flex-wrap:wrap;padding:8px;}
    .sidebar .grp-label{display:none;}
    .sidebar button.navitem{width:auto;padding:6px 10px;border-radius:14px;}
    .grid2,.grid3,.two-col{grid-template-columns:1fr;}
    .stat-row{flex-direction:column;}
  }


  /* ── Suggest box ── */
  .suggest-box{display:none;position:absolute;z-index:20;top:100%;left:0;right:0;background:var(--paper);border:1px solid var(--line);border-radius:7px;box-shadow:0 8px 20px rgba(16,31,43,.12);max-height:220px;overflow-y:auto;margin-top:3px;}
  .suggest-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--line);font-size:13.5px;}
  .suggest-item:last-child{border-bottom:none;}
  .suggest-item:hover{background:var(--cream);}
  .suggest-item.active{background:var(--amber);}
  /* ── Stepper buttons (+/-) ── */
  .stepper-btn{padding:0 13px;border:1px solid var(--line);background:linear-gradient(180deg,var(--paper),var(--cream));color:var(--ink);font-size:18px;font-weight:600;cursor:pointer;line-height:1;height:38px;flex-shrink:0;box-shadow:var(--shadow-sm);transition:transform .08s ease,box-shadow .08s ease;}
  .stepper-btn:hover{background:linear-gradient(180deg,#16293A,var(--ink));color:var(--cream);box-shadow:var(--shadow-md);}
  .stepper-btn:active{transform:translateY(1px);box-shadow:inset 0 2px 3px rgba(16,31,43,.2);}
  /* ── Section headers inside form ── */
  .form-section-head{display:flex;align-items:center;gap:8px;margin:20px 0 12px;padding-bottom:8px;border-bottom:1.5px solid var(--line);}
  .form-section-head span{font-family:'Oswald',sans-serif;font-size:13.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);}
  /* ── Finance row ── */
  .ledger-amt-debit{color:var(--red);font-family:'JetBrains Mono',monospace;}
  .ledger-amt-credit{color:var(--green);font-family:'JetBrains Mono',monospace;}
  /* ── "Who's using this" session picker ── */
  .upicker-overlay{position:fixed;inset:0;background:rgba(16,31,43,.78);display:flex;align-items:center;justify-content:center;z-index:999;}
  .upicker-card{background:var(--paper);border-radius:10px;padding:28px 30px;width:340px;max-width:90vw;box-shadow:0 20px 50px rgba(0,0,0,.35);}
  .upicker-card h2{font-family:'Oswald',sans-serif;margin:0 0 6px;font-size:19px;}
  .upicker-card p{color:var(--slate);font-size:12.5px;margin:0 0 16px;line-height:1.5;}
