:root{--navy:#0b1d3a;--red:#8b1538;--red-alt:#8e1538;--navy-900:#0b1d3a;--navy-800:#132a4e;--navy-700:#1b3a66;--navy-600:#254c7e;--navy-500:#396595;--navy-400:#6382a6;--navy-300:#93a6bf;--navy-200:#c3cedc;--navy-100:#e2e8ef;--navy-050:#f1f4f8;--red-900:#5e0e25;--red-800:#73122e;--red-700:#8b1538;--red-600:#a81e45;--red-500:#c0395c;--red-300:#de93a8;--red-100:#f5dce3;--red-050:#faeef1;--white:#fff;--gray-050:#f7f8fa;--gray-100:#f1f3f6;--gray-200:#e5e8ee;--gray-300:#d3d8e0;--gray-400:#a8b0bd;--gray-500:#7a8494;--gray-600:#5a6473;--gray-700:#3d4653;--black:#0a0f17;--status-new-bg:#e8eef9;--status-new-fg:#254c7e;--status-waiting-bg:#fdf2d8;--status-waiting-fg:#8a5b00;--status-review-bg:#f9e3e8;--status-review-fg:#8b1538;--status-done-bg:#e3f2e8;--status-done-fg:#1e6b3f;--status-cancelled-bg:#eef0f3;--status-cancelled-fg:#5a6473;--success:#1e6b3f;--success-bg:#e3f2e8;--warning:#8a5b00;--warning-bg:#fdf2d8;--danger:#8b1538;--danger-bg:#f9e3e8;--info:#254c7e;--info-bg:#e8eef9;--bg-page:#f5f6f9;--bg-page-alt:var(--gray-050);--surface-card:var(--white);--surface-sunken:var(--gray-100);--surface-inverse:var(--navy-800);--surface-inverse-alt:var(--navy-900);--text-strong:var(--navy-900);--text-body:#243349;--text-muted:var(--gray-500);--text-subtle:var(--gray-400);--text-on-inverse:#fff;--text-on-inverse-muted:#b7c2d3;--text-accent:var(--red-700);--text-link:var(--navy-600);--text-link-hover:var(--red-700);--border-subtle:var(--gray-200);--border-strong:var(--gray-300);--border-inverse:#ffffff24;--border-focus:var(--navy-600);--focus-ring-rgb:37,76,126;--action-primary:var(--navy-800);--action-primary-hover:var(--navy-700);--action-primary-active:var(--navy-900);--action-secondary:var(--red-700);--action-secondary-hover:var(--red-600);--action-secondary-active:var(--red-900);--action-ghost-hover:var(--navy-050);--action-disabled-bg:var(--gray-200);--action-disabled-fg:var(--gray-400);--nav-bg:var(--navy-800);--nav-item-fg:#c7d1e0;--nav-item-hover-bg:#ffffff12;--nav-item-active-bg:#fff;--nav-item-active-fg:var(--navy-800);--chart-1:var(--navy-800);--chart-2:var(--red-700);--chart-3:var(--navy-400);--chart-4:var(--navy-200);--chart-5:var(--red-300);--font-brand:"Tajawal","Segoe UI",system-ui,sans-serif;--font-arabic:"Tajawal","Segoe UI",system-ui,sans-serif;--font-latin:"Inter",system-ui,-apple-system,sans-serif;--font-body:var(--font-brand);--font-numeric:"Inter",system-ui,sans-serif;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:800;--fs-display:44px;--fs-h1:32px;--fs-h2:26px;--fs-h3:21px;--fs-h4:18px;--fs-body-lg:17px;--fs-body:15px;--fs-body-sm:13.5px;--fs-caption:12.5px;--fs-micro:11px;--fs-metric:34px;--fs-metric-lg:46px;--lh-tight:var(--lh-heading);--lh-heading:1.28;--lh-body:1.7;--lh-compact:1.45;--ls-wordmark:.42em;--ls-eyebrow:.14em;--ls-tight:-.01em;--ls-normal:0;--text-display-font:var(--font-brand);--text-display-weight:var(--fw-bold);--text-heading-weight:var(--fw-bold);--text-body-weight:var(--fw-regular);--text-label-weight:var(--fw-medium);--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:56px;--space-10:72px;--space-11:96px;--gap-card:16px;--pad-card:18px 20px;--pad-card-lg:24px;--pad-control-x:18px;--pad-control-y:11px;--pad-field-x:14px;--pad-field-y:11px;--pad-chip-x:12px;--pad-chip-y:5px;--control-h:42px;--control-h-sm:34px;--field-h:44px;--sidebar-w:230px;--topbar-h:64px;--bottomnav-h:64px;--avatar-sm:32px;--avatar-md:40px;--avatar-lg:56px;--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--icon-tile:28px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--radius-card:12px;--radius-app-icon:22%;--content-max:1360px;--page-pad:24px;--shadow-none:none;--shadow-xs:0 1px 2px #0b1d3a0d;--shadow-sm:0 1px 3px #0b1d3a0f,0 1px 2px #0b1d3a0a;--shadow-card:0 2px 8px #0b1d3a0f;--shadow-md:0 6px 18px #0b1d3a17;--shadow-lg:0 16px 40px #0b1d3a24;--shadow-inset-field:inset 0 1px 2px #0b1d3a0a;--ring-focus:0 0 0 3px #254c7e42;--ring-focus-red:0 0 0 3px #8b153833;--border-w:1px;--border-w-strong:1.5px;--divider:1px solid var(--border-subtle);--overlay-scrim:#07142a8c;--glass-bg:#ffffffb8;--glass-blur:blur(14px);--dur-fast:.12s;--dur:.18s;--dur-slow:.28s;--dur-page:.42s;--ease-standard:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.4,0,1,1);--transition-control:background-color var(--dur) var(--ease-standard),color var(--dur) var(--ease-standard),border-color var(--dur) var(--ease-standard),box-shadow var(--dur) var(--ease-standard);--press-scale:.985;--teal-700:var(--action-primary);--teal-600:var(--action-primary-hover);--teal-500:var(--navy-600);--teal-100:var(--navy-100);--teal-050:var(--navy-050);--text-900:var(--text-strong);--text-700:var(--text-body);--text-600:var(--gray-600);--text-400:var(--text-subtle);--text-on-dark:var(--text-on-inverse);--text-on-dark-muted:var(--text-on-inverse-muted);--status-critical:var(--danger);--status-critical-bg:var(--danger-bg);--status-warning:var(--warning);--status-warning-bg:var(--warning-bg);--status-progress:var(--info);--status-progress-bg:var(--info-bg);--status-success:var(--success);--status-success-bg:var(--success-bg);--status-info:var(--status-cancelled-fg);--status-info-bg:var(--status-cancelled-bg);--sp-1:var(--space-1);--sp-2:var(--space-2);--sp-3:var(--space-3);--sp-4:var(--space-4);--sp-5:var(--space-5);--sp-6:var(--space-6);--sp-8:var(--space-7);--sp-10:var(--space-8);--sp-12:48px;--font-ar:var(--font-arabic);--font-en:var(--font-latin);--font-base:var(--font-ar);--fs-xs:var(--fs-caption);--fs-sm:var(--fs-body-sm);--fs-md:var(--fs-body);--fs-lg:var(--fs-body-lg);--fs-xl:var(--fs-h3);--fs-2xl:var(--fs-h2);--fs-3xl:var(--fs-h1);--lh-normal:var(--lh-body);--sidebar-w-collapsed:72px;--z-drawer:60;--z-dialog:80;--z-toast:100;--transition:var(--dur) var(--ease-standard)}html[dir=ltr]{--font-base:var(--font-en)}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font-base);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);background:var(--bg-page);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{line-height:var(--lh-heading);color:var(--text-strong);font-weight:var(--fw-bold);margin:0}p{margin:0}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}ul{margin:0;padding:0;list-style:none}img,svg{display:block}:focus-visible{box-shadow:var(--ring-focus);border-radius:var(--radius-sm);outline:none}.app{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;height:100vh;transition:grid-template-columns var(--transition);grid-template-areas:"sidebar topbar""sidebar main";display:grid}.app.sidebar-collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.sidebar{background:var(--nav-bg);color:var(--text-on-inverse);flex-direction:column;grid-area:sidebar;display:flex;overflow:hidden}.topbar{background:var(--white);border-bottom:1px solid var(--gray-200);align-items:center;gap:var(--sp-4);padding:0 var(--sp-6);grid-area:topbar;display:flex}.main{padding:var(--sp-6);grid-area:main;overflow-y:auto}.brand{align-items:center;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5);border-bottom:1px solid #ffffff14;display:flex}.brand .brand-mark{border-radius:var(--radius-md);background:var(--teal-600);color:#fff;flex:none;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.brand .brand-text{font-weight:800;font-size:var(--fs-lg);color:#fff;white-space:nowrap}.brand .brand-sub{font-size:var(--fs-xs);color:var(--text-on-dark-muted);white-space:nowrap}.sidebar-collapsed .brand-text,.sidebar-collapsed .brand-sub,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-section-title{display:none}.nav{padding:var(--sp-3);flex:1;overflow-y:auto}.nav-section-title{font-size:var(--fs-xs);color:var(--text-on-dark-muted);text-transform:uppercase;letter-spacing:.04em;padding:var(--sp-4) var(--sp-3) var(--sp-2)}.nav-item{align-items:center;gap:var(--sp-3);padding:10px var(--sp-3);border-radius:var(--radius-sm);color:var(--nav-item-fg);transition:var(--transition-control);white-space:nowrap;margin-bottom:2px;display:flex}.nav-item:hover{background:var(--nav-item-hover-bg);color:#fff}.nav-item.active{background:var(--nav-item-active-bg);color:var(--nav-item-active-fg);font-weight:var(--fw-medium);box-shadow:var(--shadow-sm)}.nav-item .nav-icon{flex:none;place-items:center;width:20px;height:20px;display:grid}.nav-item .nav-icon svg{width:20px;height:20px}.nav-item .nav-badge{background:var(--status-critical);color:#fff;font-size:var(--fs-xs);border-radius:var(--radius-pill);place-items:center;min-width:20px;height:20px;margin-inline-start:auto;padding:0 6px;display:grid}.sidebar-collapsed .nav-item{justify-content:center}.sidebar-collapsed .nav-item .nav-badge{position:absolute}.sidebar-foot{padding:var(--sp-4);border-top:1px solid #ffffff14}.topbar .icon-btn{border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-600);background:0 0;border:none;place-items:center;display:grid;position:relative}.topbar .icon-btn:hover{background:var(--gray-100)}.topbar .icon-btn.bell svg{width:20px;height:20px}.topbar .dot{top:8px;background:var(--status-critical);border-radius:50%;width:8px;height:8px;position:absolute;inset-inline-end:8px}.topbar .spacer{flex:1}.context-chip{align-items:center;gap:var(--sp-2);background:var(--teal-050);color:var(--teal-700);border:1px solid var(--teal-100);padding:6px var(--sp-3);border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight:600;display:inline-flex}.global-search{flex:1;max-width:420px;position:relative}.global-search input{border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--gray-050);width:100%;height:40px;padding-inline:40px var(--sp-3);font-family:inherit;font-size:var(--fs-md)}.global-search .search-icon{inset-inline-start:12px;color:var(--text-400);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.role-switcher{align-items:center;gap:var(--sp-2);display:inline-flex}.role-switcher select{border:1px dashed var(--teal-500);border-radius:var(--radius-md);background:var(--teal-050);height:38px;color:var(--teal-700);padding:0 var(--sp-3);font-family:inherit;font-weight:600}.dev-tag{background:var(--status-warning-bg);color:var(--status-warning);border-radius:var(--radius-sm);padding:2px 6px;font-size:10px;font-weight:700}.profile{align-items:center;gap:var(--sp-2);display:inline-flex}.avatar{width:var(--avatar-md);height:var(--avatar-md);border-radius:var(--radius-pill);background:var(--navy-100);color:var(--navy-600);font-weight:var(--fw-medium);font-size:var(--fs-sm);flex:none;place-items:center;display:grid}.hamburger,.scrim{display:none}@media (width<=960px){.app{grid-template-columns:1fr;grid-template-areas:"topbar""main"}.sidebar{width:var(--sidebar-w);z-index:var(--z-drawer);box-shadow:var(--shadow-lg);position:fixed;inset-block:0;inset-inline-start:0;transform:translate(-110%)}html[dir=rtl] .sidebar{transform:translate(110%)}.app.drawer-open .sidebar{transform:translate(0)}.app.drawer-open .scrim{z-index:calc(var(--z-drawer) - 1);background:#0f2a4373;display:block;position:fixed;inset:0}.hamburger{display:grid}.global-search{display:none}}*{scrollbar-width:thin;scrollbar-color:#0f2a4347 transparent}.sidebar,.sidebar *{scrollbar-color:#ffffff47 transparent}.page-head{align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.page-head .titles{flex:1;min-width:200px}.page-head h1{font-size:var(--fs-2xl)}.page-head .subtitle{color:var(--text-600);font-size:var(--fs-md);margin-top:var(--sp-1)}.page-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.breadcrumbs{align-items:center;gap:var(--sp-2);color:var(--text-400);font-size:var(--fs-sm);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.breadcrumbs a:hover{color:var(--teal-600)}.breadcrumbs .sep{color:var(--gray-300)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--control-h);padding:0 var(--pad-control-x);border-radius:var(--radius-sm);border:var(--border-w) solid transparent;font-size:var(--fs-body);font-weight:var(--fw-medium);transition:var(--transition-control), transform var(--dur-fast) var(--ease-standard);white-space:nowrap;font-family:inherit;display:inline-flex}.btn:active:not(:disabled){transform:scale(var(--press-scale))}.btn svg{width:18px;height:18px}.btn-primary{background:var(--action-primary);color:#fff}.btn-primary:hover{background:var(--action-primary-hover)}.btn-primary:active{background:var(--action-primary-active)}.btn-secondary{color:var(--navy-700);border-color:var(--navy-300);background:0 0}.btn-secondary:hover{background:var(--action-ghost-hover);border-color:var(--navy-500)}.btn-ghost{color:var(--navy-700);background:0 0}.btn-ghost:hover{background:var(--action-ghost-hover)}.btn-danger{background:var(--action-secondary);color:#fff}.btn-danger:hover{background:var(--action-secondary-hover)}.btn-danger:active{background:var(--red-900)}.btn-sm{min-height:var(--control-h-sm);font-size:var(--fs-body-sm);padding:0 14px}.btn:disabled{background:var(--action-disabled-bg);color:var(--action-disabled-fg);cursor:not-allowed;border-color:#0000;transform:none}.card{background:var(--surface-card);border:var(--border-w) solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.card-pad{padding:var(--pad-card)}.card-head{align-items:center;gap:var(--sp-3);border-bottom:var(--divider);padding:14px 20px;display:flex}.card-head h3{font-size:var(--fs-h4);flex:1}.card-head .card-icon{color:var(--navy-400)}.grid{gap:var(--sp-4);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-6{grid-template-columns:repeat(6,1fr)}@media (width<=1200px){.grid-6{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=780px){.grid-2,.grid-3,.grid-4,.grid-6{grid-template-columns:1fr}}.stack{gap:var(--sp-4);flex-direction:column;display:flex}.row{gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.kpi{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-xs)}.kpi .kpi-top{align-items:center;gap:var(--sp-3);display:flex}.kpi .kpi-ico{border-radius:var(--radius-md);flex:none;place-items:center;width:40px;height:40px;display:grid}.kpi .kpi-label{color:var(--text-600);font-size:var(--fs-sm)}.kpi .kpi-value{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-size:var(--fs-metric);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);margin-top:var(--sp-2);color:var(--text-strong)}.kpi .kpi-trend{font-size:var(--fs-xs);margin-top:var(--sp-1);align-items:center;gap:4px;display:inline-flex}.kpi.accent-teal .kpi-ico{background:var(--teal-050);color:var(--teal-600)}.kpi.accent-warn .kpi-ico{background:var(--status-warning-bg);color:var(--status-warning)}.kpi.accent-crit .kpi-ico{background:var(--status-critical-bg);color:var(--status-critical)}.kpi.accent-ok .kpi-ico{background:var(--status-success-bg);color:var(--status-success)}.kpi.accent-info .kpi-ico{background:var(--status-progress-bg);color:var(--status-progress)}.badge{font-size:var(--fs-caption);font-weight:var(--fw-medium);padding:var(--pad-chip-y) var(--pad-chip-x);border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:6px;line-height:1.2;display:inline-flex}.badge svg{width:14px;height:14px}.badge.crit{background:var(--status-critical-bg);color:var(--status-critical)}.badge.warn{background:var(--status-warning-bg);color:var(--status-warning)}.badge.prog{background:var(--status-progress-bg);color:var(--status-progress)}.badge.ok{background:var(--status-success-bg);color:var(--status-success)}.badge.info{background:var(--status-info-bg);color:var(--status-info)}.badge.outline{background:0 0;border:1px solid}.priority-dot{font-size:var(--fs-xs);align-items:center;gap:6px;font-weight:600;display:inline-flex}.priority-dot:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.table-wrap{border-radius:var(--radius-lg);border:1px solid var(--gray-200);background:var(--white);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:var(--fs-md);min-width:720px}table.data thead th{text-align:start;background:var(--gray-050);color:var(--text-600);font-weight:700;font-size:var(--fs-sm);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--gray-200);white-space:nowrap}table.data tbody td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--gray-100);vertical-align:middle}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr{transition:background var(--transition)}table.data tbody tr.clickable:hover{background:var(--gray-050);cursor:pointer}.cell-strong{color:var(--navy-900);font-weight:700}.cell-sub{color:var(--text-400);font-size:var(--fs-xs)}.filter-bar{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;align-items:center;display:flex}.filter-bar select,.filter-bar input{border:1px solid var(--gray-200);border-radius:var(--radius-md);height:38px;padding:0 var(--sp-3);font-family:inherit;font-size:var(--fs-sm);background:var(--white);color:var(--text-700)}.chk{font-size:var(--fs-sm);color:var(--text-700);align-items:center;gap:6px;display:inline-flex}.field{margin-bottom:var(--sp-4);flex-direction:column;gap:6px;display:flex}.field label{font-size:var(--fs-sm);color:var(--text-700);font-weight:600}.field input,.field select,.field textarea{height:var(--field-h);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-sm);padding:0 var(--pad-field-x);font-family:inherit;font-size:var(--fs-body);background:var(--white);color:var(--text-strong);transition:var(--transition-control)}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--navy-300)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--border-focus);box-shadow:var(--ring-focus);outline:none}.field textarea{height:auto;min-height:90px;padding:var(--sp-3);resize:vertical}.field select[multiple]{height:auto;min-height:calc(var(--field-h) * 2);padding-block:var(--sp-2)}.field .hint{font-size:var(--fs-caption);color:var(--text-muted)}.segmented{background:var(--gray-100);border-radius:var(--radius-md);gap:4px;padding:4px;display:inline-flex}.segmented button{padding:8px var(--sp-4);border-radius:var(--radius-sm);font-family:inherit;font-weight:600;font-size:var(--fs-sm);color:var(--text-600);background:0 0;border:none}.segmented button.active{background:var(--navy-800);color:#fff;box-shadow:var(--shadow-xs)}.tabs{gap:var(--sp-1);border-bottom:var(--divider);margin-bottom:var(--sp-4);display:flex;overflow-x:auto}.tabs button{padding:var(--sp-3) var(--sp-4);font-family:inherit;font-weight:var(--fw-medium);color:var(--text-muted);white-space:nowrap;transition:var(--transition-control);background:0 0;border:none;border-bottom:2px solid #0000}.tabs button.active{color:var(--navy-800);border-bottom-color:var(--red-700);font-weight:var(--fw-bold)}.stepper{padding-bottom:var(--sp-2);gap:0;display:flex;overflow-x:auto}.step{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:96px;display:flex;position:relative}.step:before{content:"";top:15px;background:var(--gray-200);z-index:0;width:100%;height:3px;position:absolute;inset-inline-start:-50%}.step:first-child:before{display:none}.step .dot{background:var(--gray-200);width:32px;height:32px;color:var(--text-400);z-index:1;border:3px solid var(--white);border-radius:50%;place-items:center;display:grid}.step .step-name{color:var(--text-600);max-width:90px;font-size:11px}.step.done .dot{background:var(--status-success);color:#fff}.step.done:before{background:var(--status-success)}.step.current .dot{background:var(--teal-600);color:#fff;box-shadow:0 0 0 4px var(--teal-100)}.step.current .step-name{color:var(--teal-700);font-weight:700}.timeline{padding-inline-start:var(--sp-6);position:relative}.timeline:before{content:"";inset-inline-start:7px;background:var(--gray-200);width:2px;position:absolute;top:6px;bottom:6px}.tl-item{padding-bottom:var(--sp-5);position:relative}.tl-item:before{content:"";inset-inline-start:-22px;background:var(--white);border:3px solid var(--teal-500);border-radius:50%;width:14px;height:14px;position:absolute;top:4px}.tl-item .tl-date{font-size:var(--fs-xs);color:var(--text-400)}.tl-item .tl-title{color:var(--navy-900);font-weight:600}.tl-item .tl-desc{font-size:var(--fs-sm);color:var(--text-600)}.alert{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);border:1px solid #0000;align-items:flex-start;display:flex}.alert svg{flex:none;width:20px;height:20px;margin-top:2px}.alert .alert-body{flex:1}.alert .alert-title{font-weight:700}.alert .alert-text{font-size:var(--fs-sm)}.alert.crit{background:var(--status-critical-bg);color:var(--status-critical);border-color:#f0c8c2}.alert.warn{background:var(--status-warning-bg);color:var(--status-warning);border-color:#ecd9a6}.alert.info{background:var(--status-progress-bg);color:var(--status-progress);border-color:#cfe0f4}.alert.ok{background:var(--status-success-bg);color:var(--status-success);border-color:#bfdfcd}.alert.locked{opacity:1}.alert-body .alert-title,.alert-body .alert-text{color:var(--text-900)}.snapshot{background:linear-gradient(180deg, var(--navy-900), var(--navy-800));color:var(--text-on-dark);border-radius:var(--radius-lg);padding:var(--sp-5)}.snapshot .snap-top{align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.snapshot .snap-avatar{background:var(--teal-600);width:56px;height:56px;font-size:var(--fs-xl);color:#fff;border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.snapshot h2{color:#fff;font-size:var(--fs-xl)}.snapshot .snap-meta{color:var(--text-on-dark-muted);font-size:var(--fs-sm)}.snapshot .snap-grid{gap:var(--sp-4);margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--border-inverse);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.snapshot .snap-label{font-size:var(--fs-caption);color:var(--text-on-dark-muted);margin-bottom:2px}.snapshot .snap-value{font-size:var(--fs-body);color:#fff;font-weight:var(--fw-medium)}.snapshot .snap-sub{font-size:var(--fs-caption);color:var(--text-on-dark-muted);font-weight:var(--fw-regular);display:block}.notif-unread .rate-label{font-weight:var(--fw-bold)}.notif-dot{background:var(--red-700);border-radius:50%;width:8px;height:8px;margin-inline-end:6px;display:inline-block}.home-grid{gap:var(--sp-4);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}@media (width<=1100px){.home-grid{grid-template-columns:1fr}}.kpi-link{text-align:start;font:inherit;border:var(--border-w) solid var(--border-subtle);cursor:pointer;transition:var(--transition-control)}.kpi-link:hover{border-color:var(--navy-300);box-shadow:var(--shadow-card)}.stage-bar-head{font-size:var(--fs-body-sm);color:var(--text-body);justify-content:space-between;margin-bottom:4px;display:flex}.stage-bar-track{border-radius:var(--radius-pill);background:var(--gray-100);height:8px;overflow:hidden}.stage-bar-fill{border-radius:var(--radius-pill);background:var(--navy-600);height:100%}.case-layout{gap:var(--sp-4);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.case-layout .action-panel{top:var(--sp-4);position:sticky}@media (width<=1100px){.case-layout{grid-template-columns:1fr}.case-layout .action-panel{position:static}}.file-search{border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-sm);height:38px;padding:0 var(--pad-field-x);background:var(--white);min-width:240px;color:var(--text-strong);font:inherit;font-size:var(--fs-body-sm);transition:var(--transition-control)}.file-search:focus{border-color:var(--border-focus);box-shadow:var(--ring-focus);outline:none}@media print{.sidebar,.topbar,.page-actions,.segmented,.filter-bar,.file-search,.breadcrumbs,.scrim{display:none!important}.app{grid-template-columns:1fr;grid-template-areas:"main"}.main{padding:0;overflow:visible}body{background:#fff}.snapshot{border:1px solid #bbb;color:#111!important;background:#fff!important}.snapshot h2,.snapshot .snap-value{color:#111!important}.snapshot .snap-label,.snapshot .snap-meta,.snapshot .snap-sub{color:#555!important}.snapshot .snap-avatar{color:#111!important;background:#eee!important}.table-wrap,.card{box-shadow:none}}.snapshot .snap-grid{gap:var(--sp-4);margin-top:var(--sp-5);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=900px){.snapshot .snap-grid{grid-template-columns:repeat(2,1fr)}}.snapshot .snap-field .k{font-size:var(--fs-xs);color:var(--text-on-dark-muted)}.snapshot .snap-field .v{color:#fff;font-weight:600}.overlay{z-index:var(--z-dialog);opacity:0;pointer-events:none;transition:opacity var(--transition);background:#0f2a4380;display:flex;position:fixed;inset:0}.overlay.open{opacity:1;pointer-events:auto}.drawer{background:var(--white);width:min(520px,96vw);height:100%;box-shadow:var(--shadow-lg);transition:transform var(--transition);margin-inline-start:auto;overflow-y:auto;transform:translate(30px)}html[dir=rtl] .drawer{transform:translate(-30px)}.overlay.open .drawer{transform:translate(0)}.dialog{background:var(--white);border-radius:var(--radius-lg);width:min(560px,96vw);max-height:90vh;box-shadow:var(--shadow-lg);transition:transform var(--transition);flex-direction:column;margin:auto;display:flex;overflow:hidden;transform:scale(.97)}.overlay.open .dialog{transform:scale(1)}.dialog.dialog-wide{width:min(1040px,96vw)}.record-grid{gap:var(--sp-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}@media (width<=900px){.record-grid{grid-template-columns:minmax(0,1fr)}}.multiselect{color:var(--text-strong);font-family:inherit}.multiselect .multiselect__tags{min-height:var(--field-h);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-sm)}.field .multiselect .multiselect__input,.field .multiselect .multiselect__single{height:auto;font-size:var(--fs-body);background:0 0;border:0;padding:0}.multiselect .multiselect__option--highlight,.multiselect .multiselect__option--highlight:after{background:var(--navy-600);color:var(--white)}.multiselect .multiselect__option--selected{background:var(--navy-050)}.field .multiselect .multiselect__input:focus{box-shadow:none;outline:none}.multiselect.multiselect--active .multiselect__tags{border-color:var(--navy-600)}.multiselect .multiselect__option--selected.multiselect__option--highlight,.multiselect .multiselect__option--selected.multiselect__option--highlight:after{background:var(--navy-100);color:var(--text-strong)}.modal-head{align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--gray-100);display:flex}.modal-head h3{font-size:var(--fs-lg);flex:1}.modal-body{padding:var(--sp-5);flex:auto;min-height:0;overflow-y:auto}.modal-foot{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--gray-100);display:flex}.toast-wrap{z-index:var(--z-toast);gap:var(--sp-2);flex-direction:column;display:flex;position:fixed;inset-block-end:var(--sp-6);inset-inline-end:var(--sp-6)}.toast{align-items:center;gap:var(--sp-3);background:var(--navy-900);color:#fff;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:260px;animation:toastin var(--transition);display:flex}.toast svg{flex:none;width:18px;height:18px}.toast.ok svg{color:var(--status-success)}.toast.info svg{color:var(--teal-500)}.toast.warn svg{color:var(--status-warning)}@keyframes toastin{0%{opacity:0;transform:translateY(12px)}}.state-box{text-align:center;padding:var(--sp-12) var(--sp-6);color:var(--text-600);justify-content:center;align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}.state-box svg{width:48px;height:48px;color:var(--gray-300)}.state-box h3{color:var(--text-700)}.skeleton{background:linear-gradient(90deg, var(--gray-100) 25%, var(--gray-200) 37%, var(--gray-100) 63%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.sk-line{height:12px;margin-bottom:10px}.sk-card{border-radius:var(--radius-lg);height:96px}.pill-tag{background:var(--gray-100);color:var(--text-700);font-size:var(--fs-xs);padding:3px var(--sp-2);border-radius:var(--radius-sm);align-items:center;gap:4px;font-weight:600;display:inline-flex}.divider{background:var(--gray-100);height:1px;margin:var(--sp-4) 0}.muted{color:var(--text-400)}.text-sm{font-size:var(--fs-sm)}.mono{font-variant-numeric:tabular-nums}.hl{background:#fff6cc}.notif-item{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--gray-100);display:flex}.notif-item.unread{background:var(--teal-050)}.notif-item .n-dot{background:var(--teal-600);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.legend{gap:var(--sp-4);font-size:var(--fs-xs);color:var(--text-600);flex-wrap:wrap;display:flex}.legend .lg{align-items:center;gap:6px;display:inline-flex}.legend .sw{border-radius:3px;width:12px;height:12px}.bar-track{background:var(--gray-100);border-radius:var(--radius-pill);height:8px;overflow:hidden}.bar-fill{background:var(--teal-600);border-radius:var(--radius-pill);height:100%}.rate-row{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--gray-100);display:flex}.rate-row .rate-label{color:var(--text-700);font-weight:600}.stars{gap:4px;display:inline-flex}.stars .star{color:var(--gray-300);transition:transform var(--transition);background:0 0;border:none;padding:2px;line-height:0}.stars .star:hover{transform:scale(1.12)}.stars .star.on{color:#f5b301}.stars .star.on svg{fill:#f5b301}.stars.readonly .star{pointer-events:none}.recommend-group{gap:var(--sp-2);flex-wrap:wrap;display:flex}.recommend-group button{border:1px solid var(--gray-300);background:var(--white);border-radius:var(--radius-md);padding:10px var(--sp-4);color:var(--text-700);align-items:center;gap:6px;font-family:inherit;font-weight:600;display:inline-flex}.recommend-group button.sel{border-color:var(--teal-600);background:var(--teal-050);color:var(--teal-700)}.rate-score{color:var(--teal-700);font-weight:800;font-size:var(--fs-lg);text-align:center;min-width:42px}#print-area{display:none}.print-doc{color:#000}.print-header{border-bottom:2px solid var(--teal-600);margin-bottom:16px;padding-bottom:8px}.print-brand{color:var(--teal-700);font-weight:800}.print-foot{color:#666;border-top:1px solid #ccc;margin-top:24px;padding-top:8px;font-size:12px}.print-section{margin-bottom:14px}.print-section h3{margin-bottom:4px;font-size:15px}@media print{.app,.toast-wrap,.overlay{display:none!important}#print-area{padding:24px;display:block!important}body{background:#fff}table.data{min-width:0}}#auth-gate[hidden]{display:none}.auth-wrap{background:var(--gray-050);grid-template-columns:minmax(0,460px) minmax(0,1fr);min-height:100vh;display:grid}.auth-wrap.wide{grid-template-columns:minmax(0,1fr);place-items:center;padding:32px 16px}.auth-card{background:var(--white);box-shadow:var(--shadow-md);z-index:1;flex-direction:column;justify-content:center;padding:40px 36px;display:flex}.auth-wrap.wide .auth-card{border-radius:var(--radius-lg);justify-content:flex-start;width:100%;max-width:720px;padding:28px}.auth-brand{align-items:center;gap:14px;margin-bottom:28px;display:flex}.brand-mark.lg{border-radius:var(--radius-md);width:52px;height:52px;font-size:20px}.auth-title{color:var(--navy-900);font-size:22px;font-weight:800}.auth-sub{color:var(--gray-500);font-size:13px}.auth-card{min-width:0}.auth-card .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-card .field input,.auth-card .field select{width:100%;min-width:0}.btn-block{justify-content:center;width:100%}.auth-side{background:linear-gradient(160deg, var(--navy-900), var(--teal-700));color:#fff;flex-direction:column;justify-content:center;padding:48px 44px;display:flex}.auth-side h2{color:#fff;margin-bottom:12px;font-size:26px;font-weight:800;line-height:1.5}.auth-side p{color:#ffffffc7;max-width:46ch;margin-bottom:28px;font-size:14px;line-height:1.9}.auth-roles{flex-wrap:wrap;gap:10px;display:flex}.auth-role{cursor:pointer;font:inherit;color:#fff;background:#ffffff1a;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.auth-role:hover{background:#fff3;transform:translateY(-1px)}.auth-hint{color:#fff9;margin-top:14px;font-size:12px}.wizard-steps{border-bottom:1px solid var(--gray-100);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:20px;padding:16px 0 20px;display:flex}.wz-step{color:var(--gray-500);align-items:center;gap:7px;font-size:12.5px;display:inline-flex}.wz-num{background:var(--gray-100);width:24px;height:24px;color:var(--gray-500);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.wz-step.active .wz-num{background:var(--teal-600);color:#fff}.wz-step.active .wz-lbl{color:var(--navy-900);font-weight:700}.wz-step.done .wz-num{background:var(--status-success,#1e9e6a);color:#fff}.wz-sep{background:var(--gray-200);flex:12px;min-width:10px;height:1px}.wizard-body{min-height:260px}.wizard-foot{border-top:1px solid var(--gray-100);justify-content:space-between;align-items:center;margin-top:20px;padding-top:20px;display:flex}.pick-card{text-align:start;cursor:pointer;width:100%;font:inherit;background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);align-items:flex-start;gap:14px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.pick-card:hover{border-color:var(--teal-500);background:var(--teal-050)}.pick-card.sel{border-color:var(--teal-600);background:var(--teal-050);box-shadow:0 0 0 3px var(--teal-100)}.pick-ico{color:var(--teal-600);flex:none;margin-top:2px}.pick-body{flex-direction:column;gap:3px;min-width:0;display:flex}.pick-title{color:var(--navy-900);font-weight:700}.pick-sub{color:var(--gray-500);font-size:12.5px}.pick-tag{background:var(--teal-100);color:var(--teal-700);border-radius:999px;align-self:flex-start;margin-top:5px;padding:3px 9px;font-size:11.5px;font-weight:600}@media (width<=900px){.auth-wrap{grid-template-columns:minmax(0,1fr)}.auth-side{order:-1;padding:28px 24px}.auth-side h2{font-size:20px}.auth-card{padding:28px 22px}}.collab-msg{border-radius:var(--radius-md);background:var(--gray-050);border:1px solid var(--gray-200);border-inline-start:3px solid var(--gray-300);padding:14px 16px}.collab-msg.open{background:var(--amber-050,#fdf6ec);border-inline-start-color:var(--status-warning,#e8973a)}.constraint-item{border-radius:var(--radius-sm);color:#9b2c23;background:#fdecea;align-items:center;gap:8px;margin:8px 0;padding:9px 12px;font-size:13px;display:flex}.rationale-box{border-radius:var(--radius-sm);background:var(--teal-050);border-inline-start:3px solid var(--teal-500);margin-top:10px;padding:10px 12px}.rationale-box p{margin-top:2px}.presence{color:var(--gray-500);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.presence .dot-live{background:var(--gray-300);border-radius:50%;flex:none;width:8px;height:8px}.presence.on{color:var(--status-success,#1e9e6a);font-weight:600}.presence.on .dot-live{background:var(--status-success,#1e9e6a);animation:2s ease-in-out infinite pulse-live;box-shadow:0 0 0 3px #1e9e6a2e}@keyframes pulse-live{0%,to{box-shadow:0 0 0 3px #1e9e6a2e}50%{box-shadow:0 0 0 5px #1e9e6a0f}}@media (prefers-reduced-motion:reduce){.presence.on .dot-live{animation:none}}.ou-node{cursor:pointer;border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:11px;padding:10px 12px;transition:background .13s,border-color .13s;display:flex}.ou-node:hover{background:var(--gray-050)}.ou-node.sel{background:var(--teal-050);border-color:var(--teal-500)}.ou-ico{color:var(--teal-600);flex:none;display:flex}.ou-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ou-name{color:var(--navy-900);font-size:14px;font-weight:600}.ou-meta{color:var(--gray-500);font-size:12px}.ou-actions{opacity:0;flex:none;gap:2px;transition:opacity .13s;display:flex}.ou-node:hover .ou-actions,.ou-node.sel .ou-actions{opacity:1}@media (width<=700px){.ou-actions{opacity:1}}
