/* CSS ِ پنلِ قدیمِ افراچوب (index.html ِ workshop-tracker، sha256 a8d98b803fe7) — دست‌نخورده؛ طراحیِ تازه در theme.css. */
  :root{
    --bg:#15171A; --panel:#1D2024; --panel-2:#22262B; --line:#2C3138;
    --ink:#EDEDEC; --ink-soft:#9198A0; --ink-faint:#5C636B;
    --amber:#E3A857; --amber-dim:#E3A85722;
    --teal:#4FD1C5; --teal-dim:#4FD1C522;
    --green:#5FAE7B; --green-dim:#5FAE7B22;
    --red:#E2685C; --red-dim:#E2685C22;
  }
  html[data-theme="light"]{
    --bg:#F4F4F2; --panel:#FFFFFF; --panel-2:#F0F0EE; --line:#DEDEDA;
    --ink:#1C1E20; --ink-soft:#5B6066; --ink-faint:#8A8F94;
    --amber:#B9791E; --amber-dim:#B9791E1A;
    --teal:#1E9086; --teal-dim:#1E90861A;
    --green:#2F7A4C; --green-dim:#2F7A4C1A;
    --red:#C43F32; --red-dim:#C43F321A;
  }
  *{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
  html,body{margin:0;padding:0; overflow-x:hidden; max-width:100%; }
  body{ background:var(--bg); color:var(--ink); font-family:'Vazirmatn',sans-serif; min-height:100vh; padding-bottom:40px; transition:background .25s ease, color .25s ease; }
  header{ background:linear-gradient(180deg,#1A1D21,#15171A); padding:18px 18px 22px; border-bottom:1px solid var(--line); position:relative; overflow:hidden; }
  html[data-theme="light"] header{ background:linear-gradient(180deg,#FFFFFF,#F4F4F2); }
  .theme-toggle{ background:none; border:1px solid var(--line); color:var(--ink-soft); font-size:16px; width:32px; height:32px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; padding:0; }
  .head-row{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
  .head-left{ display:flex; align-items:center; gap:10px; min-width:0; flex:1 1 auto; overflow:hidden; }
  .head-left > div{ min-width:0; overflow:hidden; }
  header img.logo{ width:34px; height:34px; border-radius:8px; background:#fff; object-fit:contain; padding:3px; flex-shrink:0; }
  header h1{ margin:0; font-size:13px; font-weight:800; letter-spacing:0; white-space:normal; overflow:visible; line-height:1.35; }
  header p{ margin:4px 0 0; font-size:11px; color:var(--ink-soft); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .role-badge{ font-family:'JetBrains Mono',monospace; font-size:10px; padding:4px 9px; border-radius:20px; background:var(--amber-dim); color:var(--amber); white-space:nowrap; }
  .signout-btn{ background:none; border:1px solid var(--line); color:var(--ink-soft); font-size:11px; padding:5px 10px; border-radius:7px; font-family:'Vazirmatn'; cursor:pointer; margin-inline-start:6px; }
  .wrap{ max-width:640px; margin:0 auto; padding:0 14px; }

  #splashScreen{ position:fixed; inset:0; z-index:999; background:var(--bg); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; transition:opacity .35s ease; }
  #splashScreen.hide{ opacity:0; pointer-events:none; }
  #splashScreen img{ width:76px; height:76px; border-radius:18px; background:#fff; object-fit:contain; padding:8px; }
  #splashScreen .splash-title{ font-size:16px; font-weight:900; }
  #splashScreen .splash-spinner{ width:26px; height:26px; border-radius:50%; border:3px solid var(--line); border-top-color:var(--teal); animation:splash-spin .8s linear infinite; }
  @keyframes splash-spin{ to{ transform:rotate(360deg); } }

  .center-screen{ min-height:70vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:30px 20px; gap:14px; }
  .center-screen img{ width:70px; height:70px; border-radius:16px; background:#fff; padding:8px; }
  .center-screen h2{ margin:0; font-size:17px; }
  .center-screen p{ margin:0; font-size:13px; color:var(--ink-soft); max-width:320px; line-height:1.9; }
  .google-btn{ display:flex; align-items:center; gap:10px; background:#fff; color:#1f1f1f; border:none; padding:12px 20px; border-radius:10px; font-family:'Vazirmatn'; font-weight:700; font-size:14px; cursor:pointer; margin-top:6px; }
  .auth-input{ width:100%; max-width:320px; font-family:'Vazirmatn',sans-serif; font-size:14px; padding:12px 14px; border:1.5px solid var(--line); border-radius:10px; background:var(--panel-2); color:var(--ink); direction:ltr; text-align:left; }
  .status-chip{ font-family:'JetBrains Mono',monospace; font-size:11px; padding:5px 12px; border-radius:20px; }
  .status-chip.pending{ background:var(--amber-dim); color:var(--amber); }
  .status-chip.blocked{ background:var(--red-dim); color:var(--red); }

  .toolbar{ display:flex; gap:8px; margin:14px 0 16px; }
  .toolbar button{ flex:1; border:none; cursor:pointer; font-family:'Vazirmatn',sans-serif; font-weight:700; font-size:13.5px; padding:12px 10px; border-radius:10px; }
  .btn-primary{ background:var(--amber); color:#191300; }
  .btn-secondary{ background:var(--panel); color:var(--ink); border:1px solid var(--line) !important; }
  #installBtn{ display:none; }
  .section-title{ font-size:13px; font-weight:900; margin:22px 0 10px; display:flex; align-items:center; gap:8px; }
  .section-title .cnt{ font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--ink-faint); font-weight:500; }
  .empty{ background:var(--panel); border:1.5px dashed var(--line); border-radius:14px; padding:26px 16px; text-align:center; color:var(--ink-soft); font-size:13px; }

  .warn-item{ background:var(--panel); border-inline-start:3px solid var(--red); border-radius:10px; padding:10px 12px; margin-bottom:8px; display:flex; justify-content:space-between; align-items:center; gap:8px; }
  .warn-item.soon{ border-inline-start-color:var(--amber); }
  .warn-name{ font-size:13px; font-weight:700; }
  .warn-sub{ font-size:10.5px; color:var(--ink-soft); font-family:'JetBrains Mono',monospace; }
  .warn-tag{ font-size:10.5px; font-weight:700; padding:4px 9px; border-radius:20px; white-space:nowrap; }
  .warn-tag.red{ background:var(--red-dim); color:var(--red); }
  .warn-tag.amber{ background:var(--amber-dim); color:var(--amber); }
  .pmo-thread-item{ display:block; }
  .pmo-thread-item .warn-name{ margin-bottom:8px; }
  .pmo-thread .comment-item{ margin-bottom:8px; }
  .pmo-thread .comment-item:last-child{ margin-bottom:0; }
  .pmo-comment{ border-inline-start:3px solid var(--amber); padding-inline-start:8px; background:var(--amber-dim); border-radius:8px; padding:8px 8px; }

  .card{ background:var(--panel); border:1px solid var(--line); border-radius:14px; margin-bottom:14px; overflow:hidden; }
  .card-head{ display:flex; align-items:center; justify-content:space-between; padding:14px 16px 10px; cursor:pointer; gap:8px; }
  .card-title{ display:flex; flex-direction:column; gap:3px; min-width:0; }
  .card-name{ font-weight:900; font-size:16px; white-space:normal; word-break:break-word; }
  .card-sub{ font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--ink-soft); }
  .card-badges{ display:flex; gap:6px; flex-wrap:wrap; margin-top:4px; }
  .mini-badge{ font-size:9.5px; font-family:'JetBrains Mono',monospace; padding:2px 7px; border-radius:9px; background:var(--panel-2); color:var(--ink-soft); border:1px solid var(--line); }
  .stage-pill{ font-size:11.5px; font-weight:700; padding:5px 11px; border-radius:20px; white-space:nowrap; background:var(--amber-dim); color:var(--amber); }
  .progress-strip{ height:5px; background:var(--line); margin:0 16px 14px; border-radius:3px; overflow:hidden; }
  .progress-strip > div{ height:100%; background:var(--amber); border-radius:3px; }
  .due-row{ display:flex; justify-content:space-between; align-items:center; padding:0 16px 12px; gap:8px; flex-wrap:wrap; }
  .due-tag{ font-size:11px; font-family:'JetBrains Mono',monospace; padding:5px 10px; border-radius:8px; }
  .due-tag.ok{ background:var(--green-dim); color:var(--green); }
  .due-tag.warn{ background:var(--amber-dim); color:var(--amber); }
  .due-tag.late{ background:var(--red-dim); color:var(--red); }
  .due-tag.none{ background:var(--panel-2); color:var(--ink-faint); }
  .schedule-tag{ font-size:10.5px; color:var(--ink-soft); }

  .body-panel{ border-top:1px dashed var(--line); padding:14px 16px 16px; display:none; }
  .body-panel.open{ display:block; }

  .field-row{ display:flex; align-items:center; gap:8px; margin-bottom:10px; }
  .field-row label{ font-size:11px; color:var(--ink-soft); white-space:nowrap; min-width:100px; }
  .field-row input{ flex:1; font-family:'JetBrains Mono',monospace; direction:ltr; text-align:center; background:var(--panel-2); border:1px solid var(--line); color:var(--ink); border-radius:7px; padding:8px; font-size:12.5px; }
  .field-row.text input{ font-family:'Vazirmatn'; direction:rtl; text-align:right; }
  .field-save{ border:none; background:var(--teal); color:#0A2320; font-weight:700; font-size:11px; padding:8px 12px; border-radius:7px; cursor:pointer; white-space:nowrap; }
  .admin-only-note{ font-size:10px; color:var(--ink-faint); margin:-4px 0 10px; }

  .timeline{ position:relative; padding-inline-start:22px; margin-bottom:16px; }
  .tl-item{ position:relative; padding-bottom:16px; }
  .tl-item:last-child{ padding-bottom:0; }
  .tl-item::before{ content:""; position:absolute; top:20px; bottom:-4px; right:-16.5px; width:1.5px; background:var(--line); }
  .tl-item:last-child::before{ display:none; }
  .tl-dot{ position:absolute; top:1px; right:-22px; width:13px; height:13px; border-radius:50%; background:var(--panel-2); border:2px solid var(--line); }
  .tl-dot.done{ background:var(--green); border-color:var(--green); }
  .tl-dot.active{ border-color:var(--amber); }
  .tl-row{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
  .tl-name{ font-size:13.5px; font-weight:700; }
  .tl-name.done{ color:var(--ink-soft); text-decoration:line-through; text-decoration-color:var(--ink-faint); }
  .tl-time{ font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--ink-faint); margin-top:2px; }
  .chk-btn{ border:1.5px solid var(--line); background:var(--panel-2); color:var(--ink-soft); font-family:'Vazirmatn',sans-serif; font-size:11.5px; font-weight:700; padding:6px 12px; border-radius:8px; cursor:pointer; white-space:nowrap; }
  .chk-btn.done{ background:var(--green)22; border-color:var(--green); color:var(--green); }
  .chk-btn:disabled{ opacity:.5; cursor:default; }

  .prog-box{ background:var(--panel-2); border:1px solid var(--line); border-radius:10px; padding:10px 12px; margin-top:8px; }
  .prog-row{ display:flex; align-items:center; gap:10px; }
  .prog-row input[type=range]{
    flex:1; -webkit-appearance:none; appearance:none;
    height:6px; border-radius:3px; background:var(--line);
    cursor:pointer; direction:ltr;
  }
  .prog-row input[type=range]::-webkit-slider-runnable-track{
    height:6px; border-radius:3px; background:transparent;
  }
  .prog-row input[type=range]::-webkit-slider-thumb{
    -webkit-appearance:none; appearance:none;
    width:16px; height:16px; border-radius:50%;
    background:var(--teal); border:2px solid var(--panel-2);
    margin-top:-5px; cursor:pointer;
  }
  .prog-row input[type=range]::-moz-range-track{
    height:6px; border-radius:3px; background:var(--line);
  }
  .prog-row input[type=range]::-moz-range-progress{
    height:6px; border-radius:3px; background:var(--teal);
  }
  .prog-row input[type=range]::-moz-range-thumb{
    width:16px; height:16px; border-radius:50%;
    background:var(--teal); border:2px solid var(--panel-2); cursor:pointer;
  }
  .prog-val{ font-family:'JetBrains Mono',monospace; font-size:12.5px; color:var(--teal); min-width:34px; text-align:left; }
  .prog-date{ display:flex; align-items:center; gap:8px; margin-top:10px; }
  .prog-date label{ font-size:11px; color:var(--ink-soft); white-space:nowrap; }
  .prog-date input{ flex:1; font-family:'JetBrains Mono',monospace; direction:ltr; text-align:center; background:var(--panel); border:1px solid var(--line); color:var(--ink); border-radius:7px; padding:7px 8px; font-size:12.5px; }
  .prog-save{ margin-top:10px; width:100%; border:none; background:var(--teal); color:#0A2320; font-weight:700; font-size:12.5px; padding:9px; border-radius:8px; cursor:pointer; }
  .prog-strip-mini{ height:4px; background:var(--line); border-radius:3px; overflow:hidden; margin-top:8px; }
  .prog-strip-mini > div{ height:100%; background:var(--teal); }

  .hist-title{ font-size:11px; color:var(--ink-soft); margin:16px 0 6px; font-weight:700; }
  .hist-item{ display:flex; justify-content:space-between; gap:8px; font-size:12px; padding:6px 0; border-bottom:1px solid var(--line); }
  .hist-item:last-child{ border-bottom:none; }
  .hist-time{ font-family:'JetBrains Mono',monospace; color:var(--ink-faint); font-size:10.5px; white-space:nowrap; }
  .del-row{ margin-top:14px; text-align:left; }
  .del-row button{ background:none; border:none; color:var(--red); font-size:11.5px; cursor:pointer; font-family:'Vazirmatn',sans-serif; text-decoration:underline; }

  .user-row{ background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:12px 14px; margin-bottom:10px; display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
  .user-info{ min-width:0; flex:1 1 200px; }
  .user-email{ font-size:12.5px; font-weight:700; direction:ltr; text-align:left; word-break:break-all; line-height:1.5; }
  .user-role{ font-family:'JetBrains Mono',monospace; font-size:10px; margin-top:2px; }
  .user-role.pending{ color:var(--amber); }
  .user-role.supervisor{ color:var(--green); }
  .user-role.viewer{ color:var(--teal); }
  .user-role.admin{ color:var(--teal); }
  .user-role.afrachoobSupervisor{ color:var(--amber); }
  .user-role.pmoDeputy{ color:var(--teal); }
  .user-role.accounting{ color:var(--amber); }
  .user-role.blocked{ color:var(--red); }
  .user-status{ display:inline-flex; align-items:center; gap:5px; font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--ink-faint); margin-top:4px; }
  .user-status .stat-dot{ width:7px; height:7px; border-radius:50%; background:var(--ink-faint); flex-shrink:0; }
  .user-status.online{ color:var(--green); }
  .user-status.online .stat-dot{ background:var(--green); }
  .user-actions{ display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
  .user-actions button{ border:none; font-family:'Vazirmatn'; font-size:10.5px; font-weight:700; padding:6px 10px; border-radius:7px; cursor:pointer; white-space:nowrap; }
  .btn-approve{ background:var(--green-dim); color:var(--green); }
  .btn-revoke{ background:var(--amber-dim); color:var(--amber); }
  .btn-block{ background:var(--red-dim); color:var(--red); }
  .btn-delete{ background:var(--panel-2); color:var(--ink-faint); border:1px solid var(--line) !important; }

  .auth-btn-row{ display:flex; gap:8px; width:100%; max-width:320px; margin-top:6px; }
  .auth-btn-row button{ flex:1; justify-content:center; }
  .auth-btn-secondary{ background:var(--panel-2) !important; color:var(--ink) !important; border:1px solid var(--line); }
  .vpn-note{ color:var(--amber); font-size:12.5px; font-weight:700; max-width:320px; margin:14px 0 0; line-height:1.8; }
  .auth-help-note{ color:var(--ink-soft); font-size:11.5px; max-width:320px; line-height:1.9; margin:6px 0 0; }

  .modal-bg{ position:fixed; inset:0; background:rgba(0,0,0,0.6); display:none; align-items:flex-end; justify-content:center; z-index:50; }
  .modal-bg.open{ display:flex; }
  .modal{ background:var(--panel); width:100%; max-width:640px; border-radius:18px 18px 0 0; padding:20px 18px 26px; border-top:1px solid var(--line); }
  .modal h3{ margin:0 0 14px; font-size:15px; }
  .modal input{ width:100%; font-family:'Vazirmatn',sans-serif; font-size:14px; padding:11px 12px; border:1.5px solid var(--line); border-radius:9px; margin-bottom:10px; background:var(--panel-2); color:var(--ink); }
  .modal .row{ display:flex; gap:8px; margin-top:6px; }
  .modal .row button{ flex:1; border:none; padding:11px; border-radius:9px; font-weight:700; font-size:13.5px; cursor:pointer; font-family:'Vazirmatn',sans-serif; }
  .save-btn{ background:var(--amber); color:#191300; }
  .cancel-btn{ background:var(--panel-2); color:var(--ink); }
  .sync-note{ text-align:center; font-size:10.5px; color:var(--ink-soft); font-family:'JetBrains Mono',monospace; margin:14px 0 4px; display:flex; align-items:center; justify-content:center; gap:6px; }
  .dot{ width:7px; height:7px; border-radius:50%; background:var(--green); }
  .dot.off{ background:var(--red); }
  .setup-warning{ background:#2A2115; border:1.5px solid var(--amber); border-radius:12px; padding:14px; font-size:12.5px; line-height:1.9; margin:16px 0; color:var(--ink); }
  .setup-warning b{ color:var(--amber); }
  .tabs{ display:flex; gap:6px; margin-top:14px; }
  .tabs button{ flex:1; background:var(--panel); color:var(--ink-soft); font-family:'Vazirmatn'; font-weight:700; font-size:12.5px; padding:10px; border-radius:9px; cursor:pointer; border:1px solid var(--line) !important; }
  .tabs button.active{ background:var(--amber-dim); color:var(--amber); border-color:var(--amber) !important; }
  .kpi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:14px; }
  .kpi-card{ background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:12px 8px; text-align:center; }
  .kpi-num{ font-family:'JetBrains Mono',monospace; font-size:20px; font-weight:700; color:var(--ink); }
  .kpi-label{ font-size:10.5px; color:var(--ink-soft); margin-top:4px; }
  .kpi-red .kpi-num{ color:var(--red); }
  .kpi-amber .kpi-num{ color:var(--amber); }
  .kpi-blue .kpi-num{ color:var(--teal); }
  .admin-select{ flex:1; font-family:'Vazirmatn'; font-size:12.5px; padding:9px 8px; border-radius:8px; border:1px solid var(--line); background:var(--panel-2); color:var(--ink); }

  /* ---- Navigation و Kanban فقط برای پنل مدیر ---- */
  .admin-shell{ padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  .admin-bottom-nav{ position:fixed; z-index:20; right:50%; transform:translateX(50%); bottom:0; width:min(640px,100%); display:grid; grid-template-columns:repeat(5,1fr); gap:2px; padding:7px 8px calc(7px + env(safe-area-inset-bottom)); background:color-mix(in srgb,var(--panel) 94%,transparent); border-top:1px solid var(--line); box-shadow:0 -8px 24px rgba(0,0,0,.2); backdrop-filter:blur(14px); }
  .admin-bottom-nav button{ min-width:0; border:0; background:transparent; color:var(--ink-soft); font-family:'Vazirmatn'; font-size:10px; font-weight:700; border-radius:9px; padding:5px 2px; cursor:pointer; }
  .admin-bottom-nav button span{ display:block; height:21px; font-family:'JetBrains Mono',monospace; font-size:17px; line-height:19px; }
  .admin-bottom-nav button.active{ color:var(--amber); background:var(--amber-dim); }
  .admin-home-actions{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:14px 0 4px; }
  .admin-home-actions button{ min-width:0; min-height:76px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; background:var(--panel); color:var(--ink); border:1px solid var(--line); border-radius:12px; font-family:'Vazirmatn'; font-size:11px; cursor:pointer; }
  .admin-home-actions button span{ font-size:20px; }
  .admin-home-actions button b{ font-weight:800; line-height:1.4; }
  .admin-home-actions .admin-action-primary{ background:var(--amber-dim); color:var(--amber); border-color:var(--amber); }
  .admin-section-nav{ display:flex; gap:7px; margin:14px 0 4px; overflow-x:auto; scrollbar-width:none; }
  .admin-section-nav::-webkit-scrollbar{ display:none; }
  .admin-section-nav button{ flex:1 0 auto; border:1px solid var(--line); border-radius:10px; background:var(--panel); color:var(--ink-soft); padding:10px 14px; font-family:'Vazirmatn'; font-size:12px; font-weight:700; cursor:pointer; }
  .admin-section-nav button.active{ color:var(--amber); border-color:var(--amber); background:var(--amber-dim); }
  .admin-hub-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:14px 0 4px; }
  .admin-hub-grid button{ min-height:70px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; background:var(--panel); color:var(--ink); border:1px solid var(--line); border-radius:12px; font-family:'Vazirmatn'; font-size:11.5px; font-weight:700; cursor:pointer; }
  .admin-hub-grid button span{ font-size:20px; }
  .admin-hub-grid button.active{ color:var(--amber); border-color:var(--amber); background:var(--amber-dim); }
  .admin-kanban-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:14px; }
  .admin-kanban-head .section-title{ margin:0 0 3px; }
  .admin-kanban-note{ color:var(--ink-soft); font-size:10.5px; }
  .admin-kanban-count{ flex-shrink:0; color:var(--amber); background:var(--amber-dim); border-radius:20px; padding:5px 9px; font-family:'JetBrains Mono',monospace; font-size:10px; }
  .admin-kanban-stages{ display:flex; gap:7px; margin:14px -14px 12px; padding:0 14px 4px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; }
  .admin-kanban-stages::-webkit-scrollbar{ display:none; }
  .admin-kanban-stages button{ scroll-snap-align:center; flex:0 0 auto; display:flex; align-items:center; gap:7px; background:var(--panel); color:var(--ink-soft); border:1px solid var(--line); border-radius:20px; padding:8px 11px; font-family:'Vazirmatn'; font-size:11px; font-weight:700; cursor:pointer; white-space:nowrap; }
  .admin-kanban-stages button b{ min-width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; background:var(--panel-2); border-radius:10px; color:var(--ink); font-family:'JetBrains Mono',monospace; font-size:9.5px; }
  .admin-kanban-stages button.active{ color:var(--amber); border-color:var(--amber); background:var(--amber-dim); }
  .admin-kanban-stages button.active b{ background:var(--amber); color:#191300; }
  .admin-kanban-list{ display:flex; flex-direction:column; gap:10px; }
  .admin-kanban-card{ width:100%; text-align:right; background:var(--panel); color:var(--ink); border:1px solid var(--line); border-radius:13px; padding:13px 14px; font-family:'Vazirmatn'; cursor:pointer; }
  .admin-kanban-card:active{ transform:scale(.99); }
  .admin-kanban-card-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
  .admin-kanban-card-title{ min-width:0; display:flex; flex-direction:column; gap:3px; }
  .admin-kanban-card-title strong{ font-size:14px; word-break:break-word; }
  .admin-kanban-card-title span{ color:var(--ink-soft); font-family:'JetBrains Mono',monospace; font-size:9.5px; }
  .admin-kanban-percent{ flex-shrink:0; color:var(--teal); font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:700; }
  .admin-kanban-progress{ height:5px; margin:11px 0; overflow:hidden; background:var(--line); border-radius:3px; }
  .admin-kanban-progress span{ display:block; height:100%; background:var(--teal); border-radius:3px; }
  .admin-kanban-meta{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:7px; color:var(--ink-soft); font-size:10.5px; }
  @media (min-width:641px){
    .admin-bottom-nav{ border-inline:1px solid var(--line); border-radius:14px 14px 0 0; }
  }

  /* ---- پنل مدیر پروژه (Viewer) ---- */
  .viewer-hero{ display:flex; align-items:center; gap:14px; background:linear-gradient(135deg, var(--teal-dim), var(--panel)); border:1px solid var(--line); border-radius:16px; padding:16px; margin:14px 0 4px; }
  .viewer-hero img{ width:46px; height:46px; border-radius:12px; background:#fff; padding:5px; flex-shrink:0; }
  .viewer-hero-title{ font-size:15px; font-weight:900; }
  .viewer-hero-sub{ font-size:11.5px; color:var(--ink-soft); margin-top:4px; line-height:1.7; }
  .viewer-report-note{ font-size:11.5px; color:var(--ink-soft); margin:-4px 0 10px; line-height:1.8; }
  .viewer-footer-badge{ text-align:center; font-size:10.5px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; margin:22px 0 2px; }
  .viewer-quicklinks{ display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
  .viewer-quicklinks button{ flex:1 1 calc(50% - 7px); background:var(--panel); color:var(--ink-soft); font-family:'Vazirmatn'; font-weight:700; font-size:11.5px; padding:10px 8px; border-radius:9px; cursor:pointer; border:1px solid var(--line) !important; }
  .viewer-quicklinks button.active{ background:var(--teal-dim); color:var(--teal); border-color:var(--teal) !important; }
  .viewer-quicklinks-split{ display:flex; gap:7px; flex:1 1 calc(50% - 7px); }
  .viewer-quicklinks-split button{ flex:1 1 0; font-size:10px; padding:9px 4px; }

  /* ---- کامنت‌ها (مدیر پروژه / سرپرست / مدیر) ---- */
  .comments-box{ margin-top:16px; border-top:1px dashed var(--line); padding-top:12px; }
  .comment-item{ background:var(--panel-2); border:1px solid var(--line); border-radius:9px; padding:8px 10px; margin-bottom:7px; }
  .comment-top{ display:flex; justify-content:space-between; gap:8px; font-size:10.5px; align-items:center; }
  .comment-by{ color:var(--teal); font-weight:700; font-family:'JetBrains Mono',monospace; }
  .comment-time-wrap{ display:flex; align-items:center; gap:6px; }
  .comment-time{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; white-space:nowrap; }
  .comment-del{ border:none; background:none; color:var(--red); font-size:12px; cursor:pointer; padding:0 2px; line-height:1; }
  .pm-seen{ display:block; font-size:9.5px; color:var(--teal); margin-top:5px; font-family:'JetBrains Mono',monospace; }
  .pm-thread{ background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:12px; margin-bottom:14px; }
  .pm-thread-title{ font-size:12.5px; font-weight:800; color:var(--teal); margin-bottom:8px; }
  .comment-text{ font-size:12.5px; margin-top:4px; line-height:1.7; }
  .comment-add-row{ display:flex; gap:8px; margin-top:10px; }
  .comment-add-row input{ direction:rtl; text-align:right; }

  .export-row{ display:flex; gap:8px; margin-bottom:12px; }
  .export-btn{ flex:1; border:1px solid var(--line); background:var(--panel-2); color:var(--ink); font-family:'Vazirmatn',sans-serif; font-weight:700; font-size:12.5px; padding:10px; border-radius:9px; cursor:pointer; }
  .export-btn:active{ opacity:.7; }
  .export-btn:disabled{ opacity:.5; cursor:default; }
  .export-filters{ background:var(--panel-2); border:1px solid var(--line); border-radius:10px; padding:10px; margin-bottom:10px; max-width:100%; overflow:hidden; }
  .export-filters .row1{ display:flex; gap:8px; margin-bottom:8px; }
  .export-filters .row2{ display:flex; flex-wrap:wrap; gap:8px; }
  .export-filters .date-field{ display:flex; align-items:center; gap:6px; flex:1 1 130px; min-width:0; }
  .export-filters .date-field label{ flex-shrink:0; }
  .export-filters label{ font-size:11px; color:var(--ink-soft); white-space:nowrap; }
  .export-filters input[type=text]{ flex:1; min-width:0; width:0; font-family:'JetBrains Mono',monospace; direction:ltr; text-align:center; background:var(--panel); border:1px solid var(--line); color:var(--ink); border-radius:7px; padding:7px 8px; font-size:12px; }

  .log-item{ background:var(--panel); border:1px solid var(--line); border-radius:9px; padding:10px 12px; margin-bottom:8px; }
  .log-item .log-top{ display:flex; justify-content:space-between; gap:8px; font-size:12.5px; }
  .log-item .log-action{ font-weight:700; }
  .log-item .log-time{ font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--ink-soft); white-space:nowrap; }
  .log-item .log-meta{ font-size:11px; color:var(--ink-soft); margin-top:4px; }

  .chart-box{ background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:14px 16px; margin-top:18px; }
  .chart-title{ font-size:12.5px; font-weight:700; color:var(--ink-soft); margin-bottom:12px; }
  .pmo-fin-item{ background:var(--panel-2); border:1px solid var(--line); border-radius:10px; padding:10px 12px; margin-bottom:10px; }
  .pmo-fin-name{ font-size:13px; font-weight:700; color:var(--ink); margin-bottom:8px; }
  .pmo-fin-nums{ display:flex; flex-direction:column; gap:4px; }
  .pmo-fin-line{ display:flex; justify-content:space-between; align-items:center; font-size:11.5px; color:var(--ink-soft); gap:10px; }
  .pmo-fin-line span:last-child{ font-family:'JetBrains Mono',monospace; direction:ltr; color:var(--ink); white-space:nowrap; }
  .pmo-fin-line.total{ border-top:1px dashed var(--line); padding-top:6px; margin-top:2px; font-weight:700; }
  .pmo-fin-line.total span:last-child{ color:var(--teal); font-size:12.5px; }
  .pmo-fin-tag{ display:inline-block; margin-top:8px; font-size:10px; padding:2px 8px; border-radius:20px; background:var(--green-dim); color:var(--green); }
  .pmo-fin-tag.soft{ background:var(--panel); color:var(--ink-soft); }
  .pmo-fin-grand{ background:var(--panel); border:1.5px solid var(--teal); }
  .pmo-fin-grand .pmo-fin-name{ color:var(--teal); }
  .chart-row{ display:flex; align-items:center; gap:8px; margin-bottom:9px; }
  .chart-row:last-child{ margin-bottom:0; }
  .chart-label{ font-size:11px; color:var(--ink-soft); width:88px; flex-shrink:0; white-space:normal; word-break:break-word; line-height:1.35; }
  .chart-bar-track{ flex:1; height:14px; background:var(--panel-2); border-radius:7px; overflow:hidden; min-width:0; }
  .chart-bar-fill{ height:100%; background:var(--teal); border-radius:7px; transition:width .3s ease; }
  .chart-count{ font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--ink); width:22px; text-align:left; flex-shrink:0; }
