:root{--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "SF Pro", "Inter", "Helvetica Neue", "Segoe UI", sans-serif;--font-mono: "SF Mono", "SFMono-Regular", Menlo, Monaco, Consolas, monospace;--bg-canvas: #f5f5f7;--bg-surface: #ffffff;--bg-surface-muted: #f8fafc;--bg-inset: #f1f5f9;--glass-bg-primary: rgba(255, 255, 255, .94);--glass-bg-secondary: rgba(255, 255, 255, .85);--glass-blur: blur(24px) saturate(180%);--glass-border: rgba(0, 0, 0, .06);--glass-border-light: rgba(255, 255, 255, .8);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-faint: #94a3b8;--accent: #007AFF;--accent-light: rgba(0, 122, 255, .08);--accent-border: rgba(0, 122, 255, .22);--success: #10b981;--success-bg: rgba(16, 185, 129, .09);--success-border: rgba(16, 185, 129, .25);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .09);--warning-border: rgba(245, 158, 11, .25);--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .09);--danger-border: rgba(239, 68, 68, .25);--purple: #8b5cf6;--purple-bg: rgba(139, 92, 246, .09);--purple-border: rgba(139, 92, 246, .25);--cyan: #06b6d4;--cyan-bg: rgba(6, 182, 212, .09);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-modal: 24px;--radius-pill: 9999px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .03), 0 2px 4px rgba(0, 0, 0, .02);--shadow-2: 0 2px 10px rgba(0, 0, 0, .03), 0 4px 16px rgba(0, 0, 0, .02);--shadow-3: 0 8px 24px rgba(0, 0, 0, .05), 0 3px 8px rgba(0, 0, 0, .02);--shadow-4: 0 20px 48px rgba(0, 0, 0, .08), 0 6px 16px rgba(0, 0, 0, .03);--shadow-card-hover: 0 12px 30px rgba(0, 0, 0, .07), 0 4px 10px rgba(0, 0, 0, .03);--shadow-neo-outset: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--fs-8: 8.5px;--fs-9: 9.5px;--fs-10: 10.5px;--fs-11: 11.5px;--fs-12: 12.5px;--fs-13: 13.5px;--fs-14: 14.5px;--fs-15: 15.5px;--fs-16: 16.5px;--fs-18: 18.5px;--fs-20: 20px;--fs-24: 24px;--fs-28: 28px;--ease-smooth: cubic-bezier(.16, 1, .3, 1);--spring-snappy: cubic-bezier(.2, .8, .2, 1);--duration-fast: .15s;--duration-normal: .25s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;margin:0;padding:0;font-family:var(--font-sans);background-color:var(--bg-canvas);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#root{width:100%;height:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden;position:relative}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#64748b8c}.bento-card{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden;transition:transform var(--duration-normal) var(--spring-snappy),box-shadow var(--duration-normal) var(--ease-smooth),border-color var(--duration-normal) var(--ease-smooth);position:relative}.bento-card:hover{box-shadow:var(--shadow-card-hover);border-color:#00000017;transform:translateY(-1.5px)}.neo-surface{background:#fff;border:1px solid var(--glass-border);box-shadow:var(--shadow-neo-outset);border-radius:var(--radius-sm);min-width:0;max-width:100%;box-sizing:border-box;transition:all var(--duration-fast) var(--ease-smooth)}.kpi-foot-chip{max-width:100%;line-height:1.25;word-break:break-word;white-space:normal}.apple-glass{background:var(--glass-bg-primary);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-2)}.apple-glass-panel{background:var(--glass-bg-secondary);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-3)}.neo-progress-track{width:100%;height:5.5px;background:#0f172a0d;border-radius:var(--radius-pill);overflow:hidden;position:relative;box-shadow:inset 0 1px 2px #0000000d}.neo-progress-fill{height:100%;border-radius:var(--radius-pill);transition:width .7s var(--ease-smooth)}.tab-btn-sidebar{width:100%;background:transparent;border:1px solid transparent;outline:none;padding:9px 12px;font-size:12.5px;font-weight:500;color:#475569;cursor:pointer;border-radius:10px;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .12s ease,box-shadow .15s ease;display:flex;align-items:center;gap:10px;text-align:left;position:relative;box-shadow:none;font-family:var(--font-sans)}.tab-btn-sidebar:hover{color:#0f172a;background:#0000000a}.tab-btn-sidebar:active{transform:scale(.98)}.tab-btn-sidebar.active{color:#007aff;background:#fff;font-weight:700;border:1px solid rgba(0,0,0,.05);box-shadow:0 1px 3px #0000000a,0 3px 8px -1px #00000008,inset 0 1px #ffffffe6}.tab-btn-sidebar.active:before{content:"";position:absolute;left:-2px;top:50%;transform:translateY(-50%);width:3px;height:16px;background:#007aff;border-radius:999px}.tab-btn-sidebar>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-tooltip{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:#1d1d1f;color:#fff;font-size:var(--fs-11, 11px);font-weight:700;padding:6px 11px;border-radius:8px;white-space:nowrap;z-index:999;pointer-events:none;box-shadow:0 4px 14px #0003}.apple-input{width:100%;font-family:var(--font-sans);font-size:var(--fs-13);color:var(--text-primary);background:#fff;border:1px solid #cbd5e1;border-radius:var(--radius-md);padding:9px 13px;outline:none;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.apple-input:focus{border-color:#007aff;box-shadow:0 0 0 3px #007aff26}.apple-input::placeholder{color:#94a3b8}.apple-select{font-family:var(--font-sans);font-size:var(--fs-12);color:var(--text-primary);background:#fff;border:1px solid #e2e8f0;border-radius:var(--radius-sm);padding:6px 12px;outline:none;cursor:pointer;transition:border-color .2s}.apple-select:focus{border-color:#007aff}button{font-family:var(--font-sans);cursor:pointer;border:none;outline:none;background:transparent;color:inherit;transition:all .15s cubic-bezier(.16,1,.3,1);-webkit-font-smoothing:antialiased}.apple-button,.apple-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-sans);font-size:var(--fs-10, 10.5px);font-weight:600;padding:6px 14px;border-radius:8px;background:#fff;color:#334155;border:1px solid rgba(0,0,0,.12);box-shadow:0 1px 2px #0000000a,inset 0 1px #ffffffe6;cursor:pointer;outline:none;text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all .15s cubic-bezier(.16,1,.3,1)}.apple-button:hover,.apple-btn:hover{background:#f8fafc;color:#0f172a;border-color:#007aff59;box-shadow:0 2px 6px #0000000f;transform:translateY(-.5px)}.apple-button:active,.apple-btn:active{transform:scale(.97)}.apple-button.primary,.apple-btn-primary,.apple-btn.primary{background:linear-gradient(180deg,#007aff,#0066d6);color:#fff;border:1px solid rgba(0,85,185,.5);box-shadow:0 1px 2px #007aff33,0 2px 6px #007aff40,inset 0 1px #ffffff4d;font-weight:700}.apple-button.primary:hover,.apple-btn-primary:hover,.apple-btn.primary:hover{background:linear-gradient(180deg,#0084ff,#0072ea);box-shadow:0 2px 4px #007aff40,0 4px 14px #007aff59,inset 0 1px #ffffff59;transform:translateY(-.5px)}.apple-button.secondary,.apple-btn-secondary,.apple-btn.secondary{background:#fff;color:#334155;border:1px solid rgba(0,0,0,.12);box-shadow:0 1px 2px #0000000a,inset 0 1px #ffffffe6;font-weight:600}.apple-button.secondary:hover,.apple-btn-secondary:hover,.apple-btn.secondary:hover{background:#f8fafc;color:#0f172a;border-color:#007aff59;box-shadow:0 2px 6px #0000000f;transform:translateY(-.5px)}.apple-button.ghost{background:transparent;color:#64748b;border:1px solid transparent;box-shadow:none}.apple-button.ghost:hover{background:#0000000a;color:#0f172a}.filter-pill-btn,.pill-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:var(--fs-8, 8.5px);font-weight:600;padding:4px 11px;border-radius:8px;background:#fff;color:#475569;border:1px solid rgba(0,0,0,.1);box-shadow:0 1px 2px #00000008;cursor:pointer;white-space:nowrap;outline:none;transition:all .15s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none}.filter-pill-btn:hover,.pill-btn:hover{background:#f8fafc;color:#0f172a;border-color:#007aff4d;box-shadow:0 2px 5px #0000000d;transform:translateY(-.5px)}.filter-pill-btn.active,.pill-btn.active{background:linear-gradient(180deg,#007aff,#0066d6);color:#fff;font-weight:800;border:1px solid rgba(0,85,185,.5);box-shadow:0 1px 3px #007aff4d,0 3px 8px #007aff33,inset 0 1px #ffffff40}.filter-pill-btn.active:hover,.pill-btn.active:hover{background:linear-gradient(180deg,#0084ff,#0072ea);transform:translateY(-.5px)}.filter-pill-btn:active,.pill-btn:active{transform:scale(.96)}.apple-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);background:#fff}.apple-table{width:100%;border-collapse:collapse;font-size:var(--fs-12);text-align:left}.apple-table th{background:#f8fafc;color:#64748b;font-weight:700;font-size:var(--fs-10);text-transform:uppercase;letter-spacing:.5px;padding:10px 14px;border-bottom:1px solid #e2e8f0;white-space:nowrap}.apple-table td{padding:11px 14px;border-bottom:1px solid #f1f5f9;color:#1e293b;font-variant-numeric:tabular-nums;white-space:nowrap}.apple-table tr:hover td{background:#fbfcfe}@media(max-width:640px){.apple-table th{padding:8px 10px;font-size:9px}.apple-table td{padding:8px 10px;font-size:10.5px}}.apple-badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-10);font-weight:700;padding:2.5px 8px;border-radius:var(--radius-pill);letter-spacing:.2px;white-space:nowrap;flex-shrink:0}.apple-badge.blue{background:var(--accent-light);color:var(--accent);border:1px solid var(--accent-border)}.apple-badge.green{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.apple-badge.amber{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.apple-badge.red{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.apple-badge.purple{background:var(--purple-bg);color:var(--purple);border:1px solid var(--purple-border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .25s var(--ease-smooth) forwards;width:100%;max-width:100%;min-width:0}.app-viewport-shell{display:flex;width:100%;max-width:100%;height:100vh;height:100dvh;overflow:hidden;background:var(--bg-canvas);position:relative}.app-main-content-area{flex:1;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;min-width:0;position:relative}.responsive-main-scroll{flex:1;padding:20px 24px;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;-webkit-overflow-scrolling:touch}.apple-sidebar{width:240px;height:100vh;height:100dvh;display:flex;flex-direction:column;flex-shrink:0;z-index:50;border-right:1px solid var(--glass-border);transition:width .25s cubic-bezier(.2,.8,.2,1),transform .28s cubic-bezier(.16,1,.3,1);background:#fffffff0;box-sizing:border-box}.apple-sidebar.collapsed{width:72px}.sidebar-mobile-backdrop{display:none}@media(max-width:960px){.apple-sidebar{position:fixed!important;top:0!important;bottom:0!important;left:0!important;width:260px!important;max-width:85vw!important;z-index:1000!important;box-shadow:0 0 36px #00000038!important;transform:translate(-100%)}.apple-sidebar.mobile-open{transform:translate(0)!important}.sidebar-mobile-backdrop.active{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:999;animation:fadeIn .18s ease forwards}.responsive-main-scroll{padding:14px 16px}}@media(max-width:540px){.responsive-main-scroll{padding:10px 10px 24px}}.app-header-bar{min-height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--glass-border);background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);position:sticky;top:0;z-index:40;box-sizing:border-box;gap:10px}.header-mobile-toggle{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:#0000000a;color:#0f172a;cursor:pointer;flex-shrink:0}@media(max-width:960px){.header-mobile-toggle{display:inline-flex}}.header-controls-container{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:640px){.app-header-bar{padding:8px 10px;min-height:auto;flex-wrap:wrap}.header-title-heading{font-size:14px!important}.header-breadcrumbs-bar{display:none!important}.header-controls-container{width:100%;justify-content:space-between;gap:6px}}@media(max-width:480px){.header-period-badge{display:none!important}}.bento-split-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:12px}@media(max-width:1080px){.bento-split-grid{grid-template-columns:1fr}}.bento-2col-equal{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:840px){.bento-2col-equal{grid-template-columns:1fr}}.bento-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:8px}@media(max-width:480px){.bento-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:6px}}.bento-strip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:8px}@media(max-width:480px){.bento-strip-grid{grid-template-columns:1fr;gap:6px}}.bento-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}@media(max-width:480px){.bento-cards-grid{grid-template-columns:1fr;gap:8px}}.bento-kpi-grid>*,.bento-strip-grid>*,.bento-cards-grid>*,.bento-split-grid>*,.bento-2col-equal>*{min-width:0;max-width:100%}.apple-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab8;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px 32px;box-sizing:border-box}.apple-modal-window{background:#fff;border-radius:20px;width:100%;max-width:1200px;max-height:90vh;max-height:90dvh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 32px 84px #0000004d,0 8px 24px #0000001a;border:1px solid rgba(255,255,255,.6)}.apple-modal-window.modal-widescreen-table{max-width:1580px;width:95vw;max-height:92vh;max-height:92dvh}.apple-modal-window.modal-dossier-large{max-width:1220px;width:88vw;max-height:90vh;max-height:90dvh}@media(min-width:1600px){.apple-modal-window.modal-widescreen-table{max-width:1760px;width:94vw}.apple-modal-window.modal-dossier-large{max-width:1360px;width:86vw}}.modal-roster-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}.modal-roster-table th{background:#f8fafc;color:#64748b;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:12px 14px;border-bottom:1px solid #e2e8f0;white-space:nowrap}.modal-roster-table td{padding:12px 14px;border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:13px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-roster-table tr:hover td{background:#f8fafc}@media(max-width:1024px){.apple-modal-overlay{padding:16px}.apple-modal-window{max-width:100%;width:100%}}@media(max-width:768px){.apple-modal-overlay{padding:8px}.apple-modal-window{max-height:94dvh;border-radius:16px}}@media(max-width:480px){.apple-modal-overlay{padding:4px}.apple-modal-window{max-height:96dvh;border-radius:14px}}.modal-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:640px){.modal-grid-3{grid-template-columns:1fr}}.modal-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:640px){.modal-grid-2{grid-template-columns:1fr}}.modal-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}@media(max-width:768px){.modal-grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.modal-grid-4{grid-template-columns:1fr}}.login-screen-wrapper{display:flex;min-height:100vh;min-height:100dvh;width:100%;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#edf2f7,#e2e8f0);padding:20px;box-sizing:border-box}.login-card{width:100%;max-width:420px;background:#fff;border-radius:24px;box-shadow:0 15px 35px -10px #00000012,0 2px 6px -1px #0000000a;border:1px solid rgba(226,232,240,.85);padding:42px 36px 36px;box-sizing:border-box}.login-input-box:focus-within{border-color:#2563eb!important;background:#fff!important;box-shadow:0 0 0 3px #2563eb1f!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.login-card{padding:30px 22px 26px;border-radius:20px}}
