:root{--navy-950: #0b1f30;--navy-900: #12314a;--navy-800: #1b3a54;--navy-700: #25496a;--amber-500: #f2a93b;--amber-600: #d98f1f;--amber-050: #fdf3e1;--teal-500: #2e8b79;--teal-050: #e4f2ee;--red-600: #c0392b;--red-050: #fbeae8;--bg: #f1f3f1;--surface: #ffffff;--border: #dce2e4;--text: #20303b;--text-muted: #5c6b72;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(18, 49, 74, .06), 0 4px 14px rgba(18, 49, 74, .06)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;overflow-x:hidden;max-width:100%}body{background:var(--bg);color:var(--text);font-family:Vazirmatn,system-ui,sans-serif;font-feature-settings:"tnum" 1}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}svg{display:block}a{color:inherit}.hidden{display:none!important}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 85% -10%,rgba(242,169,59,.14),transparent 60%),linear-gradient(180deg,var(--navy-950),var(--navy-900) 55%,var(--navy-900));padding:24px}.login-card{width:100%;max-width:420px;background:var(--surface);border-radius:16px;box-shadow:0 20px 60px #00000059;padding:32px 28px 26px}.brand-row{display:flex;align-items:center;gap:12px;margin-bottom:6px}.brand-mark{width:40px;height:40px;flex:none}.brand-title{font-size:19px;font-weight:800;color:var(--navy-900);letter-spacing:-.2px}.brand-sub{font-size:13px;color:var(--text-muted);margin:2px 0 22px;line-height:1.7}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:600;color:var(--text-muted);margin-bottom:6px}.field input,.field select{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:#fff;outline:none;transition:border-color .15s}.field input:focus,.field select:focus{border-color:var(--navy-700)}.btn-primary{width:100%;padding:12px;border:none;border-radius:var(--radius-sm);background:var(--navy-900);color:#fff;font-weight:700;font-size:14.5px;margin-top:4px;transition:background .15s}.btn-primary:hover{background:var(--navy-800)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.form-error{margin-top:12px;padding:10px 12px;background:var(--red-050);border:1px solid #f1c9c3;border-radius:var(--radius-sm);font-size:12.5px;color:var(--red-600);line-height:1.7}.form-hint{margin-top:14px;padding:11px 12px;background:var(--amber-050);border:1px solid #f0dcaf;border-radius:var(--radius-sm);font-size:12.5px;color:#7a5b12;line-height:1.8}.main-shell{display:flex;min-height:100vh}.sidebar{width:236px;flex:none;background:var(--navy-950);color:#eaf0f4;display:flex;flex-direction:column;padding:18px 14px;gap:2px;max-height:100vh;overflow-y:auto}.sb-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 18px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:12px}.sb-brand svg{width:26px;height:26px;flex:none}.sb-brand-text{font-size:14px;font-weight:800;line-height:1.4}.sb-brand-text small{display:block;font-weight:500;font-size:11px;color:#9fb2c1}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;background:transparent;border:none;color:#c7d5de;text-align:right;font-size:13.5px;font-weight:600;transition:background .12s,color .12s;text-decoration:none;width:100%}.nav-item svg{width:18px;height:18px;flex:none;opacity:.9}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:var(--amber-500);color:var(--navy-950)}.nav-item .badge{margin-inline-start:auto;background:var(--red-600);color:#fff;font-size:10.5px;font-weight:800;padding:1px 6px;border-radius:999px;min-width:18px;text-align:center}.nav-item.active .badge{background:var(--navy-950);color:var(--amber-500)}.sb-footer{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.content-wrap{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{min-height:64px;flex:none;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:10px 22px;gap:16px;max-width:100%}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.topbar-title{font-size:17px;font-weight:800;color:var(--navy-900);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-title span{display:block;font-size:12px;font-weight:500;color:var(--text-muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-pill{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--border);padding:6px 12px 6px 8px;border-radius:999px;flex:none;max-width:100%;min-width:0}.user-avatar{width:30px;height:30px;border-radius:50%;background:var(--navy-900);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.user-meta{font-size:12.5px;line-height:1.5;min-width:0;overflow:hidden}.user-meta b{font-size:13px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta span{display:block;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{background:none;border:none;color:var(--text-muted);padding:6px;border-radius:6px}.logout-btn:hover{background:var(--red-050);color:var(--red-600)}main.view-root{flex:1;padding:22px 26px 40px;overflow-x:hidden}.view-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px}.view-header h1{font-size:20px;font-weight:800;margin:0 0 4px;color:var(--navy-900)}.view-header p{margin:0;font-size:13px;color:var(--text-muted)}.header-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{padding:9px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:#fff;font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:6px;transition:.12s}.btn svg{width:15px;height:15px}.btn:hover{border-color:var(--navy-700)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-dark{background:var(--navy-900);border-color:var(--navy-900);color:#fff}.btn-dark:hover{background:var(--navy-800)}.btn-amber{background:var(--amber-500);border-color:var(--amber-500);color:var(--navy-950)}.btn-amber:hover{background:var(--amber-600)}.btn-teal{background:var(--teal-500);border-color:var(--teal-500);color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-sm{padding:6px 10px;font-size:12px}.btn-danger{background:var(--red-050);border-color:#f1c9c3;color:var(--red-600)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:20px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.stat-card .label{font-size:12.5px;color:var(--text-muted);font-weight:600;margin-bottom:8px}.stat-card .value{font-size:24px;font-weight:800;color:var(--navy-900)}.stat-card .value small{font-size:13px;font-weight:600;color:var(--text-muted)}.stat-card.accent{border-color:var(--amber-500);background:linear-gradient(180deg,#fff,var(--amber-050))}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:right;font-size:11.5px;font-weight:700;color:var(--text-muted);padding:9px 12px;border-bottom:2px solid var(--border);white-space:nowrap}tbody td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:hover{background:#fafbfb}tbody tr:last-child td{border-bottom:none}.table-scroll{overflow-x:auto}.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap}.pill-dot{width:6px;height:6px;border-radius:50%}.pill-navy{background:#e7eef3;color:var(--navy-800)}.pill-navy .pill-dot{background:var(--navy-700)}.pill-amber{background:var(--amber-050);color:#8a5b0c}.pill-amber .pill-dot{background:var(--amber-600)}.pill-teal{background:var(--teal-050);color:#1d6b5a}.pill-teal .pill-dot{background:var(--teal-500)}.pill-red{background:var(--red-050);color:var(--red-600)}.pill-red .pill-dot{background:var(--red-600)}.pill-gray{background:#eef0f0;color:var(--text-muted)}.pill-gray .pill-dot{background:#9aa7ac}.prio-high{color:var(--red-600);font-weight:800}.prio-mid{color:var(--amber-600);font-weight:800}.prio-low{color:var(--teal-500);font-weight:800}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.toolbar select,.toolbar input[type=text],.toolbar input[type=date]{padding:8px 11px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:#fff;font-size:12.5px}.toolbar .grow{flex:1;min-width:180px}.tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.tab-btn{padding:8px 14px;border-radius:999px;border:1.5px solid var(--border);background:#fff;font-size:12.5px;font-weight:700;color:var(--text-muted)}.tab-btn.active{background:var(--navy-900);border-color:var(--navy-900);color:#fff}.empty-state{padding:48px 20px;text-align:center;color:var(--text-muted)}.empty-state svg{width:44px;height:44px;margin:0 auto 12px;opacity:.5}.empty-state b{display:block;color:var(--navy-900);font-size:14.5px;margin-bottom:4px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b1f308c;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal{background:#fff;border-radius:16px;max-width:560px;width:100%;max-height:88vh;overflow:auto;box-shadow:0 30px 70px #00000059}.modal-head{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-head h3{margin:0;font-size:16px;font-weight:800;color:var(--navy-900)}.modal-close{background:none;border:none;color:var(--text-muted);padding:4px;border-radius:6px}.modal-close:hover{background:var(--bg)}.modal-body{padding:20px 22px}.modal-foot{padding:16px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1 / -1}.form-grid label{display:block;font-size:12.5px;font-weight:700;color:var(--text-muted);margin-bottom:5px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--navy-700)}.form-grid textarea{resize:vertical;min-height:64px}.check-row{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--text-muted)}.toast-wrap{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{background:var(--navy-950);color:#fff;padding:12px 20px;border-radius:999px;font-size:13px;font-weight:600;box-shadow:0 10px 30px #0000004d}.toast.err{background:var(--red-600)}.access-denied{padding:60px 20px;text-align:center;color:var(--text-muted)}.msg-list{display:flex;flex-direction:column;gap:10px}.msg-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 15px}.msg-item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:8px}.msg-item-top b{font-size:13px;color:var(--navy-900)}.msg-item-top span{font-size:11px;color:var(--text-muted);white-space:nowrap}.msg-item p{margin:0;font-size:13px;line-height:1.8;color:var(--text)}.msg-to{font-size:11px;color:var(--text-muted);margin-top:6px}.stepper{display:flex;align-items:flex-start;overflow-x:auto;padding:6px 2px 10px;gap:0}.step{display:flex;flex-direction:column;align-items:center;min-width:96px;position:relative}.step .dot{width:26px;height:26px;border-radius:50%;background:#eaedee;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:11px;font-weight:800;flex:none;z-index:1}.step.done .dot{background:var(--teal-500);border-color:var(--teal-500);color:#fff}.step.current .dot{background:var(--amber-500);border-color:var(--amber-500);color:var(--navy-950)}.step-label{font-size:10.5px;color:var(--text-muted);text-align:center;margin-top:6px;line-height:1.4;max-width:90px}.step.done .step-label,.step.current .step-label{color:var(--navy-900);font-weight:700}.step-line{position:absolute;top:13px;right:50%;width:100%;height:2px;background:var(--border);z-index:0}.step.done .step-line{background:var(--teal-500)}.step:first-child .step-line{display:none}.engine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:22px}.engine-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:14px}.engine-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.engine-card-top b{font-size:13.5px;color:var(--navy-900)}.engine-metric{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);padding:2px 0}.engine-metric b{color:var(--text);font-weight:700}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:16px}.detail-grid .full{grid-column:1 / -1}.detail-grid label{display:block;font-size:11.5px;font-weight:700;color:var(--text-muted);margin-bottom:3px}.detail-grid>div>div{font-size:13px}.timeline-item{border-inline-start:2px solid var(--border);padding-inline-start:12px;font-size:12.5px}.file-chip{border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:12.5px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}@media (max-width: 640px){.detail-grid{grid-template-columns:1fr}}.full-center{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.menu-toggle{display:none;background:none;border:none;padding:6px}.sidebar-backdrop{display:none}@media (max-width: 860px){.sidebar{position:fixed;inset-inline-start:0;top:0;bottom:0;transform:translate(100%);transition:transform .2s;z-index:40}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0b1f3073;z-index:39}.content-wrap{width:100%;min-width:0}.form-grid{grid-template-columns:1fr}.menu-toggle{display:inline-flex!important}}@media (max-width: 560px){.topbar{flex-wrap:wrap;padding:10px 14px}.user-pill{max-width:40vw}.user-meta{max-width:30vw}}@media print{.sidebar,.topbar,.toolbar,.header-actions,.no-print{display:none!important}main.view-root{padding:0}body{background:#fff}}
