:root{--bg-main:#fcf8ff;--bg-surface-low:#f5f2ff;--bg-surface:#fff;--bg-surface-high:#eae6f4;--bg-surface-highest:#e4e1ee;--text-main:#1b1b24;--text-muted:#464555;--text-dim:#777587;--primary:#4f46e5;--primary-hover:#4338ca;--primary-light:#e2dfff;--outline:#777587;--outline-variant:#c7c4d8;--error:#ba1a1a;--error-container:#ffdad6;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(27,27,36,.06),0 2px 4px -2px rgba(27,27,36,.04);--shadow-lg:0 10px 15px -3px rgba(27,27,36,.08),0 4px 6px -2px rgba(27,27,36,.04);--font-sans:'Inter',system-ui,sans-serif;--font-label:'Public Sans',system-ui,sans-serif;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--transition-fast:.15s ease;--transition-smooth:.25s cubic-bezier(.16,1,.3,1);--ui-primary:var(--primary);--ui-primary-dark:var(--primary-hover);--ui-primary-soft:#eef2ff;--ui-surface:#fff;--ui-canvas:#f5f7fc;--ui-text:#1b1b24;--ui-muted:#64748b;--ui-border:#e2e8f0;--ui-success:#15803d;--ui-warning:#b45309;--ui-danger:#b91c1c;--ui-info:#1d4ed8;--ui-radius:1rem;--ui-radius-lg:1.5rem;--ui-shadow:0 12px 32px rgba(15,23,42,.07);--sidebar-width:20.5rem;--sidebar-compact:5.25rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;color-scheme:light}body{font-family:var(--font-sans);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-weight:700;line-height:1.25;letter-spacing:-.025em}button,input{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(79,70,229,.28);outline-offset:2px}.material-symbols-outlined{font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 20}
body.dashboard-page{display:flex;flex-direction:row;height:100vh;min-height:0;overflow:hidden;background:var(--ui-canvas);color:var(--ui-text)}.dashboard-sidebar{width:var(--sidebar-width);height:100vh;flex:0 0 auto;display:flex;flex-direction:column;overflow:hidden;background:#fff;border-right:1px solid var(--ui-border);transition:width var(--transition-smooth);z-index:50}.sidebar-brand{padding:1.25rem 1.15rem;border-bottom:1px solid var(--ui-border)}.sidebar-brand-card{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:1.5rem 1rem;border:1px solid rgba(148,163,184,.18);border-radius:2rem;background:#f8fbff;color:var(--ui-text);transition:all .2s ease}.sidebar-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;flex:none;border-radius:1.5rem;color:var(--ui-primary);background:rgba(59,130,246,.14);box-shadow:var(--shadow-sm);font-size:1.6rem}.sidebar-brand-icon .material-symbols-outlined{font-size:1.75rem}.sidebar-brand-copy,.sidebar-profile-copy{min-width:0;display:grid;gap:.2rem;width:100%}.sidebar-brand-copy strong{font-size:.88rem;line-height:1.25;font-weight:700;color:#0f172a}.sidebar-brand-copy small,.sidebar-profile-copy small{color:var(--ui-muted);font-size:.72rem}.sidebar-brand-change{margin-left:auto;color:var(--ui-muted)}.sidebar-nav{min-height:0;flex:1;overflow:auto;padding:1rem}.sidebar-main-link{position:relative;display:flex;align-items:center;gap:.85rem;width:100%;min-height:3.25rem;padding:.75rem 1rem;border-radius:1.75rem;border:1px solid rgba(148,163,184,.14);background:transparent;color:#334155;text-decoration:none;font-weight:600;font-size:.92rem;transition:all .15s ease}.sidebar-main-link:hover{background:#f8fafc;color:var(--ui-primary)}.sidebar-main-link.active{background:#eef2ff;color:#1d4ed8;border-color:rgba(59,130,246,.25);box-shadow:0 10px 18px rgba(15,23,42,.05)}.sidebar-main-link-icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;flex:none;border-radius:1rem;background:rgba(59,130,246,.12);color:#2563eb;font-size:1.15rem}.sidebar-section-label{margin:1.5rem .7rem .55rem;color:#94a3b8;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.sidebar-subsystem-nav-panel{display:grid;gap:.3rem}.sidebar-subsystem-modules{display:grid;gap:.35rem}.sidebar-subsystem-link{position:relative;display:flex;align-items:center;gap:.8rem;min-height:3rem;padding:.55rem .7rem;border-radius:1.25rem;color:#475569;text-decoration:none;font-weight:600;font-size:.88rem;transition:background .15s,color .15s,transform .15s}.sidebar-subsystem-link:hover{background:#f1f5f9;color:var(--ui-primary)}.sidebar-subsystem-link.active{color:var(--ui-primary-dark);background:var(--ui-primary-soft);box-shadow:inset 3px 0 var(--ui-primary)}.sidebar-subsystem-link-icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;flex:none;border-radius:999px;background:#f1f5f9;color:#475569;font-size:1.15rem}.sidebar-subsystem-link.active .sidebar-subsystem-link-icon{background:#fff;color:var(--ui-primary-dark)}.sidebar-subsystem-link .sidebar-label{display:grid;min-width:0}.sidebar-subsystem-link .sidebar-label strong{font-size:.82rem}.sidebar-subsystem-link .sidebar-label small{font-size:.62rem;color:#94a3b8;font-weight:500}.sidebar-subsystem-link.is-planned{cursor:not-allowed}.sidebar-profile-footer{padding:1rem;border-top:1px solid var(--ui-border)}.sidebar-profile-card{width:100%;display:flex;align-items:center;gap:.75rem;padding:.65rem;border:0;border-radius:var(--ui-radius);background:#f8fafc;text-align:left}.profile-avatar{display:grid;place-items:center;width:2.4rem;height:2.4rem;flex:none;border-radius:50%;background:var(--ui-primary-soft);color:var(--ui-primary-dark);border:1px solid #c7d2fe;font-size:.76rem;font-weight:800}.dashboard-page.sidebar-collapsed .dashboard-sidebar{width:0;min-width:0;border-right:0;opacity:0;pointer-events:none;padding:0;overflow:hidden}.dashboard-page.sidebar-collapsed .sidebar-brand,.dashboard-page.sidebar-collapsed .sidebar-main-link,.dashboard-page.sidebar-collapsed .sidebar-nav,.dashboard-page.sidebar-collapsed .sidebar-system-status{display:none}
.dashboard-frame{width:0;min-width:0;max-width:100%;flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden}.dashboard-topbar{height:4.5rem;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;background:rgba(255,255,255,.94);border-bottom:1px solid var(--ui-border);z-index:40}.topbar-start,.topbar-actions{display:flex;align-items:center;gap:.7rem}.topbar-context{display:grid;gap:.1rem;font-size:.84rem}.topbar-context span{color:var(--ui-muted);font-size:.72rem}.topbar-datetime{display:flex;align-items:center;gap:.4rem;white-space:nowrap}.topbar-datetime>span[aria-hidden=true]{color:#cbd5e1}#current-time{color:var(--ui-primary);font-variant-numeric:tabular-nums;font-weight:700}.icon-button{position:relative;display:grid;place-items:center;width:2.65rem;height:2.65rem;border:1px solid var(--ui-border);border-radius:.8rem;background:#fff;color:#475569;cursor:pointer}.icon-button:hover{color:var(--ui-primary);background:var(--ui-primary-soft);border-color:#c7d2fe}.notification-dot{position:absolute;top:-.25rem;right:-.25rem;min-width:1.15rem;height:1.15rem;display:grid;place-items:center;border:2px solid #fff;border-radius:1rem;background:var(--ui-danger);color:#fff;font-size:.6rem;font-weight:800}.profile-toggle{display:flex;align-items:center;gap:.65rem;padding:.35rem .5rem;border:1px solid transparent;border-radius:2rem}.profile-meta{display:grid;text-align:left}.profile-meta strong{font-size:.78rem}.profile-meta small{color:var(--ui-muted);font-size:.68rem}.dashboard-main{min-width:0;min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;padding:2rem;background:var(--ui-canvas)}.dashboard-container{width:min(100%,88rem);margin:auto;display:grid;gap:2rem}.subsystem-header-card{position:static;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;width:100%;max-width:100%;padding:1rem 1.35rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 6px 20px rgba(15,23,42,.08)}.subsystem-header-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0}.subsystem-pill-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.48rem .95rem;border:1px solid #c7d2fe;border-radius:.75rem;background:var(--ui-primary-soft);color:var(--ui-primary-dark);font-family:var(--font-label);font-size:.84rem;font-weight:700;line-height:1;white-space:nowrap;box-shadow:0 1px 3px rgba(79,70,229,.08)}.subsystem-pill-badge .material-symbols-outlined{font-size:1.15rem}@media(max-width:640px){.subsystem-header-card{padding:.85rem 1rem;border-radius:var(--ui-radius)}.subsystem-pill-badge{padding:.42rem .8rem;font-size:.8rem}.subsystem-pill-badge .material-symbols-outlined{font-size:1.05rem}}
.dashboard-welcome{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:2rem;border-radius:var(--ui-radius-lg);color:#fff;background:linear-gradient(120deg,#1e2a68,#4338ca);box-shadow:0 18px 42px rgba(49,46,129,.18)}.dashboard-welcome:after{content:"";position:absolute;width:15rem;height:15rem;right:-6rem;top:-8rem;border:2.5rem solid rgba(255,255,255,.07);border-radius:50%}.welcome-copy,.welcome-actions{position:relative;z-index:1}.dashboard-breadcrumb{display:flex;flex-wrap:wrap;gap:.45rem;color:#c7d2fe;font-size:.74rem}.welcome-kicker{display:flex;align-items:center;gap:.4rem;margin-top:1.35rem;color:#c7d2fe;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.welcome-kicker span{font-size:1rem}.dashboard-welcome h1{margin-top:.35rem;color:#fff;font-size:clamp(1.65rem,3vw,2.25rem);letter-spacing:-.04em}.dashboard-welcome p:last-child{margin-top:.45rem;color:#e0e7ff}.welcome-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;max-width:35rem}.welcome-date{width:100%;text-align:right;color:#c7d2fe;font-size:.78rem}.button{min-height:2.65rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1rem;border-radius:.8rem;font-weight:700;cursor:pointer}.button:disabled{opacity:.75;cursor:not-allowed}.button .material-symbols-outlined{font-size:1.1rem}.button-ghost{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff}.button-light{border:0;background:#fff;color:var(--ui-primary-dark)}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-eyebrow{color:var(--ui-primary);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.section-heading h2{margin-top:.15rem;font-size:1.15rem}.data-status{padding:.35rem .65rem;border-radius:2rem;color:var(--ui-success);background:#ecfdf5;font-size:.72rem;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.stat-card{position:relative;overflow:hidden;min-height:9.5rem;padding:1.1rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.045);transition:transform .18s,box-shadow .18s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--ui-shadow)}.stat-top{display:flex;justify-content:space-between;gap:.5rem}.stat-icon{display:grid;place-items:center;width:2.45rem;height:2.45rem;border-radius:.75rem;color:var(--ui-primary);background:var(--ui-primary-soft)}.stat-value{margin-top:1rem;font-size:1.65rem;font-weight:800;letter-spacing:-.04em}.stat-label{color:var(--ui-muted);font-size:.78rem}.stat-trend{display:inline-flex;margin-top:.55rem;color:var(--ui-success);font-size:.68rem;font-weight:700}.status-badge{display:inline-flex;align-items:center;padding:.3rem .6rem;border-radius:2rem;font-size:.66rem;font-weight:800}.status-success{color:var(--ui-success);background:#ecfdf5}.status-warning{color:var(--ui-warning);background:#fffbeb}.monitoring-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem}.dashboard-card{padding:1.35rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:#fff;box-shadow:0 8px 26px rgba(15,23,42,.05)}.monitor-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.monitor-title h3{font-size:1rem}.monitor-title p{color:var(--ui-muted);font-size:.75rem}.architecture-flow{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:1.6rem}.architecture-flow span{padding:.75rem .9rem;border:1px solid #dbe3ff;border-radius:.75rem;background:var(--ui-primary-soft);color:var(--ui-primary-dark);font-size:.74rem;font-weight:700}.architecture-flow i{color:#94a3b8;font-style:normal}.security-list{display:grid;gap:.7rem;margin-top:1.25rem}.security-list span{display:flex;align-items:center;gap:.6rem;color:#475569;font-size:.76rem}.security-list i{color:var(--ui-success);font-size:1.05rem;font-style:normal}.alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:var(--ui-radius);font-size:.8rem}.alert.warning{border:1px solid #fde68a;background:#fffbeb;color:#92400e}.alert p{margin-top:.2rem}.dashboard-footer{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 0;border-top:1px solid var(--ui-border);color:var(--ui-muted);font-size:.75rem}.dashboard-footer nav{display:flex;gap:1rem}.dash-backdrop{position:fixed;inset:0;display:none;background:rgba(15,23,42,.58);z-index:45}
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:#f4f2ff}.auth-shell{width:100%;display:grid;justify-items:center}.auth-card{width:min(100%,26.25rem);padding:2rem;border:0;border-radius:1rem;background:#fff;box-shadow:0 10px 40px rgba(0,0,0,.06)}.auth-heading{text-align:center;margin-bottom:1.5rem}.auth-brand-mark{display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}.auth-brand-mark img{width:4rem;height:4rem;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(79,70,229,.12));transition:transform .18s ease}.auth-brand-mark img:hover{transform:scale(1.05)}.auth-heading h1{color:#1e293b;font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.auth-heading p{margin-top:.25rem;color:#64748b;font-family:var(--font-label);font-size:.75rem;font-weight:500}.auth-form{display:grid;gap:0}.auth-form>label{margin:0 0 .375rem;color:#475569;font-family:var(--font-label);font-size:.75rem;font-weight:500}.auth-input{position:relative;margin-bottom:1rem}.auth-input>span{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1.1rem;pointer-events:none}.auth-input input{display:block;width:100%;height:2.5rem;padding:.5rem 2.4rem;border:1px solid #e2e8f0;border-radius:.55rem;background:#fff;color:#1e293b;font-size:.75rem;outline:0}.auth-input input:focus{border-color:#5842e3;box-shadow:0 0 0 2px rgba(88,66,227,.14)}.auth-input button{position:absolute;right:.2rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:2.25rem;height:2.25rem;border:0;background:transparent;color:#94a3b8;cursor:pointer}.auth-input button:hover{color:#5842e3}.auth-options{display:flex;align-items:center;justify-content:space-between;margin-top:.05rem;margin-bottom:1rem;font-family:var(--font-label);font-size:.75rem}.remember{display:flex;align-items:center;gap:.5rem;color:#64748b}.remember input{width:1rem;height:1rem;accent-color:#5842e3}.auth-link{color:#5842e3;font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.auth-link:hover{color:#4934cc;text-decoration:underline}.auth-submit{width:100%;height:2.5rem;padding:.5rem 1rem;border:1px solid transparent;border-radius:.55rem;background:#5842e3;color:#fff;font-size:.75rem;font-weight:600;box-shadow:0 2px 5px rgba(88,66,227,.18);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.auth-submit:hover{background:#4934cc}.auth-submit:active{transform:scale(.98)}.auth-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #f1f5f9;text-align:center}.auth-back-link{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;color:#64748b;font-size:.75rem;font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.auth-back-link:hover{color:#1e293b}.auth-back-link span{font-size:.875rem}.auth-error{display:flex;align-items:center;gap:.55rem;margin-bottom:1rem;padding:.75rem;border-radius:.55rem;background:#fef2f2;color:#b91c1c;font-size:.75rem}.auth-error span:first-child{font-size:1.1rem}
@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.dashboard-sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);width:min(20rem,86vw)!important;box-shadow:var(--ui-shadow);transition:transform var(--transition-smooth)}.dashboard-page.mobile-sidebar-open .dashboard-sidebar{transform:translateX(0)}.dashboard-page.mobile-sidebar-open .dash-backdrop{display:block}.dashboard-page.sidebar-collapsed .sidebar-label,.dashboard-page.sidebar-collapsed .sidebar-brand-copy,.dashboard-page.sidebar-collapsed .sidebar-brand-change{display:grid}.dashboard-page.sidebar-collapsed .sidebar-brand-card,.dashboard-page.sidebar-collapsed .sidebar-main-link,.dashboard-page.sidebar-collapsed .sidebar-subsystem-link,.dashboard-page.sidebar-collapsed .sidebar-profile-card{justify-content:flex-start}.monitoring-grid{grid-template-columns:1fr}.dashboard-main{padding:1.25rem}}@media(max-width:640px){.topbar-context,.profile-meta{display:none}.dashboard-topbar{padding:0 .8rem}.dashboard-main{padding:.85rem}.dashboard-container{gap:1.35rem}.dashboard-welcome{align-items:stretch;flex-direction:column;padding:1.3rem}.welcome-actions{justify-content:flex-start}.welcome-date{text-align:left}.welcome-actions .button{flex:1 1 100%}.stats-grid{grid-template-columns:1fr}.dashboard-footer{align-items:flex-start;flex-direction:column}.auth-card{padding:1.5rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.empty-state{display:grid;justify-items:center;gap:1rem;padding:5rem 1rem;text-align:center}.empty-state>strong{font-size:4rem;color:var(--ui-primary)}.empty-state h2{font-size:1.25rem}.primary-button{display:inline-flex;padding:.7rem 1rem;border-radius:.8rem;background:var(--ui-primary);color:#fff;text-decoration:none;font-weight:700}
.sidebar-subsystem-link.active{color:var(--ui-primary-dark);background:var(--ui-primary-soft);box-shadow:inset 3px 0 var(--ui-primary)}.module-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.65rem 2rem;border:1px solid #dbe3ff;border-radius:var(--ui-radius-lg);background:linear-gradient(120deg,#fff,#eef2ff);box-shadow:0 8px 26px rgba(15,23,42,.04)}.module-hero h1{margin-top:.35rem;font-size:1.8rem}.module-hero>div>p:last-child{max-width:46rem;margin-top:.4rem;color:var(--ui-muted);font-size:.84rem}.module-breadcrumb{display:flex;gap:.45rem;margin-bottom:1rem;color:var(--ui-muted);font-size:.7rem}.module-breadcrumb a{color:var(--ui-primary);text-decoration:none}.module-hero .section-eyebrow{display:flex;align-items:center;gap:.4rem}.module-hero .section-eyebrow span{font-size:1rem}.module-hero-icon{display:grid;place-items:center;width:5rem;height:5rem;flex:none;border-radius:1.35rem;background:var(--ui-primary);color:#fff;font-size:2.4rem;box-shadow:0 16px 34px rgba(79,70,229,.22)}.alert.success{border:1px solid #a7f3d0;background:#ecfdf5;color:#166534}.module-grid{display:grid;grid-template-columns:minmax(19rem,.7fr) minmax(0,1.5fr);gap:1rem;align-items:start}.workspace-card{padding:1.35rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:#fff;box-shadow:0 8px 26px rgba(15,23,42,.05)}.workspace-card.wide{width:100%}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem}.card-heading h2{margin-top:.15rem;font-size:1.15rem}.module-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.module-form label{display:grid;gap:.4rem;color:#334155;font-family:var(--font-label);font-size:.75rem;font-weight:700}.module-form input,.module-form select,.module-form textarea{width:100%;min-height:2.75rem;padding:.65rem .75rem;border:1px solid #cbd5e1;border-radius:.7rem;background:#fff;outline:0;font-weight:400}.module-form textarea{min-height:5rem;resize:vertical}.module-form input:focus,.module-form select:focus,.module-form textarea:focus{border-color:var(--ui-primary);box-shadow:0 0 0 3px rgba(79,70,229,.13)}.module-form .full{grid-column:1/-1}.button-primary{border:0;background:var(--ui-primary);color:#fff}.button-primary:hover{background:var(--ui-primary-dark)}.method-note{display:flex;gap:.55rem;padding:.8rem;border-radius:.7rem;background:#eff6ff;color:#1e40af;font-size:.73rem}.method-note span{font-size:1rem}.table-scroll{overflow:auto;margin:0 -1.35rem -1.35rem}.table-card table{width:100%;min-width:46rem;border-collapse:collapse}.table-card th{padding:.75rem 1rem;border-block:1px solid var(--ui-border);background:#f8fafc;color:#64748b;font-size:.65rem;letter-spacing:.07em;text-align:left;text-transform:uppercase;white-space:nowrap}.table-card td{padding:.85rem 1rem;border-bottom:1px solid #eef2f7;color:#334155;font-size:.73rem;vertical-align:middle}.table-card tbody tr:hover{background:#fafbff}.cell-note{display:block;max-width:28rem;margin-top:.2rem;color:var(--ui-muted);font-weight:400}.status-info{color:var(--ui-info);background:#eff6ff}.table-action{display:inline-flex;align-items:center;gap:.25rem;padding:.42rem .6rem;border:1px solid #c7d2fe;border-radius:.55rem;background:var(--ui-primary-soft);color:var(--ui-primary-dark);font-size:.68rem;font-weight:700;cursor:pointer;white-space:nowrap}.table-action span{font-size:.95rem}.table-empty{display:grid;justify-items:center;gap:.3rem;padding:2.5rem;color:var(--ui-muted)}.table-empty>span{font-size:2rem;color:#94a3b8}.table-empty small{font-size:.68rem}.inline-form{display:flex;gap:.35rem}.inline-form select,.inline-form button{min-height:2rem;padding:.25rem .4rem;border:1px solid var(--ui-border);border-radius:.45rem;background:#fff;font-size:.68rem}.inline-form button{background:var(--ui-primary);color:#fff;cursor:pointer}
@media(max-width:1050px){.module-grid{grid-template-columns:1fr}}@media(max-width:640px){.module-hero{padding:1.25rem}.module-hero-icon{display:none}.module-form{grid-template-columns:1fr}.module-form .full{grid-column:auto}.table-scroll{margin-inline:-1rem}.workspace-card{padding:1rem}}
.module-export,.print-report-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;padding:.5rem .7rem;border:1px solid #c7d2fe;border-radius:.65rem;background:#fff;color:var(--ui-primary-dark);font-size:.7rem;font-weight:700;text-decoration:none}.module-export span,.print-report-link span{font-size:1rem}.print-report-link{width:100%;justify-content:center;margin-top:1.25rem}
.topbar-datetime small{padding:.1rem .35rem;border-radius:999px;background:var(--ui-primary-soft);color:var(--ui-primary);font-size:.55rem;font-weight:800}.profile-dropdown-wrap{position:relative}.profile-avatar-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.profile-floating-badge{position:absolute;top:-.25rem;right:-.25rem;min-width:1.2rem;height:1.2rem;padding:0 .3rem;display:grid;place-items:center;border:2px solid #fff;border-radius:999px;background:var(--ui-danger,#ef4444);color:#fff;font-size:.6rem;font-weight:800;line-height:1;box-shadow:0 2px 6px rgba(239,68,68,.4);z-index:5}.profile-toggle{border:0;background:transparent;cursor:pointer}.profile-toggle:hover,.profile-toggle[aria-expanded=true]{border-color:var(--ui-border);background:#f8fafc}.profile-chevron{font-size:1.1rem;transition:transform .18s}.profile-toggle[aria-expanded=true] .profile-chevron{transform:rotate(180deg)}.profile-menu{position:absolute;right:0;top:calc(100% + .65rem);z-index:90;width:13rem;padding:.5rem;border:1px solid var(--ui-border);border-radius:1rem;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.16)}.profile-menu button{width:100%;display:flex;align-items:center;gap:.7rem;padding:.7rem .75rem;border:0;border-radius:.65rem;background:transparent;color:#334155;text-align:left;font-size:.78rem;cursor:pointer}.profile-menu button:hover{background:#f8fafc;color:var(--ui-primary)}.profile-menu button span{font-size:1.15rem}.profile-menu form{margin-top:.3rem;padding-top:.3rem;border-top:1px solid #eef2f7}.profile-menu .profile-signout{color:var(--ui-danger)}.profile-menu .profile-signout:hover{background:#fef2f2;color:var(--ui-danger)}.account-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:1rem;background:rgba(15,23,42,.55);backdrop-filter:blur(3px)}.account-modal-panel{position:relative;width:min(100%,30rem);padding:2rem;border-radius:1.5rem;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.25);text-align:center}.account-close{position:absolute;right:1rem;top:1rem;display:grid;place-items:center;width:2.4rem;height:2.4rem;border:1px solid var(--ui-border);border-radius:.7rem;background:#fff;cursor:pointer}.account-avatar{display:grid;place-items:center;width:4.5rem;height:4.5rem;margin:0 auto 1rem;border:1px solid #c7d2fe;border-radius:50%;background:var(--ui-primary-soft);color:var(--ui-primary);font-size:1.2rem;font-weight:800}.account-modal-panel h2{margin:.3rem 0 1.25rem}.account-details{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;text-align:left}.account-details div{display:grid;gap:.2rem;padding:.8rem;border:1px solid var(--ui-border);border-radius:.8rem;background:#f8fafc}.account-details span{color:var(--ui-muted);font-size:.65rem}.account-details strong{overflow-wrap:anywhere;font-size:.75rem}.account-modal-panel>p:last-child{margin-top:1.1rem;color:var(--ui-muted);font-size:.72rem}[hidden]{display:none!important}@media(max-width:640px){.profile-toggle>.profile-chevron{display:none}.account-details{grid-template-columns:1fr}.topbar-datetime small{display:none}}
.dashboard-filter-card{position:sticky;top:-2rem;z-index:20;display:flex;align-items:end;gap:.7rem;flex-wrap:wrap;padding:1rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:rgba(255,255,255,.96);box-shadow:0 8px 25px rgba(15,23,42,.05);backdrop-filter:blur(12px)}.dashboard-filter-card label{display:grid;gap:.3rem;color:var(--ui-muted);font-size:.65rem;font-weight:700}.dashboard-filter-card input,.dashboard-filter-card select{min-height:2.65rem;padding:.55rem .7rem;border:1px solid #cbd5e1;border-radius:.65rem;background:#fff}.dashboard-filter-card .data-status{margin-left:auto}.button-secondary{border:1px solid var(--ui-border);background:#fff;color:#334155}.skeleton-value{width:65%;height:1.8rem;border-radius:.4rem;background:linear-gradient(90deg,#eef2f7,#f8fafc,#eef2f7);background-size:200% 100%;color:transparent;animation:skeleton 1.2s infinite}.analytics-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem}.chart-card{min-width:0}.chart-wide{grid-row:span 2}.chart-wrap{position:relative;height:18rem;margin-top:1rem}.chart-wide .chart-wrap{height:27rem}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--ui-muted);font-size:.76rem}.dashboard-lower-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;align-items:start}.activity-list,.dashboard-alert-list{display:grid;gap:.25rem}.activity-item,.dashboard-alert{display:flex;align-items:center;gap:.75rem;padding:.7rem;border-radius:.7rem}.activity-item:hover,.dashboard-alert:hover{background:#f8fafc}.activity-item>span{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.65rem;background:var(--ui-primary-soft);color:var(--ui-primary);font-size:1rem}.activity-item div,.dashboard-alert div{display:grid;gap:.1rem}.activity-item strong,.dashboard-alert strong{font-size:.73rem;text-transform:capitalize}.activity-item small,.dashboard-alert small{color:var(--ui-muted);font-size:.64rem}.alert-severity{width:.55rem;height:2.3rem;border-radius:999px;background:#3b82f6}.alert-severity.warning{background:#f59e0b}.alert-severity.critical{background:#ef4444}.alert-severity.information{background:#3b82f6}.loading-lines{display:grid;gap:.6rem}.loading-lines i{height:2.8rem;border-radius:.6rem;background:#f1f5f9;animation:skeleton 1.2s infinite}.mini-empty{padding:2rem;text-align:center;color:var(--ui-muted);font-size:.75rem}@keyframes skeleton{to{background-position:-200% 0}}@media(max-width:1050px){.analytics-grid{grid-template-columns:1fr}.chart-wide{grid-row:auto}.chart-wide .chart-wrap{height:20rem}}@media(max-width:760px){.dashboard-lower-grid{grid-template-columns:1fr}.dashboard-filter-card{position:static}.dashboard-filter-card label{flex:1 1 9rem}.dashboard-filter-card .button{flex:1}.dashboard-filter-card .data-status{width:100%;margin:0;text-align:center}}
.notification-center{display:grid;gap:.45rem}.notification-row{position:relative;display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid var(--ui-border);border-radius:.85rem;background:#fff}.notification-row.is-read{opacity:.68;background:#f8fafc}.notification-row>span.material-symbols-outlined{color:var(--ui-primary)}.notification-row>div:nth-of-type(1){min-width:0;flex:1}.notification-row p{color:var(--ui-muted);font-size:.73rem}.notification-row small{color:#94a3b8;font-size:.62rem}.notice-priority{width:.35rem;align-self:stretch;border-radius:999px;background:#64748b}.notice-priority.medium{background:#3b82f6}.notice-priority.high{background:#f59e0b}.notice-priority.critical{background:#ef4444}.row-actions{display:flex;gap:.35rem}.danger-action{border-color:#fecaca!important;background:#fef2f2!important;color:#b91c1c!important}.decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.decision-card{display:grid;gap:.8rem}.decision-top{display:flex;align-items:center;justify-content:space-between}.decision-top small,.decision-card>small{color:var(--ui-muted);font-size:.65rem}.decision-card>p{color:var(--ui-muted);font-size:.78rem}.decision-recommendation{display:grid;gap:.25rem;padding:.85rem;border-left:3px solid var(--ui-primary);border-radius:.4rem;background:var(--ui-primary-soft);font-size:.73rem}.table-tools{display:flex;padding:0 0 1rem}.table-tools input{width:min(100%,24rem);padding:.7rem .85rem;border:1px solid #cbd5e1;border-radius:.7rem}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.setting-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.85rem}.setting-card>span{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:.8rem;background:var(--ui-primary-soft);color:var(--ui-primary)}.setting-card>div{display:grid}.setting-card>div small{color:var(--ui-muted);font-size:.65rem}.setting-card form{grid-column:1/-1;display:flex;gap:.5rem}.setting-card input{min-width:0;flex:1;padding:.6rem .7rem;border:1px solid #cbd5e1;border-radius:.6rem}@media(max-width:760px){.decision-grid,.settings-grid{grid-template-columns:1fr}.notification-row{align-items:flex-start;flex-wrap:wrap}.notification-row .row-actions{width:100%;justify-content:flex-end}}
.import-card>p{color:var(--ui-muted);font-size:.75rem}.import-card code{padding:.15rem .3rem;border-radius:.35rem;background:#f1f5f9;color:#334155}.import-form{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.import-form input[type=file]{min-width:0;flex:1;padding:.65rem;border:1px dashed #a5b4fc;border-radius:.7rem;background:#f8faff;font-size:.72rem}@media(max-width:640px){.import-form{align-items:stretch;flex-direction:column}}
.auto-table-tools{align-items:center;gap:.5rem;flex-wrap:wrap}.auto-table-tools input{margin-right:auto}.auto-table-tools label{display:flex;align-items:center;gap:.35rem;color:var(--ui-muted);font-size:.68rem}.auto-table-tools select,.auto-table-tools button{padding:.5rem .6rem;border:1px solid var(--ui-border);border-radius:.55rem;background:#fff;font-size:.68rem}.auto-table-tools button{cursor:pointer}.auto-table-tools button:disabled{opacity:.45;cursor:not-allowed}.table-page-summary{color:var(--ui-muted);font-size:.66rem}
.top-notification-wrap{position:relative}.top-notification-menu{position:absolute;right:0;top:calc(100% + .7rem);z-index:100;width:min(23rem,calc(100vw - 1.5rem));overflow:hidden;border:1px solid var(--ui-border);border-radius:1rem;background:#fff;box-shadow:0 20px 55px rgba(15,23,42,.18)}.notification-menu-head{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;border-bottom:1px solid var(--ui-border)}.notification-menu-head>div{display:grid}.notification-menu-head strong{font-size:.82rem}.notification-menu-head small{color:var(--ui-muted);font-size:.62rem}.notification-menu-head button{border:0;background:none;color:var(--ui-primary);font-size:.68rem;font-weight:700;cursor:pointer}.notification-menu-list{max-height:25rem;overflow:auto;padding:.35rem}.top-notice-item{width:100%;display:flex;align-items:stretch;gap:.7rem;padding:.75rem;border:0;border-radius:.7rem;background:#fff;text-align:left;cursor:pointer}.top-notice-item:hover{background:#f8faff}.top-notice-item.is-read{opacity:.62}.top-notice-item>span:last-child{min-width:0;display:grid;gap:.1rem}.top-notice-item strong{font-size:.72rem}.top-notice-item small{overflow:hidden;color:var(--ui-muted);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.top-notice-item em{color:#94a3b8;font-size:.58rem;font-style:normal}.top-notice-empty{display:grid;justify-items:center;gap:.25rem;padding:2.5rem;color:var(--ui-muted)}.top-notice-empty>span{font-size:2rem}.top-notice-empty strong{font-size:.76rem}.top-notice-empty small{font-size:.65rem}
.database-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.database-chart-card{min-width:0;padding:1.25rem}.database-chart-card.chart-full{grid-column:1/-1}.chart-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.chart-card-heading h3{font-size:.95rem}.chart-card-heading p{margin-top:.2rem;color:var(--ui-muted);font-size:.7rem}.chart-export-button{display:grid;place-items:center;width:2.3rem;height:2.3rem;flex:none;border:1px solid var(--ui-border);border-radius:.65rem;background:#fff;color:var(--ui-primary);cursor:pointer}.chart-export-button:hover{border-color:#c7d2fe;background:var(--ui-primary-soft)}.chart-export-button span{font-size:1.05rem}.database-chart-container{position:relative;width:100%;min-height:320px;height:38vh;max-height:460px;margin-top:.8rem}.chart-full .database-chart-container{height:42vh}.chart-loading,.chart-state{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:.65rem;border-radius:.8rem;background:#fafbff;color:var(--ui-muted);font-size:.72rem;text-align:center}.chart-spinner{width:2rem;height:2rem;border:3px solid #e0e7ff;border-top-color:var(--ui-primary);border-radius:50%;animation:chart-spin .7s linear infinite}.chart-state>span{font-size:2rem;color:#94a3b8}.chart-state button{padding:.45rem .7rem;border:1px solid #c7d2fe;border-radius:.55rem;background:var(--ui-primary-soft);color:var(--ui-primary);font-size:.68rem;font-weight:700;cursor:pointer}.chart-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.7rem;border-top:1px solid #eef2f7;color:var(--ui-muted);font-size:.6rem}.low-stock-note{margin-top:.65rem;padding:.55rem .7rem;border:1px solid #fde68a;border-radius:.6rem;background:#fffbeb;color:#92400e;font-size:.68rem}.forecast-disclaimer{margin-top:.65rem;padding:.65rem;border-left:3px solid var(--ui-primary);background:#f8faff;color:var(--ui-muted);font-size:.66rem}@keyframes chart-spin{to{transform:rotate(360deg)}}@media(max-width:850px){.database-chart-grid{grid-template-columns:1fr}.database-chart-card.chart-full{grid-column:auto}.database-chart-container,.chart-full .database-chart-container{height:340px;min-height:300px}}@media(prefers-reduced-motion:reduce){.chart-spinner{animation-duration:1.5s}}
.profile-breadcrumb{display:flex;align-items:center;gap:.45rem;padding-bottom:1rem;border-bottom:1px solid var(--ui-border);color:var(--ui-muted);font-size:.76rem}.profile-breadcrumb a{color:var(--ui-primary);text-decoration:none}.profile-breadcrumb span.material-symbols-outlined{font-size:1rem}.profile-cover{position:relative;min-height:13.5rem;overflow:hidden;margin-top:-1rem;border:1px solid var(--ui-border);border-radius:0 0 1.5rem 1.5rem;background:linear-gradient(120deg,#fff,#f8faff)}.profile-grid-pattern{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(#eef2f7 1px,transparent 1px),linear-gradient(90deg,#eef2f7 1px,transparent 1px);background-size:4.5rem 4.5rem;mask-image:linear-gradient(to bottom,#000,transparent)}.profile-identity{position:absolute;left:2rem;bottom:1.5rem;display:flex;align-items:flex-end;gap:1.2rem}.profile-photo{width:6.4rem;height:6.4rem;border:5px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 12px 28px rgba(15,23,42,.15)}.profile-photo-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#06b6d4,#4f46e5);color:#fff;font-size:1.55rem;font-weight:800}.profile-identity h1{display:flex;align-items:center;gap:.35rem;font-size:1.75rem}.profile-identity>div>p{color:var(--ui-muted);font-size:.82rem}.verified-badge{color:#1d9bf0;font-size:1.25rem}.identity-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.65rem}.identity-tags span{padding:.28rem .55rem;border:1px solid #dbe3ff;border-radius:999px;background:#fff;color:#475569;font-size:.62rem;font-weight:700}.profile-content-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(18rem,.65fr);gap:1rem;align-items:start}.profile-details-card,.profile-security-card,.profile-verification-card{overflow:hidden;border:1px solid var(--ui-border);border-radius:1rem;background:#fff;box-shadow:0 8px 25px rgba(15,23,42,.04)}.profile-details-card>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.3rem;border-bottom:1px solid var(--ui-border)}.profile-details-card h2,.profile-security-card h2{margin-top:.2rem;font-size:1rem}.profile-verified-label{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .55rem;border-radius:999px;background:#ecfdf5;color:#15803d;font-size:.63rem;font-weight:700}.profile-verified-label span{font-size:.9rem}.personal-details>div{display:grid;grid-template-columns:minmax(8rem,.75fr) 1.4fr;gap:1rem;padding:.85rem 1.3rem;border-bottom:1px dashed #e2e8f0}.personal-details dt{color:#64748b;font-size:.75rem}.personal-details dd{display:flex;align-items:center;gap:.35rem;color:#172033;font-size:.76rem;font-weight:600}.personal-details dd span{color:var(--ui-primary);font-size:1rem}.profile-details-card>footer{display:flex;gap:.7rem;padding:1rem 1.3rem;background:#f8faff;color:var(--ui-muted)}.profile-details-card>footer span{color:var(--ui-primary)}.profile-details-card>footer p{font-size:.68rem}.profile-side{display:grid;gap:1rem}.profile-security-card header{display:flex;align-items:center;gap:.65rem;padding:1.1rem;border-bottom:1px solid var(--ui-border)}.profile-security-card header>span{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:.75rem;background:var(--ui-primary-soft);color:var(--ui-primary)}.profile-security-card dl>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.1rem;border-bottom:1px dashed #e2e8f0}.profile-security-card dt{color:var(--ui-muted);font-size:.68rem}.profile-security-card dd{font-size:.7rem;font-weight:600;text-align:right}.profile-verification-card{padding:1.2rem;text-align:center}.profile-verification-card>span{display:grid;place-items:center;width:3rem;height:3rem;margin:auto;border-radius:50%;background:#ecfdf5;color:#15803d}.profile-verification-card h3{margin-top:.65rem;font-size:.86rem}.profile-verification-card p{margin-top:.3rem;color:var(--ui-muted);font-size:.68rem}@media(max-width:900px){.profile-content-grid{grid-template-columns:1fr}}@media(max-width:600px){.profile-cover{min-height:17rem}.profile-identity{left:1rem;right:1rem;bottom:1rem;align-items:center;flex-direction:column;text-align:center}.profile-identity h1{justify-content:center;font-size:1.4rem}.identity-tags{justify-content:center}.profile-photo{width:5.5rem;height:5.5rem}.personal-details>div{grid-template-columns:1fr;gap:.25rem}.profile-details-card>header{align-items:flex-start;flex-direction:column}}
/* Settings hub and personal account settings */
.settings-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:6px 0 34px}.settings-page-head h1{font-size:30px;line-height:1.15;margin:22px 0 7px;color:#111827}.settings-page-head p{margin:0;color:#64748b}.settings-breadcrumb{display:flex;align-items:center;gap:10px;font-size:12px;color:#64748b}.settings-breadcrumb a{color:#4f46e5;text-decoration:none}.settings-outline-button,.settings-save-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #c7d2fe;border-radius:7px;background:#fff;color:#4338ca;font-weight:700;text-decoration:none;padding:11px 16px;white-space:nowrap}.settings-outline-button .material-symbols-outlined{font-size:18px}.settings-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.settings-hub-card{min-height:118px;padding:23px 18px;display:grid;grid-template-columns:48px 1fr 22px;align-items:center;gap:16px;border:1px solid #e2e8f0;border-radius:15px;background:#fff;color:#111827;text-decoration:none;box-shadow:0 7px 22px rgba(15,23,42,.025);transition:.18s ease}.settings-hub-card:hover{transform:translateY(-2px);border-color:#c7d2fe;box-shadow:0 12px 30px rgba(79,70,229,.08)}.settings-hub-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#eef0ff;color:#5145f5;font-size:27px}.settings-hub-card strong,.settings-hub-card small{display:block}.settings-hub-card strong{font-size:14px;margin-bottom:8px}.settings-hub-card small{color:#64748b;line-height:1.55}.settings-card-arrow{color:#475569;font-size:20px}.settings-alert{display:flex;align-items:center;gap:9px;padding:12px 15px;margin:-17px 0 20px;border-radius:9px;font-size:14px}.settings-alert.success{background:#ecfdf3;color:#087443}.settings-alert.error{background:#fef2f2;color:#b91c1c}.account-settings-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:start}.account-settings-nav,.account-settings-card{background:#fff;border:1px solid #e2e8f0;border-radius:11px}.account-settings-nav{padding:10px;display:flex;flex-direction:column;gap:4px}.account-settings-nav a{display:grid;grid-template-columns:28px 1fr;gap:11px;padding:13px 11px;border-radius:7px;color:#334155;text-decoration:none}.account-settings-nav a.active{background:#f0efff;color:#4338ca}.account-settings-nav .material-symbols-outlined{font-size:21px}.account-settings-nav strong,.account-settings-nav small{display:block}.account-settings-nav strong{font-size:13px}.account-settings-nav small{font-size:11px;color:#64748b;margin-top:5px}.account-settings-card{padding:22px}.account-settings-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}.account-settings-card h2{font-size:18px;margin:0 0 6px}.account-settings-card header p{font-size:12px;color:#64748b;margin:0}.settings-save-button{border:0;background:#4f46e5;color:#fff;padding:10px 14px;cursor:pointer}.settings-save-button .material-symbols-outlined{font-size:17px}.account-profile-form{display:grid;grid-template-columns:100px minmax(0,1fr);gap:27px}.account-photo-wrap{position:relative;width:90px;height:90px}.account-photo-wrap>span,.account-photo-wrap>img{display:grid;place-items:center;width:90px;height:90px;border-radius:50%;background:linear-gradient(145deg,#eef0ff,#e9e7fb);color:#493cf3;font-size:25px;font-weight:800;object-fit:cover}.account-photo-wrap i{position:absolute;right:-2px;bottom:5px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#64748b;color:#fff;border:2px solid #fff;font-size:15px;font-style:normal}.account-fields,.focused-settings-form{display:grid;gap:15px}.account-fields label,.focused-settings-form>label{font-size:11px;color:#475569}.account-fields input,.account-fields select,.focused-settings-form input{display:block;width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;padding:10px 12px;color:#1e293b}.account-fields input[readonly]{background:#f8fafc}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.session-security-strip{margin-top:24px;border:1px solid #e2e8f0;border-radius:8px;padding:13px 15px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px}.session-security-strip>.material-symbols-outlined{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#f0efff;color:#4f46e5}.session-security-strip strong,.session-security-strip small{display:block}.session-security-strip strong{font-size:12px}.session-security-strip strong em{font-style:normal;color:#16803a;background:#dcfce7;border-radius:5px;padding:4px 8px;margin-left:7px}.session-security-strip small{color:#64748b;margin-top:5px;font-size:11px}.session-security-strip a{border:1px solid #c7d2fe;padding:9px 12px;border-radius:6px;text-decoration:none;color:#4338ca;font-size:12px;font-weight:700}.focused-settings-form{max-width:720px}.focused-settings-form header{max-width:none}.settings-form-help{color:#64748b;font-size:12px}.settings-switch-row{display:flex!important;justify-content:space-between;align-items:center;border:1px solid #e2e8f0;border-radius:9px;padding:16px!important}.settings-switch-row strong,.settings-switch-row small{display:block}.settings-switch-row strong{font-size:13px;color:#1e293b}.settings-switch-row small{margin-top:5px}.settings-switch-row input{width:19px!important;height:19px;margin:0!important}.account-history{display:grid}.account-history>div,.current-session{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;border-bottom:1px solid #edf1f5;padding:15px 4px}.account-history strong,.account-history small,.current-session strong,.current-session small{display:block}.account-history small,.current-session small{color:#64748b;font-size:11px;margin-top:4px}.current-session{border:1px solid #e2e8f0;border-radius:9px;padding:17px}.current-session em{color:#16803a;background:#dcfce7;border-radius:99px;padding:5px 9px;font-style:normal;font-size:11px}.settings-feature-state{text-align:center;padding:36px 20px}.settings-feature-state>.material-symbols-outlined{font-size:45px;color:#4f46e5}.settings-feature-state h3{margin:12px 0 8px}.settings-feature-state p{max-width:520px;margin:0 auto 18px;color:#64748b;line-height:1.6}.settings-empty{color:#64748b;padding:25px;text-align:center}
@media(max-width:1050px){.settings-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-settings-layout{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:760px){.settings-page-head{align-items:flex-start;flex-direction:column;margin-bottom:22px}.settings-hub-grid{grid-template-columns:1fr}.account-settings-layout{grid-template-columns:1fr}.account-settings-nav{display:grid;grid-template-columns:1fr 1fr}.account-settings-nav a{grid-template-columns:24px 1fr}.account-profile-form{grid-template-columns:1fr}.account-photo-wrap{margin:auto}.field-pair{grid-template-columns:1fr}.session-security-strip{grid-template-columns:34px 1fr}.session-security-strip a{grid-column:1/-1;text-align:center}.account-settings-card header{flex-direction:column}.settings-save-button{width:100%}}
@media(max-width:460px){.account-settings-nav{grid-template-columns:1fr}.settings-hub-card{grid-template-columns:43px 1fr 18px;padding:18px 14px}.account-settings-card{padding:16px}}
.picture-upload-form{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:18px;padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid #e2e8f0}.picture-upload-form>div>strong,.picture-upload-form>div>small{display:block}.picture-upload-form>div>small{margin-top:6px;color:#64748b;font-size:11px}.profile-photo-picker{position:absolute;right:-2px;bottom:5px;cursor:pointer}.profile-photo-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.profile-photo-picker i{position:static!important;display:grid!important;cursor:pointer}.profile-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.system-management-heading{margin-top:1.15rem!important}.sidebar-subsystem-link.active{color:var(--ui-primary-dark);background:var(--ui-primary-soft);box-shadow:inset 3px 0 var(--ui-primary)}
@media(max-width:600px){.picture-upload-form{grid-template-columns:90px 1fr}.picture-upload-form>.settings-outline-button{grid-column:1/-1}}
.picture-upload-form+form .account-profile-form{grid-template-columns:1fr}.picture-upload-form+form .account-profile-form>.account-photo-wrap{display:none}
.picture-upload-form{display:none!important}.direct-picture-upload{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:18px;padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid #e2e8f0}.direct-picture-upload>div>strong,.direct-picture-upload>div>small{display:block}.direct-picture-upload>div>small{margin-top:6px;color:#64748b;font-size:11px}.direct-upload-button{cursor:pointer}.direct-upload-button>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.direct-picture-upload+form .account-profile-form{grid-template-columns:1fr}.direct-picture-upload+form .account-profile-form>.account-photo-wrap{display:none}@media(max-width:600px){.direct-picture-upload{grid-template-columns:90px 1fr}.direct-upload-button{grid-column:1/-1}}
.direct-upload-button{display:none!important}.direct-picture-upload{grid-template-columns:90px 1fr!important}.account-photo-wrap{border-radius:50%;isolation:isolate}.account-photo-wrap>img,.account-photo-wrap>span{display:grid!important;width:90px!important;height:90px!important;aspect-ratio:1/1!important;border-radius:50%!important;overflow:hidden!important;object-fit:cover!important;object-position:center!important}.profile-avatar{width:2.4rem!important;height:2.4rem!important;min-width:2.4rem!important;min-height:2.4rem!important;aspect-ratio:1/1!important;overflow:hidden!important;padding:0!important;border-radius:50%!important}.profile-avatar img{display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important}.profile-photo-picker input{cursor:pointer}.profile-photo-picker{z-index:3}
.sidebar-system-status{margin:.65rem 1rem 0;padding:.8rem .85rem;border:1px solid #dbe7e3;border-radius:.85rem;background:linear-gradient(145deg,#f8fffb,#f8fafc);box-shadow:0 5px 16px rgba(15,23,42,.035)}.sidebar-system-status header{display:flex;align-items:center;gap:.55rem;margin-bottom:.55rem}.sidebar-system-status header strong{font-size:.72rem}.system-health-dot{width:9px;height:9px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 6px #fef3c7}.sidebar-system-status.is-loaded .system-health-dot{background:#16a34a;box-shadow:0 0 0 6px #dcfce7}.sidebar-system-status.is-unhealthy .system-health-dot{background:#dc2626;box-shadow:0 0 0 6px #fee2e2}.sidebar-system-status dl{display:grid;gap:.28rem;margin:0}.sidebar-system-status dl>div{display:grid;grid-template-columns:auto 1fr;gap:.25rem;align-items:center}.sidebar-system-status dt,.sidebar-system-status dd{margin:0;color:#64748b;font-size:.56rem}.sidebar-system-status dt{display:flex;align-items:center;gap:.25rem}.sidebar-system-status dt .material-symbols-outlined{font-size:.7rem}.sidebar-system-status dd{color:#475569;font-weight:600}.sidebar-system-status button{display:flex;align-items:center;justify-content:center;gap:.3rem;width:100%;margin-top:.55rem;padding:.35rem;border:0;border-radius:.45rem;background:#eef2ff;color:#4f46e5;font-size:.57rem;font-weight:700;cursor:pointer}.sidebar-system-status button:hover{background:#e0e7ff}.sidebar-system-status button .material-symbols-outlined{font-size:.8rem}.sidebar-system-status button.loading .material-symbols-outlined{animation:status-spin .8s linear infinite}@keyframes status-spin{to{transform:rotate(360deg)}}.dashboard-page.sidebar-collapsed .sidebar-system-status{display:none}
.settings-alert{overflow:hidden;max-height:80px;opacity:1;transform:translateY(0);transition:opacity .25s ease,transform .25s ease,max-height .35s ease,margin .35s ease,padding .35s ease}.settings-alert.is-collapsing{max-height:0;opacity:0;transform:translateY(-6px);margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}
/* Cross-device responsive foundation */
html,body{max-width:100%;overflow-x:hidden}img,svg,canvas,video{max-width:100%;height:auto}canvas{display:block}.dashboard-container,.workspace-card,.dashboard-card,.account-settings-card,.profile-details-card,.profile-side,.module-grid>*{min-width:0}h1,h2,h3,h4,p,strong,small,span,dd,dt,a,button,label{overflow-wrap:anywhere}.table-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}.table-scroll table{max-width:none}.dashboard-filter-card>*{min-width:0}.dashboard-filter-card input,.dashboard-filter-card select{width:100%;max-width:100%}.database-chart-container canvas,.chart-wrap canvas{width:100%!important;max-width:100%!important;height:100%!important}.account-modal-panel{max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain}.profile-menu,.top-notification-menu{max-width:calc(100vw - 1rem)}.module-breadcrumb,.settings-breadcrumb,.profile-breadcrumb{flex-wrap:wrap}.inline-form{flex-wrap:wrap}.inline-form select{min-width:7rem;max-width:100%}.settings-switch-row>span,.activity-item div,.dashboard-alert div{min-width:0}.settings-page-head,.module-hero,.card-heading,.section-heading,.chart-card-heading{min-width:0}.settings-hub-card>span:nth-child(2){min-width:0}
@media(max-width:1366px) and (min-width:1025px){:root{--sidebar-width:18rem}.dashboard-main{padding:clamp(1.25rem,2vw,1.75rem)}.dashboard-container{gap:1.5rem}.sidebar-brand{padding:.85rem}.sidebar-nav{padding:.8rem}.sidebar-subsystem-link{min-height:2.75rem}}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-filter-card label{flex:1 1 calc(25% - .7rem)}.settings-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1024px){.dashboard-sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);width:min(20rem,88vw)!important;max-width:20rem;box-shadow:var(--ui-shadow);transition:transform var(--transition-smooth)}.dashboard-page.mobile-sidebar-open .dashboard-sidebar{transform:translateX(0)}.dashboard-page.mobile-sidebar-open .dash-backdrop{display:block}.dashboard-page.sidebar-collapsed .dashboard-sidebar{width:min(20rem,88vw)!important;border-right:1px solid var(--ui-border);opacity:1;pointer-events:auto}.dashboard-page.sidebar-collapsed .sidebar-brand,.dashboard-page.sidebar-collapsed .sidebar-nav,.dashboard-page.sidebar-collapsed .sidebar-system-status{display:block}.dashboard-page.sidebar-collapsed .sidebar-main-link{display:flex}.dashboard-page.sidebar-collapsed .sidebar-label,.dashboard-page.sidebar-collapsed .sidebar-brand-copy,.dashboard-page.sidebar-collapsed .sidebar-brand-change{display:grid}.dashboard-page.sidebar-collapsed .sidebar-brand-card,.dashboard-page.sidebar-collapsed .sidebar-main-link,.dashboard-page.sidebar-collapsed .sidebar-subsystem-link{justify-content:flex-start}.dashboard-main{padding:1.25rem}.dashboard-topbar{padding-inline:1rem}.analytics-grid,.monitoring-grid,.dashboard-lower-grid,.profile-content-grid,.module-grid{grid-template-columns:1fr}.account-settings-layout{grid-template-columns:minmax(11rem,13rem) minmax(0,1fr)}.database-chart-container,.chart-full .database-chart-container{height:clamp(19rem,42vw,25rem)}}
@media(max-width:900px){.dashboard-sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);width:min(20rem,86vw)!important;box-shadow:var(--ui-shadow);transition:transform var(--transition-smooth)}.dashboard-page.mobile-sidebar-open .dashboard-sidebar{transform:translateX(0)}.dashboard-page.mobile-sidebar-open .dash-backdrop{display:block}.dashboard-page.sidebar-collapsed .dashboard-sidebar{width:min(20rem,86vw)!important;border-right:1px solid var(--ui-border);opacity:1;pointer-events:auto}.dashboard-page.sidebar-collapsed .sidebar-brand,.dashboard-page.sidebar-collapsed .sidebar-nav,.dashboard-page.sidebar-collapsed .sidebar-system-status{display:block}.dashboard-page.sidebar-collapsed .sidebar-main-link{display:flex}.dashboard-page.sidebar-collapsed .sidebar-label,.dashboard-page.sidebar-collapsed .sidebar-brand-copy,.dashboard-page.sidebar-collapsed .sidebar-brand-change{display:grid}.dashboard-page.sidebar-collapsed .sidebar-brand-card,.dashboard-page.sidebar-collapsed .sidebar-main-link,.dashboard-page.sidebar-collapsed .sidebar-subsystem-link,.dashboard-page.sidebar-collapsed .sidebar-profile-card{justify-content:flex-start}.monitoring-grid{grid-template-columns:1fr}.dashboard-main{padding:1.25rem}}
@media(max-width:820px){.dashboard-container{gap:1.35rem}.dashboard-welcome{padding:1.5rem}.stats-grid,.database-chart-grid,.settings-hub-grid{grid-template-columns:1fr}.database-chart-card.chart-full{grid-column:auto}.dashboard-filter-card{position:static;align-items:stretch}.dashboard-filter-card label{flex:1 1 calc(50% - .7rem)}.dashboard-filter-card .button{flex:1 1 10rem}.dashboard-filter-card .data-status{width:100%;margin-left:0;text-align:center}.account-settings-layout{grid-template-columns:1fr}.account-settings-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-page-head{align-items:flex-start;flex-direction:column}.module-hero{align-items:flex-start}.module-hero-icon{width:4rem;height:4rem}.module-form{grid-template-columns:1fr}.module-form .full{grid-column:auto}.chart-card-footer{align-items:flex-start;flex-direction:column;gap:.3rem}.notification-row{align-items:flex-start;flex-wrap:wrap}.notification-row .row-actions{width:100%;justify-content:flex-end}}
@media(max-width:640px){html{font-size:15px}.dashboard-topbar{height:4rem;padding-inline:.65rem}.topbar-start,.topbar-actions{gap:.4rem}.topbar-context,.profile-meta{display:none}.icon-button,.profile-toggle .profile-avatar{width:2.75rem!important;height:2.75rem!important;min-width:2.75rem!important;min-height:2.75rem!important}.dashboard-main{padding:.8rem}.dashboard-container{gap:1rem}.dashboard-welcome{align-items:stretch;flex-direction:column;gap:1rem;padding:1.15rem;border-radius:1rem}.dashboard-welcome:after{display:none}.welcome-actions{justify-content:flex-start}.welcome-date{text-align:left}.stats-grid{grid-template-columns:1fr}.stat-card{min-height:auto}.section-heading,.card-heading{align-items:flex-start;flex-wrap:wrap}.workspace-card,.dashboard-card,.database-chart-card{padding:1rem}.table-scroll{margin-inline:-1rem}.table-card table{min-width:40rem}.module-hero{padding:1.15rem}.module-hero-icon{display:none}.module-hero h1{font-size:clamp(1.4rem,7vw,1.8rem)}.dashboard-filter-card{padding:.8rem}.dashboard-filter-card label{flex-basis:100%}.dashboard-filter-card .button{width:100%;flex-basis:100%}.database-chart-container,.chart-full .database-chart-container{height:clamp(18rem,92vw,22rem);min-height:18rem}.chart-card-heading p{line-height:1.5}.account-settings-nav{grid-template-columns:1fr}.account-settings-card{padding:1rem}.account-settings-card header{align-items:stretch;flex-direction:column}.settings-save-button{width:100%;min-height:2.75rem}.field-pair{grid-template-columns:1fr}.direct-picture-upload{grid-template-columns:5.5rem minmax(0,1fr)!important;gap:.8rem}.session-security-strip{grid-template-columns:2.2rem minmax(0,1fr)}.session-security-strip a{grid-column:1/-1;text-align:center}.personal-details>div{grid-template-columns:1fr}.profile-details-card>header{align-items:flex-start;flex-direction:column}.profile-security-card dl>div{align-items:flex-start;flex-direction:column}.profile-security-card dd{text-align:left}.settings-hub-card{min-height:unset;padding:1rem}.settings-page-head h1{font-size:clamp(1.6rem,8vw,2rem)}.account-modal{padding:.5rem}.account-modal-panel{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);padding:1.25rem}.notification-menu-head{gap:.5rem}.top-notice-item small{white-space:normal}.dashboard-footer{align-items:flex-start;flex-direction:column}.dashboard-footer nav{flex-wrap:wrap}.auto-table-tools>*{flex:1 1 auto}.auto-table-tools input{width:100%;flex-basis:100%}.setting-card form{align-items:stretch;flex-direction:column}.import-form{align-items:stretch;flex-direction:column}}
.integration-phase{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.2rem 1.35rem;border:1px solid #c7d2fe;border-radius:var(--ui-radius-lg);background:linear-gradient(120deg,#eef2ff,#f8fafc)}.integration-phase-copy{display:flex;align-items:center;gap:1rem;min-width:0}.integration-phase-icon{display:grid;place-items:center;width:3rem;height:3rem;flex:none;border-radius:.85rem;background:#fff;color:var(--ui-primary);box-shadow:0 5px 16px rgba(79,70,229,.12)}.integration-phase h2{margin:.15rem 0;font-size:1rem}.integration-phase p:last-child{max-width:52rem;color:var(--ui-muted);font-size:.73rem}.integration-phase-stats{display:flex;align-items:center;gap:.65rem;flex:none}.integration-phase-stats>span{display:grid;gap:.1rem;padding:.55rem .7rem;border:1px solid #e2e8f0;border-radius:.7rem;background:#fff;color:var(--ui-muted);font-size:.62rem;white-space:nowrap}.integration-phase-stats strong{color:#1e293b;font-size:.9rem}.integration-phase-stats .phase-badge{display:flex;align-items:center;gap:.35rem;color:#92400e;background:#fffbeb;border-color:#fde68a}.phase-badge i{width:.45rem;height:.45rem;border-radius:50%;background:#f59e0b}.source-environment{display:inline-flex;padding:.3rem .5rem;border-radius:999px;font-size:.64rem;font-weight:700;white-space:nowrap}.source-environment-mock{color:#3730a3;background:#eef2ff}.source-environment-live{color:#166534;background:#ecfdf5}@media(max-width:900px){.integration-phase{align-items:flex-start;flex-direction:column}.integration-phase-stats{width:100%;flex-wrap:wrap}.integration-phase-stats>span{flex:1}}@media(max-width:520px){.integration-phase-copy{align-items:flex-start}.integration-phase-stats{display:grid;grid-template-columns:1fr 1fr}.integration-phase-stats .phase-badge{grid-column:1/-1;justify-content:center}}
.integration-process{padding:1.35rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:#fff;box-shadow:0 8px 26px rgba(15,23,42,.04)}.integration-process-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem}.integration-process-heading h2{margin-top:.2rem;font-size:1.15rem}.integration-process-heading>p{max-width:42rem;color:var(--ui-muted);font-size:.73rem;line-height:1.55}.integration-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem;margin-top:1.1rem;padding:0;list-style:none}.integration-steps li{position:relative;display:flex;align-items:flex-start;gap:.55rem;min-width:0;padding:.8rem;border:1px solid #e2e8f0;border-radius:.8rem;background:#f8fafc}.integration-steps li:not(:last-child):after{position:absolute;right:-.55rem;top:1.25rem;z-index:1;content:'›';color:#a5b4fc;font-size:1.2rem;font-weight:800}.integration-steps li>span{display:grid;place-items:center;width:1.45rem;height:1.45rem;flex:none;border-radius:50%;background:var(--ui-primary);color:#fff;font-size:.65rem;font-weight:800}.integration-steps div{display:grid;gap:.2rem;min-width:0}.integration-steps strong{color:#1e293b;font-size:.72rem}.integration-steps small{color:var(--ui-muted);font-size:.62rem;line-height:1.45}@media(max-width:1100px){.integration-steps{grid-template-columns:repeat(3,1fr)}.integration-steps li:after{display:none}}@media(max-width:700px){.integration-process-heading{align-items:flex-start;flex-direction:column;gap:.5rem}.integration-steps{grid-template-columns:1fr 1fr}}@media(max-width:460px){.integration-steps{grid-template-columns:1fr}}
.schedule-config{overflow:hidden;border:1px solid #c7d2fe;border-radius:.8rem;background:#f8faff}.schedule-config summary{display:flex;align-items:center;gap:.65rem;padding:.8rem;cursor:pointer;list-style:none;color:#3730a3}.schedule-config summary::-webkit-details-marker{display:none}.schedule-config summary>span:first-child{font-size:1.2rem}.schedule-config summary>span:nth-child(2){display:grid;gap:.1rem;flex:1}.schedule-config summary strong{font-size:.75rem}.schedule-config summary small{color:#64748b;font-size:.63rem;font-weight:500}.schedule-chevron{transition:transform .2s}.schedule-config[open] .schedule-chevron{transform:rotate(180deg)}.schedule-config-body{display:grid;gap:.65rem;padding:0 .8rem .8rem}.schedule-preview{padding:.65rem .7rem;border-radius:.65rem;background:#fff;color:#475569;font-size:.68rem;line-height:1.5}
.integration-utility-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem;padding:.75rem 1rem}.integration-utility-actions{display:flex;align-items:center;gap:.45rem}.integration-utility-stat{display:grid;min-width:3.2rem;padding:.4rem .55rem;border:1px solid #e2e8f0;border-radius:.6rem;background:#f8fafc;color:#64748b;font-size:.57rem;line-height:1.1;text-align:center}.integration-utility-stat strong{margin-bottom:.1rem;color:#1e293b;font-size:.78rem}.integration-guide-wrap{position:relative}.integration-guide-trigger{display:inline-flex;align-items:center;gap:.35rem;min-height:2.35rem;padding:.45rem .65rem;border:1px solid #c7d2fe;border-radius:.65rem;background:var(--ui-primary-soft);color:var(--ui-primary-dark);font-family:var(--font-label);font-size:.67rem;font-weight:800;cursor:pointer}.integration-guide-trigger:hover{background:#e0e7ff}.integration-guide-trigger .material-symbols-outlined{font-size:1rem}.integration-guide-trigger[aria-expanded=true] .guide-chevron{transform:rotate(180deg)}.guide-chevron{transition:transform .18s}.integration-guide-popover{position:absolute;right:0;top:calc(100% + .65rem);z-index:40;width:min(23rem,calc(100vw - 2rem));padding:1rem;border:1px solid #dbe3ff;border-radius:1rem;background:#fff;box-shadow:0 22px 50px rgba(15,23,42,.2);transform-origin:top right}.integration-guide-popover:before{position:absolute;right:1.4rem;top:-.4rem;width:.7rem;height:.7rem;content:'';border-left:1px solid #dbe3ff;border-top:1px solid #dbe3ff;background:#fff;transform:rotate(45deg)}.integration-guide-head{display:grid;grid-template-columns:2.25rem minmax(0,1fr) 1.8rem;align-items:center;gap:.6rem}.integration-guide-head>span{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.7rem;background:var(--ui-primary);color:#fff;font-size:1.15rem}.integration-guide-head>div{display:grid;gap:.12rem}.integration-guide-head strong{font-size:.78rem}.integration-guide-head small{color:var(--ui-muted);font-size:.6rem}.integration-guide-head button{display:grid;place-items:center;width:1.8rem;height:1.8rem;border:0;border-radius:50%;background:#f1f5f9;color:#64748b;cursor:pointer}.integration-guide-head button span{font-size:1rem}.integration-guide-steps{display:grid;gap:.55rem;margin:.9rem 0;padding:0;list-style:none}.integration-guide-steps li{display:flex;gap:.55rem;padding:.55rem;border-radius:.65rem;background:#f8fafc}.integration-guide-steps li>span{display:grid;place-items:center;width:1.35rem;height:1.35rem;flex:none;border-radius:50%;background:#e0e7ff;color:#3730a3;font-size:.62rem;font-weight:800}.integration-guide-steps div{display:grid;gap:.12rem}.integration-guide-steps strong{color:#334155;font-size:.68rem}.integration-guide-steps small{color:#64748b;font-size:.6rem;line-height:1.4}.integration-guide-note{display:flex;align-items:flex-start;gap:.4rem;padding:.6rem;border-radius:.65rem;background:#eff6ff;color:#1e40af;font-size:.62rem;line-height:1.45}.integration-guide-note span{font-size:.9rem}@media(max-width:720px){.integration-utility-card{align-items:flex-start;flex-direction:column}.integration-utility-actions{width:100%;flex-wrap:wrap}.integration-utility-stat{flex:1}.integration-guide-wrap{width:100%}.integration-guide-trigger{width:100%;justify-content:center}.integration-guide-popover{right:auto;left:0;width:100%}}
.integration-action-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:.9rem 1.35rem;margin-top:1rem;margin-bottom:1rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:#fff;box-shadow:0 4px 16px rgba(15,23,42,.04)}
.integration-action-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}
.integration-action-stats{display:flex;align-items:center;gap:.5rem}
.integration-development-badge{display:inline-flex;align-items:center;gap:.35rem;min-height:2.15rem;padding:.42rem .62rem;border:1px solid #f59e0b;border-radius:999px;background:#fef3c7;color:#78350f;font-size:.62rem;font-weight:800;white-space:nowrap}.integration-development-badge i{width:.45rem;height:.45rem;border-radius:50%;background:#d97706;box-shadow:0 0 0 3px rgba(217,119,6,.14)}.integration-compact-hero{min-height:auto;padding:1rem 1.25rem}.integration-compact-hero h1{margin-top:.15rem;font-size:1.45rem}.integration-compact-hero .integration-hero-copy>p:last-child{margin-top:.2rem;color:#475569;font-size:.75rem}.integration-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.integration-hero-actions .button,.integration-export-link{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.45rem;padding:.55rem .75rem;border-radius:.65rem;font-size:.68rem;font-weight:800;text-decoration:none}.integration-primary-cta{box-shadow:0 8px 18px rgba(79,70,229,.2)}.integration-export-link{border:1px solid #e2e8f0;background:#fff;color:#475569}.integration-export-link:hover{border-color:#c7d2fe;color:var(--ui-primary-dark);background:#f8faff}.integration-pipeline-overview{scroll-margin-top:1rem}.integration-pipeline-overview .card-heading{padding-bottom:.75rem}.integration-pipeline-config{display:block}.integration-pipeline-config>.form-card{width:100%}.integration-anchor-card{scroll-margin-top:1rem}.sidebar-subsystem-link small{color:#64748b}.module-hero p,.workspace-card p,.workspace-card small,.cell-note{color:#64748b}.method-note{color:#1e3a8a}.integration-guide-head small,.integration-guide-steps small{color:#475569}@media(max-width:900px){.integration-compact-hero{align-items:flex-start;flex-direction:column}.integration-hero-actions{width:100%;justify-content:flex-start}}@media(max-width:640px){.integration-hero-actions{display:grid;grid-template-columns:1fr}.integration-hero-actions>*{width:100%}.integration-development-badge{order:-1}}
@media(max-width:430px){.dashboard-sidebar{width:min(19rem,92vw)!important}.sidebar-brand{padding:.75rem}.sidebar-nav{padding:.65rem}.sidebar-system-status{margin-inline:.75rem}.dashboard-breadcrumb{display:none}.welcome-kicker{margin-top:0}.settings-hub-card{grid-template-columns:2.75rem minmax(0,1fr) 1.25rem;gap:.75rem}.settings-hub-icon{width:2.75rem;height:2.75rem}.settings-outline-button{width:100%;white-space:normal}.current-session,.account-history>div{grid-template-columns:2rem minmax(0,1fr)}.current-session em{grid-column:1/-1;justify-self:start}.profile-cover{min-height:18rem}.profile-identity{left:.75rem;right:.75rem}.profile-identity h1{font-size:1.25rem}.top-notification-menu{position:fixed;top:4.25rem;right:.5rem;left:.5rem;width:auto;max-width:none}.profile-menu{position:fixed;top:4.25rem;right:.5rem;width:min(15rem,calc(100vw - 1rem))}.dashboard-filter-card input,.dashboard-filter-card select,.module-form input,.module-form select,.module-form textarea,.account-fields input,.account-fields select,.focused-settings-form input{font-size:1rem}}
@media(max-width:350px){html{font-size:14px}.dashboard-main{padding:.6rem}.dashboard-topbar{padding-inline:.5rem}.topbar-actions{gap:.25rem}.notification-button,.profile-toggle .profile-avatar,.icon-button{width:2.65rem!important;height:2.65rem!important;min-width:2.65rem!important;min-height:2.65rem!important}.profile-toggle{gap:.2rem;padding:.15rem}.settings-hub-card{grid-template-columns:2.5rem minmax(0,1fr)}.settings-card-arrow{display:none}.direct-picture-upload{grid-template-columns:1fr!important;text-align:center}.direct-picture-upload .account-photo-wrap{margin:auto}.chart-card-heading{flex-wrap:wrap}.chart-export-button{margin-left:auto}}

/* SUB-09-01 Dashboard personalization drawer and layout editing */
.dashboard-settings-button{position:static;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.4rem;margin-left:auto;padding:.5rem .8rem;border:1px solid var(--ui-border);border-radius:.7rem;background:var(--bg-surface,#fff);color:var(--ui-primary);font:700 .7rem var(--font-sans);box-shadow:0 3px 10px rgba(15,23,42,.05);cursor:pointer}
.dashboard-settings-button:hover{border-color:#c7d2fe;background:var(--ui-primary-soft)}
.dashboard-settings-button .material-symbols-outlined{font-size:1.1rem}
.dashboard-settings-backdrop{position:fixed;inset:0;z-index:1090;background:rgba(15,23,42,.38);backdrop-filter:blur(2px)}
.dashboard-settings-backdrop[hidden]{display:none}
.dashboard-settings-drawer{position:fixed;z-index:1100;top:0;right:0;width:min(28rem,100vw);height:100dvh;padding:1.25rem;background:var(--bg-surface,#fff);box-shadow:-18px 0 45px rgba(15,23,42,.18);overflow-y:auto;overscroll-behavior:contain;transform:translateX(105%);visibility:hidden;transition:transform .28s ease,visibility .28s}
.dashboard-settings-drawer.is-open{transform:translateX(0);visibility:visible}
.dashboard-settings-open{overflow:hidden}
.dashboard-settings-form{display:grid;gap:1rem}
.dashboard-settings-header{position:sticky;top:-1.25rem;z-index:30;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:-1.25rem -1.25rem 0;padding:1.25rem 1.25rem .9rem;border-bottom:1px solid var(--ui-border);background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.dashboard-settings-header h2{margin-top:.2rem;font-size:1.25rem}
.dashboard-settings-header .account-close{position:static;flex:none}
.dashboard-settings-intro{color:var(--ui-muted);font-size:.76rem;line-height:1.55}
.dashboard-settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.dashboard-settings-fields label{display:grid;gap:.35rem;color:var(--ui-muted);font:700 .68rem var(--font-sans)}
.dashboard-settings-fields input,.dashboard-settings-fields select{width:100%;min-height:2.75rem;padding:.6rem .7rem;border:1px solid #cbd5e1;border-radius:.7rem;background:#fff;color:#334155;font:600 .74rem var(--font-sans)}
.dashboard-settings-fields .full-on-mobile{grid-column:1/-1}
.dashboard-settings-wide{width:100%;justify-content:center;min-height:2.75rem}
.dashboard-edit-mode-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:#f8fafc}
.dashboard-edit-mode-row div{display:grid;gap:.2rem}
.dashboard-edit-mode-row strong{font-size:.76rem}
.dashboard-edit-mode-row small{color:var(--ui-muted);font-size:.66rem}
.dashboard-switch{display:inline-flex;align-items:center;flex:none;cursor:pointer}
.dashboard-switch input{position:absolute;opacity:0;pointer-events:none}
.dashboard-switch span{position:relative;width:2.8rem;height:1.55rem;border-radius:999px;background:#cbd5e1;transition:background .2s}
.dashboard-switch span:after{content:"";position:absolute;top:.2rem;left:.2rem;width:1.15rem;height:1.15rem;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.25);transition:transform .2s}
.dashboard-switch input:checked+span{background:var(--ui-primary)}
.dashboard-switch input:checked+span:after{transform:translateX(1.25rem)}
.dashboard-switch input:focus-visible+span{outline:3px solid #c7d2fe;outline-offset:2px}
.dashboard-settings-footer{position:sticky;bottom:-1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 -1.25rem -1.25rem;padding:1rem 1.25rem;border-top:1px solid var(--ui-border);background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
/* Shake / Jiggle Animation for Edit Mode */
@keyframes chart-jiggle {
  0% { transform: rotate(0deg) translateY(0); }
  25% { transform: rotate(-0.5deg) translateY(-1px); }
  50% { transform: rotate(0deg) translateY(0); }
  75% { transform: rotate(0.5deg) translateY(1px); }
  100% { transform: rotate(0deg) translateY(0); }
}

/* SUB-09-04 / SUB-09-06 report and decision workspace */
.report-module-shell{display:grid;gap:1.5rem;min-width:0}.report-command-bar,.report-schedule-panel,.report-library-panel,.decision-filter-bar,.saved-briefing-panel{border:1px solid var(--ui-border,#dbe3f0);border-radius:1.15rem;background:var(--bg-surface,#fff);box-shadow:var(--shadow-sm);}.report-command-bar{position:static;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem}.report-command-identity,.report-command-actions,.report-format-actions,.decision-filter-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.report-command-identity{min-width:0}.report-module-code{color:var(--text-muted,#718096);font-family:var(--font-label);font-size:.68rem;font-weight:800;letter-spacing:.04em}.report-live-badge{display:inline-flex;align-items:center;gap:.42rem;min-height:2.1rem;padding:.35rem .75rem;border:1px solid #a7f3d0;border-radius:.72rem;background:#ecfdf5;color:#047857;font-family:var(--font-label);font-size:.68rem;font-weight:800;white-space:nowrap}.report-live-dot{width:.5rem;height:.5rem;border-radius:50%;background:#10b981;box-shadow:0 0 0 .22rem #d1fae5}.report-action-button,.report-mini-action,.report-card-action,.report-primary-button,.report-secondary-button,.report-icon-action{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.5rem;padding:.55rem .85rem;border:1px solid #dbe3f0;border-radius:.78rem;background:#fff;color:#334155;font-family:var(--font-label);font-size:.72rem;font-weight:800;text-decoration:none;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}.report-action-button:hover,.report-mini-action:hover,.report-card-action:hover{border-color:#a5b4fc;background:#f8faff;transform:translateY(-1px)}.report-action-button .material-symbols-outlined,.report-mini-action .material-symbols-outlined,.report-card-action .material-symbols-outlined,.report-primary-button .material-symbols-outlined{font-size:1.05rem}.report-action-button.is-primary,.report-mini-action.is-primary,.report-primary-button{border-color:var(--ui-primary,#4f46e5);background:var(--ui-primary,#4f46e5);color:#fff;box-shadow:0 .35rem .8rem rgba(79,70,229,.18)}.report-action-button.is-success{border-color:#86efac;background:#f0fdf4;color:#047857}.report-action-compact{min-height:2rem;padding:.3rem .7rem}.report-count-pill{display:grid;place-items:center;min-width:1.45rem;height:1.45rem;padding:0 .35rem;border-radius:999px;background:#f1f5f9;color:#64748b}.report-flash{margin:0}.report-schedule-panel,.report-library-panel,.saved-briefing-panel{padding:1.15rem}.report-panel-heading,.report-library-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid #e8edf5}.report-panel-heading>div{display:flex;align-items:center;gap:.6rem}.report-panel-heading h2,.report-library-heading h2,.saved-briefing-panel h2{margin:0;font-size:1rem}.report-panel-heading .material-symbols-outlined{color:var(--ui-primary,#4f46e5);font-size:1.05rem}.report-context-label{padding:.28rem .65rem;border-radius:999px;background:#eef2ff;color:#4f46e5;font-family:var(--font-label);font-size:.58rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase}.report-schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:.8rem;padding-top:1rem}.report-schedule-card{display:flex;min-width:0;flex-direction:column;gap:.45rem;padding:.9rem;border:1px solid #dbe3f0;border-radius:.85rem;background:#fff}.report-schedule-card h3,.report-library-card h3,.decision-report-card h3,.saved-briefing-grid h3{margin:0;color:var(--text-main,#0f172a);font-size:.84rem;line-height:1.35}.report-schedule-card p,.decision-report-card>p,.saved-briefing-grid p{margin:0;color:var(--text-muted,#64748b);font-size:.7rem;line-height:1.5}.report-card-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;color:#4f46e5;font-family:var(--font-label);font-size:.58rem;font-weight:800}.report-state-pill,.report-category-pill,.report-format-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.22rem .5rem;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:.56rem;font-weight:800;white-space:nowrap}.report-state-pill.is-active{border:1px solid #a7f3d0;background:#ecfdf5;color:#047857}.report-state-pill .material-symbols-outlined{font-size:.75rem}.report-category-pill{border:1px solid #c7d2fe;background:#eef2ff;color:#4338ca}.report-format-pill{background:#f3f0ff;color:#5b4be7}.report-card-action{width:100%;min-height:2rem;margin-top:auto;padding:.35rem .6rem;border-color:#c7d2fe;background:#eef2ff;color:#4338ca}.report-library-heading{align-items:flex-end}.report-library-heading .section-eyebrow{margin:0 0 .2rem}.report-library-filters{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex:1;flex-wrap:wrap}.report-library-filters select,.decision-filter-bar select,.report-search-control,.report-field input,.report-field select,.report-field textarea{min-height:2.5rem;border:1px solid #cbd5e1;border-radius:.78rem;background:#fff;color:#172033;font:inherit}.report-library-filters select,.decision-filter-bar select{min-width:8.5rem;padding:.5rem 2rem .5rem .7rem}.report-search-control{display:flex;align-items:center;gap:.45rem;min-width:min(100%,15rem);padding:0 .7rem}.report-search-control .material-symbols-outlined{color:#94a3b8;font-size:1.05rem}.report-search-control input{min-width:0;width:100%;border:0;outline:0;background:transparent;font:inherit}.report-result-summary{margin:1rem 0;color:var(--text-muted,#64748b);font-size:.7rem}.report-library-list{display:grid;gap:.8rem}.report-library-card{display:grid;gap:.75rem;padding:1rem;border:1px solid #dbe3f0;border-radius:1rem;background:#fff}.report-library-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.report-library-card-top>div:first-child{display:grid;gap:.35rem;min-width:0}.report-format-actions{justify-content:flex-end}.report-mini-action{min-height:2rem;padding:.35rem .65rem;border-radius:999px;font-size:.63rem;white-space:nowrap}.report-icon-action{width:2rem;min-height:2rem;padding:0;border:0;color:#94a3b8}.report-library-details,.report-inspect-grid,.decision-card-metrics{display:grid;margin:0;padding:.75rem;border-radius:.75rem;background:#f8fafc}.report-library-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.report-library-details div,.report-inspect-grid div,.decision-card-metrics div{min-width:0}.report-library-details dt,.report-inspect-grid dt,.decision-card-metrics dt{color:#8090b0;font-family:var(--font-label);font-size:.56rem;font-weight:800;text-transform:uppercase}.report-library-details dd,.report-inspect-grid dd,.decision-card-metrics dd{margin:.2rem 0 0;color:#0f172a;font-size:.7rem;font-weight:700;overflow-wrap:anywhere}.report-empty-state{grid-column:1/-1;margin:0;padding:2rem;text-align:center;color:#64748b}.report-modal[hidden]{display:none}.report-modal{position:fixed;z-index:1100;inset:0;display:grid;place-items:center;padding:1rem;background:rgba(15,23,42,.45);backdrop-filter:blur(4px)}.report-modal-panel{position:relative;width:min(100%,42rem);max-height:calc(100vh - 2rem);overflow:auto;padding:1.5rem;border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;box-shadow:0 1.5rem 4rem rgba(15,23,42,.22)}.report-modal-panel>h2{margin:.15rem 0 .35rem}.report-modal-panel>p:not(.section-eyebrow){margin:0 0 1rem;color:#64748b;font-size:.78rem}.report-modal-close{position:absolute;top:1rem;right:1rem;display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid #e2e8f0;border-radius:50%;background:#fff;cursor:pointer}.report-modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1.1rem}.report-field{display:grid;gap:.4rem;color:#475569;font-family:var(--font-label);font-size:.68rem;font-weight:700}.report-field.is-wide,.report-check-option,.report-evidence-options,.report-modal-footer{grid-column:1/-1}.report-field input,.report-field select,.report-field textarea{width:100%;padding:.65rem .75rem;resize:vertical}.report-check-option{display:flex;align-items:center;gap:.55rem;min-height:2.75rem;padding:.55rem .7rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#f8fafc;color:#334155;font-size:.72rem}.report-check-option input{width:1.15rem;height:1.15rem;flex:0 0 auto;accent-color:var(--ui-primary,#4f46e5)}.report-modal-footer{display:flex;justify-content:flex-end;gap:.65rem;padding-top:.8rem;border-top:1px solid #e2e8f0}.report-secondary-button{background:#fff}.report-inspect-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.report-advisory{display:flex;align-items:flex-start;gap:.6rem;margin-top:1rem!important;padding:.8rem;border:1px solid #bbf7d0;border-radius:.8rem;background:#f0fdf4;color:#166534!important}.report-advisory .material-symbols-outlined{font-size:1.1rem}.report-audit-panel{width:min(100%,58rem)}.report-audit-table{width:100%;border-collapse:collapse;margin-top:1rem}.report-audit-table th,.report-audit-table td{padding:.7rem;border-bottom:1px solid #e2e8f0;text-align:left;font-size:.68rem}.report-audit-table th{color:#64748b;font-family:var(--font-label);text-transform:uppercase}.report-evidence-options{display:grid;gap:.45rem;max-height:13rem;overflow:auto;margin:0;padding:.8rem;border:1px solid #e2e8f0;border-radius:.8rem}.report-evidence-options legend{padding:0 .35rem;color:#475569;font-size:.7rem;font-weight:800}
.decision-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.decision-stat-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;min-width:0;padding:1.15rem;border:1px solid #dbe3f0;border-radius:1rem;background:#fff;box-shadow:var(--shadow-sm)}.decision-stat-card>div{display:grid;gap:.45rem;min-width:0}.decision-stat-card span:first-child{color:#64748b;font-family:var(--font-label);font-size:.68rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.decision-stat-card strong{font-size:1.4rem}.decision-stat-card small{color:#8090b0;font-size:.64rem}.decision-stat-card>.material-symbols-outlined{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:.7rem;background:#eef2ff;color:#4f46e5}.is-green{color:#059669!important}.material-symbols-outlined.is-green{background:#ecfdf5!important}.is-blue{color:#2563eb!important}.material-symbols-outlined.is-blue{background:#eff6ff!important}.material-symbols-outlined.is-purple{background:#f5f3ff!important;color:#7c3aed!important}.decision-filter-bar{display:flex;align-items:center;gap:.7rem;padding:.85rem;flex-wrap:wrap}.decision-filter-bar>.report-search-control{flex:1 1 15rem}.decision-filter-actions{margin-left:auto}.decision-report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,27rem),1fr));gap:1rem}.decision-report-card{display:grid;align-content:start;gap:.75rem;padding:1.05rem;border:1px solid #dbe3f0;border-radius:1rem;background:#fff;box-shadow:var(--shadow-sm)}.decision-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.decision-guidance-box{display:grid;gap:.4rem;padding:.8rem;border:1px solid #a7f3d0;border-radius:.8rem;background:#f0fdf4;color:#065f46}.decision-guidance-box>div{display:flex;align-items:center;gap:.35rem}.decision-guidance-box .material-symbols-outlined{font-size:1rem}.decision-guidance-box strong{font-family:var(--font-label);font-size:.67rem;text-transform:uppercase}.decision-guidance-box p{margin:0;color:#166534;font-size:.68rem;line-height:1.55}.decision-guidance-box small{font-size:.6rem}.decision-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:auto;padding-top:.7rem;border-top:1px solid #e2e8f0}.decision-card-actions .report-mini-action{width:100%;border-radius:.7rem}.saved-briefing-panel header{margin-bottom:1rem}.saved-briefing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:.8rem}.saved-briefing-grid article{display:grid;gap:.5rem;padding:1rem;border:1px solid #dbe3f0;border-radius:.85rem}.saved-briefing-grid small{color:#64748b;font-size:.62rem}.decision-guide-list{display:grid;gap:.7rem;margin:1rem 0;padding-left:1.25rem;color:#475569;font-size:.78rem;line-height:1.5}
@media(max-width:1200px){.report-command-bar{align-items:flex-start;flex-direction:column}.report-command-actions{width:100%;justify-content:flex-start}.decision-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-library-heading{align-items:flex-start;flex-direction:column}.report-library-filters{width:100%;justify-content:flex-start}}
@media(max-width:820px){.report-library-details{grid-template-columns:repeat(2,minmax(0,1fr))}.report-library-card-top{flex-direction:column}.report-format-actions{justify-content:flex-start}.report-panel-heading{align-items:flex-start;flex-wrap:wrap}.decision-filter-actions{width:100%;margin-left:0}.decision-filter-actions>*{flex:1 1 auto}}
@media(max-width:560px){.report-module-shell{gap:1rem}.report-command-bar,.report-schedule-panel,.report-library-panel,.saved-briefing-panel{padding:.85rem}.report-command-actions,.report-command-actions>*{width:100%}.report-action-button{white-space:normal}.decision-stat-grid{grid-template-columns:1fr}.report-library-filters,.report-library-filters>*,.decision-filter-bar>select{width:100%}.report-search-control{min-width:100%}.report-library-details,.report-inspect-grid,.report-modal-form,.decision-card-metrics,.decision-card-actions{grid-template-columns:1fr}.report-modal{padding:.5rem}.report-modal-panel{max-height:calc(100vh - 1rem);padding:1.15rem}.report-format-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.report-format-actions>*{width:100%}.report-format-actions .report-mini-action{width:100%}.report-modal-footer{flex-direction:column-reverse}.report-modal-footer>*{width:100%}}

.database-chart-grid.is-editing .database-chart-card {
  animation: chart-jiggle 0.3s ease-in-out infinite;
  position: relative;
  border-color: #a5b4fc;
  box-shadow: 0 10px 28px rgba(79, 70, 229, 0.15);
}

.database-chart-grid.is-editing .database-chart-card:nth-child(even) {
  animation-duration: 0.35s;
  animation-delay: -0.1s;
}

/* Directional D-Pad Controller */
.chart-dpad-controller {
  display: none;
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 30;
  grid-template-columns: repeat(3, 2rem);
  grid-template-rows: repeat(2, 2rem);
  gap: 0.25rem;
  padding: 0.35rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #c7d2fe;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.16);
  backdrop-filter: blur(8px);
}

.database-chart-grid.is-editing .chart-dpad-controller {
  display: grid;
  animation: dashboard-edit-control-in 160ms cubic-bezier(.2,0,0,1) both;
}

.chart-dpad-btn {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--ui-border, #e2e8f0);
  border-radius: 0.5rem;
  background: #ffffff;
  color: #334155;
  cursor: pointer;
  transition: all 0.15s ease;
}

.chart-dpad-btn:hover {
  background: var(--ui-primary-soft, #eef2ff);
  color: var(--ui-primary-dark, #4338ca);
  border-color: #c7d2fe;
}

.chart-dpad-btn:active {
  transform: scale(0.92);
}

.chart-dpad-btn .material-symbols-outlined {
  font-size: 1.1rem;
}

.chart-dpad-btn.dpad-up { grid-column: 2; grid-row: 1; }
.chart-dpad-btn.dpad-left { grid-column: 1; grid-row: 2; }
.chart-dpad-btn.dpad-down { grid-column: 2; grid-row: 2; }
.chart-dpad-btn.dpad-right { grid-column: 3; grid-row: 2; }

/* Confirmation Modal Styling */
.edit-mode-confirm-panel {
  max-width: 28rem;
  padding: 2.25rem 1.75rem 1.75rem;
  text-align: center;
  border-radius: 1.5rem;
}
.confirm-modal-icon-wrap {
  display: grid;
  place-items: center;
  width: 4.25rem;
  height: 4.25rem;
  margin: 0 auto 1.25rem;
  border-radius: 50%;
  background: var(--ui-primary-soft, #eef2ff);
  color: var(--ui-primary, #4f46e5);
}
.confirm-modal-icon-wrap .material-symbols-outlined {
  font-size: 2.2rem;
}
.confirm-modal-actions {
  display: flex;
  gap: 0.75rem;
  margin-top: 1.75rem;
}
.confirm-modal-actions button {
  flex: 1;
}

.drag-handle{display:none;place-items:center;width:2.35rem;height:2.35rem;flex:none;border:1px dashed #a5b4fc;border-radius:.65rem;background:var(--ui-primary-soft);color:var(--ui-primary);cursor:grab;touch-action:none}
.database-chart-card.is-dragging{z-index:2;opacity:.94;transform:scale(1.012);box-shadow:0 22px 42px rgba(79,70,229,.24)}
.database-chart-card.is-touch-dragging{pointer-events:none}
.database-chart-card:before,.database-chart-card:after{position:absolute;right:.75rem;left:.75rem;z-index:4;height:3px;content:"";border-radius:999px;background:var(--ui-primary);box-shadow:0 0 0 3px rgba(79,70,229,.12);opacity:0;pointer-events:none;transform:scaleX(.72);transition:opacity 120ms ease,transform 160ms cubic-bezier(.2,0,0,1)}
.database-chart-card:before{top:-.4rem}.database-chart-card:after{bottom:-.4rem}
.database-chart-card.drop-before:before,.database-chart-card.drop-after:after{opacity:1;transform:scaleX(1)}
.drag-handle:active{cursor:grabbing}
.dashboard-edit-done{position:fixed;right:1.5rem;bottom:1.5rem;z-index:1080;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:3rem;padding:.7rem 1.15rem;border:0;border-radius:999px;background:var(--ui-primary);color:#fff;font:800 .76rem var(--font-label);box-shadow:0 14px 30px rgba(79,70,229,.3);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.dashboard-edit-done[hidden]{display:none}
.dashboard-edit-done:hover{transform:translateY(-2px);background:var(--ui-primary-dark);box-shadow:0 18px 34px rgba(79,70,229,.36)}
.dashboard-edit-done:active{transform:translateY(0) scale(.98)}
.dashboard-edit-done:disabled{opacity:.7;cursor:wait}
.dashboard-edit-done .material-symbols-outlined{font-size:1.15rem}
.dashboard-edit-done:not([hidden]){animation:dashboard-edit-control-in 180ms cubic-bezier(.2,0,0,1) both}
.dashboard-edit-done.is-saving .material-symbols-outlined{animation:chart-spin .75s linear infinite}
@keyframes dashboard-edit-control-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){.dashboard-settings-button{width:100%;margin-left:0}.dashboard-settings-drawer{padding:1rem}.dashboard-settings-fields{grid-template-columns:1fr}.dashboard-settings-fields .full-on-mobile{grid-column:auto}}
@media(max-width:640px){.dashboard-edit-done{right:1rem;bottom:1rem;min-height:2.8rem;padding:.65rem 1rem}}
@media(prefers-reduced-motion:reduce){.dashboard-settings-drawer{transition-duration:.01ms}.database-chart-grid.is-editing .drag-handle,.dashboard-edit-done:not([hidden]),.dashboard-edit-done.is-saving .material-symbols-outlined{animation:none}.database-chart-grid.is-editing .database-chart-card,.database-chart-card:before,.database-chart-card:after,.dashboard-edit-done{transition:none}.database-chart-card.is-dragging{transform:none}}

@media(pointer:coarse){button,.button,.table-action,.module-export,.settings-outline-button,.settings-save-button,.sidebar-subsystem-link,.account-settings-nav a,.profile-menu button,.top-notice-item,input,select{min-height:2.75rem}.profile-photo-picker{min-width:2.75rem;min-height:2.75rem;right:-.5rem;bottom:-.25rem}.profile-photo-picker i{width:2.75rem!important;height:2.75rem!important}}
/* Dashboard filters remain in normal document flow at every viewport. */
.dashboard-filter-card{position:static!important;top:auto!important;z-index:auto!important;transform:none!important;width:100%}
/* Reference-aligned application navigation */
.sidebar-brand{padding:1.15rem 1rem}
.sidebar-brand-card{display:flex;flex-direction:row;align-items:center;gap:.8rem;padding:.85rem;border:1px solid #e7e9f2;border-radius:1.25rem;background:linear-gradient(135deg,#fff,#f7f7ff);text-align:left;text-decoration:none;box-shadow:0 5px 18px rgba(15,23,42,.04)}
.sidebar-brand-card:hover{border-color:#c7d2fe;box-shadow:0 8px 22px rgba(79,70,229,.09);transform:translateY(-1px)}
.sidebar-brand-logo{width:3rem;height:3rem;flex:none;border-radius:.95rem;box-shadow:0 7px 16px rgba(67,56,202,.2)}
.sidebar-brand-copy{width:auto;min-width:0;display:grid;gap:.08rem;text-align:left}
.sidebar-brand-copy strong{font-size:1rem;font-weight:900;letter-spacing:-.025em;color:#312e81}
.sidebar-brand-copy small{display:block;color:var(--ui-muted);font-size:.64rem;line-height:1.35}
.dashboard-topbar{background:rgba(255,255,255,.94);box-shadow:0 1px 3px rgba(15,23,42,.03);backdrop-filter:blur(14px)}
.topbar-brand{display:flex;align-items:center;gap:.5rem;color:#312e81;font-size:.86rem;font-weight:900;letter-spacing:-.02em;text-decoration:none}
.topbar-brand img{width:2rem;height:2rem;border-radius:.62rem;box-shadow:0 4px 10px rgba(67,56,202,.18)}
.topbar-divider{width:1px;height:1.65rem;margin:0 .15rem;background:#e2e8f0}
.topbar-context{font-size:.8rem}.topbar-context span{font-size:.68rem}
@media(max-width:760px){.topbar-brand span,.topbar-divider{display:none}.topbar-start{gap:.5rem}}
@media(max-width:430px){.topbar-brand{display:none}}
/* Initial application shell mirrors the supplied dashboard reference. */
.dashboard-sidebar{height:calc(100vh - 4.5rem);margin-top:4.5rem}
.dashboard-topbar{position:fixed;inset:0 0 auto 0;width:100%;z-index:70}
.dashboard-main{margin-top:4.5rem}
.sidebar-brand{padding:1rem;border-bottom:1px solid var(--ui-border)}
.sidebar-brand-card{min-height:9.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:1.2rem .85rem;border:0;border-radius:0 0 1.5rem 1.5rem;background:#f8faff;text-align:center;box-shadow:none;transform:none}
.sidebar-brand-card:hover{border-color:transparent;box-shadow:none;transform:none}
.sidebar-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:0;background:#e0e7ff;color:#4338ca;box-shadow:none}
.sidebar-brand-icon .material-symbols-outlined{font-size:1.6rem}
.sidebar-brand-copy{width:100%;display:grid;gap:.45rem;text-align:center}
.sidebar-brand-copy strong{color:#172033;font-size:.82rem;font-weight:700;letter-spacing:0}
.sidebar-brand-copy small{color:#475569;font-size:.62rem}
.sidebar-nav{padding:0 0 1rem}
.sidebar-main-link{min-height:3.5rem;padding:.7rem 1rem;border-radius:0 1.6rem 1.6rem 0;border-color:transparent}
.sidebar-main-link.active{border-color:#a5b4fc;background:#eef2ff;box-shadow:0 5px 16px rgba(79,70,229,.08)}
.sidebar-main-link-icon{width:2.25rem;height:2.25rem;border-radius:.65rem;background:#dbeafe}

/* Data Integration reference-card polish and shell overflow safeguards. */
.dashboard-frame{position:relative;isolation:auto;overflow-x:hidden}
.dashboard-sidebar,.sidebar-brand,.sidebar-brand-card,.sidebar-brand-copy,.sidebar-brand-copy p{min-width:0;max-width:100%}
.sidebar-brand-copy p{margin:0;overflow:hidden}
.sidebar-brand-copy strong,.sidebar-brand-copy small{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.sidebar-brand-copy small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.sidebar-subsystem-link .sidebar-label small{color:#64748b;line-height:1.35}
.integration-utility-card{overflow:visible}
.integration-guide-popover{z-index:90;width:min(23rem,calc(100vw - var(--sidebar-width) - 3rem));max-height:calc(100vh - 7rem);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.integration-guide-popover[hidden]{display:none}
.integration-source-card{align-self:start;padding:1.35rem;border-color:#dfe4ef;border-radius:1.55rem;box-shadow:0 12px 30px rgba(15,23,42,.07)}
.integration-source-card .card-heading{align-items:flex-start;padding-bottom:1rem}
.integration-source-card .card-heading h2{max-width:12rem;font-size:1.15rem;line-height:1.25}
.integration-source-card .section-eyebrow{color:#475569;font-size:.61rem;letter-spacing:.12em}
.integration-source-card .status-badge{padding:.48rem .68rem;border:0;border-radius:999px;background:#eef4ff;color:#2447c6;font-size:.61rem}
.integration-source-card .module-form{gap:.9rem}
.integration-source-card .module-form label{gap:.42rem;color:#172033;font-size:.68rem;font-weight:800}
.integration-source-card .module-form input,.integration-source-card .module-form select{min-height:2.85rem;border-color:#cbd5e1;border-radius:.7rem;background:#fff}
.integration-source-card .method-note{padding:.85rem;border-radius:.7rem;background:#eef5ff;color:#24408f;line-height:1.55}
.integration-source-card .button-primary{min-height:2.8rem;border-radius:.72rem;background:#5343e8;box-shadow:0 9px 20px rgba(79,70,229,.2);font-size:.78rem}
.integration-source-card .button-primary:hover{background:#4338ca}
@media(max-width:1024px){.integration-guide-popover{width:min(23rem,calc(100vw - 2rem))}}
@media(max-width:720px){.integration-guide-popover{position:fixed;top:5rem;right:1rem;left:1rem;width:auto;max-height:calc(100vh - 6rem)}.integration-guide-popover:before{display:none}}
.integration-modal-open{overflow:hidden}
.integration-config-modal{position:fixed;top:4.5rem;right:0;bottom:0;left:var(--sidebar-width);z-index:45;display:grid;place-items:center;padding:1rem;background:rgba(15,23,42,.5);backdrop-filter:blur(3px);transition:left var(--transition-smooth)}
.dashboard-page.sidebar-collapsed .integration-config-modal{left:0}
.integration-config-modal[hidden]{display:none}
.integration-modal-panel{width:min(100%,42rem);max-height:calc(100dvh - 2rem);margin:0;overflow-y:auto;overscroll-behavior:contain;animation:integration-modal-enter .18s ease-out}
.integration-source-card.integration-modal-panel{width:min(100%,22rem);align-self:center}
.integration-pipeline-config>.integration-modal-panel{width:min(42rem,calc(100vw - 2rem))}
.integration-pipeline-card{padding:1.4rem;border-radius:1.4rem;box-shadow:0 24px 70px rgba(15,23,42,.28)}
.integration-modal-heading-actions{display:flex;align-items:center;gap:.45rem}
.integration-modal-close{display:grid;place-items:center;width:2.25rem;height:2.25rem;flex:none;padding:0;border:1px solid #dbe2ea;border-radius:.7rem;background:#fff;color:#475569;cursor:pointer}
.integration-modal-close:hover{border-color:#c7d2fe;background:#eef2ff;color:#3730a3}
.integration-modal-close .material-symbols-outlined{font-size:1.15rem}
.integration-source-registry{grid-column:1/-1;width:100%}
.integration-pipeline-card .module-form{align-items:start}
.integration-pipeline-card .schedule-config,.integration-pipeline-card .method-note{max-width:100%}
@keyframes integration-modal-enter{from{opacity:0;transform:translateY(.75rem) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:1024px){.integration-config-modal,.dashboard-page.sidebar-collapsed .integration-config-modal{left:0}}
@media(max-width:860px){.integration-utility-card{align-items:flex-start;flex-direction:column}.integration-utility-actions{width:100%;flex-wrap:wrap}.integration-guide-wrap{margin-left:auto}.integration-modal-panel{width:min(100%,38rem)}}
@media(max-width:640px){.integration-utility-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.integration-utility-stat{width:100%;min-width:0}.integration-development-badge{justify-content:center}.integration-guide-wrap{grid-column:1/-1;width:100%;margin:0}.integration-guide-trigger{width:100%;justify-content:center}.integration-config-modal{place-items:end center;padding:.5rem}.integration-modal-panel,.integration-pipeline-config>.integration-modal-panel{width:100%;max-height:calc(100dvh - 1rem);border-radius:1.25rem}.integration-source-card.integration-modal-panel{width:100%;align-self:end}.integration-modal-heading-actions{margin-left:auto}.integration-pipeline-card .card-heading{display:grid;grid-template-columns:minmax(0,1fr) auto}.integration-pipeline-card .module-form{grid-template-columns:1fr}.integration-pipeline-card .module-form .full{grid-column:auto}}
@media(max-width:380px){.integration-utility-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.integration-development-badge{grid-column:1/-1}.integration-modal-panel{padding:1rem}.integration-source-card .card-heading h2{max-width:10rem}.integration-source-card .method-note{font-size:.68rem}}
.sidebar-subsystem-nav-panel{padding:0 1rem}
.topbar-brand img{width:2.2rem;height:2.2rem;padding:.3rem;background:#f8fafc;box-shadow:none}
@media(max-width:1024px){.dashboard-sidebar{top:4.5rem;height:calc(100vh - 4.5rem);margin-top:0}.dashboard-page.mobile-sidebar-open .dashboard-sidebar{transform:translateX(0)}}
@media(max-width:640px){.dashboard-sidebar{top:4rem;height:calc(100vh - 4rem)}.dashboard-main{margin-top:4rem}}
/* Compact header controls from the supplied reference. */
.dashboard-topbar{padding-inline:1.15rem}
.topbar-start{gap:.45rem}
.topbar-divider{display:block;width:1px;height:1.35rem;margin:0 .15rem;background:#d8dce6}
.topbar-brand{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:.72rem;background:#f8fafc}
.topbar-brand img{width:1.35rem;height:1.35rem;padding:.18rem;border-radius:.4rem;opacity:.75}
.topbar-start #menuButton{position:relative;width:2.35rem;height:2.35rem;border-radius:.72rem;background:#f8f7ff;border-color:#e4e1ee}
.topbar-start #menuButton .material-symbols-outlined{font-size:1.15rem}
.topbar-start #menuButton:hover{color:#4338ca;background:#eef2ff;border-color:#c7d2fe;box-shadow:0 6px 16px rgba(79,70,229,.14);transform:translateY(-1px)}
.topbar-start #menuButton:active{box-shadow:0 2px 7px rgba(79,70,229,.12);transform:translateY(0) scale(.96)}
.topbar-start #menuButton:focus-visible{outline:3px solid rgba(99,102,241,.25);outline-offset:2px}
.topbar-start #menuButton .material-symbols-outlined{transition:transform .18s ease}
.topbar-start #menuButton:hover .material-symbols-outlined{transform:scale(1.12)}
@media(hover:none){.topbar-start #menuButton:hover{box-shadow:none;transform:none}.topbar-start #menuButton:hover .material-symbols-outlined{transform:none}}
.topbar-start #menuButton::after{content:attr(aria-label);position:absolute;top:calc(100% + .65rem);left:50%;z-index:100;min-width:max-content;padding:.42rem .65rem;border-radius:.45rem;background:#172033;color:#fff;font-size:.68rem;font-weight:600;line-height:1;letter-spacing:0;pointer-events:none;opacity:0;transform:translate(-50%,-.25rem);transition:opacity .15s ease,transform .15s ease;box-shadow:0 5px 14px rgba(15,23,42,.2)}
.topbar-start #menuButton::before{content:"";position:absolute;top:calc(100% + .35rem);left:50%;z-index:101;border-width:0 .3rem .3rem;border-style:solid;border-color:transparent transparent #172033;pointer-events:none;opacity:0;transform:translateX(-50%);transition:opacity .15s ease}
.topbar-start #menuButton:hover::after,.topbar-start #menuButton:focus-visible::after,.topbar-start #menuButton:hover::before,.topbar-start #menuButton:focus-visible::before{opacity:1}
.topbar-start #menuButton:hover::after,.topbar-start #menuButton:focus-visible::after{transform:translate(-50%,0)}
@media(hover:none){.topbar-start #menuButton::before,.topbar-start #menuButton::after{display:none}}

/* Keep the open-sidebar header clean: the control already has an accessible label. */
.topbar-start #menuButton::before,.topbar-start #menuButton::after{display:none!important}
.dashboard-topbar{overflow:visible}
.sidebar-brand-card{overflow:hidden}
.sidebar-brand-copy{max-width:100%}
.sidebar-brand-copy strong,.sidebar-brand-copy small{max-width:100%;text-wrap:balance}

/* Shared application shell aligned with uireferences/dashboard_app_layout. */
.dashboard-page{--sidebar-width:18rem}
.dashboard-sidebar{position:relative;inset:auto;width:var(--sidebar-width);height:100vh;margin-top:0;transform:none}
.dashboard-frame{height:100vh}
.dashboard-topbar{position:relative;inset:auto;width:100%;height:4rem;min-height:4rem;padding-inline:1.5rem;z-index:70}
.dashboard-main{margin-top:0;padding:2rem}
.sidebar-brand{padding:1.5rem 1.25rem 1.25rem}
.sidebar-brand-card{min-height:0;padding:1.5rem;border:1px solid rgba(148,163,184,.18);border-radius:2rem;background:#f8faff}
.sidebar-brand-icon{width:3.5rem;height:3.5rem;border-radius:1.75rem}
.sidebar-brand-copy{gap:.25rem}
.sidebar-brand-copy strong{font-size:.875rem;font-weight:600;color:#0f172a}
.sidebar-brand-copy small{font-size:.75rem;color:#64748b}
.sidebar-nav{padding:1.5rem 1.25rem}
.sidebar-main-link{min-height:4.25rem;padding:.75rem 1rem;border-radius:2rem}
.sidebar-main-link-icon{width:2.5rem;height:2.5rem;border-radius:1rem}
.integration-config-modal{top:4rem}
@media(max-width:1024px){
  .dashboard-topbar{position:relative;z-index:100!important;background:#ffffff!important;backdrop-filter:none!important}
  .dashboard-sidebar{position:fixed;top:4rem;bottom:0;left:0;width:min(18rem,88vw)!important;height:calc(100vh - 4rem);margin:0;transform:translateX(-100%)}
  .dashboard-page.mobile-sidebar-open .dashboard-sidebar{transform:translateX(0)}
  .dashboard-page.sidebar-collapsed .dashboard-sidebar{width:min(18rem,88vw)!important}
  .dashboard-main{padding:1.5rem}
  .dash-backdrop{top:4rem!important;z-index:45}
  .integration-config-modal{top:4rem!important;z-index:90}
  .account-modal{top:4rem!important;z-index:95}
}
@media(max-width:640px){
  .dashboard-topbar{height:4rem;min-height:4rem;padding-inline:.75rem;z-index:100!important;background:#ffffff!important;backdrop-filter:none!important}
  .dashboard-main{padding:1rem}
  .dash-backdrop{top:4rem!important;z-index:45}
  .integration-config-modal{top:4rem!important;z-index:90}
  .account-modal{top:4rem!important;z-index:95}
}
@media(max-width:640px){.dashboard-topbar{padding-inline:.75rem}.topbar-brand{display:grid}}
/* Account dropdown with notifications grouped alongside profile actions. */
.profile-menu{width:15rem;padding:.55rem;border-radius:1.5rem}
.profile-menu-label{padding:.45rem .75rem .35rem;color:#64748b;font-size:.68rem;font-weight:700;letter-spacing:.06em}
.profile-menu button{min-height:2.65rem;font-size:.8rem}
.profile-menu form{margin:.35rem -.55rem -.55rem;padding:.35rem .55rem .45rem;border-top:1px solid var(--ui-border)}
.profile-menu .profile-signout{color:#ef2028}
.profile-menu .profile-signout:hover{color:#dc1018}
.profile-notification-count{display:grid!important;place-items:center;min-width:1.25rem;height:1.25rem;margin-left:auto;padding:0 .3rem;border-radius:999px;background:var(--ui-primary);color:#fff;font-size:.6rem!important;font-weight:800}
.profile-notification-count[hidden]{display:none!important}
.profile-dropdown-wrap>.top-notification-menu{right:0;top:calc(100% + .65rem)}
.dashboard-filter-card input,.dashboard-filter-card select{font-family:var(--font-sans);font-size:.72rem;font-weight:600;line-height:1.25;color:#64748b;letter-spacing:0}.dashboard-filter-card input::placeholder{color:#64748b;opacity:1}.dashboard-filter-card select option{font-family:var(--font-sans);font-weight:500;color:#1f2937}.dashboard-filter-card input[type=date]{font-variant-numeric:tabular-nums}

/* Filter Card Mobile Toggle & Grid Structure */
.filter-header-mobile {
  display: none;
}
.filter-fields-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: .7rem;
  width: 100%;
}
.filter-mobile-toggle {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem .75rem;
  border: 1px solid var(--ui-border);
  border-radius: .65rem;
  background: #fff;
  color: var(--ui-text);
  font-size: .8rem;
  font-weight: 700;
  cursor: pointer;
}
.filter-mobile-toggle .filter-chevron {
  transition: transform .2s ease;
}
.filter-mobile-toggle[aria-expanded="false"] .filter-chevron {
  transform: rotate(-90deg);
}

@media (max-width: 768px) {
  .filter-header-mobile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: .5rem;
  }
  .filter-fields-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .65rem;
    width: 100%;
  }
  .filter-fields-wrap.is-collapsed {
    display: none !important;
  }
  .filter-fields-wrap .full-on-mobile,
  .filter-fields-wrap .filter-actions {
    grid-column: 1 / -1;
  }
  .filter-fields-wrap .filter-actions {
    display: flex;
    gap: .5rem;
    width: 100%;
    margin-top: .25rem;
  }
  .filter-fields-wrap .filter-actions .button {
    flex: 1;
    min-height: 2.5rem;
  }
  .dashboard-filter-card {
    padding: .85rem;
  }
}

/* Responsive Enhancements for Executive Dashboard */
@media (max-width: 1200px) {
  .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}

@media (max-width: 960px) {
  .database-chart-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .database-chart-card.chart-full {
    grid-column: auto;
  }
  .dashboard-filter-card {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: .75rem;
    align-items: end;
  }
  .dashboard-filter-card .filter-actions {
    grid-column: 1 / -1;
    display: flex;
    gap: .5rem;
    width: 100%;
    margin-top: .25rem;
  }
  .dashboard-filter-card .filter-actions .button {
    flex: 1;
  }
  .dashboard-filter-card .data-status {
    grid-column: 1 / -1;
    text-align: center;
    margin-left: 0;
  }
}

@media (max-width: 640px) {
  .dashboard-container {
    gap: 1.25rem;
  }
  .stats-grid {
    grid-template-columns: 1fr;
  }
  .stat-card {
    min-height: 8rem;
    padding: 1rem;
  }
  .stat-value {
    font-size: 1.4rem;
    margin-top: .75rem;
  }
  .dashboard-filter-card {
    grid-template-columns: 1fr 1fr;
    padding: .85rem;
  }
  .database-chart-card {
    padding: 1rem;
  }
  .chart-card-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
  }
  .chart-heading-actions {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .database-chart-container, .chart-full .database-chart-container {
    height: 280px;
    min-height: 240px;
  }
  .drilldown-modal-panel {
    width: 95vw;
    padding: 1.25rem;
    max-height: 88vh;
  }
}

@media (max-width: 480px) {
  .dashboard-filter-card {
    grid-template-columns: 1fr;
  }
  .subsystem-header-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .subsystem-pill-badge {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================================================
   UIREFERENCES BUTTON & MODAL COMPONENT STANDARDS
   ========================================================================== */
.button-danger {
  border: 1px solid transparent;
  background: var(--error, #ba1a1a);
  color: #ffffff;
}
.button-danger:hover {
  background: #a11414;
  color: #ffffff;
}
.button-success {
  border: 1px solid transparent;
  background: var(--ui-success, #15803d);
  color: #ffffff;
}
.button-success:hover {
  background: #116631;
  color: #ffffff;
}
.button-warning {
  border: 1px solid transparent;
  background: #d97706;
  color: #ffffff;
}
.button-warning:hover {
  background: #b45309;
  color: #ffffff;
}
.button-outline {
  border: 1px solid var(--ui-border, #e2e8f0);
  background: #ffffff;
  color: #334155;
}
.button-outline:hover {
  border-color: #c7d2fe;
  background: var(--ui-primary-soft, #eef2ff);
  color: var(--ui-primary-dark, #4338ca);
}
.logout-modal-panel {
  position: relative;
  width: min(100%, 23.5rem);
  padding: 2.25rem 1.75rem 1.75rem;
  border-radius: 1.5rem;
  background: #ffffff;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.18);
  text-align: center;
}
.logout-modal-panel .account-close {
  position: absolute;
  top: 1.15rem;
  right: 1.15rem;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 0;
  background: transparent;
  color: #64748b;
  cursor: pointer;
  border-radius: 50%;
  transition: background 0.15s ease;
}
.logout-modal-panel .account-close:hover {
  background: #f1f5f9;
  color: #0f172a;
}
.logout-avatar-wrap {
  display: grid;
  place-items: center;
  width: 4.25rem;
  height: 4.25rem;
  margin: 0 auto 1.25rem;
  border-radius: 50%;
  background: #ece8ff;
  color: #3b2d54;
}
.logout-avatar-wrap .material-symbols-outlined {
  font-size: 2rem;
}
.logout-modal-panel h2 {
  font-size: 1.35rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 0.5rem;
  letter-spacing: -0.02em;
}
.logout-modal-desc {
  margin: 0 0 1.75rem;
  color: #475569;
  font-size: 0.88rem;
  line-height: 1.5;
  padding: 0 0.5rem;
}
.logout-modal-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}
.logout-modal-actions > * {
  flex: 1;
}
.logout-modal-actions form {
  display: block;
  margin: 0;
  width: 100%;
}
.logout-btn-cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2.75rem;
  padding: 0.65rem 1.25rem;
  border: 1px solid #c7c4d8;
  border-radius: 9999px;
  background: #ffffff;
  color: #1f2937;
  font-size: 0.92rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}
.logout-btn-cancel:hover {
  background: #f9fafb;
  border-color: #9ca3af;
}
.logout-btn-confirm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2.75rem;
  padding: 0.65rem 1.25rem;
  border: 0;
  border-radius: 9999px;
  background: #dc2626;
  color: #ffffff;
  font-size: 0.92rem;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(220, 38, 38, 0.3);
  transition: all 0.15s ease;
}
.logout-btn-confirm:hover {
  background: #b91c1c;
  box-shadow: 0 6px 18px rgba(220, 38, 38, 0.4);
}

/* ==========================================================================
   ENTERPRISE MATERIAL DATA GRID STANDARD (uireferences/data_table_component_standards)
   ========================================================================== */
.desktop-table-view { display: block; }
.mobile-card-view { display: none; }

@media (max-width: 767px) {
  .desktop-table-view {
    display: none !important;
  }
  .mobile-card-view {
    display: block !important;
  }
  .responsive-header,
  .responsive-toolbar,
  .responsive-selection-bar,
  .responsive-footer {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }
  .responsive-btn-group {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
  }
  .responsive-btn-group > button,
  .responsive-btn-group > a {
    flex: 1 1 auto !important;
    justify-content: center !important;
  }
  .responsive-search {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (min-width: 768px) {
  .desktop-table-view {
    display: block !important;
  }
  .mobile-card-view {
    display: none !important;
  }
}

.status-badge-operational { background: #dcfce7; color: #15803d; border: 1px solid #bbf7d0; }
.status-badge-maintenance { background: #fef3c7; color: #b45309; border: 1px solid #fde68a; }
.status-badge-archived { background: #f1f5f9; color: #64748b; border: 1px solid #e2e8f0; }
.status-badge-accent { background: #e0e7ff; color: #4338ca; border: 1px solid #c7d2fe; }

/* Pure CSS Data Grid Component Specification */
.data-grid-card {
  background: #ffffff;
  border: 1px solid var(--ui-border);
  border-radius: 1rem;
  box-shadow: 0 4px 6px -1px rgba(27, 27, 36, 0.06), 0 2px 4px -2px rgba(27, 27, 36, 0.04);
  overflow: hidden;
  margin-bottom: 1.5rem;
  width: 100%;
}

.data-grid-selection-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  background: rgba(79, 70, 229, 0.07);
  border-bottom: 1px solid rgba(79, 70, 229, 0.15);
}

.data-grid-selection-bar .selection-info {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.data-grid-selection-bar .selection-badge {
  display: inline-grid;
  place-items: center;
  min-width: 1.6rem;
  height: 1.6rem;
  padding: 0 0.4rem;
  border-radius: 9999px;
  background: var(--ui-primary);
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 800;
}

.data-grid-selection-bar .selection-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: #1e293b;
}

.data-grid-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.data-grid-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 0.85rem 1.25rem;
  background: #ffffff;
  border-bottom: 1px solid var(--ui-border);
}

.data-grid-toolbar-left {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  flex: 1;
  min-width: 0;
}

.data-grid-search {
  position: relative;
  width: 18rem;
  max-width: 100%;
}

.data-grid-search input {
  width: 100%;
  min-height: 2.4rem;
  padding: 0.45rem 0.85rem 0.45rem 2.3rem;
  border: 1px solid var(--ui-border);
  border-radius: 0.65rem;
  background: #f8fafc;
  font-size: 0.82rem;
  color: #1e293b;
  outline: none;
  transition: all 0.15s ease;
}

.data-grid-search input:focus {
  border-color: var(--ui-primary);
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}

.data-grid-search .material-symbols-outlined {
  position: absolute;
  left: 0.7rem;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  font-size: 1.15rem;
  pointer-events: none;
}

.data-grid-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.7rem;
  border: 1px solid #c7d2fe;
  border-radius: 0.65rem;
  background: #eef2ff;
  color: #3730a3;
  font-size: 0.75rem;
  font-weight: 700;
}

.data-grid-filter-chip .material-symbols-outlined {
  font-size: 0.95rem;
}

.data-grid-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 2.35rem;
  padding: 0.45rem 0.85rem;
  border: 1px solid var(--ui-border);
  border-radius: 0.65rem;
  background: #ffffff;
  color: #334155;
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap !important;
  flex-shrink: 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: all 0.15s ease;
}

.data-grid-btn:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: var(--ui-primary);
}

.data-grid-btn .material-symbols-outlined {
  font-size: 1.1rem;
}

.data-grid-btn-primary {
  background: var(--ui-primary);
  color: #ffffff;
  border-color: var(--ui-primary);
}

.data-grid-btn-primary:hover {
  background: var(--ui-primary-dark);
  color: #ffffff;
}

.data-grid-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.data-grid-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.data-grid-table thead th {
  padding: 0.85rem 1.1rem;
  background: #f8fafc;
  border-bottom: 1px solid var(--ui-border);
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748b;
  white-space: nowrap;
}

.data-grid-table tbody tr {
  border-bottom: 1px solid #f1f5f9;
  transition: background 0.15s ease;
}

.data-grid-table tbody tr:hover {
  background: #f8fbff;
}

.data-grid-table tbody td {
  padding: 0.85rem 1.1rem;
  font-size: 0.82rem;
  color: #1e293b;
  vertical-align: middle;
}

.data-grid-table tbody td:last-child,
.data-grid-table .cell-actions {
  white-space: nowrap !important;
  text-align: right;
  width: 1%;
}

.data-grid-table code {
  display: inline-block;
  padding: 0.2rem 0.45rem;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 0.35rem;
  font-size: 0.76rem;
  font-family: monospace;
  white-space: nowrap;
}

.data-grid-table .cell-title {
  font-weight: 700;
  color: #0f172a;
}


.data-grid-table .cell-title {
  font-weight: 700;
  color: #0f172a;
}

.data-grid-table .cell-subtext {
  display: block;
  font-size: 0.72rem;
  color: #64748b;
  margin-top: 0.15rem;
}

.data-grid-mobile-card {
  padding: 1rem;
  border-bottom: 1px solid var(--ui-border);
  display: grid;
  gap: 0.75rem;
  background: #ffffff;
}

.data-grid-mobile-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.data-grid-mobile-title {
  font-size: 0.88rem;
  font-weight: 700;
  color: #0f172a;
}

.data-grid-mobile-sub {
  font-size: 0.72rem;
  color: #64748b;
  font-family: monospace;
}

.data-grid-mobile-body {
  padding: 0.65rem 0.85rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.65rem;
  background: #f8fafc;
  font-size: 0.78rem;
  display: grid;
  gap: 0.35rem;
  color: #334155;
}

.data-grid-mobile-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.75rem;
  color: #64748b;
  padding-top: 0.25rem;
}

.data-grid-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 0.85rem 1.25rem;
  background: #ffffff;
  border-top: 1px solid var(--ui-border);
  font-size: 0.78rem;
  color: #64748b;
}

.data-grid-page-size {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.data-grid-page-size select {
  min-height: 2rem;
  padding: 0.2rem 0.5rem;
  border: 1px solid var(--ui-border);
  border-radius: 0.5rem;
  background: #f8fafc;
  font-size: 0.78rem;
  font-weight: 700;
  color: #1e293b;
}

.data-grid-pagination {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.data-grid-page-btn {
  display: inline-grid;
  place-items: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.5rem;
  border: 1px solid var(--ui-border);
  border-radius: 0.5rem;
  background: #ffffff;
  color: #475569;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
}

.data-grid-page-btn:hover:not(:disabled) {
  background: #f8fafc;
  color: var(--ui-primary);
}

.data-grid-page-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.data-grid-page-btn.active {
  background: var(--ui-primary);
  color: #ffffff;
  border-color: var(--ui-primary);
}

@media (max-width: 767px) {
  .data-grid-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .data-grid-search {
    width: 100%;
  }
  .data-grid-page-size, .data-grid-pagination {
    justify-content: center;
  }
}

/* ==========================================================================
   EXTRACTED PURE CSS COMPONENT CLASSES (NO INLINE STYLES)
   ========================================================================== */

/* Utility Table Alignment & Code Badges */
.table-align-right { text-align: right; }
.table-align-center { text-align: center; }
.table-empty-cell { text-align: center; padding: 2rem; }
.inline-form-action { display: inline-block; }
.code-badge-sm { padding: 0.2rem 0.4rem; background: #f1f5f9; border-radius: 0.35rem; font-size: 0.78rem; }
.flex-actions-end { justify-content: flex-end; }
.flex-gap-sm { display: flex; gap: 0.35rem; align-items: center; }
.flex-gap-md { display: flex; gap: 0.75rem; align-items: center; flex-wrap: wrap; }
.margin-top-md { margin-top: 1rem; }
.margin-bottom-lg { margin-bottom: 2rem; }
.margin-zero { margin: 0; }
.min-h-40 { min-height: 40px; }
.rounded-full { border-radius: 9999px; }

/* Modal Component Classes */
.kpi-modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 99999 !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(0.75rem, 2vw, 1.5rem) !important;
  background: rgba(15, 23, 42, 0.6) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  box-sizing: border-box !important;
}
.kpi-modal-overlay[hidden] {
  display: none !important;
}
.kpi-modal-dialog {
  position: relative;
  width: min(100%, 42rem);
  max-height: calc(100dvh - 2rem);
  margin: 0;
  overflow-y: auto;
  text-align: left;
  padding: 0 2rem 2rem 2rem;
  border-radius: 1.5rem;
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.25);
}
.kpi-modal-dialog-sm {
  position: relative;
  width: min(100%, 36rem);
  max-height: calc(100dvh - 2rem);
  margin: 0;
  overflow-y: auto;
  text-align: left;
  padding: 0 2rem 2rem 2rem;
  border-radius: 1.5rem;
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.25);
}
.kpi-modal-close-btn {
  position: sticky;
  top: 1rem;
  z-index: 40;
  float: right;
  margin-top: 1rem;
  margin-right: -0.75rem;
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid var(--border-color, #cbd5e1);
  border-radius: 0.7rem;
  background: #ffffff;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
  transition: background 0.15s ease, border-color 0.15s ease;
}
.kpi-modal-close-btn:hover {
  background: var(--ui-primary-soft, #eef2ff);
  border-color: #c7d2fe;
}
.kpi-modal-heading {
  position: sticky;
  top: 0;
  z-index: 30;
  margin: 0 -2rem 1.25rem -2rem;
  padding: 1.25rem 4.5rem 0.9rem 2rem;
  border-bottom: 1px solid var(--border-color, #e2e8f0);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}
.kpi-modal-title {
  font-size: 1.35rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0;
}
.kpi-code-flex {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.kpi-code-input-readonly {
  background-color: var(--surface-variant, #f1f5f9);
  cursor: not-allowed;
  flex: 1;
}
.kpi-override-btn {
  min-height: 40px;
  padding: 0 0.75rem;
  border: 1px solid var(--border-color, #cbd5e1);
  border-radius: 6px;
  background: var(--surface-color, #ffffff);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.kpi-fieldset-card {
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 8px;
  padding: 1rem;
  margin: 0.5rem 0;
}
.kpi-fieldset-legend {
  font-weight: 600;
  font-size: 0.875rem;
  padding: 0 0.5rem;
}
.kpi-threshold-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  margin-top: 0.5rem;
}
.kpi-btn-submit-full {
  min-height: 44px;
  margin-top: 0.5rem;
}

.kpi-preset-banner-card {
  grid-column: 1 / -1;
  background: var(--bg-surface-high, #f4f4f5);
  padding: 0.75rem 1rem;
  border-radius: var(--radius-md, 8px);
  border: 1px solid var(--ui-border, #e2e8f0);
}
.kpi-preset-banner-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.375rem;
}
.kpi-preset-banner-label {
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin: 0;
  color: var(--text-main, #1b1b24);
}
.kpi-preset-banner-icon {
  color: var(--ui-warning, #b45309);
}
.kpi-preset-banner-badge {
  font-size: 0.75rem;
  padding: 0.125rem 0.5rem;
  border-radius: 0.75rem;
  background: var(--ui-primary-soft, #ecfdf5);
  color: var(--ui-success, #166534);
}
.kpi-preset-select {
  width: 100%;
  padding: 0.5rem;
  border-radius: 0.375rem;
  border: 1px solid var(--ui-border, #cbd5e1);
  background: var(--ui-surface, #ffffff);
}
.kpi-preset-banner-hint {
  display: block;
  margin-top: 0.25rem;
  color: var(--text-muted, #64748b);
}
.kpi-threshold-validation-msg {
  display: none;
  color: var(--ui-danger, #b91c1c);
  margin-top: 0.5rem;
  padding: 0.375rem 0.75rem;
  background: var(--error-container, #fef2f2);
  border: 1px solid var(--outline-variant, #fecaca);
  border-radius: 0.375rem;
  font-weight: 500;
}
.status-msg-box.success {
  color: var(--ui-success, #15803d);
}
.status-msg-box.error {
  color: var(--ui-danger, #b91c1c);
}

/* Detail Modal Components */
.kpi-detail-meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.kpi-detail-metric-card {
  padding: 0.85rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  background: #f8fafc;
}
.kpi-detail-metric-label {
  font-size: 0.72rem;
  color: #64748b;
  display: block;
}
.kpi-detail-metric-val {
  font-size: 1.25rem;
  color: #0f172a;
}
.kpi-band-chips-flex {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.kpi-band-chip {
  flex: 1;
  padding: 0.65rem;
  border-radius: 0.65rem;
  font-size: 0.78rem;
}
.kpi-band-chip-critical { background: #fee2e2; color: #991b1b; }
.kpi-band-chip-warning { background: #fef3c7; color: #92400e; }
.kpi-band-chip-target { background: #dcfce7; color: #166534; }
.kpi-details-list {
  display: grid;
  gap: 0.75rem;
  font-size: 0.82rem;
  color: #334155;
}
.kpi-details-list strong {
  display: block;
  color: #0f172a;
}

/* ==========================================================================
   MODERN KPI CARD GRID & FILTER TOOLBAR PURE CSS SPECIFICATION
   ========================================================================== */
.kpi-toolbar-card {
    background: #ffffff;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 1.25rem;
    padding: 1.25rem 1.5rem;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.03);
    margin-bottom: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.kpi-toolbar-row1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}
.kpi-toolbar-title-group p {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted, #64748b);
    margin: 0 0 0.15rem;
}
.kpi-toolbar-title-group h2 {
    font-size: 1.35rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0;
    letter-spacing: -0.02em;
}
.kpi-toolbar-controls {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.kpi-filter-select {
    min-height: 40px;
    padding: 0 2rem 0 0.85rem;
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 0.65rem;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 0.65rem center;
    background-size: 1rem;
    font-size: 0.84rem;
    font-weight: 500;
    color: #1e293b;
    cursor: pointer;
    appearance: none;
    outline: none;
}
.kpi-filter-select:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}
.view-toggle-group {
    display: inline-flex;
    padding: 3px;
    background: #f1f5f9;
    border-radius: 0.65rem;
    border: 1px solid #e2e8f0;
}
.view-toggle-btn {
    border: 0;
    background: transparent;
    color: #64748b;
    padding: 0.4rem 0.65rem;
    border-radius: 0.5rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}
.view-toggle-btn.active {
    background: #ffffff;
    color: #4f46e5;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
}
.kpi-toolbar-row2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding-top: 0.85rem;
    border-top: 1px solid #f1f5f9;
}
.kpi-search-wrap {
    position: relative;
    flex: 1 1 18rem;
    max-width: 26rem;
}
.kpi-search-wrap .material-symbols-outlined {
    position: absolute;
    left: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 1.2rem;
}
.kpi-search-input {
    width: 100%;
    min-height: 40px;
    padding: 0 0.85rem 0 2.5rem;
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: 0.65rem;
    font-size: 0.85rem;
    background: #ffffff;
    color: #0f172a;
    outline: none;
}
.kpi-search-input:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}
.kpi-pagination-bar {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    font-size: 0.82rem;
    color: #64748b;
    flex-wrap: wrap;
}
.kpi-pagination-bar select {
    padding: 0.25rem 0.5rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.4rem;
    font-size: 0.82rem;
}
.kpi-page-btn {
    padding: 0.35rem 0.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.5rem;
    background: #ffffff;
    color: #334155;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
}
.kpi-page-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* 3-Column Card Grid System */
.kpi-grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
    gap: 1.25rem;
    margin-bottom: 2rem;
}
.kpi-card {
    position: relative;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 1.25rem;
    padding: 1.35rem;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.03);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.kpi-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    border-color: #cbd5e1;
}
.kpi-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}
.kpi-card-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0;
    line-height: 1.3;
    flex: 1 1 auto;
    min-width: 0;
    word-break: break-word;
}
.kpi-card-meta {
    margin-bottom: 1.15rem;
}
.kpi-card-code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.78rem;
    font-weight: 700;
    color: #475569;
}
.kpi-card-category {
    font-size: 0.78rem;
    color: #64748b;
}

/* 3-dot context menu */
.kpi-card-actions-wrap {
    position: relative;
    flex-shrink: 0;
}
.kpi-menu-trigger {
    border: 0;
    background: #f8fafc;
    color: #64748b;
    width: 2rem;
    height: 2rem;
    border-radius: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s ease;
}
.kpi-menu-trigger:hover {
    background: #f1f5f9;
    color: #0f172a;
}
.kpi-menu-dropdown {
    position: absolute;
    top: calc(100% + 0.25rem);
    right: 0;
    z-index: 20;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
    min-width: 10rem;
    padding: 0.35rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.kpi-menu-dropdown[hidden] {
    display: none !important;
}
.kpi-menu-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 0;
    background: transparent;
    border-radius: 0.375rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: #334155;
    cursor: pointer;
    text-align: left;
    transition: background 0.12s ease, color 0.12s ease;
}
.kpi-menu-item:hover {
    background: #f1f5f9;
    color: #0f172a;
}
.kpi-menu-item.danger {
    color: #e11d48;
}
.kpi-menu-item.danger:hover {
    background: #fef2f2;
    color: #dc2626;
}

/* Status Badges - Enforced No Wrap */
.badge-status {
    padding: 0.25rem 0.65rem !important;
    border-radius: 9999px !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    word-break: keep-all !important;
    writing-mode: horizontal-tb !important;
    cursor: pointer !important;
}
.badge-status * {
    white-space: nowrap !important;
    writing-mode: horizontal-tb !important;
}
.badge-status-on-track {
    background: #dcfce7 !important;
    color: #15803d !important;
}
.badge-status-at-risk {
    background: #fef3c7 !important;
    color: #b45309 !important;
}
.badge-status-critical {
    background: #fee2e2 !important;
    color: #b91c1c !important;
}
.badge-status-no-data {
    background: #f1f5f9 !important;
    color: #64748b !important;
}

/* Card Metric typography & progress bar */
.kpi-metrics-block {
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid #f1f5f9;
}
.kpi-metric-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 0.35rem;
}
.kpi-metric-label {
    font-size: 0.75rem;
    color: #64748b;
}
.kpi-current-val {
    font-size: 1.35rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
}
.kpi-target-val {
    font-size: 0.85rem;
    font-weight: 700;
    color: #475569;
}
.kpi-progress-track {
    width: 100%;
    height: 6px;
    border-radius: 9999px;
    background: #e2e8f0;
    overflow: hidden;
    margin-top: 0.5rem;
}
.kpi-progress-bar {
    height: 100%;
    border-radius: 9999px;
    transition: width 0.3s ease;
}
.bg-on-track { background: #16a34a; }
.bg-at-risk { background: #d97706; }
.bg-critical { background: #dc2626; }
.bg-no-data { background: #94a3b8; }

/* UI Design Audit Focus Rings & Micro-Interactions */
.kpi-filter-select:focus-visible,
.kpi-search-input:focus-visible,
.kpi-override-btn:focus-visible,
.view-toggle-btn:focus-visible,
.kpi-page-btn:focus-visible,
.module-form input:focus-visible,
.module-form select:focus-visible,
.module-form textarea:focus-visible {
  outline: none !important;
  border-color: #6366f1 !important;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2) !important;
}

.kpi-card {
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.22s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.22s ease !important;
}

.kpi-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08), 0 2px 6px rgba(15, 23, 42, 0.04) !important;
  border-color: #cbd5e1 !important;
}

.badge-auto-calc {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.15rem 0.5rem;
  border-radius: 9999px;
  background: #e0e7ff;
  color: #3730a3;
  font-size: 0.7rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .kpi-menu-trigger,
  .kpi-page-btn,
  .view-toggle-btn {
    min-width: 44px;
    min-height: 44px;
  }
}

/* Radio Group Option Cards */
.kpi-radio-group {
  display: flex;
  gap: 0.85rem;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 0.35rem;
  margin-bottom: 0.75rem;
}
.kpi-radio-card {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  padding: 0.65rem 1rem !important;
  border: 1px solid var(--border-color, #cbd5e1) !important;
  border-radius: 0.75rem !important;
  background: var(--surface-color, #ffffff) !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  margin: 0 !important;
  width: auto !important;
  flex: 1 1 14rem !important;
}
.kpi-radio-card:hover {
  border-color: #6366f1 !important;
  background: #f8fafc !important;
}
.kpi-radio-card input[type="radio"] {
  width: 1.15rem !important;
  height: 1.15rem !important;
  min-height: auto !important;
  margin: 0 !important;
  cursor: pointer !important;
  accent-color: #4f46e5 !important;
  flex-shrink: 0 !important;
}
.kpi-radio-card span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  font-size: 0.82rem !important;
  color: #1e293b !important;
  line-height: 1.3 !important;
}
.kpi-radio-card .material-symbols-outlined {
  font-size: 1.15rem !important;
  color: #4f46e5 !important;
}

/* ==========================================================================
   FORECAST DETAIL MODAL & VISUAL DATA PRESENTATION ENHANCEMENTS
   ========================================================================== */
.forecast-modal-dialog {
  position: relative !important;
  width: min(96vw, 68rem) !important;
  max-width: 68rem !important;
  max-height: calc(100dvh - 2.5rem) !important;
  margin: auto !important;
  padding: 0 !important;
  border-radius: 1.25rem !important;
  background: #ffffff !important;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.35) !important;
  border: 1px solid rgba(226, 232, 240, 0.8) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}

.forecast-modal-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
  background: #ffffff !important;
  padding: 1.25rem 1.75rem 1.25rem 1.75rem !important;
  border-bottom: 1px solid var(--border-color-subtle, #e2e8f0) !important;
}

.forecast-modal-header .kpi-modal-close-btn {
  margin-top: 0 !important;
}

.forecast-modal-tabs {
  display: flex !important;
  gap: 0.5rem !important;
  margin-top: 1rem !important;
  overflow-x: auto !important;
}

.forecast-tab-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  padding: 0.65rem 1.1rem !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--text-muted, #64748b) !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0.375rem 0.375rem 0 0 !important;
  cursor: pointer !important;
  transition: all 0.15s ease-in-out !important;
  white-space: nowrap !important;
}

.forecast-tab-btn:hover {
  color: var(--color-primary, #4f46e5) !important;
  background: var(--bg-surface-variant, #f8fafc) !important;
}

.forecast-tab-btn.active {
  color: var(--color-primary, #4f46e5) !important;
  border-bottom-color: var(--color-primary, #4f46e5) !important;
  background: rgba(79, 70, 229, 0.05) !important;
}

.forecast-modal-body {
  padding: 1.5rem 1.75rem !important;
  overflow-y: auto !important;
  flex: 1 1 auto !important;
  max-height: calc(100dvh - 14rem) !important;
}

.forecast-tab-pane[hidden] {
  display: none !important;
}

.forecast-modal-dialog .kpi-modal-footer {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 20 !important;
  background: #f8fafc !important;
  padding: 1rem 1.75rem !important;
  margin-top: 0 !important;
  border-top: 1px solid var(--border-color-subtle, #e2e8f0) !important;
}

.forecast-chart-card {
  background: var(--bg-surface-variant, #f8fafc) !important;
  border: 1px solid var(--border-color-subtle, #e2e8f0) !important;
  border-radius: 0.5rem !important;
  padding: 0.85rem 1rem !important;
  margin-bottom: 1rem !important;
}
.forecast-chart-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 0.5rem !important;
}
.forecast-chart-title {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  color: var(--text-muted, #64748b) !important;
  text-transform: uppercase !important;
}
.forecast-chart-legend {
  display: flex !important;
  gap: 0.85rem !important;
  font-size: 0.72rem !important;
  color: var(--text-muted, #64748b) !important;
}
.legend-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
}
.legend-line {
  width: 14px !important;
  height: 3px !important;
  background: #4f46e5 !important;
  border-radius: 2px !important;
}
.legend-box {
  width: 12px !important;
  height: 12px !important;
  background: rgba(99, 102, 241, 0.25) !important;
  border: 1px solid rgba(99, 102, 241, 0.4) !important;
  border-radius: 2px !important;
}
.forecast-details-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 0.8125rem !important;
}
.forecast-details-table th,
.forecast-details-table td {
  padding: 8px 12px !important;
  text-align: left !important;
  white-space: nowrap !important;
  border-bottom: 1px solid var(--border-color-subtle, #e2e8f0) !important;
}
.forecast-details-table th {
  background-color: var(--bg-surface-variant, #f8fafc) !important;
  font-weight: 600 !important;
  color: var(--text-muted, #64748b) !important;
  text-transform: uppercase !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.05em !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1 !important;
}
.forecast-details-table td.num-cell,
.forecast-details-table th.num-cell {
  text-align: right !important;
}
.forecast-details-table td.num-cell {
  font-family: var(--font-mono, monospace) !important;
  font-size: 0.8rem !important;
}
.forecast-details-table tr:hover td {
  background-color: rgba(241, 245, 249, 0.6) !important;
}

/* Selected Champion Model Highlight */
.forecast-details-table tr.forecast-row-selected td {
  background-color: rgba(16, 185, 129, 0.08) !important;
  font-weight: 600 !important;
}
.forecast-details-table tr.forecast-row-selected td:first-child {
  border-left: 3px solid #10b981 !important;
}
.forecast-details-table tr.forecast-row-selected:hover td {
  background-color: rgba(16, 185, 129, 0.14) !important;
}
.forecast-badge-champion {
  background: #dcfce7 !important;
  color: #15803d !important;
  border: 1px solid #86efac !important;
  font-size: 0.68rem !important;
  padding: 0.15rem 0.45rem !important;
  letter-spacing: 0.03em !important;
}

/* Progressive Disclosure Semantic Accordion */
.forecast-accordion {
  border: 1px solid var(--border-color-subtle, #e2e8f0) !important;
  border-radius: 0.5rem !important;
  background: var(--bg-surface-variant, #f8fafc) !important;
  overflow: hidden !important;
  transition: all 0.2s ease !important;
}
.forecast-accordion[open] {
  border-color: #93c5fd !important;
  background: #ffffff !important;
}
.forecast-accordion-summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.65rem 0.85rem !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: var(--text-muted, #475569) !important;
  cursor: pointer !important;
  user-select: none !important;
  list-style: none !important;
}
.forecast-accordion-summary::-webkit-details-marker {
  display: none !important;
}
.forecast-accordion-summary:hover {
  background: rgba(241, 245, 249, 0.8) !important;
  color: var(--text-color, #0f172a) !important;
}
.forecast-accordion-icon {
  font-size: 1.1rem !important;
  color: #0f766e !important;
  margin-right: 0.5rem !important;
}
.forecast-accordion-title {
  flex: 1 !important;
}
.forecast-accordion-chevron {
  font-size: 1.25rem !important;
  color: #64748b !important;
  transition: transform 0.2s ease !important;
}
.forecast-accordion[open] .forecast-accordion-chevron {
  transform: rotate(180deg) !important;
}
.forecast-accordion-content {
  padding: 0.75rem 0.85rem !important;
  border-top: 1px solid var(--border-color-subtle, #e2e8f0) !important;
  background: #ffffff !important;
}

/* Modal Primary Button */
.kpi-modal-btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  padding: 0.5rem 1rem !important;
  background: #0f766e !important;
  border: 1px solid #0d9488 !important;
  color: #ffffff !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  border-radius: 0.5rem !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}
.kpi-modal-btn-primary:hover {
  background: #0d9488 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 4px rgba(15, 118, 110, 0.2) !important;
}

/* ==========================================================================
   POP-UP MODAL FOOTER ACTION BAR STANDARD (uireferences/modal_footer_standard)
   ========================================================================== */
.kpi-modal-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding-top: 1rem !important;
  margin-top: 1rem !important;
  border-top: 1px solid #e2e8f0 !important;
  gap: 0.75rem !important;
}
.kpi-modal-footer form.inline-form {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  width: auto !important;
}
.kpi-modal-btn-danger {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  padding: 0.5rem 1rem !important;
  border: 1px solid #fecdd3 !important;
  background: #fff1f2 !important;
  color: #e11d48 !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  border-radius: 0.5rem !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}
.kpi-modal-btn-danger:hover {
  background: #ffe4e6 !important;
  border-color: #fda4af !important;
  color: #be123c !important;
}
.kpi-modal-btn-secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.5rem 1.15rem !important;
  border: 1px solid #cbd5e1 !important;
  background: #ffffff !important;
  color: #334155 !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  border-radius: 0.5rem !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}
.kpi-modal-btn-secondary:hover {
  background: #f8fafc !important;
  border-color: #94a3b8 !important;
  color: #0f172a !important;
}

/* ==========================================================================
   MINIMAL FORECAST CARD & SPARKLINE DATA PRESENTATION
   ========================================================================== */
.minimal-forecast-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 0.85rem !important;
  padding: 1.15rem !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.2s ease !important;
}
.minimal-forecast-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08) !important;
  border-color: #6366f1 !important;
}
.card-sparkline-wrap {
  width: 100% !important;
  height: 64px !important;
  margin: 0.65rem 0 !important;
  background: #f8fafc !important;
  border-radius: 0.5rem !important;
  padding: 0.35rem !important;
  overflow: hidden !important;
}
.card-sparkline-svg {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  overflow: visible !important;
}
.minimal-card-footer {
  margin-top: auto !important;
  padding-top: 0.65rem !important;
  border-top: 1px solid #f1f5f9 !important;
}
.forecast-horizon-pill {
  display: inline-block !important;
  background: var(--bg-surface-variant, #f1f5f9) !important;
  padding: 1px 7px !important;
  border-radius: 4px !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  color: var(--text-muted, #475569) !important;
  border: 1px solid var(--border-color-subtle, #e2e8f0) !important;
}
.card-corridor-hint {
  font-size: 0.70rem !important;
  color: var(--text-muted, #64748b) !important;
  font-family: var(--font-mono, monospace) !important;
  margin-top: 3px !important;
  display: block !important;
}

/* SUB-09-01 chart header actions */
.chart-heading-actions{display:flex;align-items:center;gap:.45rem}
.chart-export-button{padding:0;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.chart-export-button:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(79,70,229,.14)}
.chart-export-button:active{transform:translateY(0) scale(.96)}
.chart-export-button:focus-visible{outline:3px solid #c7d2fe;outline-offset:2px}
.chart-export-button .material-symbols-outlined{transition:transform .18s ease}
.chart-export-button:hover .material-symbols-outlined{transform:translateY(1px)}
@media(prefers-reduced-motion:reduce){.chart-export-button,.chart-export-button .material-symbols-outlined{transition:none}.chart-export-button:hover,.chart-export-button:active,.chart-export-button:hover .material-symbols-outlined{transform:none}}



/* SUB-09-03 validated forecasting workspace */
.modal-open { overflow: hidden; }
.clickable-forecast-card { cursor: pointer; }
.forecast-governance-note { display: flex; align-items: flex-start; gap: 0.85rem; margin-bottom: 1.25rem; padding: 1rem 1.15rem; border-left: 4px solid var(--primary); }
.forecast-governance-note > .material-symbols-outlined { color: var(--primary); font-size: 1.5rem; }
.forecast-governance-note p { margin: 0.25rem 0 0; color: var(--text-muted); font-size: 0.86rem; line-height: 1.45; }
.forecast-card-score-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; padding-top: 0.85rem; border-top: 1px solid var(--border-color); }
.forecast-card-score-grid div { display: flex; flex-direction: column; gap: 0.2rem; }
.forecast-card-score-grid span, .forecast-validation-grid span { color: var(--text-muted); font-family: var(--font-label); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
.forecast-card-score-grid strong { color: var(--text-main); font-size: 0.88rem; }
.forecast-validation-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.65rem !important;
  margin-bottom: 1rem !important;
}
.forecast-validation-grid > div {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.25rem !important;
  min-width: 0 !important;
  padding: 0.65rem 0.85rem !important;
  border: 1px solid var(--border-color, #e2e8f0) !important;
  border-radius: var(--radius-md, 0.5rem) !important;
  background: var(--bg-surface-variant, #f8fafc) !important;
  box-sizing: border-box !important;
}
.forecast-validation-grid span {
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: var(--text-muted, #64748b) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.forecast-validation-grid strong {
  font-size: 0.82rem !important;
  color: var(--text-main, #0f172a) !important;
  word-break: break-word !important;
}
@media (max-width: 768px) {
  .forecast-validation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 480px) {
  .forecast-validation-grid {
    grid-template-columns: 1fr !important;
  }
}
.forecast-validation-grid > div { display: flex; flex-direction: column; gap: 0.28rem; min-width: 0; padding: 0.75rem; border: 1px solid var(--border-color); border-radius: var(--radius-md); background: var(--bg-main); }
.forecast-validation-grid strong { color: var(--text-main); font-size: 0.82rem; overflow-wrap: anywhere; }
.forecast-ai-card { display: block; border-color: color-mix(in srgb, var(--primary) 25%, var(--border-color)); background: color-mix(in srgb, var(--primary) 6%, var(--bg-surface)); }
.forecast-ai-card-header { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; width: 100%; }
.forecast-ai-card-title, .forecast-ai-card-tools { display: flex; align-items: center; gap: 0.5rem; min-width: 0; }
.forecast-ai-card-title > .material-symbols-outlined { color: var(--primary); }
.forecast-ai-card-tools { justify-content: flex-end; flex-wrap: wrap; }
.forecast-ai-source { margin-left: auto; padding: 0.18rem 0.45rem; border: 1px solid var(--border-color); border-radius: 999px; color: var(--text-muted); font-family: var(--font-label); font-size: 0.64rem; font-weight: 700; text-transform: uppercase; }
.forecast-ai-source.is-ai { border-color: color-mix(in srgb, var(--ui-success) 35%, var(--border-color)); background: color-mix(in srgb, var(--ui-success) 8%, var(--bg-surface)); color: var(--ui-success); }
.forecast-ai-source.is-fallback { border-color: color-mix(in srgb, var(--ui-warning) 35%, var(--border-color)); background: color-mix(in srgb, var(--ui-warning) 7%, var(--bg-surface)); color: var(--ui-warning); }
.forecast-ai-refresh { display: inline-flex; align-items: center; gap: 0.3rem; min-height: 2.5rem; padding: 0.45rem 0.75rem; border: 1px solid var(--outline-variant); border-radius: 999px; background: var(--bg-surface); color: var(--primary); font-family: var(--font-label); font-size: 0.72rem; font-weight: 800; cursor: pointer; }
.forecast-ai-refresh:hover { border-color: var(--primary); background: var(--primary-light); }
.forecast-ai-refresh:disabled { cursor: wait; opacity: 0.65; }
.forecast-ai-refresh .material-symbols-outlined { font-size: 1rem; }
.forecast-ai-refresh.is-loading .material-symbols-outlined { animation: forecast-guidance-spin 0.8s linear infinite; }
.forecast-ai-status { min-height: 1.1rem; margin: 0.45rem 0 0; color: var(--text-muted); font-size: 0.68rem; }
.forecast-decision-guidance { display: grid; gap: 0.85rem; color: var(--text-muted); font-size: 0.76rem; line-height: 1.5; }
.forecast-decision-source-note { margin: 0; padding: 0.55rem 0.65rem; border-left: 3px solid var(--ui-warning); border-radius: var(--radius-md); background: color-mix(in srgb, var(--ui-warning) 6%, var(--bg-surface)); color: var(--text-muted); font-size: 0.68rem; }
.forecast-decision-summary { margin: 0; color: var(--text-main); font-size: 0.8rem; }
.forecast-decision-posture { display: grid; grid-template-columns: auto 1fr; gap: 0.2rem 0.65rem; padding: 0.75rem; border: 1px solid var(--outline-variant); border-left: 4px solid var(--primary); border-radius: var(--radius-lg); background: var(--bg-surface); }
.forecast-decision-posture > span { color: var(--text-muted); font-family: var(--font-label); font-size: 0.62rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.forecast-decision-posture > strong { justify-self: end; color: var(--primary); font-family: var(--font-label); text-transform: uppercase; }
.forecast-decision-posture > p, .forecast-decision-posture > small { grid-column: 1 / -1; margin: 0; }
.forecast-decision-posture > small, .forecast-decision-item > small, .forecast-monitoring-list small, .forecast-scenario-card small { color: var(--text-dim); font-family: var(--font-label); font-size: 0.61rem; }
.forecast-decision-posture.is-protect, .forecast-decision-posture.is-investigate { border-left-color: var(--ui-warning); }
.forecast-decision-posture.is-expand { border-left-color: var(--ui-success); }
.forecast-decision-section { display: grid; gap: 0.55rem; }
.forecast-decision-section h4 { margin: 0; color: var(--text-main); font-size: 0.72rem; letter-spacing: 0.035em; text-transform: uppercase; }
.forecast-scenario-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; }
.forecast-scenario-card { display: grid; align-content: start; gap: 0.35rem; min-width: 0; padding: 0.7rem; border: 1px solid var(--outline-variant); border-top: 3px solid var(--primary); border-radius: var(--radius-lg); background: var(--bg-surface); }
.forecast-scenario-card.is-downside { border-top-color: var(--ui-warning); }
.forecast-scenario-card.is-upside { border-top-color: var(--ui-success); }
.forecast-scenario-card > div { display: flex; align-items: center; justify-content: space-between; gap: 0.4rem; }
.forecast-scenario-card strong { color: var(--text-main); font-size: 0.7rem; text-transform: uppercase; }
.forecast-scenario-card p { margin: 0; color: var(--text-main); font-weight: 700; }
.forecast-scenario-card > span { font-size: 0.69rem; }
.forecast-decision-list { display: grid; gap: 0.55rem; }
.forecast-decision-item { display: grid; gap: 0.45rem; padding: 0.7rem; border: 1px solid var(--outline-variant); border-left: 3px solid var(--primary); border-radius: var(--radius-lg); background: var(--bg-surface); }
.forecast-decision-item.is-high { border-left-color: var(--ui-danger); }
.forecast-decision-item.is-medium { border-left-color: var(--ui-warning); }
.forecast-decision-item.is-low { border-left-color: var(--ui-success); }
.forecast-decision-item-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.65rem; }
.forecast-decision-item-heading strong { color: var(--text-main); font-size: 0.74rem; }
.forecast-decision-item-heading > span { flex: none; padding: 0.15rem 0.4rem; border-radius: 999px; background: var(--bg-surface-high); color: var(--text-muted); font-family: var(--font-label); font-size: 0.58rem; font-weight: 800; text-transform: uppercase; }
.forecast-decision-item p, .forecast-decision-item dl, .forecast-decision-item dd { margin: 0; }
.forecast-decision-item dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
.forecast-decision-item dl > div { padding: 0.5rem; border-radius: var(--radius-md); background: var(--bg-main); }
.forecast-decision-item dt, .forecast-action-meta b { color: var(--text-muted); font-family: var(--font-label); font-size: 0.58rem; font-weight: 800; letter-spacing: 0.035em; text-transform: uppercase; }
.forecast-decision-item dd { margin-top: 0.15rem; color: var(--text-main); font-size: 0.68rem; }
.forecast-action-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
.forecast-action-meta > span { display: grid; gap: 0.1rem; }
.forecast-monitoring-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.55rem; margin: 0; padding: 0; list-style: none; }
.forecast-monitoring-list li { display: grid; gap: 0.25rem; min-width: 0; padding: 0.65rem; border: 1px solid var(--outline-variant); border-radius: var(--radius-lg); background: var(--bg-surface); }
.forecast-monitoring-list strong { color: var(--text-main); font-size: 0.72rem; }
.forecast-monitoring-list > li > span { color: var(--primary); font-family: var(--font-label); font-size: 0.62rem; font-weight: 800; }
.forecast-monitoring-list p { margin: 0; font-size: 0.67rem; }
@keyframes forecast-guidance-spin { to { transform: rotate(360deg); } }
.forecast-evidence-list { display: flex; flex-direction: column; gap: 0.45rem; margin: 0.65rem 0; padding-left: 1.15rem; }
.forecast-evidence-list small { display: inline-block; margin-left: 0.3rem; color: var(--text-muted); font-family: var(--font-label); }
.forecast-disclaimer { margin: 0.55rem 0 0; padding-top: 0.55rem; border-top: 1px solid var(--border-color); font-size: 0.74rem; color: var(--text-muted); }
.forecast-auto-note { align-items: flex-start; }
.forecast-auto-note > div { min-width: 0; }
.forecast-auto-note strong { display: block; margin-bottom: 0.2rem; }
.forecast-auto-note p { margin: 0; line-height: 1.45; }
.forecast-svg-chart { width: 100%; height: auto; overflow: visible; }
.forecast-band-95 { fill: color-mix(in srgb, var(--primary) 10%, transparent); stroke: none; }
.forecast-band-80 { fill: color-mix(in srgb, var(--primary) 18%, transparent); stroke: none; }
.forecast-line-actual, .forecast-line-predicted { fill: none; stroke-linejoin: round; stroke-linecap: round; }
.forecast-line-actual { stroke: var(--text-main); stroke-width: 2.2; }
.forecast-line-predicted { stroke: var(--primary); stroke-width: 2.7; stroke-dasharray: 7 4; }
.forecast-axis-label { fill: var(--text-muted); font-family: var(--font-label); font-size: 9px; }
.legend-line-actual { background: var(--text-main); }
.forecast-ml-readiness { margin-bottom: 1.25rem; }
.forecast-ml-readiness-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.forecast-ml-readiness-header h2 { margin: 0.2rem 0 0; color: var(--text-main); font-size: 1rem; }
.forecast-ml-model-count { flex: none; padding: 0.35rem 0.65rem; border: 1px solid var(--border-color); border-radius: 999px; background: var(--bg-main); color: var(--text-muted); font-family: var(--font-label); font-size: 0.68rem; font-weight: 700; }
.forecast-ml-readiness-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; }
.forecast-ml-readiness-card { display: grid; gap: 0.7rem; min-width: 0; padding: 0.85rem; border: 1px solid var(--border-color); border-radius: var(--radius-md); background: var(--bg-main); }
.forecast-ml-readiness-card.is-ready { border-color: color-mix(in srgb, var(--primary) 45%, var(--border-color)); background: color-mix(in srgb, var(--primary) 5%, var(--bg-surface)); }
.forecast-ml-readiness-card.is-current { border-color: color-mix(in srgb, var(--ui-success) 45%, var(--border-color)); background: color-mix(in srgb, var(--ui-success) 6%, var(--bg-surface)); }
.forecast-ml-readiness-title { display: flex; align-items: center; gap: 0.6rem; min-width: 0; }
.forecast-ml-readiness-title > .material-symbols-outlined { color: var(--primary); font-size: 1.3rem; }
.forecast-ml-readiness-card.is-current .forecast-ml-readiness-title > .material-symbols-outlined { color: var(--ui-success); }
.forecast-ml-readiness-title > div { display: grid; min-width: 0; }
.forecast-ml-readiness-title strong { color: var(--text-main); font-size: 0.78rem; }
.forecast-ml-readiness-title small { overflow: hidden; color: var(--text-muted); font-size: 0.66rem; text-overflow: ellipsis; white-space: nowrap; }
.forecast-ml-readiness-card progress { width: 100%; height: 0.5rem; overflow: hidden; border: 0; border-radius: 999px; background: var(--border-color); accent-color: var(--primary); }
.forecast-ml-readiness-card progress::-webkit-progress-bar { border-radius: 999px; background: var(--border-color); }
.forecast-ml-readiness-card progress::-webkit-progress-value { border-radius: 999px; background: var(--primary); }
.forecast-ml-readiness-card progress::-moz-progress-bar { border-radius: 999px; background: var(--primary); }
.forecast-ml-readiness-meta { display: flex; justify-content: space-between; gap: 0.5rem; color: var(--text-muted); font-size: 0.62rem; }
.forecast-engine-pill { display: inline-flex; align-items: center; flex: none; padding: 0.2rem 0.45rem; border: 1px solid var(--border-color); border-radius: 999px; background: var(--bg-main); color: var(--text-muted); font-family: var(--font-label); font-size: 0.62rem; font-weight: 800; letter-spacing: 0.03em; text-transform: uppercase; }
.forecast-engine-pill.is-ai { border-color: color-mix(in srgb, var(--primary) 35%, var(--border-color)); background: color-mix(in srgb, var(--primary) 9%, var(--bg-surface)); color: var(--primary); }
.forecast-training-dialog { max-width: 36rem; }
.forecast-training-form select option:disabled { color: var(--text-muted); }
@media (max-width: 760px) {
    .forecast-ai-card-header { align-items: flex-start; flex-direction: column; }
    .forecast-ai-card-tools { justify-content: flex-start; width: 100%; }
    .forecast-ai-source { margin-left: 0; }
    .forecast-scenario-grid, .forecast-monitoring-list { grid-template-columns: 1fr; }
    .forecast-ml-readiness-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .forecast-validation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .forecast-card-score-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .forecast-ai-card-tools, .forecast-ai-refresh { width: 100%; }
    .forecast-ai-refresh { justify-content: center; }
    .forecast-decision-item dl, .forecast-action-meta { grid-template-columns: 1fr; }
    .forecast-ml-readiness-header { align-items: stretch; flex-direction: column; }
    .forecast-ml-model-count { align-self: flex-start; }
    .forecast-ml-readiness-grid { grid-template-columns: 1fr; }
}

/* SUB-09-01 authoritative reporting scope */
.dashboard-date-filter {
    min-inline-size: 0;
    display: grid;
    gap: 0.8rem;
    padding: 0;
    border: 0;
}
.dashboard-date-filter > legend {
    margin-bottom: 0.55rem;
    color: var(--text-main);
    font-family: var(--font-label);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.dashboard-date-mode {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.25rem;
    padding: 0.25rem;
    border: 1px solid var(--outline-variant);
    border-radius: var(--radius-lg);
    background: var(--bg-surface-high);
}
.radio-card.dashboard-date-mode-option {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 2.75rem;
    padding: 0.55rem 0.65rem;
    border-radius: calc(var(--radius-lg) - 0.2rem);
    color: var(--text-muted);
    font-family: var(--font-label);
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    transition: background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
}
.radio-card.dashboard-date-mode-option input[type="radio"] {
    position: absolute;
    width: 1.15rem;
    height: 1.15rem;
    opacity: 0;
    accent-color: var(--primary);
}
.radio-card.dashboard-date-mode-option:has(input:checked) {
    background: var(--primary);
    color: var(--bg-surface);
    box-shadow: var(--shadow-sm);
}
.radio-card.dashboard-date-mode-option:has(input:focus-visible) {
    outline: 3px solid var(--primary-light);
    outline-offset: 2px;
}
.dashboard-date-mode-help {
    color: var(--text-muted);
    font-family: var(--font-label);
    font-size: 0.68rem;
    line-height: 1.45;
}
.dashboard-date-fields.is-disabled {
    opacity: 0.72;
}
.dashboard-date-fields input:disabled,
.dashboard-date-fields select:disabled {
    border-color: var(--outline-variant);
    background: var(--bg-surface-highest);
    color: var(--text-dim);
    cursor: not-allowed;
}
.dashboard-date-fields input[aria-invalid="true"],
.dashboard-date-fields select[aria-invalid="true"] {
    border-color: var(--error);
    box-shadow: 0 0 0 2px var(--error-container);
}
.dashboard-period-preview {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    align-items: center;
    gap: 0.7rem;
    padding: 0.75rem;
    border: 1px solid var(--outline-variant);
    border-radius: var(--radius-lg);
    background: var(--bg-surface-low);
}
.dashboard-period-preview > .material-symbols-outlined {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--radius-md);
    background: var(--primary-light);
    color: var(--primary);
}
.dashboard-period-preview div {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
}
.dashboard-period-preview small {
    color: var(--text-muted);
    font-size: 0.62rem;
}
.dashboard-period-preview strong {
    overflow-wrap: anywhere;
    color: var(--text-main);
    font-size: 0.75rem;
}
.dashboard-field-error {
    padding: 0.65rem 0.75rem;
    border-radius: var(--radius-md);
    background: var(--error-container);
    color: var(--error);
    font-size: 0.7rem;
    font-weight: 700;
}
.dashboard-applied-scope {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    align-items: center;
    gap: 0.85rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--outline-variant);
    border-radius: var(--ui-radius);
    background: var(--bg-surface);
    box-shadow: var(--shadow-sm);
}
.dashboard-applied-scope-icon {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: var(--radius-lg);
    background: var(--primary-light);
    color: var(--primary);
}
.dashboard-applied-scope > div {
    display: grid;
    gap: 0.12rem;
    min-width: 0;
}
.dashboard-applied-scope strong {
    overflow-wrap: anywhere;
    font-size: 0.8rem;
}
.dashboard-applied-scope small {
    color: var(--text-muted);
    font-size: 0.66rem;
}
.dashboard-settings-form .stat-trend,
.stat-trend {
    color: var(--text-muted);
}
@media (min-width: 1101px) {
    #executiveStats.stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .dashboard-date-mode { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .radio-card.dashboard-date-mode-option { padding-inline: 0.4rem; font-size: 0.64rem; }
    .dashboard-settings-fields input,
    .dashboard-settings-fields select { font-size: 1rem; }
    .dashboard-applied-scope { grid-template-columns: 2.4rem minmax(0, 1fr); }
    .dashboard-applied-scope-icon { width: 2.4rem; height: 2.4rem; }
}

/* SUB-09-01 dynamic collected-revenue comparison */
.revenue-comparison-card { overflow: visible; }
.revenue-comparison-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 1rem;
    margin-top: 1rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--outline-variant);
    border-radius: var(--radius-xl);
    background: var(--bg-surface-low);
}
.revenue-comparison-toolbar-copy { display: grid; gap: 0.35rem; min-width: 0; }
.revenue-comparison-toolbar-copy p { max-width: 46rem; color: var(--text-muted); font-size: 0.7rem; line-height: 1.45; }
.revenue-comparison-scope-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    width: fit-content;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: var(--primary-light);
    color: var(--primary);
    font-family: var(--font-label);
    font-size: 0.63rem;
    font-weight: 800;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}
.revenue-comparison-scope-badge .material-symbols-outlined { font-size: 0.9rem; }
.revenue-comparison-controls { display: grid; grid-template-columns: minmax(6rem, 0.7fr) minmax(6rem, 0.7fr) minmax(9rem, 1fr); gap: 0.65rem; }
.revenue-comparison-controls label {
    display: grid;
    gap: 0.3rem;
    color: var(--text-muted);
    font-family: var(--font-label);
    font-size: 0.65rem;
    font-weight: 800;
}
.revenue-comparison-controls select {
    width: 100%;
    min-height: 2.65rem;
    padding: 0.55rem 1.8rem 0.55rem 0.7rem;
    border: 1px solid var(--outline-variant);
    border-radius: var(--radius-lg);
    background-color: var(--bg-surface);
    color: var(--text-main);
}
.revenue-comparison-controls option:disabled { color: var(--text-dim); }
.revenue-comparison-control-status { grid-column: 1 / -1; color: var(--text-muted); font-size: 0.64rem; text-align: right; }
.revenue-comparison-control-status.is-error { color: var(--error); font-weight: 700; }
.revenue-comparison-insight {
    display: grid;
    grid-template-columns: 2.65rem minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.8rem;
    padding: 0.75rem 0.85rem;
    border-left: 4px solid var(--outline);
    border-radius: var(--radius-lg);
    background: var(--bg-surface-low);
}
.revenue-comparison-insight-icon {
    display: grid;
    place-items: center;
    width: 2.65rem;
    height: 2.65rem;
    border-radius: var(--radius-lg);
    background: var(--bg-surface-high);
    color: var(--text-muted);
}
.revenue-comparison-insight > div { display: grid; gap: 0.1rem; min-width: 0; }
.revenue-comparison-insight small { color: var(--text-muted); font-family: var(--font-label); font-size: 0.61rem; font-weight: 800; text-transform: uppercase; }
.revenue-comparison-insight strong { font-size: 0.9rem; }
.revenue-comparison-insight p { color: var(--text-muted); font-size: 0.67rem; line-height: 1.45; }
.revenue-comparison-insight.is-positive,
.revenue-comparison-insight.is-new { border-left-color: var(--ui-success); }
.revenue-comparison-insight.is-positive .revenue-comparison-insight-icon,
.revenue-comparison-insight.is-new .revenue-comparison-insight-icon { color: var(--ui-success); }
.revenue-comparison-insight.is-negative { border-left-color: var(--ui-danger); }
.revenue-comparison-insight.is-negative .revenue-comparison-insight-icon { color: var(--ui-danger); }
.revenue-comparison-chart-container { min-height: 360px; height: min(46vh, 500px); }
.revenue-comparison-freshness { margin-left: auto; }
.drilldown-modal-panel { width: min(100%, 58rem); text-align: left; }
.drilldown-modal-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0.8rem 0 0.4rem 0;
    flex-wrap: wrap;
}
.drilldown-search-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex: 1;
    min-width: 14rem;
    padding: 0.4rem 0.75rem;
    border: 1px solid var(--outline-variant);
    border-radius: var(--radius-lg);
    background: var(--bg-surface);
}
.drilldown-search-wrap .material-symbols-outlined { font-size: 1.1rem; color: var(--text-muted); }
.drilldown-search-wrap input {
    width: 100%;
    border: none;
    background: transparent;
    color: var(--text-main);
    font-size: 0.78rem;
    outline: none;
}
.drilldown-result-summary { min-height: 1.35rem; margin: 0.4rem 0 0.8rem 0; color: var(--text-muted); font-size: 0.7rem; }
.drilldown-feedback { display: grid; place-items: center; gap: 0.55rem; min-height: 12rem; padding: 1.5rem; border-radius: var(--radius-xl); background: var(--bg-surface-low); color: var(--text-muted); text-align: center; }
.drilldown-feedback .material-symbols-outlined { font-size: 2rem; }
.drilldown-feedback-error { color: var(--error); }
.drilldown-feedback button { min-height: 2.5rem; padding: 0.5rem 0.9rem; border: 1px solid var(--outline-variant); border-radius: 999px; background: var(--bg-surface); color: var(--primary); font-weight: 800; cursor: pointer; }
.drilldown-table-wrap { max-width: 100%; overflow: auto; border: 1px solid var(--outline-variant); border-radius: var(--radius-xl); }
.drilldown-table-wrap .data-table { min-width: 42rem; }
@media (max-width: 760px) {
    .revenue-comparison-toolbar { grid-template-columns: 1fr; align-items: stretch; }
    .revenue-comparison-control-status { text-align: left; }
    .revenue-comparison-controls { grid-template-columns: 1fr 1fr; }
    .revenue-comparison-chart-container { min-height: 310px; height: 360px; }
}
@media (max-width: 430px) {
    .revenue-comparison-controls { grid-template-columns: 1fr; }
    .revenue-comparison-toolbar { padding: 0.75rem; }
    .revenue-comparison-insight { grid-template-columns: 2.3rem minmax(0, 1fr); }
    .revenue-comparison-insight-icon { width: 2.3rem; height: 2.3rem; }
}

/* SUB-09-01 Executive Stat Cards & Sparklines */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.15rem;
}
.stat-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 12.5rem;
    padding: 1.15rem;
    border: 1px solid var(--outline-variant);
    border-radius: var(--radius-xl);
    background: var(--bg-surface);
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    cursor: pointer;
}
.kpi-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    border-color: #cbd5e1;
}
.kpi-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}
.kpi-card-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0;
    line-height: 1.3;
    flex: 1 1 auto;
    min-width: 0;
    word-break: break-word;
}
.kpi-icon-edit-btn {
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #475569;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.kpi-icon-edit-btn:hover {
    background: #4f46e5;
    color: #ffffff;
    border-color: #4f46e5;
    transform: scale(1.08);
}
.kpi-modal-toggle-wrap {
    border-top: 1px solid #e2e8f0;
    padding-top: 1rem;
}
.kpi-toggle-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    padding: 0.85rem 1.15rem;
}
.kpi-toggle-info strong {
    display: block;
    font-size: 0.9rem;
    color: #0f172a;
}
.kpi-card-meta {;
}
.stat-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}
.stat-top-badges {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.stat-trend-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}
.stat-trend-pill.trend-up {
    background: #ecfdf5;
    color: #15803d;
    border: 1px solid rgba(22, 163, 74, 0.25);
}
.stat-trend-pill.trend-down {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid rgba(220, 38, 38, 0.25);
}
.stat-trend-pill.trend-neutral {
    background: var(--bg-surface-low);
    color: var(--text-muted);
    border: 1px solid var(--outline-variant);
}
.status-badge.status-success {
    background: #ecfdf5;
    color: #15803d;
    border: 1px solid rgba(22, 163, 74, 0.3);
    font-weight: 800;
}
.status-badge.status-warning {
    background: #fffbeb;
    color: #b45309;
    border: 1px solid rgba(245, 158, 11, 0.3);
    font-weight: 800;
}
.stat-main {
    margin-top: 0.65rem;
}
.stat-value {
    font-size: clamp(1.35rem, 2.2vw, 1.75rem);
    font-weight: 900;
    letter-spacing: -0.035em;
    color: var(--text-main);
    line-height: 1.15;
}
.stat-label {
    margin-top: 0.25rem;
    color: var(--text-muted);
    font-size: 0.76rem;
    font-weight: 600;
}
.stat-sparkline-wrap {
    width: 100%;
    height: 32px;
    margin: 0.5rem 0 0.35rem 0;
    overflow: hidden;
}
.stat-sparkline {
    width: 100%;
    height: 100%;
    display: block;
}
.stat-forecast-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.35rem;
    margin-bottom: 0.25rem;
    padding: 0.3rem 0.55rem;
    border-radius: var(--radius-md);
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.08), rgba(168, 85, 247, 0.08));
    border: 1px dashed rgba(99, 102, 241, 0.35);
    color: #4f46e5;
    font-size: 0.67rem;
}
.stat-forecast-pill .material-symbols-outlined {
    font-size: 0.85rem;
}
.stat-forecast-pill strong {
    font-weight: 800;
    color: #3730a3;
}
.stat-trend {
    display: block;
    margin-top: 0.35rem;
    color: var(--text-muted);
    font-size: 0.65rem;
    line-height: 1.35;
}

@media (max-width: 1100px) {
    .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .stats-grid { grid-template-columns: 1fr; }
}

/* Executive Print / PDF Stylesheet */
@media print {
    .dashboard-topbar,
    .dashboard-filter-card,
    .floating-settings-pill,
    .drawer-overlay,
    .settings-drawer,
    .drag-handle,
    .chart-heading-actions,
    #refreshAllCharts {
        display: none !important;
    }
    .stats-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 0.5rem !important;
    }
    .stat-card {
        box-shadow: none !important;
        border: 1px solid #ccc !important;
        break-inside: avoid;
    }
    .database-chart-grid {
        display: block !important;
    }
    .database-chart-card {
        margin-bottom: 1.5rem !important;
        break-inside: avoid;
    }
}

/* SUB-09-04 reports and SUB-04-03 account administration workflows */
.min-h-44{min-height:2.75rem}
.report-flash{margin-bottom:1rem}
.report-flash p{margin:0}
.report-workflow-grid,.admin-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-bottom:1.25rem}
.report-generator-card,.report-template-card,.admin-create-card,.admin-workflow-card{min-width:0}
.report-card-description{margin:.25rem 0 1rem;color:var(--text-muted);line-height:1.55}
.report-records-card,.admin-users-card,.admin-permissions-card{margin-top:1.25rem;min-width:0}
.report-filter-form{align-items:start}
.table-action-column{width:1%;white-space:nowrap!important;text-align:right}
.table-action-column .table-action{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap!important}
.table-action-column .material-symbols-outlined{font-size:1.1rem}
.admin-workflow-list{display:grid;gap:.85rem;padding:0;margin:0 0 1rem;list-style:none}
.admin-workflow-list li{display:flex;gap:.8rem;align-items:flex-start}
.admin-workflow-list li>span{display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:999px;background:var(--ui-primary-soft);color:var(--primary);font-family:var(--font-label);font-weight:700}
.admin-workflow-list div{display:grid;gap:.2rem}
.admin-workflow-list small{color:var(--text-muted);line-height:1.45}
.admin-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}
.permission-summary{display:block;max-width:24rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:.78rem}
.role-permission-grid{display:grid;gap:.8rem}
.role-permission-card{border:1px solid var(--ui-border);border-radius:var(--radius-md);background:var(--bg-surface);overflow:hidden}
.role-permission-card summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.75rem;padding:.9rem 1rem;cursor:pointer;list-style:none}
.role-permission-card summary::-webkit-details-marker{display:none}
.role-permission-card summary>span:first-child{display:grid;gap:.2rem}
.role-permission-card summary small{color:var(--text-muted);font-weight:400}
.role-permission-card[open] summary{border-bottom:1px solid var(--ui-border);background:var(--bg-main)}
.role-permission-card[open] summary>.material-symbols-outlined{transform:rotate(180deg)}
.role-permission-form{display:grid;gap:1rem;padding:1rem}
.permission-checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.permission-checkbox-grid .checkbox-card{display:flex;align-items:center;gap:.65rem;min-width:0;min-height:3.25rem;padding:.65rem .75rem;border:1px solid var(--ui-border);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer}
.permission-checkbox-grid .checkbox-card input[type="checkbox"]{display:block;width:1.15rem;height:1.15rem;min-width:1.15rem;flex-shrink:0;margin:0;accent-color:var(--primary)}
.permission-checkbox-grid .checkbox-card span{display:grid;gap:.15rem;min-width:0}
.permission-checkbox-grid .checkbox-card strong,.permission-checkbox-grid .checkbox-card small{overflow-wrap:anywhere}
.permission-checkbox-grid .checkbox-card small{color:var(--text-muted);font-size:.7rem}
.admin-modal-form{margin-top:1rem}
.admin-reset-dialog{max-width:34rem}
body.modal-open{overflow:hidden}

@media (max-width:1024px){
  .permission-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:768px){
  .report-workflow-grid,.admin-access-grid{grid-template-columns:1fr}
  .permission-checkbox-grid{grid-template-columns:1fr}
  .admin-row-actions{justify-content:flex-start}
  .permission-summary{max-width:14rem}
}
@media (max-width:430px){
  .report-generator-card,.report-template-card,.admin-create-card,.admin-workflow-card,.admin-permissions-card{padding:1rem}
  .role-permission-form{padding:.75rem}
  .table-action-column .table-action{min-height:2.75rem}
}

/* Shared compact module header: title badge left, authorized actions right. */
.subsystem-header-card{
  --subsystem-header-control-height:2.75rem;
  position:static;
  min-height:4.5rem;
  align-items:center;
}
.subsystem-header-nav{
  flex:0 1 auto;
}
.subsystem-header-actions{
  display:flex;
  flex:0 1 auto;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:.65rem;
  min-width:0;
  margin-left:auto;
}
.subsystem-header-actions>.button,
.subsystem-header-actions>.module-export,
.subsystem-header-actions>.dashboard-settings-button,
.subsystem-header-actions>.settings-outline-button{
  box-sizing:border-box;
  height:var(--subsystem-header-control-height);
  min-height:var(--subsystem-header-control-height);
  margin:0;
  white-space:nowrap;
}
.subsystem-pill-badge{
  box-sizing:border-box;
  height:var(--subsystem-header-control-height);
  min-height:var(--subsystem-header-control-height);
  padding-block:0;
}
.subsystem-header-actions .integration-utility-stat,
.subsystem-header-actions .integration-development-badge,
.subsystem-header-actions .integration-guide-wrap,
.subsystem-header-actions .integration-guide-trigger{
  box-sizing:border-box;
  height:var(--subsystem-header-control-height);
  min-height:var(--subsystem-header-control-height);
  margin:0;
}
.subsystem-header-actions .integration-guide-wrap{
  display:flex;
  align-items:center;
}

@media (max-width:760px){
  .subsystem-header-card{
    align-items:flex-start;
    flex-direction:column;
  }
  .subsystem-header-nav,
  .subsystem-header-actions{
    width:100%;
  }
  .subsystem-header-actions{
    justify-content:flex-start;
    margin-left:0;
  }
  .subsystem-pill-badge{
    width:fit-content;
    max-width:100%;
    justify-content:flex-start;
    white-space:normal;
  }
}

@media (max-width:480px){
  .subsystem-pill-badge{
    width:fit-content;
    justify-content:flex-start;
  }
  .subsystem-header-actions>.button,
  .subsystem-header-actions>.module-export,
  .subsystem-header-actions>.dashboard-settings-button,
  .subsystem-header-actions>.settings-outline-button{
    width:100%;
    flex:1 1 100%;
    justify-content:center;
    white-space:normal;
  }
}

/* Real-Time Live UI Update Animations */
@keyframes live-pulse-green {
  0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.6); }
  70% { box-shadow: 0 0 0 12px rgba(16, 185, 129, 0); }
  100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}
@keyframes live-pulse-warning {
  0% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.6); }
  70% { box-shadow: 0 0 0 12px rgba(245, 158, 11, 0); }
  100% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0); }
}
@keyframes live-row-insert {
  0% { opacity: 0; transform: translateY(-10px); background: #ecfdf5; }
  50% { background: #d1fae5; }
  100% { opacity: 1; transform: translateY(0); background: transparent; }
}
@keyframes live-row-delete {
  0% { opacity: 1; transform: scale(1); max-height: 50px; }
  100% { opacity: 0; transform: scale(0.95); max-height: 0; padding: 0; margin: 0; overflow: hidden; }
}
@keyframes badge-pop {
  0% { transform: scale(1); }
  50% { transform: scale(1.35); }
  100% { transform: scale(1); }
}

.pulse-success { animation: live-pulse-green 1.2s ease-out; }
.pulse-warning { animation: live-pulse-warning 1.2s ease-out; }
.row-slide-down { animation: live-row-insert 0.5s ease-out forwards; }
.row-fade-out { animation: live-row-delete 0.4s ease-in forwards; }
.badge-pop { animation: badge-pop 0.35s ease-out; }

/* Skeleton Card Shimmer Animation */
@keyframes shimmer-loading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.forecast-skeleton-card {
  border: 1.5px dashed var(--color-border-accent, #3b82f6) !important;
  background: #f8fafc !important;
}
.skeleton-shimmer {
  background: linear-gradient(90deg, #e2e8f0 25%, #cbd5e1 50%, #e2e8f0 75%);
  background-size: 200% 100%;
  animation: shimmer-loading 1.5s infinite ease-in-out;
  border-radius: 6px;
}

.decision-stat-card strong {
  font-size: clamp(1rem, 1.5vw, 1.4rem);
  white-space: nowrap;
}

/* ==========================================================================
   KPI SUMMARY & MODERN DASHBOARD STAT CARDS
   ========================================================================== */
.kpi-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}
@media (max-width: 900px) {
  .kpi-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .kpi-summary-grid { grid-template-columns: 1fr; }
}

.kpi-summary-card {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  background: var(--bg-surface, #ffffff);
  border: 1px solid var(--border-color-subtle, #e2e8f0);
  border-radius: var(--radius-lg, 0.75rem);
  box-shadow: 0 1px 3px 0 rgba(15, 23, 42, 0.04);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.kpi-summary-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px -2px rgba(15, 23, 42, 0.08);
}

.kpi-summary-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.65rem;
  background: var(--bg-surface-variant, #f8fafc);
  flex-shrink: 0;
}
.kpi-summary-icon .material-symbols-outlined {
  font-size: 1.5rem;
}

.kpi-summary-meta {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  flex: 1 1 auto;
  min-width: 0;
}

.kpi-summary-label {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--text-muted, #64748b);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.kpi-summary-val {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--text-main, #0f172a);
  line-height: 1.2;
}

/* Password Toggle Field */
.password-field-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.password-field-wrap input {
  width: 100%;
  padding-right: 2.75rem !important;
}
.btn-toggle-pwd {
  position: absolute;
  right: 0.65rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--text-muted, #64748b);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem;
  border-radius: 0.375rem;
  transition: color 0.15s ease;
}
.btn-toggle-pwd:hover {
  color: var(--color-primary, #4f46e5);
}

/* Current Session Card */
.current-session-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  border: 1px solid var(--border-color-subtle, #e2e8f0);
  border-radius: var(--radius-lg, 0.75rem);
  background: var(--bg-surface-variant, #f8fafc);
}
.session-device-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.65rem;
  background: #ffffff;
  border: 1px solid var(--border-color-subtle, #e2e8f0);
  color: var(--color-primary, #4f46e5);
  flex-shrink: 0;
}

/* ==========================================================================
   KPI PERFORMANCE VARIANCE BADGES & MODERN CARDS
   ========================================================================== */
.variance-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.15rem 0.45rem;
  font-size: 0.68rem;
  font-weight: 700;
  border-radius: 0.375rem;
  border: 1px solid transparent;
  line-height: 1;
}
.variance-good {
  background: #ecfdf5;
  color: #047857;
  border-color: #a7f3d0;
}
.variance-bad {
  background: #fff1f2;
  color: #be123c;
  border-color: #fecdd3;
}

.kpi-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: var(--bg-surface, #ffffff);
  border: 1px solid var(--border-color-subtle, #e2e8f0);
  border-radius: var(--radius-lg, 0.875rem);
  padding: 1.25rem;
  box-shadow: 0 1px 3px 0 rgba(15, 23, 42, 0.04);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
  cursor: pointer;
}
.kpi-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px -4px rgba(15, 23, 42, 0.08);
  border-color: #cbd5e1;
}

.kpi-card-header-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.kpi-card-cat-pill {
  font-size: 0.65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #64748b;
  margin-bottom: 0.2rem;
  display: block;
}

.kpi-card-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-main, #0f172a);
  line-height: 1.3;
  margin: 0 0 0.2rem 0;
}

.kpi-card-code {
  font-family: var(--font-mono, monospace);
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--color-primary, #4f46e5);
}

.kpi-card-badges {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
}

.kpi-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--border-color-subtle, #f1f5f9);
  padding-top: 0.75rem;
  margin-top: 0.85rem;
  font-size: 0.7rem;
  color: #64748b;
}

.kpi-band-chips-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.kpi-band-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border-radius: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
}
.kpi-band-chip-critical {
  background: #fff1f2;
  color: #be123c;
  border: 1px solid #fecdd3;
}
.kpi-band-chip-warning {
  background: #fffbeb;
  color: #b45309;
  border: 1px solid #fde68a;
}
.kpi-band-chip-target {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
}

.decision-ai-text-content {
  font-size: 0.76rem;
  line-height: 1.6;
  color: #1e293b;
  max-height: 16rem;
  overflow-y: auto;
  padding: 0.5rem 0.2rem;
}

.decision-ai-text-content h1,
.decision-ai-text-content h2,
.decision-ai-text-content h3 {
  font-size: 0.85rem;
  font-weight: 700;
  margin: 0.5rem 0 0.25rem;
  color: #0f172a;
}

.decision-ai-text-content ul,
.decision-ai-text-content ol {
  margin: 0.35rem 0;
  padding-left: 1.25rem;
}

.decision-ai-text-content li {
  margin-bottom: 0.25rem;
}

.w-100 {
  width: 100% !important;
}

.min-h-24 {
  min-height: 1.5rem !important;
}

.min-h-32 {
  min-height: 2rem !important;
}

.min-h-40 {
  min-height: 2.5rem !important;
}

.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}




