:root{
    --bg:#0F1C22;
    --surface:#16262D;
    --surface-2:#1E323A;
    --border:#2B4048;
    --text:#EDEAE0;
    --text-dim:#8FA3A8;
    --amber:#E8A33D;
    --green:#4E9C82;
    --danger:#C1524B;
    --font-display:'Space Grotesk',sans-serif;
    --font-body:'Inter',sans-serif;
    --font-mono:'IBM Plex Mono',monospace;
    --font-ur:'Noto Nastaliq Urdu',serif;
  }
  *{box-sizing:border-box;}
  body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;}
  .ur{font-family:var(--font-ur);font-weight:600;}
  ::selection{background:var(--amber);color:#0F1C22;}
  a{color:inherit;}

  .app{display:grid;grid-template-columns:236px 1fr;min-height:100vh;}

  /* SIDEBAR */
  .sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 14px;max-height:100vh;position:sticky;top:0;}
  .nav-scroll{overflow-y:auto;flex:1;margin-right:-6px;padding-right:6px;}
  .nav-scroll::-webkit-scrollbar{width:5px;}
  .nav-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}
  .nav-item .en{font-size:12.8px;}
  .brand{display:flex;align-items:center;gap:10px;padding:6px 8px 22px 8px;border-bottom:1px solid var(--border);margin-bottom:16px;}
  .brand-mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(160deg,var(--amber),#c97f22);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;color:#1a1207;font-size:15px;flex-shrink:0;}
  .brand-name{font-family:var(--font-display);font-weight:600;font-size:14.5px;line-height:1.25;}
  .brand-name span{display:block;font-family:var(--font-ur);font-size:12px;color:var(--text-dim);font-weight:600;margin-top:1px;}

  .nav-group-label{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);padding:14px 10px 6px;}
  .nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;cursor:pointer;color:var(--text-dim);font-weight:500;margin-bottom:1px;text-decoration:none;}
  .nav-item .ic{width:18px;text-align:center;font-size:14px;}
  .nav-item .en{flex:1;}
  .nav-item .ur{font-size:12.5px;color:var(--text-dim);}
  .nav-item:hover{background:var(--surface-2);color:var(--text);}
  .nav-item.active{background:var(--surface-2);color:var(--amber);}
  .nav-item.active .ur{color:var(--amber);opacity:.85}
  .nav-item.locked{opacity:.35;cursor:not-allowed;}
  .nav-sub{padding-left:30px;font-size:12.5px;color:var(--text-dim);}

  .sidebar-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--border);font-size:11.5px;color:var(--text-dim);line-height:1.5;}

  /* TOPBAR */
  .main{display:flex;flex-direction:column;min-width:0;}
  .topbar{height:64px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--bg);position:sticky;top:0;z-index:5;}
  .topbar-title{font-family:var(--font-display);font-size:17px;font-weight:600;display:flex;align-items:center;gap:10px;}
  .topbar-title .ur{font-size:14px;color:var(--text-dim);}
  .topbar-right{display:flex;align-items:center;gap:14px;}
  .role-switch{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:5px 6px;}
  .role-switch label{font-size:11px;color:var(--text-dim);padding-left:4px;}
  .lang-switch{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:3px;gap:2px;}
  .lang-btn{background:none;border:none;color:var(--text-dim);font-family:var(--font-body);font-size:11.5px;font-weight:600;padding:6px 10px;border-radius:6px;cursor:pointer;}
  .lang-btn.active{background:var(--amber);color:#1a1207;}
  body.lang-en .ur{display:none !important;}
  body.lang-ur .en{display:none !important;}
  body.lang-ur{direction:rtl;}
  body.lang-ur .nav-item,body.lang-ur .kpi .lbl,body.lang-ur .gauge-legend div{flex-direction:row-reverse;}
  select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-family:var(--font-body);font-size:12.5px;}
  .avatar{width:32px;height:32px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:13px;color:#08201a;}

  .content{padding:24px;overflow-x:auto;}
  @keyframes fade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}

  .page-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:10px;}
  .page-head h1{font-family:var(--font-display);font-size:21px;margin:0;font-weight:600;}
  .page-head .sub{color:var(--text-dim);font-size:12.5px;margin-top:3px;}
  .btn{background:var(--amber);color:#1a1207;border:none;border-radius:7px;padding:9px 16px;font-weight:600;font-size:13px;cursor:pointer;font-family:var(--font-body);}
  .btn:hover{filter:brightness(1.08);}
  .btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text);}

  /* KPI cards */
  .kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:22px;}
  .kpi{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;}
  .kpi .lbl{font-size:11.5px;color:var(--text-dim);display:flex;justify-content:space-between;}
  .kpi .lbl .ur{font-size:11px;}
  .kpi .val{font-family:var(--font-display);font-size:26px;margin-top:8px;font-weight:600;}
  .kpi .val small{font-size:13px;color:var(--text-dim);font-weight:500;}
  .kpi .delta{font-size:11px;margin-top:6px;color:var(--green);}
  .kpi .delta.down{color:var(--danger);}

  /* gauge signature element */
  .gauge-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;display:flex;gap:18px;align-items:center;margin-bottom:22px;}
  .gauge-card svg{flex-shrink:0;}
  .gauge-info h3{margin:0 0 4px;font-family:var(--font-display);font-size:15px;font-weight:600;}
  .gauge-info .ur{color:var(--text-dim);font-size:12.5px;display:block;margin-bottom:8px;}
  .gauge-legend{display:flex;gap:16px;font-size:12px;}
  .gauge-legend div{display:flex;align-items:center;gap:6px;color:var(--text-dim);}
  .dot{width:9px;height:9px;border-radius:50%;}

  /* panels & tables */
  .panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:20px;}
  .panel-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
  .panel-head h2{font-family:var(--font-display);font-size:14.5px;margin:0;font-weight:600;}
  table{width:100%;border-collapse:collapse;font-size:13px;}
  th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);padding:10px 18px;border-bottom:1px solid var(--border);font-weight:600;}
  td{padding:11px 18px;border-bottom:1px solid var(--border);}
  tr:last-child td{border-bottom:none;}
  tbody tr:hover{background:var(--surface-2);}
  .num{font-family:var(--font-mono);text-align:right;}
  .pos{color:var(--green);}
  .neg{color:var(--danger);}
  .tag{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;}
  .tag.paid{background:rgba(78,156,130,.15);color:var(--green);}
  .tag.pending{background:rgba(232,163,61,.15);color:var(--amber);}
  .tag.overdue{background:rgba(193,82,75,.15);color:var(--danger);}
  .row-actions{display:flex;gap:10px;white-space:nowrap;}
  .row-action{text-decoration:none;font-size:13px;opacity:.75;cursor:pointer;}
  .row-action:hover{opacity:1;}

  /* two column form + list layout */
  .grid-2{display:grid;grid-template-columns:340px 1fr;gap:20px;align-items:start;}
  .form-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;}
  .form-panel h2{font-family:var(--font-display);font-size:14.5px;margin:0 0 14px;font-weight:600;}
  .field{margin-bottom:12px;}
  .field label{display:block;font-size:11.5px;color:var(--text-dim);margin-bottom:5px;}
  .field input,.field select,.field textarea{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:8px 10px;color:var(--text);font-family:var(--font-body);font-size:13px;}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}

  /* tabs (bills) */
  .tabs{display:flex;gap:4px;background:var(--surface-2);border-radius:8px;padding:4px;width:fit-content;margin-bottom:16px;}
  .tab{padding:8px 14px;border-radius:6px;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--text-dim);}
  .tab.active{background:var(--amber);color:#1a1207;}

  .empty-hint{padding:30px;text-align:center;color:var(--text-dim);font-size:12.5px;}

  .toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--surface-2);border:1px solid var(--amber);color:var(--text);padding:11px 20px;border-radius:9px;font-size:13px;opacity:0;pointer-events:none;transition:.25s;z-index:50;}
  .toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

  .mock-banner{background:var(--surface-2);border:1px dashed var(--border);color:var(--text-dim);font-size:11.5px;padding:8px 14px;border-radius:8px;margin-bottom:18px;}

  @media (max-width:820px){
    .app{grid-template-columns:1fr;}
    .sidebar{display:none;}
    .grid-2{grid-template-columns:1fr;}
  }