:root{--bg-app: #F6F7F9;--card-surface: #FFFFFF;--border-color: #E4E7ED;--border-hairline: #E4E7ED;--border-hover: #CBD5E1;--text-main: #1C2230;--text-muted: #64748B;--text-dim: #94A3B8;--primary-accent: #35507A;--primary-accent-hover: #2A4063;--primary-accent-light: rgba(53, 80, 122, .08);--status-green: #2F7A4F;--status-green-bg: rgba(47, 122, 79, .08);--status-amber: #D98E04;--status-amber-bg: rgba(217, 142, 4, .08);--status-red: #C1432E;--status-red-bg: rgba(193, 67, 46, .08);--font-heading: "Space Grotesk", -apple-system, sans-serif;--font-body: "Inter", -apple-system, sans-serif;--font-mono: "IBM Plex Mono", monospace;--radius-card: 10px;--radius-btn: 6px;--shadow-subtle: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-main);font-family:var(--font-body);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,.font-heading{font-family:var(--font-heading);color:var(--text-main);letter-spacing:-.01em}.font-mono{font-family:var(--font-mono)}.font-body{font-family:var(--font-body)}.numeric-data,.numeric-value{font-family:var(--font-mono);letter-spacing:-.02em}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mt-1{margin-top:4px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.text-green{color:var(--status-green)}.text-amber{color:var(--status-amber)}.text-red{color:var(--status-red)}.text-accent{color:var(--primary-accent)}.text-muted{color:var(--text-muted)}.cursor-pointer{cursor:pointer}.app-shell{display:flex;flex-direction:column;min-height:100vh;background-color:var(--bg-app)}.top-summary-strip{background:var(--card-surface);border-bottom:1px solid var(--border-color);padding:12px 28px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-subtle);flex-wrap:wrap;gap:12px}.strip-brand{display:flex;align-items:center;gap:12px}.strip-brand-icon{width:34px;height:34px;border-radius:var(--radius-btn);background:var(--primary-accent);color:#fff;display:flex;align-items:center;justify-content:center}.strip-brand-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--text-main)}.strip-metrics{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.strip-metric-item{display:flex;align-items:center;gap:8px;font-size:.85rem}.strip-metric-label{color:var(--text-muted);font-weight:500}.strip-metric-val{font-family:var(--font-mono);font-weight:700;color:var(--text-main)}.strip-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.app-body-layout{display:flex;flex:1;width:100%}.app-sidebar{width:260px;background:var(--card-surface);border-right:1px solid var(--border-color);padding:20px 14px;display:flex;flex-direction:column;gap:18px;flex-shrink:0;transition:width .2s ease,padding .2s ease}.app-sidebar.collapsed{width:68px;padding:20px 8px}.sidebar-group{display:flex;flex-direction:column;gap:4px}.sidebar-group-title{font-family:var(--font-heading);font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:0 10px 4px}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:var(--radius-btn);color:#475569;font-family:var(--font-body);font-size:.875rem;font-weight:500;background:transparent;border:none;width:100%;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease}.sidebar-nav-item:hover{background:var(--bg-app);color:var(--text-main)}.sidebar-nav-item.active{background:var(--primary-accent-light);color:var(--primary-accent);font-weight:600}.sidebar-location-pill{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:var(--radius-btn);font-size:.85rem;color:var(--text-muted);cursor:pointer;transition:background .18s ease,color .18s ease,border .18s ease}.sidebar-location-pill:hover,.sidebar-location-pill.active{background:var(--bg-app);color:var(--text-main)}.sidebar-location-pill.active{border-left:3px solid var(--primary-accent);font-weight:600}.app-content-main{flex:1;padding:20px 24px;width:100%;min-width:0;max-width:100%}.location-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px}.exec-card{background:var(--card-surface);border:1px solid var(--border-color);border-radius:var(--radius-card);padding:20px 24px;margin-bottom:18px;box-shadow:var(--shadow-subtle);transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.exec-card:hover{border-color:var(--border-hover)}.exec-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-hairline);transition:padding-bottom .18s ease,margin-bottom .18s ease;flex-wrap:wrap;gap:12px}.exec-card-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--text-main)}.exec-card-desc{font-size:.85rem;color:var(--text-muted);margin-top:2px}.capacity-bar-container{display:flex;flex-direction:column;gap:6px}.capacity-bar-header{display:flex;align-items:center;justify-content:space-between;font-size:.825rem}.capacity-bar-metrics{display:flex;align-items:center;gap:4px}.capacity-bar-sep{color:#94a3b8;margin:0 2px}.capacity-status-pill{padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:700;border:1px solid transparent;transition:background-color .18s ease,color .18s ease}.btn-exec-primary{display:inline-flex;align-items:center;gap:8px;background:var(--primary-accent);color:#fff;border:none;padding:9px 16px;border-radius:var(--radius-btn);font-family:var(--font-body);font-size:.85rem;font-weight:600;cursor:pointer;transition:background-color .18s ease,transform .18s ease}.btn-exec-primary:hover{background:var(--primary-accent-hover)}.btn-exec-secondary{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--text-main);border:1px solid var(--border-color);padding:8px 14px;border-radius:var(--radius-btn);font-family:var(--font-body);font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}.btn-exec-secondary:hover{background:var(--bg-app);border-color:#cbd5e1}.exec-table-responsive{width:100%;max-height:75vh;overflow:auto;position:relative}.exec-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:.875rem}.exec-table th{background:#f8fafc;color:var(--text-muted);font-family:var(--font-heading);font-size:.775rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:10px 14px;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-hairline);position:sticky;top:0;z-index:20;box-shadow:0 1px 2px #0000000d}.exec-table td{padding:10px 14px;border-bottom:1px solid var(--border-hairline);border-right:1px solid var(--border-hairline);color:var(--text-main);transition:background-color .18s ease}.exec-table td:first-child,.exec-table th:first-child{position:sticky;left:0;z-index:10;background:#fff;box-shadow:2px 0 5px #00000008}.exec-table th:first-child{z-index:30;background:#f8fafc}.exec-table tr:hover td,.exec-table tr:hover td:first-child{background:#f8fafc}.matrix-input-exec,input[type=number],input[type=text],input[type=email],input[type=password],select{font-family:var(--font-mono);font-size:.9rem;font-weight:600;border:1px solid var(--border-color);border-radius:var(--radius-btn);transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.matrix-input-exec:focus,input[type=number]:focus,input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,select:focus{border-color:var(--primary-accent)!important;outline:2px solid var(--primary-accent)!important;outline-offset:1px;background-color:#fff!important}.matrix-input-exec{width:100%;max-width:75px;text-align:center;background:#fff;color:var(--text-main);padding:6px 8px}.matrix-input-exec.has-val{font-weight:700;color:var(--primary-accent);background:var(--primary-accent-light)}@keyframes realtime-flash-anim{0%{background-color:#35507a4d!important}to{background-color:transparent!important}}.realtime-cell-flash{animation:realtime-flash-anim 1s ease-out forwards}.category-subtabs-exec{display:flex;gap:6px;background:var(--bg-app);border:1px solid var(--border-color);padding:4px;border-radius:var(--radius-btn);margin-bottom:16px;flex-wrap:wrap}.cat-subtab-exec-btn{flex:1;min-width:120px;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-radius:4px;background:transparent;border:none;color:var(--text-muted);font-family:var(--font-body);font-size:.825rem;font-weight:500;cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.cat-subtab-exec-btn:hover{color:var(--text-main);background:#fff9}.cat-subtab-exec-btn.active{background:#fff;color:var(--primary-accent);font-weight:600;box-shadow:var(--shadow-subtle)}.cat-badge-exec{font-family:var(--font-mono);font-size:.75rem;font-weight:700;padding:1px 6px;border-radius:9999px;background:#e4e7ed;color:var(--text-main);transition:background-color .18s ease,color .18s ease}.cat-subtab-exec-btn.active .cat-badge-exec{background:var(--primary-accent);color:#fff}.empty-guidance-card{background:#fff;border:1px dashed #CBD5E1;border-radius:var(--radius-card);padding:24px 28px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}.empty-guidance-content{display:flex;align-items:flex-start;gap:14px}.empty-guidance-title{font-family:var(--font-heading);font-size:.95rem;font-weight:700;color:var(--text-main);margin-bottom:2px}.empty-guidance-text{font-size:.85rem;color:var(--text-muted);line-height:1.4;max-width:600px}.month-navigator-container{display:flex;align-items:center;gap:4px}.month-nav-btn{width:32px;height:32px;border-radius:var(--radius-btn);background:#fff;border:1px solid var(--border-color);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease}.month-nav-btn:hover{background:var(--bg-app);color:var(--text-main);border-color:#cbd5e1}.month-selector-box{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--border-color);padding:5px 12px;border-radius:var(--radius-btn);transition:border-color .18s ease}.month-select{background:transparent;border:none;color:var(--text-main);font-family:var(--font-mono);font-size:.85rem;font-weight:600;outline:none;cursor:pointer}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #E4E7ED;z-index:1000;padding:6px 12px;justify-content:space-around;align-items:center;box-shadow:0 -2px 10px #0000000d}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;background:transparent;border:none;color:#64748b;font-size:.7rem;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:6px;transition:color .18s ease,background-color .18s ease}.mobile-nav-item.active{color:var(--primary-accent);font-weight:700;background:var(--primary-accent-light)}.mobile-matrix-card-list{display:none;flex-direction:column;gap:16px}.mobile-dept-card{background:#fff;border:1px solid #E4E7ED;border-radius:var(--radius-card);padding:16px;box-shadow:var(--shadow-subtle)}.mobile-dept-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #E4E7ED}.mobile-brand-inputs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px}.mobile-brand-input-item{background:#f8fafc;border:1px solid #E4E7ED;border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:4px}@media(max-width:768px){.app-sidebar{display:none}.mobile-bottom-nav{display:flex}.app-content-main{padding:16px 14px 80px}.top-summary-strip{padding:10px 14px}.strip-metrics{gap:12px;font-size:.775rem}.exec-card{padding:16px;margin-bottom:16px}.desktop-matrix-table{display:none}.mobile-matrix-card-list{display:flex}}.report-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#0f172a8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}.report-modal-container{background:var(--card-surface);border:1px solid var(--border-color);border-radius:var(--radius-card);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000000d;width:100%;max-height:90vh;overflow-y:auto;padding:24px;margin:auto;position:relative;animation:modal-fade-in .18s ease-out forwards}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
