:root{--chrome-h: 0px;--bg: #0B1322;--bg-elevated: #131D32;--bg-subtle: #0E1626;--bg-muted: #1A2740;--bg-inverse: #FAFAFA;--text: #F8FAFC;--text-soft: #CBD5E1;--text-muted: #94A3B8;--text-faint: #64748B;--text-on-dark: #F8FAFC;--border: rgba(148, 163, 184, .12);--border-strong: rgba(148, 163, 184, .22);--border-bright: rgba(96, 165, 250, .3);--brand: #3B82F6;--brand-hover: #60A5FA;--brand-soft: rgba(59, 130, 246, .14);--brand-border: rgba(59, 130, 246, .3);--success: #10B981;--success-soft: rgba(16, 185, 129, .14);--success-border:rgba(16, 185, 129, .3);--warning: #F59E0B;--warning-soft: rgba(245, 158, 11, .14);--warning-border:rgba(245, 158, 11, .3);--danger: #EF4444;--danger-soft: rgba(239, 68, 68, .14);--danger-border: rgba(239, 68, 68, .3);--info: #60A5FA;--info-soft: rgba(96, 165, 250, .14);--info-border: rgba(96, 165, 250, .3);--shadow-sm: 0 1px 2px 0 rgba(0,0,0,.4);--shadow-md: 0 1px 3px 0 rgba(0,0,0,.45), 0 1px 2px -1px rgba(0,0,0,.35);--shadow-lg: 0 4px 6px -1px rgba(0,0,0,.5), 0 2px 4px -2px rgba(0,0,0,.4);--shadow-xl: 0 10px 15px -3px rgba(0,0,0,.55), 0 4px 6px -4px rgba(0,0,0,.45);--bg-grad-1: rgba(59, 130, 246, .08);--bg-grad-2: rgba(37, 99, 235, .06)}html[data-theme=light]{--bg: #F4F6FB;--bg-elevated: #FFFFFF;--bg-subtle: #EEF1F7;--bg-muted: #E4E9F2;--bg-inverse: #0B1322;--text: #0F172A;--text-soft: #334155;--text-muted: #64748B;--text-faint: #94A3B8;--text-on-dark: #F8FAFC;--border: rgba(15, 23, 42, .1);--border-strong: rgba(15, 23, 42, .16);--border-bright: rgba(37, 99, 235, .35);--brand: #2563EB;--brand-hover: #1D4ED8;--brand-soft: rgba(37, 99, 235, .1);--brand-border: rgba(37, 99, 235, .28);--success: #059669;--success-soft: rgba(5, 150, 105, .12);--success-border:rgba(5, 150, 105, .28);--warning: #D97706;--warning-soft: rgba(217, 119, 6, .12);--warning-border:rgba(217, 119, 6, .28);--danger: #DC2626;--danger-soft: rgba(220, 38, 38, .1);--danger-border: rgba(220, 38, 38, .26);--info: #2563EB;--info-soft: rgba(37, 99, 235, .1);--info-border: rgba(37, 99, 235, .28);--shadow-sm: 0 1px 2px 0 rgba(15,23,42,.06);--shadow-md: 0 1px 3px 0 rgba(15,23,42,.08), 0 1px 2px -1px rgba(15,23,42,.06);--shadow-lg: 0 4px 6px -1px rgba(15,23,42,.1), 0 2px 4px -2px rgba(15,23,42,.06);--shadow-xl: 0 10px 20px -5px rgba(15,23,42,.12), 0 4px 8px -4px rgba(15,23,42,.08);--bg-grad-1: rgba(37, 99, 235, .06);--bg-grad-2: rgba(37, 99, 235, .04)}body.is-electron{--chrome-h: 36px}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg);background-image:radial-gradient(900px 600px at 80% -10%,var(--bg-grad-1),transparent 60%),radial-gradient(700px 500px at -5% 30%,var(--bg-grad-2),transparent 55%);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color:var(--text);font-size:14px;line-height:1.5;transition:background-color .25s ease,color .25s ease;touch-action:manipulation}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b82e;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#94a3b847}*{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.18) transparent}button{font-family:inherit;border:none;background:none;cursor:pointer;padding:0;margin:0;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;outline:none;border:none;background:transparent}input::placeholder,textarea::placeholder{color:var(--text-faint)}::selection{background:var(--brand-soft);color:var(--text)}option{background:var(--bg-elevated);color:var(--text)}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.85);cursor:pointer}html[data-theme=light] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.2)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes pulseDot{0%,to{opacity:.7}50%{opacity:1}}.fade-in{animation:fadeIn .2s ease-out}.fade-in-up{animation:fadeInUp .3s ease-out}.tap{transition:transform .12s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.tap:active{transform:scale(.985)}.app-shell{min-height:calc(100dvh - var(--chrome-h));background:transparent;display:flex;flex-direction:column}@media (min-width: 1024px){.app-shell{display:grid;grid-template-columns:248px 1fr;grid-template-rows:calc(100dvh - var(--chrome-h))}}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;padding-bottom:88px}@media (min-width: 1024px){.app-main{padding-bottom:0;overflow-y:auto;height:calc(100dvh - var(--chrome-h))}}body.is-electron,body.is-electron #root,body.is-electron .app-shell{height:calc(100dvh - var(--chrome-h));overflow:hidden}body.is-electron .app-main{overflow-y:auto;height:calc(100dvh - var(--chrome-h));padding-bottom:0}.app-container{width:100%;margin:0 auto;padding:20px 16px 24px}@media (min-width: 640px){.app-container{padding:24px 24px 32px}}@media (min-width: 1024px){.app-container{max-width:1280px;padding:32px 40px 48px}}.show-on-desktop{display:none!important}.hide-on-desktop{display:initial}@media (min-width: 1024px){.show-on-desktop{display:initial!important}.hide-on-desktop{display:none!important}}.grid-kpi-4{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media (min-width: 768px){.grid-kpi-4{grid-template-columns:repeat(4,1fr);gap:14px}}.grid-actions-4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}@media (min-width: 768px){.grid-actions-4{gap:12px}}.grid-cards-fluid{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width: 640px){.grid-cards-fluid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1280px){.grid-cards-fluid{grid-template-columns:repeat(3,1fr)}}.grid-dashboard{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.grid-dashboard>*{min-width:0}@media (min-width: 1024px){.grid-dashboard{grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);gap:24px}}.grid-calendar{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}@media (min-width: 1024px){.grid-calendar{grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);gap:24px}}.grid-detail{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media (min-width: 768px){.grid-detail{grid-template-columns:repeat(4,1fr);gap:10px}}.row-2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.window-chrome{position:fixed;top:0;left:0;right:0;z-index:60;height:var(--chrome-h);display:flex;align-items:center;padding:0 150px 0 14px;background:var(--bg);border-bottom:1px solid var(--border);user-select:none;-webkit-user-select:none;-webkit-app-region:drag;app-region:drag}body.is-electron{padding-top:var(--chrome-h)}.window-chrome-brand{display:inline-flex;align-items:center;gap:8px}.window-chrome-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#93c5fd,#3b82f6);box-shadow:0 0 0 3px #3b82f62e}.app-shell .window-chrome{grid-column:1 / -1}.window-chrome button,.window-chrome a,.window-chrome input{-webkit-app-region:no-drag;app-region:no-drag}body:not(.is-electron) .window-chrome{display:none}body.is-demo{--chrome-h: 38px;padding-top:var(--chrome-h)}.demo-ribbon{position:fixed;top:0;left:0;right:0;z-index:70;height:var(--chrome-h);display:flex;align-items:center;gap:12px;padding:0 16px;background:linear-gradient(90deg,#0a1120,#14253f 48%,#0a1120);border-bottom:1px solid var(--border-bright);overflow:hidden;font-family:JetBrains Mono,ui-monospace,monospace;user-select:none;-webkit-user-select:none}.demo-ribbon:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(110deg,transparent 38%,rgba(147,197,253,.16) 50%,transparent 62%);transform:translate(-120%);animation:demo-sweep 7.5s ease-in-out infinite}.app-shell .demo-ribbon{grid-column:1 / -1}.demo-dot{flex:none;width:7px;height:7px;border-radius:50%;background:#5fb0ff;box-shadow:0 0 #5fb0ff8c;animation:demo-pulse 2.1s infinite}.demo-ribbon__tag{font-size:10.5px;font-weight:700;letter-spacing:.16em;color:#bbdbff;white-space:nowrap}.demo-ribbon__sep{color:#93c5fd66}.demo-ribbon__msg{font-size:11px;color:#8fb6e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Inter,sans-serif}.demo-ribbon__msg strong{color:#dcebff;font-weight:600}.demo-ribbon__cta{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:#5fb0ff1f;border:1px solid rgba(95,176,255,.34);color:#dcebff;font-size:10.5px;font-weight:700;letter-spacing:.04em;font-family:JetBrains Mono,monospace;cursor:pointer;transition:background .18s,transform .18s;position:relative;z-index:1}.demo-ribbon__cta:hover{background:#5fb0ff38;transform:translateY(-1px)}@keyframes demo-sweep{0%{transform:translate(-120%)}58%,to{transform:translate(120%)}}@keyframes demo-pulse{0%{box-shadow:0 0 #5fb0ff80}70%{box-shadow:0 0 0 7px #5fb0ff00}to{box-shadow:0 0 #5fb0ff00}}@media (max-width: 640px){.demo-ribbon__msg,.demo-ribbon__sep{display:none}}.demo-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#040810b8;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);animation:demo-fade .25s ease both}.demo-modal__card{position:relative;width:100%;max-width:520px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:22px;box-shadow:var(--shadow-xl);overflow:hidden;animation:demo-pop .42s cubic-bezier(.2,.9,.25,1) both}.demo-modal__glow{position:absolute;top:-40%;right:-20%;width:70%;height:80%;background:radial-gradient(circle,rgba(59,130,246,.28),transparent 65%);pointer-events:none}.demo-modal__grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 55%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 55%)}.demo-modal__close{position:absolute;top:14px;right:14px;z-index:2;width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);cursor:pointer}.demo-modal__close:hover{color:var(--text)}.demo-modal__body{position:relative;z-index:1;padding:30px 30px 26px}.demo-modal__head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.demo-modal__eyebrow{display:inline-flex;align-items:center;gap:7px;font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:700;letter-spacing:.16em;color:var(--brand-hover);padding:5px 11px;border-radius:999px;background:var(--brand-soft);border:1px solid var(--brand-border)}.demo-modal__title{margin:0 0 12px;font-family:Inter Tight,sans-serif;font-size:27px;line-height:1.12;font-weight:700;letter-spacing:-.03em;color:var(--text)}.demo-modal__title-accent{color:var(--brand-hover)}.demo-modal__lead{margin:0 0 22px;font-size:14px;line-height:1.6;color:var(--text-muted)}.demo-modal__lead strong{color:var(--text-soft);font-weight:600}.demo-modal__facts{display:flex;flex-direction:column;gap:12px;margin-bottom:26px}.demo-modal__fact{display:flex;gap:13px;align-items:flex-start}.demo-modal__fact-icn{flex:none;width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--brand-hover);background:var(--brand-soft);border:1px solid var(--brand-border)}.demo-modal__fact-title{font-size:13.5px;font-weight:600;color:var(--text);font-family:Inter,sans-serif}.demo-modal__fact-desc{font-size:12.5px;line-height:1.5;color:var(--text-muted);margin-top:2px}.demo-modal__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.demo-modal__primary{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;background:var(--brand);color:#fff;font-weight:600;font-size:14.5px;font-family:Inter,sans-serif;cursor:pointer;box-shadow:0 6px 18px -6px #3b82f699;transition:transform .18s,background .18s}.demo-modal__primary:hover{transform:translateY(-1px);background:var(--brand-hover)}.demo-modal__secondary{font-size:13.5px;font-weight:600;color:var(--text-muted);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:1px}.demo-modal__secondary:hover{color:var(--text);border-bottom-color:var(--border-strong)}.demo-modal__foot{margin:18px 0 0;font-size:11.5px;color:var(--text-faint);font-family:JetBrains Mono,monospace}.demo-reveal{animation:demo-reveal .5s cubic-bezier(.2,.9,.25,1) both}@keyframes demo-fade{0%{opacity:0}to{opacity:1}}@keyframes demo-pop{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@keyframes demo-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (max-width: 560px){.demo-modal__overlay{align-items:flex-start;padding:10px}.demo-modal__card{border-radius:18px}.demo-modal__body{padding:24px 20px 20px}.demo-modal__head{margin-bottom:14px}.demo-modal__title{font-size:22px;margin-bottom:10px}.demo-modal__lead{font-size:13.5px;line-height:1.55;margin-bottom:18px}.demo-modal__facts{gap:11px;margin-bottom:20px}.demo-modal__fact-icn{width:32px;height:32px}.demo-modal__fact-desc{font-size:12px}.demo-modal__actions{gap:12px}.demo-modal__primary{width:100%;justify-content:center;padding:14px 22px}.demo-modal__secondary{width:100%;text-align:center}}@media (prefers-reduced-motion: reduce){.demo-ribbon:after,.demo-dot,.demo-reveal,.demo-modal__card,.demo-modal__overlay{animation:none}}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}::-webkit-scrollbar-thumb{background:var(--border-strong)}
