*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.break-all{word-break:break-all}.border{border-width:1px}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--bg-app:#f4f7fc;--bg-surface:#fff;--bg-muted:#eef2f9;--bg-hover:#e6ecf5;--bg-sunken:#f7f9fd;--text-primary:#0d1a33;--text-secondary:#455270;--text-tertiary:#7c869e;--text-inverse:#fff;--brand:#0f5fd1;--brand-hover:#0a4db2;--brand-soft:#e3efff;--brand-soft-text:#0a3f9c;--brand-border:#b6d0f5;--accent-deep:#0d1a33;--accent-deep-hover:#1b2a4a;--accent-deep-text:#fff;--accent-cyan:#22c3d9;--accent-cyan-hover:#14aec3;--accent-cyan-soft:#e0f7fb;--accent-cyan-soft-text:#0a6570;--brand-gradient:linear-gradient(135deg, #0a3f9c 0%, #0f5fd1 45%, #22c3d9 100%);--brand-gradient-soft:linear-gradient(135deg, #e3efff 0%, #e0f7fb 100%);--status-progress:#0f5fd1;--status-progress-soft:#e3efff;--status-progress-text:#0a3f9c;--status-review:#22c3d9;--status-review-soft:#e0f7fb;--status-review-text:#0a6570;--status-completed:#7c869e;--status-completed-soft:#eaeef6;--status-completed-text:#455270;--status-overdue:#e04562;--status-overdue-soft:#fde8ec;--status-overdue-text:#a1233b;--success:#0e9f7c;--success-soft:#dcf5ec;--success-soft-text:#0a6b52;--success-soft-border:#b0e0cf;--warning:#f0a020;--warning-soft:#fdf1d9;--warning-soft-text:#8a5a0e;--danger:#e04562;--danger-hover:#c43653;--danger-soft:#fde8ec;--danger-soft-text:#a1233b;--danger-soft-border:#f4c4cf;--border:#dde3ef;--border-strong:#c3cadb;--bg-subtle:var(--bg-sunken);--border-subtle:var(--border);--accent:var(--brand);--dept-color-1:#0f5fd1;--dept-color-2:#22c3d9;--dept-color-3:#7c56d9;--dept-color-4:#0e9f7c;--dept-color-5:#e04562;--dept-color-6:#f0a020;--dept-mini-1:#e3efff;--dept-mini-2:#e0f7fb;--dept-mini-3:#ece5fa;--dept-mini-4:#dcf5ec;--dept-mini-5:#fde8ec;--dept-mini-6:#fdf1d9;--avatar-1-bg:#d9e6ff;--avatar-1-fg:#0a3f9c;--avatar-2-bg:#d1f2f7;--avatar-2-fg:#076675;--avatar-3-bg:#e2dcfa;--avatar-3-fg:#4a2fa8;--avatar-4-bg:#d3f0e6;--avatar-4-fg:#0a6b52;--avatar-5-bg:#fce0e6;--avatar-5-fg:#a01a35;--avatar-6-bg:#fceecd;--avatar-6-fg:#8a5a0e;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 1px 2px #14161f08, 0 1px 3px #14161f0a;--shadow:0 4px 12px #14161f0d, 0 2px 4px #14161f08;--shadow-lg:0 12px 32px #14161f14;--card-glow:var(--accent-cyan);--shadow-lift:0 2px 4px #14161f0d, 0 18px 40px -12px #14161f29, 0 24px 48px -18px color-mix(in oklch, var(--card-glow) 22%, transparent);--font-body:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-body-ar:"Segoe UI", "Tahoma", "Cairo", "Noto Kufi Arabic", Arial, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", Consolas, monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:.95rem;--fs-md:1.05rem;--fs-lg:1.25rem;--fs-xl:1.6rem;--fs-2xl:2rem;--fs-3xl:2.5rem;--fs-hero:3rem;--lh-body:1.55;--sidebar-w:240px;--topbar-h:68px;--dur-fast:.14s;--dur-base:.24s;--dur-slow:.42s;--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-expo:cubic-bezier(.16, 1, .3, 1);--stagger:90ms;--stagger-tight:60ms}:root[data-theme=dark]{--bg-app:#060b1a;--bg-surface:#0f172c;--bg-muted:#141d38;--bg-hover:#1c2745;--bg-sunken:#0a1024;--text-primary:#eaf0ff;--text-secondary:#a9b4d0;--text-tertiary:#7c86a5;--brand:#4b8fee;--brand-hover:#6ba3f2;--brand-soft:#122747;--brand-soft-text:#8fbaf5;--brand-border:#254777;--accent-deep:#4b8fee;--accent-deep-hover:#6ba3f2;--accent-cyan:#4ed6e6;--accent-cyan-hover:#6fe0ee;--accent-cyan-soft:#0f2a35;--accent-cyan-soft-text:#9ee3ec;--brand-gradient:linear-gradient(135deg, #0a3f9c 0%, #0f5fd1 45%, #22c3d9 100%);--brand-gradient-soft:linear-gradient(135deg, #122747 0%, #0f2a35 100%);--status-progress:#6ba3f2;--status-progress-soft:#122747;--status-progress-text:#bad4f8;--status-review:#4ed6e6;--status-review-soft:#0f2a35;--status-review-text:#9ee3ec;--status-completed:#a9b4d0;--status-completed-soft:#1a2338;--status-completed-text:#c8cfe0;--status-overdue:#ee7a8f;--status-overdue-soft:#351724;--status-overdue-text:#f5aab6;--success:#4ec9a4;--success-soft:#0f2e26;--success-soft-text:#9ee0c6;--success-soft-border:#24503f;--danger:#ee7a8f;--danger-hover:#f28fa1;--danger-soft:#351724;--danger-soft-text:#f5aab6;--danger-soft-border:#5a2434;--warning:#f5b53f;--warning-soft:#37280d;--warning-soft-text:#f0cd8e;--border:#1e2942;--border-strong:#2d3b5c;--shadow-sm:0 1px 2px #00000059;--shadow:0 4px 12px #00000073;--shadow-lg:0 12px 32px #0000008c;--card-glow:var(--accent-cyan);--shadow-lift:0 4px 8px #00000080, 0 24px 48px -12px #000000b3, 0 28px 56px -20px color-mix(in oklch, var(--card-glow) 30%, transparent);--dept-mini-1:#122747;--dept-mini-2:#0f2a35;--dept-mini-3:#1e1738;--dept-mini-4:#0f2e26;--dept-mini-5:#351724;--dept-mini-6:#2e2210;--avatar-1-bg:#122c55;--avatar-1-fg:#9ec1f5;--avatar-2-bg:#0f3742;--avatar-2-fg:#7ee0ee;--avatar-3-bg:#26195c;--avatar-3-fg:#b39cf5;--avatar-4-bg:#123c30;--avatar-4-fg:#78dcb4;--avatar-5-bg:#431525;--avatar-5-fg:#f5a0b1;--avatar-6-bg:#3a2810;--avatar-6-fg:#f2c774}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-body);color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease;margin:0;padding:0}html[dir=rtl] body{font-family:var(--font-body-ar)}h1,h2,h3,h4{color:var(--text-primary);letter-spacing:-.01em;margin:0 0 .5rem;font-weight:700}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}p{color:var(--text-secondary);margin:0 0 .75rem}a{color:var(--brand-soft-text);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}input,select,textarea,button{font-family:inherit}.btn{isolation:isolate;border-radius:var(--radius-pill);font-weight:600;font-size:var(--fs-sm);white-space:nowrap;will-change:transform;min-height:42px;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.3rem;line-height:1;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;pointer-events:none;transition:transform var(--dur-slow) var(--ease-out);opacity:0;background:linear-gradient(115deg,#0000 30%,#ffffff38 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(0)scale(.97)}.btn:focus-visible{box-shadow:0 0 0 3px var(--bg-surface), 0 0 0 5px var(--accent-cyan);outline:none}.btn-primary{background:var(--accent-deep);color:var(--accent-deep-text)}.btn-primary:hover:not(:disabled){background:var(--accent-deep-hover);transform:translateY(-1.5px);box-shadow:0 10px 22px -10px #0d1a338c,0 4px 10px -4px #0f5fd159}.btn-primary:before{opacity:1}.btn-primary:hover:not(:disabled):before{transform:translate(120%)}.btn-brand{background:var(--brand);color:var(--text-primary)}.btn-brand:hover:not(:disabled){background:var(--brand-hover);transform:translateY(-1.5px);box-shadow:0 12px 24px -12px #0f5fd1a6,0 4px 10px -4px #22c3d959}.btn-brand:before{opacity:1}.btn-brand:hover:not(:disabled):before{transform:translate(120%)}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--brand-border);transform:translateY(-1px);box-shadow:0 6px 14px -8px #0f5fd140}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--danger);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background:var(--danger-hover);transform:translateY(-1.5px);box-shadow:0 10px 22px -10px #e045628c,0 4px 10px -4px #e0456259}.btn-danger:before{opacity:1}.btn-danger:hover:not(:disabled):before{transform:translate(120%)}.btn-sm{min-height:34px;font-size:var(--fs-xs);padding:.4rem .85rem}.btn-icon{padding:.4rem .6rem}.btn-icon:hover:not(:disabled){transform:scale(1.06)}.btn-icon:active:not(:disabled){transform:scale(.94)}.btn.is-loading{pointer-events:none;color:#0000!important}.btn.is-loading:after{content:"";width:16px;height:16px;color:var(--accent-deep-text);border:2px solid;border-top-color:#0000;border-radius:50%;animation:.7s linear infinite neurixSpin;position:absolute}.btn-secondary.is-loading:after,.btn-ghost.is-loading:after{color:var(--text-primary)}@media (prefers-reduced-motion:reduce){.btn,.btn:before{transition:none;animation:none}.btn.is-loading:after{transition:none}.btn:hover:not(:disabled),.btn-icon:hover:not(:disabled),.btn:active:not(:disabled),.btn-icon:active:not(:disabled){transform:none}.btn:before{display:none}}.field{flex-direction:column;gap:.4rem;margin-bottom:1.15rem;display:flex}.field-label{font-size:var(--fs-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}html[dir=rtl] .field-label{text-transform:none;letter-spacing:0;font-size:var(--fs-sm)}.field-label .req{color:var(--danger);text-transform:none;margin-inline-start:2px}.input,.select,.textarea{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:var(--fs-sm);color:var(--text-primary);transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease, background var(--dur-fast) ease;min-height:44px;padding:.7rem 1rem}.textarea{resize:vertical;min-height:140px;line-height:1.55}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);background:var(--bg-surface);outline:none}.input[readonly]{background:var(--bg-muted);color:var(--text-secondary)}html[dir=rtl] .input,html[dir=rtl] .textarea,html[dir=rtl] .select{text-align:right}.field-error{color:var(--danger);font-size:var(--fs-xs);text-transform:none;letter-spacing:0;margin-top:2px;font-weight:500}.input.has-error,.select.has-error,.textarea.has-error{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.switch{--w:44px;--h:24px;width:var(--w);height:var(--h);display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch .slider{background-color:var(--border-strong);border-radius:var(--radius-pill);transition:background var(--dur-fast) ease;cursor:pointer;position:absolute;inset:0}.switch .slider:before{content:"";width:18px;height:18px;transition:transform var(--dur-fast) ease;background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switch input:checked+.slider{background-color:var(--brand)}.switch input:checked+.slider:before{transform:translate(20px)}html[dir=rtl] .switch input:checked+.slider:before{transform:translate(-20px)}.alert{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-muted);font-size:var(--fs-sm);margin-bottom:1rem;padding:.85rem 1rem}.alert-success{background:var(--success-soft);border-color:var(--success-soft-border);color:var(--success-soft-text)}.alert-error{background:var(--danger-soft);border-color:var(--danger-soft-border);color:var(--danger-soft-text)}.alert-warning{background:var(--warning-soft);color:var(--warning-soft-text)}.alert-info{background:var(--status-progress-soft);border-color:var(--status-progress);color:var(--status-progress-text)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem}.card+.card{margin-top:1rem}.card,.stat-card,.dept-card,.udash-kpi,.udash-panel,.article-card{transition:transform var(--dur-base) var(--ease-expo), box-shadow var(--dur-base) var(--ease-expo), border-color var(--dur-fast) ease}@media (hover:hover) and (pointer:fine){.card:hover,.stat-card:hover,.dept-card:hover,.udash-kpi:hover,.udash-panel:hover,.article-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lift);will-change:transform;transform:translateY(-8px)}.card:active,.stat-card:active,.dept-card:active,.udash-kpi:active,.udash-panel:active,.article-card:active{transition:transform var(--dur-fast) ease-out, box-shadow var(--dur-fast) ease-out;transform:translateY(-2px)}}.card:focus-visible,.stat-card:focus-visible,.dept-card:focus-visible,.udash-kpi:focus-visible,.udash-panel:focus-visible,.article-card:focus-visible{box-shadow:var(--shadow-lift);transform:translateY(-8px)}.card:has(:focus-visible){box-shadow:var(--shadow-lift);transform:translateY(-8px)}.stat-card:has(:focus-visible){box-shadow:var(--shadow-lift);transform:translateY(-8px)}.dept-card:has(:focus-visible){box-shadow:var(--shadow-lift);transform:translateY(-8px)}.udash-kpi:has(:focus-visible){box-shadow:var(--shadow-lift);transform:translateY(-8px)}.udash-panel:has(:focus-visible){box-shadow:var(--shadow-lift);transform:translateY(-8px)}.article-card:has(:focus-visible){box-shadow:var(--shadow-lift);transform:translateY(-8px)}.card:focus-visible,.stat-card:focus-visible,.dept-card:focus-visible,.udash-kpi:focus-visible,.udash-panel:focus-visible,.article-card:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.card[aria-busy=true],.stat-card[aria-busy=true],.dept-card[aria-busy=true],.udash-kpi[aria-busy=true],.udash-panel[aria-busy=true],.article-card[aria-busy=true]{cursor:progress}.card[aria-disabled=true],.stat-card[aria-disabled=true],.dept-card[aria-disabled=true],.udash-kpi[aria-disabled=true],.udash-panel[aria-disabled=true],.article-card[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}.card[aria-busy=true]:hover,.stat-card[aria-busy=true]:hover,.dept-card[aria-busy=true]:hover,.udash-kpi[aria-busy=true]:hover,.udash-panel[aria-busy=true]:hover,.article-card[aria-busy=true]:hover,.card[aria-disabled=true]:hover,.stat-card[aria-disabled=true]:hover,.dept-card[aria-disabled=true]:hover,.udash-kpi[aria-disabled=true]:hover,.udash-panel[aria-disabled=true]:hover,.article-card[aria-disabled=true]:hover{box-shadow:var(--shadow-sm);transform:none}@media (prefers-reduced-motion:reduce){.card,.stat-card,.dept-card,.udash-kpi,.udash-panel,.article-card{transition:box-shadow var(--dur-fast) ease, border-color var(--dur-fast) ease}.card:hover,.stat-card:hover,.dept-card:hover,.udash-kpi:hover,.udash-panel:hover,.article-card:hover,.card:focus-visible,.stat-card:focus-visible,.dept-card:focus-visible,.udash-kpi:focus-visible,.udash-panel:focus-visible,.article-card:focus-visible{box-shadow:var(--shadow);transform:none}.card:has(:focus-visible){box-shadow:var(--shadow);transform:none}.stat-card:has(:focus-visible){box-shadow:var(--shadow);transform:none}.dept-card:has(:focus-visible){box-shadow:var(--shadow);transform:none}.udash-kpi:has(:focus-visible){box-shadow:var(--shadow);transform:none}.udash-panel:has(:focus-visible){box-shadow:var(--shadow);transform:none}.article-card:has(:focus-visible){box-shadow:var(--shadow);transform:none}.card:active,.stat-card:active,.dept-card:active,.udash-kpi:active,.udash-panel:active,.article-card:active{transform:none}.dept-card:before{transition:none}.dept-card:hover:before,.dept-card:focus-visible:before{transform:none}.dept-card:has(:focus-visible):before{transform:none}}.udash-recent-item{transition:background var(--dur-fast) ease, box-shadow var(--dur-fast) ease;transform:none!important}.udash-recent-item:hover{background:var(--bg-hover);box-shadow:0 2px 8px -4px #14161f14;transform:none!important}.side-link{transition:background var(--dur-fast) ease, color var(--dur-fast) ease}.side-link:not(.active):hover{background:var(--bg-hover);transform:none!important}html[dir=rtl] .side-link:not(.active):hover{transform:none!important}.data tbody tr{transition:background var(--dur-fast) ease}.data tbody tr:hover td{background:var(--bg-sunken)}.intro-example{transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;transform:none!important}.intro-example:hover{border-color:var(--brand-border);box-shadow:0 4px 12px -6px #f5b93c2e;transform:none!important}.app-shell{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg-surface);border-inline-end:1px solid var(--border);flex-direction:column;height:100vh;padding:1.25rem 1rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:.6rem;padding:.25rem .5rem 1.5rem;font-size:1.35rem;font-weight:700;display:flex}.sidebar-brand-mark{background:var(--brand);border-radius:2px;width:4px;height:24px}.sidebar-brand-img{flex-shrink:0;width:28px;height:28px;display:block}.side-section{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);padding:1rem .85rem .4rem;font-weight:600}html[dir=rtl] .side-section{text-transform:none;letter-spacing:0;font-size:var(--fs-xs)}.side-link{border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--fs-sm);transition:background var(--dur-fast) ease, color var(--dur-fast) ease;align-items:center;gap:.75rem;margin-bottom:.15rem;padding:.7rem 1rem;font-weight:500;display:flex}.side-link .side-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.side-link:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.side-link.active{background:var(--brand);color:#fff;font-weight:600;box-shadow:0 4px 12px -6px #0f5fd180}.side-link.active:hover{background:var(--brand-hover);color:#fff}.side-link-btn{cursor:pointer;text-align:start;background:0 0;border:none;width:100%;font-family:inherit}.topbar{background:var(--bg-surface);border-bottom:1px solid var(--border);height:var(--topbar-h);z-index:20;align-items:center;gap:1.25rem;padding:0 1.75rem;display:flex;position:sticky;top:0}.topbar-search{flex:1;max-width:480px;position:relative}.topbar-search .search-icon{inset-inline-start:14px;color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.topbar-search input{background:var(--bg-muted);border-radius:var(--radius-pill);width:100%;font-size:var(--fs-sm);color:var(--text-primary);transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease;border:1px solid #0000;min-height:40px;padding:.6rem 1rem .6rem 2.5rem}html[dir=rtl] .topbar-search input{padding:.6rem 2.5rem .6rem 1rem}.topbar-search input::placeholder{color:var(--text-tertiary)}.topbar-search input:focus{background:var(--bg-surface);border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.topbar-right{align-items:center;gap:.75rem;margin-inline-start:auto;display:flex}.notification-btn{width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) ease;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.notification-btn:hover{background:var(--bg-hover)}.notification-dot{top:8px;background:var(--danger);border:2px solid var(--bg-surface);border-radius:50%;width:8px;height:8px;position:absolute;inset-inline-end:8px}.topbar-divider{background:var(--border);width:1px;height:32px}.user-chip{border-radius:var(--radius);align-items:center;gap:.75rem;padding:.35rem .5rem;display:flex}.user-chip-info{flex-direction:column;align-items:flex-end;gap:2px;line-height:1.2;display:flex}html[dir=rtl] .user-chip-info{align-items:flex-start}.user-chip-name{font-size:var(--fs-sm);color:var(--text-primary);font-weight:600}.user-chip-role{font-size:var(--fs-xs);color:var(--text-tertiary)}.icon-btn{width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) ease, color var(--dur-fast) ease;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.avatar{--sz:36px;width:var(--sz);height:var(--sz);background:var(--avatar-1-bg);color:var(--avatar-1-fg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72em;font-weight:600;display:inline-flex}.avatar-sm{--sz:28px}.avatar-md{--sz:36px}.avatar-lg{--sz:44px}.avatar-xl{--sz:64px}.avatar[data-hue="1"]{background:var(--avatar-1-bg);color:var(--avatar-1-fg)}.avatar[data-hue="2"]{background:var(--avatar-2-bg);color:var(--avatar-2-fg)}.avatar[data-hue="3"]{background:var(--avatar-3-bg);color:var(--avatar-3-fg)}.avatar[data-hue="4"]{background:var(--avatar-4-bg);color:var(--avatar-4-fg)}.avatar[data-hue="5"]{background:var(--avatar-5-bg);color:var(--avatar-5-fg)}.avatar[data-hue="6"]{background:var(--avatar-6-bg);color:var(--avatar-6-fg)}.avatar-icon{opacity:.7;width:60%;height:60%}.avatar{position:relative;overflow:hidden}.avatar-initials{z-index:1;position:relative}.avatar-has-image .avatar-initials{visibility:hidden}.avatar-img{-o-object-fit:cover;object-fit:cover;z-index:2;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.user-chip.is-button{cursor:pointer;font:inherit;color:inherit;transition:background var(--dur-fast) ease;background:0 0;border:none}.user-chip.is-button:hover{background:var(--bg-hover)}.user-chip.is-button:focus-visible{box-shadow:0 0 0 3px var(--accent-cyan-soft);outline:none}.profile-modal{text-align:center;max-width:380px}.profile-body{padding:.5rem 0 1rem}.profile-avatar-wrap{margin:.5rem 0 1rem;display:inline-block;position:relative}.profile-avatar-wrap .avatar{--sz:96px;box-shadow:0 4px 20px -8px #0f5fd140}.profile-avatar-edit{bottom:2px;background:var(--brand);color:#fff;border:3px solid var(--bg-surface);cursor:pointer;width:32px;height:32px;transition:background var(--dur-fast) ease, transform var(--dur-fast) ease;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;inset-inline-end:2px}.profile-avatar-edit:hover:not(:disabled){background:var(--brand-hover);transform:scale(1.05)}.profile-avatar-edit:disabled{opacity:.6;cursor:not-allowed}.profile-avatar-edit:focus-visible{box-shadow:0 0 0 3px var(--accent-cyan-soft);outline:none}.profile-name{color:var(--text-primary);margin-bottom:.15rem;font-size:1.15rem;font-weight:700}.profile-username{font-family:var(--font-mono);color:var(--text-tertiary);margin-bottom:1.25rem;font-size:.85rem}.profile-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:.75rem;display:flex}.profile-hint{color:var(--text-tertiary);margin:.5rem 0 0;font-size:.75rem}.profile-error{text-align:start;margin:0 0 1rem}.profile-page{max-width:1080px;margin:0 auto;padding:2rem}.profile-page-hero{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:16px;align-items:center;gap:1.25rem;margin-bottom:1.75rem;padding:1.5rem;display:flex;box-shadow:0 1px 3px #0f172a0a}.profile-page-hero .avatar{--sz:88px;box-shadow:0 6px 24px -10px #0f5fd140}.profile-hero-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.profile-hero-name{color:var(--text-primary);font-size:1.35rem;font-weight:700}.profile-hero-handle{font-family:var(--font-mono);color:var(--text-tertiary);font-size:.85rem}.profile-hero-meta{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.profile-hero-chip{background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.profile-hero-chip[data-role=ADMIN]{color:var(--brand);background:#0f5fd114;border-color:#0f5fd133}.profile-hero-chip[data-role=SUPER_ADMIN]{color:#b91c1c;background:#dc262614;border-color:#dc262633}.profile-hero-chip[data-role=USER]{color:#047857;background:#10b98114;border-color:#10b98133}.profile-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem;display:grid}@media (width>=900px){.profile-grid{grid-template-columns:1.35fr 1fr}}.profile-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:14px;padding:1.25rem 1.4rem;box-shadow:0 1px 3px #0f172a0a}.profile-card h3{margin:0 0 .35rem;font-size:1.05rem}.profile-card .card-hint{color:var(--text-tertiary);margin:0 0 1rem;font-size:.85rem}.profile-field-grid{grid-template-columns:1fr;gap:.85rem;display:grid}@media (width>=600px){.profile-field-grid{grid-template-columns:1fr 1fr}.profile-field-grid .full{grid-column:1/-1}}.profile-field-grid label{color:var(--text-secondary);flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600;display:flex}.profile-field-grid input{border:1px solid var(--border-subtle);background:var(--bg-input,var(--bg-subtle));width:100%;color:var(--text-primary);transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;border-radius:10px;padding:.55rem .75rem;font-size:.95rem;font-weight:400}.profile-field-grid input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft,#0f5fd126);outline:none}.profile-field-grid input[readonly]{background:var(--bg-subtle);color:var(--text-tertiary);cursor:not-allowed}.profile-meta-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.profile-meta-list li{justify-content:space-between;gap:1rem;font-size:.9rem;display:flex}.profile-meta-list dt{color:var(--text-tertiary)}.profile-meta-list dd{color:var(--text-primary);text-align:end;word-break:break-word;margin:0;font-weight:600}.profile-actions-row{border-top:1px dashed var(--border-subtle);justify-content:flex-end;gap:.6rem;margin-top:1rem;padding-top:1rem;display:flex}.profile-photo-block{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.profile-photo-block .avatar{--sz:72px}.profile-photo-actions{flex-wrap:wrap;gap:.5rem;display:flex}.main-content{flex-direction:column;min-width:0;display:flex}.page{width:100%;max-width:1400px;margin:0 auto;padding:2rem}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.page-header .subtitle{color:var(--text-tertiary);font-size:var(--fs-sm);max-width:640px;margin:0}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.75rem;display:grid}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem 1.5rem;position:relative;overflow:hidden}.stat-card-header{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.stat-card-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);font-weight:600}html[dir=rtl] .stat-card-label{text-transform:none;letter-spacing:0;font-size:var(--fs-sm)}.stat-card-icon{background:var(--bg-muted);width:32px;height:32px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.stat-card-value{font-size:var(--fs-3xl);color:var(--text-primary);letter-spacing:-.02em;font-weight:700;line-height:1.1}.stat-card-trend{font-size:var(--fs-xs);color:var(--text-tertiary);align-items:center;gap:.35rem;margin-top:.4rem;display:flex}.stat-card-trend.up{color:var(--success)}.stat-card-trend.down{color:var(--danger)}.stat-card.hero-yellow{background:linear-gradient(135deg, var(--accent-cyan-soft) 0%, #eefbfd 100%);border-color:var(--accent-cyan-soft)}.stat-card.hero-blue{background:linear-gradient(135deg, var(--brand-soft) 0%, #f0f6ff 100%);border-color:var(--brand-border)}.stat-card.hero-amber{background:var(--brand-gradient);color:var(--accent-deep-text);border-color:#0000;box-shadow:0 8px 24px -12px #0f5fd173}.stat-card.hero-amber .stat-card-label{color:#ffffffd9}.stat-card.hero-amber .stat-card-value{color:var(--accent-deep-text)}.stat-card.hero-amber .stat-card-icon{color:#fff;background:#ffffff2e}:root[data-theme=dark] .stat-card.hero-yellow{background:linear-gradient(135deg,#0f2a35 0%,#0a1e28 100%);border-color:#1a3945}:root[data-theme=dark] .stat-card.hero-blue{background:linear-gradient(135deg,#122747 0%,#0d1e3d 100%);border-color:#1e3255}:root[data-theme=dark] .stat-card.hero-amber{box-shadow:0 8px 24px -12px #0f5fd1a6}.table-wrap{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}table.data{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-sm)}table.data th,table.data td{text-align:start;border-bottom:1px solid var(--border);vertical-align:middle;padding:1rem 1.25rem}table.data th{background:var(--bg-sunken);color:var(--text-tertiary);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em}html[dir=rtl] table.data th{text-transform:none;letter-spacing:0;font-size:var(--fs-sm)}table.data tr:last-child td{border-bottom:none}table.data tr:hover td{background:var(--bg-hover)}.actions-cell{text-align:end;white-space:nowrap}.actions-cell-inner{vertical-align:middle;justify-content:flex-end;align-items:center;gap:.4rem;display:inline-flex}html[dir=rtl] .actions-cell{text-align:start}.actions-col-header{text-align:end}html[dir=rtl] .actions-col-header{text-align:start}.actions-select{padding:0 .75rem;width:auto;height:34px;min-height:34px;font-size:var(--fs-xs);border-radius:var(--radius-pill);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);padding-inline-end:1.75rem;font-weight:600}.repeater{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.repeater-row{align-items:stretch;gap:.5rem;display:flex}.repeater-row .input{flex:1}.repeater-remove{border:1px solid var(--border);background:var(--bg-surface);width:42px;color:var(--text-tertiary);border-radius:var(--radius);cursor:pointer;transition:color var(--dur-fast) ease, background var(--dur-fast) ease, border-color var(--dur-fast) ease;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.repeater-remove:hover:not(:disabled){color:var(--danger);border-color:var(--danger-soft-border);background:var(--danger-soft)}.repeater-remove:disabled{opacity:.4;cursor:not-allowed}.repeater-add-btn{background:var(--brand-soft);color:var(--brand-soft-text);border:1px dashed var(--brand-border);border-radius:var(--radius-pill);cursor:pointer;font-weight:600;font-size:var(--fs-sm);transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease;align-items:center;gap:6px;padding:.55rem 1rem;display:inline-flex}.repeater-add-btn:hover:not(:disabled){background:var(--brand);color:#fff;border-color:var(--brand);border-style:solid}.repeater-add-btn:disabled{opacity:.5;cursor:not-allowed}.repeater-hint{margin:.75rem 0 0}.row-check input,.dept-card-check input,.bulk-action-select-all input{appearance:none;background:var(--bg-muted);border:1.5px solid var(--border-strong);cursor:pointer;width:22px;height:22px;transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out);vertical-align:middle;border-radius:6px;flex-shrink:0;margin:0;position:relative}.row-check input:hover,.dept-card-check input:hover,.bulk-action-select-all input:hover{border-color:var(--brand);background:var(--brand-soft)}.row-check input:checked,.dept-card-check input:checked,.bulk-action-select-all input:checked{animation:checkPop var(--dur-base) var(--ease-expo);background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/14px 14px no-repeat,linear-gradient(135deg,#0f5fd1 0%,#22c3d9 100%);border-color:#0000}.row-check input:checked:hover,.dept-card-check input:checked:hover,.bulk-action-select-all input:checked:hover{filter:brightness(1.08)}@keyframes checkPop{0%{transform:scale(.7)}to{transform:scale(1)}}.row-check input:focus-visible,.dept-card-check input:focus-visible,.bulk-action-select-all input:focus-visible{box-shadow:0 0 0 3px var(--brand-soft);outline:none}table.data tr:has(.row-check input:checked) td{background:var(--brand-soft)!important}table.data tr:has(.row-check input:checked) td:first-child{box-shadow:inset 3px 0 0 var(--brand)}html[dir=rtl] table.data tr:has(.row-check input:checked) td:first-child{box-shadow:inset -3px 0 0 var(--brand)}.bulk-action-bar{z-index:15;background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:var(--radius);color:var(--brand-soft-text);font-size:var(--fs-sm);animation:bulkBarIn var(--dur-base) var(--ease-out) both;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.65rem 1rem;display:flex;position:sticky;top:0}@keyframes bulkBarIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.bulk-action-select-all{cursor:pointer;align-items:center;gap:.5rem;margin-inline-end:auto;font-weight:600;display:inline-flex}.bulk-action-select-all input{width:16px;height:16px;accent-color:var(--brand)}.row-check{text-align:center;vertical-align:middle;width:44px}.dept-card{position:relative}.dept-card.is-selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft), 0 4px 12px -6px #0f5fd140}.dept-card-check{top:12px;z-index:3;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffd9;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;position:absolute;inset-inline-end:12px}.chip-picker{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;gap:.4rem;min-height:48px;padding:.6rem;display:flex}.chip-toggle{background:var(--bg-surface);border:1px solid var(--border-strong);color:var(--text-secondary);border-radius:var(--radius-pill);cursor:pointer;font-size:var(--fs-xs);transition:background var(--dur-fast) ease, color var(--dur-fast) ease, border-color var(--dur-fast) ease;align-items:center;gap:.35rem;padding:.35rem .85rem;font-weight:600;display:inline-flex}.chip-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.chip-toggle.is-on{background:var(--brand);color:#fff;border-color:var(--brand)}.chip-toggle.is-on:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.chip-toggle-check{font-size:.85em;line-height:1}.dept-chip-row{flex-wrap:wrap;gap:4px;display:flex}.chip{border-radius:var(--radius-pill);background:var(--bg-muted);color:var(--text-secondary);font-size:var(--fs-xs);border:1px solid var(--border);white-space:nowrap;padding:3px 10px;font-weight:500;display:inline-block}html[dir=rtl] .actions-cell{justify-content:flex-start}.status-pill{border-radius:var(--radius-pill);font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:.35rem;padding:4px 12px;font-weight:600;display:inline-flex}.status-pill:before{content:"";opacity:.75;background:currentColor;border-radius:50%;width:6px;height:6px;display:inline-block}.status-in-progress{background:var(--status-progress-soft);color:var(--status-progress-text)}.status-review{background:var(--status-review-soft);color:var(--status-review-text)}.status-completed{background:var(--status-completed-soft);color:var(--status-completed-text)}.status-overdue{background:var(--status-overdue-soft);color:var(--status-overdue-text)}.status-on-track{background:var(--success-soft);color:var(--success-soft-text)}.status-delayed{background:var(--danger-soft);color:var(--danger-soft-text)}.badge{border-radius:var(--radius-pill);font-size:var(--fs-xs);padding:3px 10px;font-weight:600;display:inline-block}.badge-active{background:var(--status-progress-soft);color:var(--status-progress-text)}.badge-active:before{content:"●";color:currentColor;margin-inline-end:4px}.badge-inactive{background:var(--bg-muted);color:var(--text-tertiary)}.badge-inactive:before{content:"●";color:currentColor;margin-inline-end:4px}.role-badge{border-radius:var(--radius-pill);font-size:var(--fs-xs);background:var(--brand-soft);color:var(--brand-soft-text);margin-inline-start:8px;padding:2px 10px;font-weight:600;display:inline-block}.role-badge.role-user{background:var(--success-soft);color:var(--success-soft-text)}.toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1.25rem;display:flex}.toolbar .grow{flex:220px;min-width:200px}.toolbar .field{margin-bottom:0}.toolbar .field-inline{font-size:var(--fs-xs);color:var(--text-tertiary);align-items:center;gap:.4rem;display:inline-flex}.toolbar input,.toolbar select{border-radius:var(--radius-pill);background:var(--bg-surface);border:1px solid var(--border);min-height:40px;padding:.5rem 1rem}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#14161f73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--bg-surface);border-radius:var(--radius-lg);width:100%;max-width:540px;box-shadow:var(--shadow-lg);border:1px solid var(--border);max-height:90vh;padding:1.75rem;overflow-y:auto}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.6rem;margin-top:1rem;padding-top:1rem;display:flex}html[dir=rtl] .modal-footer{justify-content:flex-start}.side-panel-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#14161f73;position:fixed;inset:0}.side-panel{top:0;background:var(--bg-surface);z-index:101;width:460px;max-width:92vw;height:100vh;animation:slideIn var(--dur-fast) ease-out;flex-direction:column;display:flex;position:fixed;inset-inline-end:0;box-shadow:-12px 0 32px #0000001a}html[dir=rtl] .side-panel{box-shadow:12px 0 32px #0000001a}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}html[dir=rtl] .side-panel{animation:slideInRtl var(--dur-fast) ease-out}@keyframes slideInRtl{0%{transform:translate(-100%)}to{transform:translate(0)}}.side-panel-header{background:var(--bg-sunken);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.side-panel-header h3{margin:0;font-size:1.25rem}.side-panel-body{flex:1;padding:1.75rem 1.5rem;overflow-y:auto}.side-panel-footer{border-top:1px solid var(--border);background:var(--bg-surface);justify-content:flex-end;gap:.6rem;padding:1rem 1.5rem;display:flex}html[dir=rtl] .side-panel-footer{justify-content:flex-start}.dept-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.dept-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.75rem 1.5rem 1.5rem;position:relative;overflow:hidden}.dept-card:before{content:"";background:var(--dept-card-color,var(--dept-color-1));transform-origin:top;height:10px;transition:transform var(--dur-base) var(--ease-expo);position:absolute;top:0;left:0;right:0}@media (hover:hover) and (pointer:fine){.dept-card:hover:before{transform:scaleY(1.25)}}.dept-card:focus-visible:before{transform:scaleY(1.25)}.dept-card:has(:focus-visible):before{transform:scaleY(1.25)}.dept-card[data-color="1"]:before{background:var(--dept-color-1)}.dept-card[data-color="2"]:before{background:var(--dept-color-2)}.dept-card[data-color="3"]:before{background:var(--dept-color-3)}.dept-card[data-color="4"]:before{background:var(--dept-color-4)}.dept-card[data-color="5"]:before{background:var(--dept-color-5)}.dept-card[data-color="6"]:before{background:var(--dept-color-6)}.dept-card[data-color="1"]{--card-glow:var(--dept-color-1)}.dept-card[data-color="2"]{--card-glow:var(--dept-color-2)}.dept-card[data-color="3"]{--card-glow:var(--dept-color-3)}.dept-card[data-color="4"]{--card-glow:var(--dept-color-4)}.dept-card[data-color="5"]{--card-glow:var(--dept-color-5)}.dept-card[data-color="6"]{--card-glow:var(--dept-color-6)}.dept-card[data-color="1"] .dept-mini-stat.tint-a{background:var(--dept-mini-1)}.dept-card[data-color="2"] .dept-mini-stat.tint-a{background:var(--dept-mini-2)}.dept-card[data-color="3"] .dept-mini-stat.tint-a{background:var(--dept-mini-3)}.dept-card[data-color="4"] .dept-mini-stat.tint-a{background:var(--dept-mini-4)}.dept-card[data-color="5"] .dept-mini-stat.tint-a{background:var(--dept-mini-5)}.dept-card[data-color="6"] .dept-mini-stat.tint-a{background:var(--dept-mini-6)}.dept-card-head{justify-content:space-between;align-items:flex-start;margin-bottom:.6rem;display:flex}.dept-card-name{letter-spacing:-.01em;font-size:1.4rem;font-weight:700}.dept-card-mini-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0;display:grid}.dept-mini-stat{background:var(--bg-sunken);border-radius:var(--radius);padding:.75rem 1rem}.dept-mini-stat-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:.25rem;font-weight:600}html[dir=rtl] .dept-mini-stat-label{text-transform:none;letter-spacing:0;font-size:var(--fs-xs)}.dept-mini-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.dept-card-actions{gap:.4rem;display:flex}.auth-shell{background:var(--bg-surface);grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.auth-brand-panel{color:#eaf0ff;isolation:isolate;background:radial-gradient(circle at 12% 18%,#22c3d938 0%,#0000 42%),radial-gradient(circle at 88% 82%,#0f5fd159 0%,#0000 55%),linear-gradient(135deg,#061029 0%,#0a1a3d 50%,#0d2557 100%);flex-direction:column;padding:2.75rem;display:flex;position:relative;overflow:hidden}.auth-brand-mark-bg{z-index:0;opacity:.14;filter:blur(3px)saturate(120%);pointer-events:none;-webkit-user-select:none;user-select:none;width:min(78%,640px);height:auto;animation:8s ease-in-out infinite neurixMarkPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.auth-brand-canvas{z-index:1;pointer-events:none;opacity:1;width:100%;height:100%;position:absolute;inset:0}.auth-brand-panel:after{content:"";z-index:2;pointer-events:none;background:radial-gradient(at 30% 60%,#06102900 0%,#06102959 75%);position:absolute;inset:0}.auth-brand-content{z-index:3;max-width:480px;animation:neurixFadeUp var(--dur-slow) var(--ease-out) calc(var(--stagger) * 1) both;margin-top:auto;position:relative}.auth-brand-headline{letter-spacing:-.03em;color:#fff;text-wrap:balance;margin-bottom:1rem;font-size:2.75rem;font-weight:800;line-height:1.1}.auth-brand-headline .accent{color:#4ed6e6}.auth-brand-tagline{color:#eaf0ffb8;max-width:440px;margin:0;font-size:1.05rem;line-height:1.65}.auth-brand-features{flex-direction:column;gap:.75rem;margin:2rem 0 0;padding:0;list-style:none;display:flex}.auth-brand-features li{color:#eaf0ffe6;opacity:0;animation:neurixFadeInLeft var(--dur-slow) var(--ease-out) both;align-items:center;gap:.75rem;font-size:.95rem;font-weight:500;display:flex}html[dir=rtl] .auth-brand-features li{animation-name:neurixFadeInRight}.auth-brand-features li:first-child{animation-delay:calc(var(--stagger) * 2)}.auth-brand-features li:nth-child(2){animation-delay:calc(var(--stagger) * 3)}.auth-brand-features li:nth-child(3){animation-delay:calc(var(--stagger) * 4)}.auth-brand-features li .dot{color:#fff;background:linear-gradient(135deg,#0f5fd1,#22c3d9);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex;box-shadow:0 0 0 4px #22c3d91a}.auth-brand-footer{z-index:3;color:#eaf0ff8c;font-size:var(--fs-xs);animation:neurixFadeUp var(--dur-slow) var(--ease-out) calc(var(--stagger) * 5) both;margin-top:2.5rem;position:relative}.auth-form-panel{background:var(--bg-surface);justify-content:center;align-items:center;padding:2.5rem 1.5rem;display:flex;position:relative}.auth-corner{top:1rem;z-index:5;gap:.4rem;display:flex;position:absolute;inset-inline-end:1rem}.auth-card{box-shadow:none;width:100%;max-width:400px;animation:neurixFadeUp var(--dur-slow) var(--ease-out) both;background:0 0;border:none;padding:0}.auth-form-logo{justify-content:center;margin-bottom:2.25rem;display:flex}.auth-form-logo img{width:auto;max-width:100%;height:72px;display:block}@media (width<=480px){.auth-form-logo img{height:60px}}:root[data-theme=dark] .auth-form-logo img{content:url(/neurix-logo-light.png)}.auth-title{text-align:start;letter-spacing:-.02em;margin-bottom:.35rem;font-size:1.75rem}.auth-subtitle{text-align:start;color:var(--text-tertiary);font-size:var(--fs-sm);margin-bottom:2rem}.auth-card .input:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 3px var(--accent-cyan-soft)}.auth-submit.btn-primary{background:var(--accent-deep);color:#fff;transition:background var(--dur-fast) ease, transform var(--dur-fast) ease, box-shadow var(--dur-fast) ease;border-color:#0000}.auth-submit.btn-primary:hover:not(:disabled){background:#12234a;transform:translateY(-1px);box-shadow:0 10px 24px -12px #0f5fd18c}.auth-submit.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px -6px #0f5fd173}.auth-submit.btn-primary:focus-visible{box-shadow:0 0 0 3px var(--accent-cyan-soft), 0 0 0 5px var(--accent-cyan);outline:none}.auth-submit .spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite neurixSpin}.demo-creds{background:var(--bg-sunken);border:1px dashed var(--border-strong);border-radius:var(--radius);font-size:var(--fs-xs);color:var(--text-secondary);margin-top:1.5rem;padding:.85rem 1rem}.demo-creds strong{color:var(--text-primary);font-weight:600}.demo-creds code{font-family:var(--font-mono);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;padding:1px 6px}.demo-creds-row{margin-top:4px}.auth-submit{justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:2.75rem;margin-top:.5rem;display:inline-flex}.auth-hint{text-align:center;margin-top:1.5rem;margin-bottom:0}.auth-guidelines-link{width:100%;font:inherit;text-align:center;color:var(--text-tertiary);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;margin-top:.6rem;padding:0;text-decoration:underline;display:block}.auth-guidelines-link:hover{color:var(--brand)}@keyframes neurixFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes neurixFadeInLeft{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes neurixFadeInRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes neurixSpin{to{transform:rotate(360deg)}}@keyframes neurixMarkPulse{0%,to{opacity:.13;transform:translate(-50%,-50%)scale(1)}50%{opacity:.17;transform:translate(-50%,-50%)scale(1.02)}}@media (prefers-reduced-motion:reduce){.auth-brand-mark-bg,.auth-brand-content,.auth-brand-features li,.auth-brand-footer,.auth-card{animation:none!important}.auth-brand-canvas{display:none}}@media (width<=900px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{display:none}}.chat-fab{bottom:24px;cursor:pointer;color:#fff;z-index:200;width:56px;height:56px;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) ease, filter var(--dur-fast) ease;background:linear-gradient(135deg,#0a3f9c 0%,#0f5fd1 55%,#22c3d9 100%);border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:fixed;inset-inline-end:24px;box-shadow:0 12px 28px -10px #0f5fd18c,inset 0 0 0 1px #ffffff1a}.chat-fab:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 18px 36px -12px #0f5fd1b3,inset 0 0 0 1px #ffffff26}.chat-fab:active{transform:translateY(0)}.chat-fab:focus-visible{box-shadow:0 0 0 3px var(--bg-surface), 0 0 0 5px var(--accent-cyan), 0 12px 28px -10px #0f5fd18c;outline:none}.chat-fab.is-open{background:var(--accent-deep)}.chat-fab-pulse{animation:chatPulse 2.6s var(--ease-out) infinite;pointer-events:none;border:2px solid #22c3d98c;border-radius:50%;position:absolute;inset:-4px}@keyframes chatPulse{0%{opacity:.7;transform:scale(.85)}70%{opacity:0;transform:scale(1.35)}to{opacity:0;transform:scale(1.35)}}.chat-panel{bottom:92px;background:var(--bg-surface);border:1px solid var(--border);z-index:199;width:380px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 120px);animation:chatPanelIn var(--dur-base) var(--ease-out) both;border-radius:18px;flex-direction:column;display:flex;position:fixed;inset-inline-end:24px;overflow:hidden;box-shadow:0 24px 64px -20px #00000040,0 0 0 1px #0f5fd10d}:root[data-theme=dark] .chat-panel{box-shadow:0 24px 64px -20px #000000b3,0 0 0 1px #22c3d91a}@keyframes chatPanelIn{0%{opacity:0;transform-origin:100% 100%;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=480px){.chat-panel{inset-inline:12px;width:auto;bottom:88px}}.chat-header{background:var(--brand-gradient);color:#fff;border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.chat-header-brand{align-items:center;gap:.65rem;min-width:0;display:flex}.chat-header-brand img{background:#ffffff24;border-radius:8px;flex-shrink:0;width:32px;height:32px;padding:3px;display:block}.chat-header-title{letter-spacing:-.01em;font-size:.95rem;font-weight:700}.chat-header-status{opacity:.85;align-items:center;gap:6px;margin-top:1px;font-size:.72rem;display:inline-flex}.chat-status-dot{background:#4ade80;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 2px #4ade8040}.chat-header-actions{gap:.15rem;display:inline-flex}.chat-icon-btn{color:#ffffffd9;cursor:pointer;width:30px;height:30px;transition:background var(--dur-fast) ease, color var(--dur-fast) ease;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.chat-icon-btn:hover{color:#fff;background:#ffffff24}.chat-body{background:var(--bg-sunken);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-direction:column;flex:1;gap:.85rem;padding:1rem;display:flex;overflow-y:auto}.chat-body::-webkit-scrollbar{width:6px}.chat-body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.chat-msg{align-items:flex-end;gap:.5rem;max-width:100%;display:flex}.chat-msg-user{justify-content:flex-end}.chat-avatar{background:var(--brand-gradient);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:3px;display:inline-flex;overflow:hidden}.chat-avatar img{width:100%;height:100%;display:block}.chat-msg-content{flex-direction:column;gap:.4rem;max-width:82%;display:flex}.chat-msg-user .chat-msg-content{align-items:flex-end}.chat-bubble{white-space:pre-wrap;word-wrap:break-word;border-radius:14px;padding:.6rem .85rem;font-size:.88rem;line-height:1.5}.chat-msg-assistant .chat-bubble{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);border-bottom-left-radius:4px}html[dir=rtl] .chat-msg-assistant .chat-bubble{border-bottom-right-radius:4px;border-bottom-left-radius:14px}.chat-msg-user .chat-bubble{background:var(--brand);color:#fff;border-bottom-right-radius:4px}html[dir=rtl] .chat-msg-user .chat-bubble{border-bottom-right-radius:14px;border-bottom-left-radius:4px}.chat-actions{flex-wrap:wrap;gap:.4rem;display:flex}.chat-action-btn{background:var(--brand-soft);color:var(--brand-soft-text);border:1px solid var(--brand-border);cursor:pointer;transition:background var(--dur-fast) ease, transform var(--dur-fast) ease, border-color var(--dur-fast) ease;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.78rem;font-weight:600;display:inline-flex}.chat-action-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand);transform:translateY(-1px)}.chat-typing{align-items:center;gap:4px;min-height:32px;padding:.75rem .85rem;display:inline-flex}.chat-typing span{background:var(--text-tertiary);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite chatDot}.chat-typing span:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.chat-typing span:nth-child(3){animation-delay:calc(var(--stagger) * 2)}@keyframes chatDot{0%,60%,to{opacity:.5;transform:scale(.7)}30%{opacity:1;transform:scale(1)}}.chat-error{background:var(--danger-soft);color:var(--danger-soft-text);border:1px solid var(--danger-soft-border);border-radius:10px;padding:.5rem .75rem;font-size:.8rem}.chat-input-row{background:var(--bg-surface);border-top:1px solid var(--border);align-items:flex-end;gap:.5rem;padding:.65rem .75rem;display:flex}.chat-input{border:1px solid var(--border);background:var(--bg-sunken);min-height:40px;max-height:120px;color:var(--text-primary);resize:none;transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;border-radius:12px;flex:1;padding:.55rem .85rem;font-family:inherit;font-size:.88rem;line-height:1.4}.chat-input::placeholder{color:var(--text-tertiary)}.chat-input:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 3px var(--accent-cyan-soft);outline:none}.chat-send{background:var(--brand);color:#fff;cursor:pointer;width:40px;height:40px;transition:background var(--dur-fast) ease, transform var(--dur-fast) ease, opacity var(--dur-fast) ease;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-send:hover:not(:disabled){background:var(--brand-hover);transform:translateY(-1px)}.chat-send:disabled{opacity:.4;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.chat-fab-pulse,.chat-typing span,.chat-panel{animation:none!important}}.password-field{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:44px;transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease, background var(--dur-fast) ease;align-items:stretch;display:flex;overflow:hidden}.password-field:focus-within{border-color:var(--accent-cyan);box-shadow:0 0 0 3px var(--accent-cyan-soft);background:var(--bg-surface)}.password-field-input.input{min-width:0;color:var(--text-primary);flex:1;box-shadow:none!important;min-height:unset!important;background:0 0!important;border:none!important;padding:.7rem 1rem!important}.password-field-input.input:focus{box-shadow:none!important}.password-field-toggle{border:none;border-inline-start:1px solid var(--border);cursor:pointer;width:48px;color:var(--brand);transition:color var(--dur-fast) ease, background var(--dur-fast) ease;background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.password-field-toggle svg{width:22px;height:22px;display:block}.password-field-toggle:hover{color:var(--brand-hover);background:var(--brand-soft)}.password-field-toggle:focus-visible{color:var(--brand-hover);background:var(--brand-soft);outline:none}.toast-container{z-index:250;pointer-events:none;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:min(460px,100vw - 32px);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.toast-container:before{content:"";pointer-events:none;animation:toastScrim var(--dur-fast) ease-out both;z-index:-1;background:radial-gradient(circle,#06102947,#0000 60%);position:fixed;inset:0}@keyframes toastScrim{0%{opacity:0}to{opacity:1}}.toast{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);pointer-events:auto;min-width:min(320px,100%);animation:toastIn var(--dur-fast) var(--ease-out) both;border-radius:16px;grid-template-columns:28px 1fr 22px;align-items:center;gap:12px;padding:16px 18px;font-size:.95rem;line-height:1.45;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 48px -18px #00000052,0 4px 12px #00000014}.toast-success{min-width:min(340px,100%);padding:22px;font-size:1rem}.toast-success .toast-icon svg{width:26px;height:26px}.toast-success .toast-message{font-weight:600}:root[data-theme=dark] .toast{box-shadow:0 12px 28px -12px #0009}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-info .toast-icon{color:var(--brand)}.toast-warning .toast-icon{color:var(--warning)}.toast-success{border-color:color-mix(in srgb, var(--success) 40%, var(--border))}.toast-error{border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.toast-info{border-color:color-mix(in srgb, var(--brand) 40%, var(--border))}.toast-warning{border-color:color-mix(in srgb, var(--warning) 40%, var(--border))}.toast-message{color:var(--text-primary);font-weight:500}.toast-close{width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;transition:color var(--dur-fast) ease, background var(--dur-fast) ease;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.toast-close:hover{color:var(--text-primary);background:var(--bg-hover)}.toast-close:focus-visible{box-shadow:0 0 0 3px var(--accent-cyan-soft);outline:none}.toast-progress{opacity:.35;transform-origin:0;background:currentColor;width:100%;height:2px;animation:linear both toastProgress;position:absolute;bottom:0;left:0}html[dir=rtl] .toast-progress{transform-origin:100%}.toast-success .toast-progress{color:var(--success)}.toast-error .toast-progress{color:var(--danger)}.toast-info .toast-progress{color:var(--brand)}.toast-warning .toast-progress{color:var(--warning)}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-confetti{pointer-events:none;z-index:3;width:calc(100% + 120px);height:320px;position:absolute;top:-160px;left:-60px}@media (prefers-reduced-motion:reduce){.toast{animation:none}.toast-progress{opacity:0;animation:none}.toast-confetti{display:none}}@media (width<=480px){.toast-container{top:12px}.toast{border-radius:12px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.project-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.15rem;font-weight:700;display:inline-flex}.project-avatar[data-hue="1"]{background:var(--dept-color-1)}.project-avatar[data-hue="2"]{background:var(--dept-color-2)}.project-avatar[data-hue="3"]{background:var(--dept-color-3)}.project-avatar[data-hue="4"]{background:var(--dept-color-4)}.project-avatar[data-hue="5"]{background:var(--dept-color-5)}.project-avatar[data-hue="6"]{background:var(--dept-color-6)}.member-stack{align-items:center;display:inline-flex}.member-stack .avatar{border:2px solid var(--bg-surface)}.member-stack .avatar:not(:first-child){margin-inline-start:-12px}.member-stack-count{border-radius:var(--radius-pill);background:var(--bg-muted);min-width:28px;height:28px;color:var(--text-secondary);font-size:var(--fs-xs);justify-content:center;align-items:center;margin-inline-start:4px;padding:0 6px;font-weight:600;display:inline-flex}.dept-chip{border-radius:var(--radius-pill);background:var(--bg-muted);color:var(--text-secondary);font-size:var(--fs-xs);padding:4px 12px;font-weight:500;display:inline-block}.view-toggle{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);display:inline-flex;overflow:hidden}.view-toggle button{color:var(--text-tertiary);cursor:pointer;transition:background var(--dur-fast) ease, color var(--dur-fast) ease;background:0 0;border:none;padding:.5rem .75rem}.view-toggle button.active{background:var(--bg-hover);color:var(--text-primary)}.multi-select{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sunken);flex-wrap:wrap;gap:.35rem;max-height:180px;padding:.5rem;display:flex;overflow-y:auto}.multi-select label{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-pill);font-size:var(--fs-xs);cursor:pointer;transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease;align-items:center;gap:.4rem;padding:.3rem .75rem;display:inline-flex}.multi-select label.selected{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-soft-text);font-weight:600}.multi-select label input{display:none}.timeline-cell{line-height:1.35}.timeline-cell .dates{color:var(--text-primary)}.timeline-cell .meta{font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:2px}.timeline-cell .meta.overdue{color:var(--danger);font-weight:500}.timeline-cell .meta.completed{color:var(--success);font-weight:500}.bar-chart{justify-content:space-between;align-items:flex-end;gap:.75rem;height:240px;padding:1rem .5rem 2rem;display:flex;position:relative}.bar-chart-item{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;height:100%;display:flex}.bar-chart-bar{background:var(--brand);width:100%;max-width:46px;min-height:4px;transition:opacity var(--dur-fast) ease;border-radius:6px 6px 0 0}.bar-chart-bar:hover{opacity:.85}.bar-chart-bar[data-color="1"]{background:var(--dept-color-1)}.bar-chart-bar[data-color="2"]{background:var(--dept-color-2)}.bar-chart-bar[data-color="3"]{background:var(--dept-color-3)}.bar-chart-bar[data-color="4"]{background:var(--dept-color-4)}.bar-chart-bar[data-color="5"]{background:var(--dept-color-5)}.bar-chart-bar[data-color="6"]{background:var(--dept-color-6)}.bar-chart-label{font-size:var(--fs-xs);color:var(--text-tertiary);font-weight:500}.progress-bar{background:var(--bg-muted);border-radius:var(--radius-pill);height:8px;overflow:hidden}.progress-bar-fill{background:var(--brand);width:100%;height:100%;transform:scaleX(var(--fill,0));transform-origin:0;transition:transform var(--dur-slow) var(--ease-out)}html[dir=rtl] .progress-bar-fill{transform-origin:100%}.progress-bar-fill[data-tone=amber]{background:var(--accent-deep)}.progress-bar-fill[data-tone=blue]{background:var(--status-progress)}.progress-bar-fill[data-tone=green]{background:var(--success)}.two-col{grid-template-columns:2fr 1fr;gap:1.25rem;display:grid}.two-col.reverse{grid-template-columns:1fr 2fr}@media (width<=1024px){.two-col,.two-col.reverse{grid-template-columns:1fr}}.empty-state{text-align:center;color:var(--text-tertiary);font-size:var(--fs-sm);padding:3rem 1rem}.row{align-items:center;gap:.75rem;display:flex}.row-between{justify-content:space-between;align-items:center;gap:1rem;display:flex}.gap-2{gap:.5rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.muted{color:var(--text-tertiary)}.mono{font-family:var(--font-mono)}.small{font-size:var(--fs-xs)}.truncate{white-space:nowrap;text-overflow:ellipsis;max-width:260px;display:inline-block;overflow:hidden}.route-loading{background:var(--bg-body);place-content:center;justify-items:center;gap:.75rem;min-height:100vh;display:grid}.route-loading img{-o-object-fit:contain;object-fit:contain}.spinner{border:2px solid #ffffff80;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}.spinner.dark{border-color:#4b55634d;border-top-color:var(--text-secondary)}@keyframes spin{to{transform:rotate(360deg)}}.form-row{flex-wrap:wrap;gap:1rem;display:flex}.form-row-end{justify-content:flex-end;gap:.6rem;margin-top:1rem;display:flex}.form-row-mt{align-items:center;margin:1.5rem 0 .75rem}.field-grow{flex:240px}.field-grow-sm{flex:220px}.field-grow-lg{flex:2 280px}.textarea-md{min-height:160px}.textarea-lg{min-height:220px}.field-group{border-top:1px dashed var(--border);flex-direction:column;gap:.6rem;margin-top:1rem;padding-top:.75rem;display:flex}.form-section-heading{color:var(--text-secondary);font-weight:600;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;margin:1.25rem 0 .5rem}.article-card{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:.75rem;padding:1rem 1.25rem}.article-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.article-card-actions{flex-wrap:wrap;gap:.4rem;display:flex}.article-card-head-title{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.article-card-head-preview{color:var(--text-tertiary);font-weight:400;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.article-card-hidden-badge{background:var(--danger);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.article-mode-picker{grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0 1.25rem;display:grid}@media (width<=640px){.article-mode-picker{grid-template-columns:1fr}}.article-mode-card{text-align:start;background:var(--bg-surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);min-height:88px;color:var(--text-primary);cursor:pointer;transition:transform var(--dur-base) var(--ease-expo), box-shadow var(--dur-base) var(--ease-expo), border-color var(--dur-fast) ease, background var(--dur-base) ease, opacity var(--dur-base) ease;isolation:isolate;align-items:center;gap:.9rem;padding:1.1rem 1.25rem;display:flex;position:relative;overflow:hidden}.article-mode-card:before{content:"";z-index:-1;background:linear-gradient(135deg, color-mix(in oklch, var(--card-accent) 12%, transparent) 0%, color-mix(in oklch, var(--card-accent) 4%, transparent) 100%);opacity:0;transition:opacity var(--dur-base) ease;position:absolute;inset:0}.article-mode-card:hover:before{opacity:.7}.article-mode-card.is-active:before{opacity:1}.article-mode-card-content{--card-accent:var(--brand)}.article-mode-card-attachments{--card-accent:var(--accent-cyan)}@media (hover:hover) and (pointer:fine){.article-mode-card:hover{border-color:var(--card-accent);box-shadow:0 12px 32px -14px color-mix(in oklch, var(--card-accent) 45%, transparent);transform:translateY(-4px)}}.article-mode-card:active{transition:transform var(--dur-fast) ease-out;transform:translateY(-1px)}.article-mode-card:focus-visible{outline:2px solid var(--card-accent);outline-offset:3px}.article-mode-card.is-active{border-color:var(--card-accent);box-shadow:0 14px 36px -14px color-mix(in oklch, var(--card-accent) 55%, transparent)}.article-mode-card.is-dim{opacity:.7}.article-mode-card.is-dim:hover{opacity:1}.article-mode-card-icon{background:color-mix(in oklch, var(--card-accent) 14%, var(--bg-surface));width:44px;height:44px;color:var(--card-accent);transition:background var(--dur-base) ease, color var(--dur-base) ease, transform var(--dur-base) var(--ease-expo);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.article-mode-card.is-active .article-mode-card-icon{background:var(--card-accent);color:#fff;transform:scale(1.06)}.article-mode-card-text{flex-direction:column;gap:.2rem;min-width:0;display:flex}.article-mode-card-title{font-size:var(--fs-md);color:var(--text-primary);letter-spacing:-.01em;font-weight:700}.article-mode-card-desc{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.35}.article-mode-card.is-active:after{content:"";top:10px;background:var(--card-accent);width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in oklch, var(--card-accent) 22%, transparent);animation:articleModePip var(--dur-slow) var(--ease-expo) both;border-radius:50%;position:absolute;inset-inline-end:10px}@keyframes articleModePip{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.article-mode-panel{animation:articleModeReveal var(--dur-base) var(--ease-expo) both}@keyframes articleModeReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.article-mode-panel .article-card-section>.field,.article-mode-panel .article-card-section>.field-group{animation:articleFieldFade var(--dur-base) var(--ease-expo) both;animation-delay:calc(var(--stagger-tight) * 1)}.article-mode-panel .article-card-section>:nth-child(2){animation-delay:calc(var(--stagger-tight) * 2)}.article-mode-panel .article-card-section>:nth-child(3){animation-delay:calc(var(--stagger-tight) * 3)}@keyframes articleFieldFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.article-mode-card,.article-mode-card:before,.article-mode-card-icon,.article-mode-panel,.article-mode-panel .article-card-section>.field,.article-mode-panel .article-card-section>.field-group{transition:none;animation:none}.article-mode-card:hover{transform:none}.article-mode-card.is-active:after{animation:none}}.extracted-images-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-top:.5rem;display:grid}.extracted-image-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;flex-direction:column;display:flex;overflow:hidden}.extracted-image-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.extracted-image-thumb{aspect-ratio:4/3;background:var(--bg-sunken);text-decoration:none;display:block;position:relative;overflow:hidden}.extracted-image-thumb img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;display:block}.extracted-image-page{color:#fff;border-radius:var(--radius-pill);font-size:var(--fs-xs);letter-spacing:.02em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d1a33b8;padding:.15rem .5rem;font-weight:600;position:absolute;inset-block-start:.4rem;inset-inline-end:.4rem}.extracted-image-body{flex-direction:column;gap:.4rem;padding:.55rem .65rem .65rem;display:flex}.extracted-image-meta{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.extracted-images-preview{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.extracted-images-preview-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sunken);width:96px;height:96px;transition:border-color var(--dur-fast) ease;text-decoration:none;display:block;position:relative;overflow:hidden}.extracted-images-preview-item:hover{border-color:var(--brand)}.extracted-images-preview-item img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.extracted-images-preview-item span{inset-block-end:0;inset-inline-start:0;color:#fff;font-size:var(--fs-xs);text-align:center;background:#0d1a33b8;padding:.1rem .4rem;font-weight:600;position:absolute;right:0}.pre-block{background:var(--bg-sunken);border-radius:var(--radius);white-space:pre-wrap;padding:.65rem .85rem}.pre-block-success{background:var(--success-soft);border:1px solid var(--success-soft-border);border-radius:var(--radius);white-space:pre-wrap;color:var(--text-primary);padding:.65rem .85rem}.inline-list{margin:.4rem 0 0 1.25rem;padding:0}.inline-list-flush{margin:0;padding-inline-start:1.25rem}.mb-half{margin-bottom:.5rem}.mb-tight{margin-bottom:.35rem}.mt-tight{margin-top:.75rem}.intro-card{background:linear-gradient(135deg, var(--brand-soft) 0%, var(--bg-surface) 100%);border:1px solid var(--brand-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);gap:1.15rem;margin-bottom:1.25rem;padding:1.25rem 1.5rem;display:flex}.intro-card-icon{width:44px;height:44px;color:var(--accent-deep);background:#f5b93c2e;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;display:flex}.intro-card-body{flex:1}.intro-card-title{color:var(--text-primary);margin:0 0 .35rem;font-size:1rem;font-weight:700}.intro-card-text{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.55}.intro-examples{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem;display:grid}.intro-example{background:var(--bg-sunken);border-radius:var(--radius);border:1px solid var(--border);transition:transform var(--dur-fast) ease, border-color var(--dur-fast) ease;padding:.75rem .9rem}.intro-example:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--border));transform:translateY(-2px)}.intro-example-head{color:var(--text-primary);font-size:.85rem;font-weight:600}.intro-example-body{color:var(--text-secondary);margin-top:.35rem;font-size:.75rem;line-height:1.5}.intro-example-tags{flex-wrap:wrap;gap:4px;margin-top:.5rem;display:flex}.intro-example-tag{background:var(--brand-soft);color:var(--brand-soft-text);border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:600}@media (width<=700px){.intro-examples{grid-template-columns:1fr}.intro-card{flex-direction:column}}.empty-hero{text-align:center;border:2px dashed var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);padding:3rem 1.5rem}.empty-hero-icon{margin-bottom:.75rem;font-size:3rem}.empty-hero-title{color:var(--text-primary);margin:0 0 .35rem;font-size:1.1rem;font-weight:700}.empty-hero-text{color:var(--text-secondary);max-width:480px;margin:0 auto 1.25rem;line-height:1.55}.udash-page{padding:1.5rem}.udash-hero{color:#fff;border-radius:var(--radius-lg);background:radial-gradient(circle at 100% 0,#ffffff29,#0000 55%),linear-gradient(135deg,#0a1a3d 0%,#0f5fd1 55%,#22c3d9 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1.75rem 2rem;display:flex;box-shadow:0 8px 24px -12px #0f5fd173}.udash-hero-greet{margin:0;font-size:1.35rem;font-weight:700}.udash-hero-sub{opacity:.9;margin-top:.25rem;font-size:.95rem}.udash-hero-streak{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff29;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .9rem;font-weight:600;display:flex}.udash-hero-streak-flame{font-size:1.1rem}.udash-range-picker{background:#ffffff24;border-radius:999px;gap:.25rem;padding:.25rem;display:inline-flex}.udash-range-picker button{color:#ffffffd9;cursor:pointer;transition:all var(--dur-fast) ease;background:0 0;border:none;border-radius:999px;padding:.35rem .9rem;font-size:.85rem;font-weight:600}.udash-range-picker button.active{color:#0a3f9c;background:#fff}.udash-kpi-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.25rem;display:grid}.udash-kpi{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-surface);box-shadow:var(--shadow-sm);--card-glow:var(--accent);flex-direction:column;gap:.65rem;padding:1.25rem 1.4rem;display:flex;position:relative;overflow:hidden}.udash-kpi[data-accent=blue]{--accent:var(--brand);--accent-soft:color-mix(in srgb, var(--brand) 12%, transparent)}.udash-kpi[data-accent=green]{--accent:var(--success);--accent-soft:color-mix(in srgb, var(--success) 12%, transparent)}.udash-kpi[data-accent=amber]{--accent:var(--warning);--accent-soft:color-mix(in srgb, var(--warning) 12%, transparent)}.udash-kpi[data-accent=rose]{--accent:var(--danger);--accent-soft:color-mix(in srgb, var(--danger) 12%, transparent)}.udash-kpi[data-accent=purple]{--accent:var(--dept-color-3);--accent-soft:color-mix(in srgb, var(--dept-color-3) 12%, transparent)}.udash-kpi[data-accent=teal]{--accent:var(--accent-cyan);--accent-soft:color-mix(in srgb, var(--accent-cyan) 12%, transparent)}.udash-kpi-head{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;display:flex}.udash-kpi-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.udash-kpi-value{color:var(--text-primary);font-size:1.9rem;font-weight:700;line-height:1}.udash-kpi-sub{color:var(--text-tertiary);font-size:.85rem}.udash-kpi-trend{border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.udash-kpi-trend.up{background:var(--success-soft);color:var(--success-soft-text)}.udash-kpi-trend.down{background:var(--danger-soft);color:var(--danger-soft-text)}.udash-kpi-trend.flat{background:var(--bg-muted);color:var(--text-secondary)}.udash-kpi-trend-icon{opacity:.85;flex-shrink:0}.udash-grid-2{grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1.25rem;display:grid}.udash-grid-2-alt{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;display:grid}.udash-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem}.udash-panel-head{justify-content:space-between;align-items:baseline;margin-bottom:1rem;display:flex}.udash-panel-title{color:var(--text-primary);font-size:1rem;font-weight:700}.udash-panel-sub{color:var(--text-tertiary);font-size:.85rem}.udash-trend{align-items:flex-end;gap:4px;height:180px;padding:.5rem 0;display:flex}.udash-trend-bar{min-width:4px;height:var(--bar-h,4%);cursor:pointer;transform-origin:bottom;opacity:0;transition:transform var(--dur-slow) var(--ease-out) var(--bar-delay,0s), opacity var(--dur-base) ease var(--bar-delay,0s), filter var(--dur-fast) ease, box-shadow var(--dur-fast) ease;background:linear-gradient(#2a7ce0 0%,#7fc8f0 100%);border:0;border-radius:4px 4px 0 0;flex:1;padding:0;position:relative;transform:scaleY(0)}.udash-trend.is-mounted .udash-trend-bar{opacity:1;transform:scaleY(1)}.udash-trend-bar:hover:not(:disabled),.udash-trend-bar:focus-visible{filter:brightness(1.08)saturate(1.05);box-shadow:0 0 0 2px var(--accent-cyan-soft);outline:none}.udash-trend.has-active .udash-trend-bar{opacity:.35}.udash-trend.has-active .udash-trend-bar.is-active{opacity:1}.udash-trend-bar.today{background:linear-gradient(#0a3f9c 0%,#22c3d9 100%)}.udash-trend-bar.zero{background:color-mix(in srgb, var(--border) 60%, transparent);min-height:3px}.udash-trend-bar-tip{background:var(--text-primary);color:var(--bg-surface);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out);border-radius:4px;margin-bottom:6px;padding:.3rem .55rem;font-size:.7rem;font-weight:600;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(4px)}.udash-trend-bar:hover .udash-trend-bar-tip,.udash-trend-bar:focus-visible .udash-trend-bar-tip{opacity:1;transform:translate(-50%)translateY(0)}.udash-trend-axis{color:var(--text-tertiary);justify-content:space-between;margin-top:.5rem;font-size:.7rem;display:flex}.udash-donut-wrap{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.udash-donut{flex-shrink:0;width:140px;height:140px;position:relative}.udash-donut svg{overflow:visible}.udash-donut-arc{transition:stroke-dasharray var(--dur-slow) var(--ease-out), stroke-dashoffset var(--dur-slow) var(--ease-out), stroke-width var(--dur-fast) var(--ease-out), opacity var(--dur-fast) ease;cursor:pointer}.udash-donut-center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.udash-donut-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700;line-height:1}.udash-donut-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem;font-size:.7rem}.udash-legend{flex-direction:column;flex:1;gap:.5rem;min-width:120px;display:flex}.udash-legend-item{border-radius:var(--radius);background:var(--bg-sunken);color:inherit;font:inherit;text-align:start;cursor:pointer;transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) ease;border:1px solid #0000;align-items:center;gap:.65rem;padding:.5rem .75rem;display:flex}.udash-legend-item:hover,.udash-legend-item.is-hovered{background:var(--bg-hover);border-color:var(--brand-border);transform:translate(2px)}html[dir=rtl] .udash-legend-item:hover,html[dir=rtl] .udash-legend-item.is-hovered{transform:translate(-2px)}.udash-legend-item.is-hidden{opacity:.5;text-decoration:line-through}.udash-legend-item.is-hidden .udash-legend-dot{opacity:.4}.udash-legend-item:focus-visible{border-color:var(--accent-cyan);box-shadow:0 0 0 3px var(--accent-cyan-soft);outline:none}.udash-legend-dot{width:10px;height:10px;transition:opacity var(--dur-fast) ease;border-radius:3px;flex-shrink:0}.udash-legend-label{color:var(--text-secondary);flex:1;font-size:.85rem}.udash-legend-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:700}@media (prefers-reduced-motion:reduce){.udash-trend-bar,.udash-donut-arc,.udash-legend-item,.udash-trend-bar-tip{transition:none!important}.udash-trend-bar{opacity:1;transform:none}.udash-legend-item:hover,.udash-legend-item.is-hovered{transform:none}}.udash-breakdown{flex-direction:column;gap:.75rem;display:flex}.udash-breakdown-row{flex-direction:column;gap:.25rem;display:flex}.udash-breakdown-head{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.udash-breakdown-name{color:var(--text-primary);font-weight:600}.udash-breakdown-value{color:var(--text-tertiary)}.udash-breakdown-track{background:var(--bg-sunken);border-radius:999px;height:8px;overflow:hidden}.udash-breakdown-fill{background:linear-gradient(90deg, var(--brand) 0%, var(--accent-cyan) 100%);width:100%;height:100%;transform:scaleX(var(--fill,0));transform-origin:0;transition:transform var(--dur-slow) var(--ease-out)}html[dir=rtl] .udash-breakdown-fill{transform-origin:100%;background:linear-gradient(270deg, var(--brand) 0%, var(--accent-cyan) 100%)}.udash-recent{flex-direction:column;gap:.5rem;display:flex}.udash-recent-item{border-radius:var(--radius);background:var(--bg-sunken);transition:transform var(--dur-fast) ease;align-items:center;gap:.85rem;padding:.75rem .9rem;display:flex}.udash-recent-item:hover{transform:translate(4px)}html[dir=rtl] .udash-recent-item:hover{transform:translate(-4px)}.udash-recent-mark{color:#fff;background:linear-gradient(135deg,#0a3f9c,#22c3d9);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.75rem;font-weight:700;display:flex}.udash-recent-body{flex:1;min-width:0}.udash-recent-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.udash-recent-meta{color:var(--text-tertiary);margin-top:2px;font-size:.75rem}.udash-recent-time{color:var(--text-tertiary);flex-shrink:0;font-size:.75rem}.udash-empty{text-align:center;color:var(--text-tertiary);padding:2rem 1rem;font-size:.9rem}@media (width<=1100px){.udash-kpi-grid{grid-template-columns:repeat(2,1fr)}.udash-grid-2,.udash-grid-2-alt{grid-template-columns:1fr}}@media (width<=600px){.udash-kpi-grid{grid-template-columns:1fr}.udash-hero{flex-direction:column;align-items:flex-start;padding:1.35rem 1.25rem}.udash-hero-greet{font-size:1.15rem}.udash-range-picker{align-self:stretch}.udash-range-picker button{flex:1}}.app-main{flex:1;min-width:0}.topbar-menu-btn{border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;width:40px;height:40px;transition:background var(--dur-fast) ease;border-radius:10px;justify-content:center;align-items:center;display:none}.topbar-menu-btn:hover{background:var(--bg-hover)}.hamburger-icon{flex-direction:column;justify-content:space-between;width:18px;height:12px;display:inline-flex}.hamburger-icon span{background:var(--text-primary);border-radius:1px;height:2px}.sidebar-close-btn{border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);background:0 0;border-radius:8px;justify-content:center;align-items:center;margin-inline-start:auto;display:none}.sidebar-close-btn:hover{background:var(--bg-hover)}.sidebar-backdrop{z-index:39;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn var(--dur-fast) ease;background:#0f101673;display:none;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar-footer-links{border-top:1px solid var(--border);margin-top:auto;padding-top:1rem}@media (width<=1100px){:root{--sidebar-w:220px}.page-header{flex-direction:column;align-items:flex-start;gap:.75rem}.topbar-search{max-width:340px}}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{top:0;z-index:40;width:280px;max-width:82vw;height:100vh;transition:transform var(--dur-base) ease;position:fixed;inset-inline-start:0;transform:translate(-100%);box-shadow:8px 0 32px -12px #00000040}html[dir=rtl] .sidebar{transform:translate(100%);box-shadow:-8px 0 32px -12px #00000040}.sidebar.open,html[dir=rtl] .sidebar.open{transform:translate(0)}.app-shell.sidebar-open .sidebar-backdrop{display:block}.sidebar-close-btn,.topbar-menu-btn{display:inline-flex}.topbar{gap:.6rem;padding:0 1rem}.topbar-search{flex:1;max-width:none}.user-chip-info,.topbar-divider,.topbar-signout{display:none}.page{padding:1.25rem}h1{font-size:1.5rem}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.data{min-width:620px}.toolbar{flex-wrap:wrap}}@media (width<=640px){.page{padding:1rem .85rem}h1{font-size:1.25rem}.subtitle{font-size:.875rem}.topbar{height:60px;padding:0 .75rem}.topbar-search{display:none}.sidebar{width:88vw;max-width:320px}.card,.udash-panel,.stat-card,.dept-card,.udash-kpi{padding:1rem}.udash-hero{padding:1.25rem 1.15rem}.table-wrap{border-left:0;border-right:0;border-radius:0;margin:0 -.85rem;padding:0 .85rem}.data{min-width:560px}table.data th,table.data td{padding:.7rem .85rem}.modal{width:96vw;max-width:none;max-height:92vh}.modal-footer{flex-wrap:wrap}.modal-footer .btn{flex:1;min-width:120px}.row{flex-wrap:wrap}.toolbar{flex-direction:column;align-items:stretch}.toolbar>*{width:100%}.dept-grid,.stat-grid{grid-template-columns:1fr!important}.auth-form-panel{padding:1.25rem}.auth-card{padding:1.5rem 1.25rem}}@media (width<=380px){.page{padding:.75rem .65rem}.card,.udash-panel{padding:.85rem}h1{font-size:1.1rem}.btn{padding:.5rem .85rem;font-size:.85rem}}.sidebar-brand .super-tag{letter-spacing:.14em;text-transform:uppercase;color:#f97316;margin-top:2px;font-size:10px;font-weight:800;display:inline-block}html[dir=rtl] .sidebar-brand .super-tag{letter-spacing:.02em;font-size:11px}.sidebar-brand .brand-lines{flex-direction:column;line-height:1.15;display:flex}.super-page .data{font-size:.92rem}.super-page .data th{color:var(--text-secondary);background:linear-gradient(180deg, var(--bg-sunken), var(--bg-muted));padding:.85rem 1.15rem;font-size:.72rem}.super-page .data td{padding:.9rem 1.15rem}.super-page .data tr:nth-child(2n) td{background:#0f5fd104}.super-page .data tr:hover td{background:var(--brand-soft)}.super-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0 12px;display:flex}.super-toolbar .input{min-height:40px;padding-block:.55rem}.super-toolbar .filter-pills{flex-wrap:wrap;gap:6px;display:inline-flex}.super-toolbar .filter-pill{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast);border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600}.super-toolbar .filter-pill:hover{background:var(--bg-hover);color:var(--text-primary)}.super-toolbar .filter-pill.active{background:var(--brand);border-color:var(--brand);color:#fff}.super-toolbar .result-count{color:var(--text-tertiary);margin-inline-start:auto;font-size:12px;font-weight:500}.super-modal-form{gap:14px;display:grid}.super-modal-hint{background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-soft-text);border-radius:var(--radius);align-items:flex-start;gap:10px;padding:10px 14px;font-size:13px;line-height:1.5;display:flex}.super-modal-hint svg{flex-shrink:0;margin-top:2px}.super-modal-hint.is-warning{background:var(--warning-soft);border-color:var(--warning);color:var(--warning-soft-text)}.super-modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:6px;padding-top:14px;display:flex}.super-modal-form .field{margin-bottom:0}.super-stat{background:var(--bg-surface);isolation:isolate;position:relative;overflow:hidden}.super-stat:before{content:"";background:linear-gradient(135deg, var(--tint-soft,var(--brand-soft)) 0%, transparent 65%);opacity:.85;z-index:-1;position:absolute;inset:0}.super-stat .stat-card-icon{background:var(--tint,var(--brand));color:#fff;box-shadow:0 6px 18px -8px var(--tint,var(--brand))}.super-stat .stat-card-value{color:var(--text-primary)}.super-stat .stat-card-label{color:var(--text-secondary)}.super-stat:hover{box-shadow:0 12px 30px -14px var(--tint,var(--brand));transform:translateY(-2px)}.super-stat.tint-brand{--tint:var(--brand);--tint-soft:var(--brand-soft)}.super-stat.tint-cyan{--tint:var(--accent-cyan);--tint-soft:var(--accent-cyan-soft)}.super-stat.tint-violet{--tint:var(--dept-color-3);--tint-soft:var(--dept-mini-3)}.super-stat.tint-green{--tint:var(--success);--tint-soft:var(--success-soft)}.super-stat.tint-coral{--tint:var(--danger);--tint-soft:var(--danger-soft)}.super-stat.tint-amber{--tint:var(--warning);--tint-soft:var(--warning-soft)}.super-stat.tint-navy{--tint:var(--accent-deep);--tint-soft:var(--bg-muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}[data-motion=essential],.spinner,.btn.is-loading:after{animation-duration:1.4s!important;animation-iteration-count:infinite!important}}@keyframes cardRiseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.udash-kpi,.udash-panel,.stat-card{animation:cardRiseIn var(--dur-slow) var(--ease-expo) backwards;animation-delay:calc(var(--rise-i,0) * 70ms)}.udash-kpi-grid>:nth-child(2),.stat-grid>:nth-child(2){--rise-i:1}.udash-kpi-grid>:nth-child(3),.stat-grid>:nth-child(3){--rise-i:2}.udash-kpi-grid>:nth-child(4),.stat-grid>:nth-child(4){--rise-i:3}.udash-kpi-grid>:nth-child(5),.stat-grid>:nth-child(5){--rise-i:4}.udash-grid-2>.udash-panel{--rise-i:5}.udash-grid-2-alt>.udash-panel{--rise-i:6}@property --beam-a{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes beamSpin{to{--beam-a:360deg}}.udash-kpi:after,.stat-card:after{content:"";border-radius:inherit;background:conic-gradient(from var(--beam-a), transparent 0deg 250deg, color-mix(in srgb, var(--accent-cyan) 45%, transparent) 300deg, var(--accent-cyan) 330deg, var(--brand) 352deg, transparent 360deg);-webkit-mask-composite:xor;-webkit-mask-composite:xor;opacity:.55;pointer-events:none;transition:opacity var(--dur-base) var(--ease-out);padding:1.5px;animation:4.2s linear infinite beamSpin;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.udash-kpi:hover:after,.stat-card:hover:after{opacity:1}.udash-kpi-grid>:nth-child(2):after,.stat-grid>:nth-child(2):after{animation-delay:-1.1s}.udash-kpi-grid>:nth-child(3):after,.stat-grid>:nth-child(3):after{animation-delay:-2.2s}.udash-kpi-grid>:nth-child(4):after,.stat-grid>:nth-child(4):after{animation-delay:-3.3s}.udash-kpi-grid>:nth-child(5):after,.stat-grid>:nth-child(5):after{animation-delay:-.6s}@keyframes todayGlow{0%,to{box-shadow:0 0 #22c3d900}50%{box-shadow:0 0 14px 2px #22c3d966}}.udash-trend-bar.today{animation:3s ease-in-out infinite todayGlow}.udash-trend.has-active .udash-trend-bar.today{animation:none}@keyframes rowIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}table.data>tbody>tr{animation:rowIn var(--dur-base) var(--ease-out) backwards}table.data>tbody>tr:nth-child(2){animation-delay:30ms}table.data>tbody>tr:nth-child(3){animation-delay:60ms}table.data>tbody>tr:nth-child(4){animation-delay:90ms}table.data>tbody>tr:nth-child(5){animation-delay:.12s}table.data>tbody>tr:nth-child(6){animation-delay:.15s}table.data>tbody>tr:nth-child(7){animation-delay:.18s}table.data>tbody>tr:nth-child(8){animation-delay:.21s}.skel-band{background:var(--bg-hover);vertical-align:middle;border-radius:6px;max-width:100%;height:12px;display:inline-block;position:relative;overflow:hidden}@keyframes skelSweep{to{transform:translate(220%)}}@keyframes skelSweepRtl{to{transform:translate(-220%)}}.skel-band:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--bg-surface) 75%, transparent), transparent);animation:skelSweep 1.3s var(--ease-out) infinite;position:absolute;inset:0;transform:translate(-220%)}html[dir=rtl] .skel-band:after{animation-name:skelSweepRtl;transform:translate(220%)}@keyframes uploadShimmer{0%{transform:translate(-160%)}to{transform:translate(160%)}}@keyframes uploadShimmerRtl{0%{transform:translate(160%)}to{transform:translate(-160%)}}.upload-shimmer{pointer-events:none;animation:uploadShimmer 1.4s var(--ease-out) infinite;background:linear-gradient(115deg,#0000 35%,#ffffff80 50%,#0000 65%);position:absolute;inset:0}html[dir=rtl] .upload-shimmer{animation-name:uploadShimmerRtl}@keyframes uploadCheckPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.upload-check{animation:uploadCheckPop var(--dur-base) var(--ease-expo) backwards}.upload-check path{stroke-dasharray:20;stroke-dashoffset:20px;animation:uploadCheckDraw var(--dur-base) var(--ease-expo) 80ms forwards}@keyframes uploadCheckDraw{to{stroke-dashoffset:0}}.udash-trend{position:relative}.udash-trend-overlay{pointer-events:none;z-index:1;position:absolute;inset:.5rem 0}.udash-trend-line{width:100%;height:100%;position:absolute;inset:0;overflow:visible}html[dir=rtl] .udash-trend-line{transform:scaleX(-1)}.udash-trend-line path{stroke:var(--accent-cyan);stroke-width:2.5px;fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:trendDraw var(--dur-slow) var(--ease-expo) var(--line-delay,.9s) both}@keyframes trendDraw{to{stroke-dashoffset:0}}.udash-trend-dot{background:var(--accent-cyan);width:9px;height:9px;animation:trendDotPop var(--dur-fast) var(--ease-expo) calc(var(--line-delay,.9s) + var(--dur-slow)) both;border-radius:999px;position:absolute;transform:translate(-50%,50%)scale(0);box-shadow:0 0 10px #22c3d9b3}@keyframes trendDotPop{to{transform:translate(-50%,50%)scale(1)}}@keyframes bellSwing{0%{transform:rotate(0)}20%{transform:rotate(13deg)}45%{transform:rotate(-11deg)}70%{transform:rotate(6deg)}to{transform:rotate(0)}}.notification-btn.is-ringing>svg{animation:bellSwing .6s var(--ease-out);transform-origin:top}@keyframes badgePop{0%{transform:scale(.4)}to{transform:scale(1)}}.notification-dot{animation:badgePop var(--dur-base) var(--ease-expo)}.mini-spinner{border:2px solid var(--border);border-top-color:var(--brand);border-radius:999px;width:14px;height:14px;animation:.7s linear infinite neurixSpin;display:inline-block}@keyframes btnSheenLoop{0%{transform:translate(-120%)}to{transform:translate(120%)}}.btn.is-uploading:before{opacity:1;animation:btnSheenLoop 2s var(--ease-out) .3s infinite}.pring{color:var(--text-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.pring>svg{position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.pring-track{fill:none;stroke:var(--border)}.pring-arc{fill:none;transition:stroke-dashoffset var(--dur-base) var(--ease-out), stroke var(--dur-base) var(--ease-out)}.pring.is-uploading .pring-arc{filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent-cyan) 55%, transparent))}.pring.is-finalizing .pring-arc{transform-box:fill-box;transform-origin:50%;animation:.9s linear infinite neurixSpin}.pring.is-done .pring-arc{stroke:var(--success)}.pring.is-failed .pring-arc{stroke:var(--danger)}.pring-label{letter-spacing:-.01em;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex;position:relative}.pring.is-failed .pring-label{color:var(--danger)}.pring.is-done{animation:pringPop var(--dur-slow) var(--ease-expo)}@keyframes pringPop{0%{transform:scale(.88)}55%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes hudIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.upload-hud{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sunken);animation:hudIn var(--dur-base) var(--ease-out);align-items:center;gap:1rem;margin-bottom:1rem;padding:.9rem 1rem;display:flex}.upload-hud.is-done{border-color:color-mix(in srgb, var(--success) 45%, var(--border))}.upload-hud.is-failed{border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.upload-hud-body{flex-direction:column;gap:.25rem;min-width:0;display:flex}.upload-hud-title{font-weight:600}.upload-hud-sub{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.upload-hud-meta{color:var(--text-tertiary);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.25rem .75rem;display:flex}.upload-hud-note{color:var(--success);font-size:var(--fs-xs);font-weight:600}.upload-row-meta{color:var(--text-tertiary);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.upload-row-meta.is-done{color:var(--success);font-weight:600}.upload-row-meta.is-failed{color:var(--danger);font-weight:600}kbd{border:1px solid var(--border);background:var(--bg-sunken);min-width:1.6em;color:var(--text-primary);font-family:inherit;font-size:var(--fs-xs);text-align:center;white-space:nowrap;border-bottom-width:2px;border-radius:5px;padding:.1em .45em;line-height:1.5;display:inline-block}.shortcut-list{gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.shortcut-list li{align-items:center;gap:.75rem;display:flex}.shortcut-keys{flex:0 0 9.5rem;gap:.25rem;display:inline-flex}.shortcut-what{color:var(--text-secondary);font-size:var(--fs-xs)}.searchable-select-panel{z-index:30;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);max-height:260px;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + 4px);overflow-y:auto;box-shadow:0 12px 28px -8px #00000059}.searchable-select-option{border-radius:calc(var(--radius) - 4px);font-size:var(--fs-sm);color:var(--text-primary);cursor:pointer;flex-direction:column;gap:1px;padding:.5rem .65rem;display:flex}.searchable-select-option.is-highlighted{background:var(--bg-sunken)}.searchable-select-option.is-selected{color:var(--brand);font-weight:600}.searchable-select-empty{font-size:var(--fs-sm);color:var(--text-tertiary);padding:.6rem .65rem}.chat-toast-stack{top:76px;z-index:260;pointer-events:none;flex-direction:column;gap:10px;width:min(360px,100vw - 32px);display:flex;position:fixed;inset-inline-end:16px}.chat-toast{pointer-events:auto;background:var(--bg-surface);width:100%;color:inherit;border:1px solid var(--border);cursor:pointer;text-align:start;font:inherit;animation:chatToastIn .32s var(--ease-out) both;border-radius:14px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;padding:12px 14px;display:grid;box-shadow:0 20px 40px -16px #0000004d,0 4px 10px #00000014}.chat-toast:hover{border-color:var(--brand)}@keyframes chatToastIn{0%{opacity:0;transform:translate(24px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}.chat-toast-stack.rtl .chat-toast{animation-name:chatToastInRtl}@keyframes chatToastInRtl{0%{opacity:0;transform:translate(-24px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}.chat-toast-icon{background:var(--brand-soft);width:26px;height:26px;color:var(--brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-toast-group-avatar{background:var(--brand-soft);width:32px;height:32px;color:var(--brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-toast-body{flex-direction:column;gap:1px;min-width:0;display:flex}.chat-toast-name{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.chat-toast-preview{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.chat-toast-close{width:22px;height:22px;color:var(--text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-toast-close:hover{background:var(--bg-hover);color:var(--text-primary)}@media (prefers-reduced-motion:reduce){.chat-toast{animation:none}}.notification-menu{inset-inline-end:0;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:min(340px,100vw - 24px);max-height:460px;box-shadow:var(--shadow-md,0 8px 24px #0000001f);z-index:1000;position:absolute;top:calc(100% + 8px);overflow:auto}@media (width<=640px){.notification-menu{top:68px;width:auto;max-height:calc(100dvh - 84px);position:fixed;inset-inline:12px}}@media (width>=641px) and (width<=900px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.split-2-1{grid-template-columns:2fr 1fr;gap:16px;display:grid}@media (width<=900px){.split-2-1{grid-template-columns:minmax(0,1fr)}}
