:root{color:#172032;background:#eef2f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--accent: #3157d5;--accent-dark: #2443aa;--accent-soft: #e9edff;--border: #dce2eb;--danger: #b42318;--danger-soft: #fff0ee;--muted: #667085;--navy: #17233d;--panel: #ffffff;--success: #067647;--success-soft: #eafbf3;--warning: #b54708;--warning-soft: #fff6e5;--shadow: 0 12px 32px rgb(23 32 50 / 8%)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top right,#dde5ff 0,transparent 28rem),#eef2f7}button,input,select,textarea{font:inherit}button{border:0}h1,h2,h3,h4,h5,p{margin-top:0}h1,h2,h3,h4,h5{color:var(--navy);line-height:1.2}h2{margin-bottom:.4rem;font-size:clamp(1.55rem,2vw,2rem)}h3{font-size:1.1rem}p{color:var(--muted);line-height:1.55}a,button{-webkit-tap-highlight-color:transparent}a.button{text-decoration:none}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s ease}.app-shell.sidebar-collapsed{grid-template-columns:88px minmax(0,1fr)}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:1.5rem 1rem;color:#fff;background:linear-gradient(180deg,#17233d,#10192c)}.sidebar-toggle{flex:0 0 auto;width:2.25rem;min-height:2.25rem;margin-left:auto;padding:0;border:1px solid rgb(255 255 255 / 18%)!important;border-radius:999px;color:#eef3ff!important;background:#ffffff14!important;box-shadow:none!important}.sidebar-toggle span{font-size:1.35rem;line-height:1}.brand{display:flex;align-items:center;gap:.8rem;padding:0 .4rem 1.5rem}.brand-text{min-width:0}.brand-mark{display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:.85rem;color:#fff;background:linear-gradient(135deg,#6f8cff,#3d5ed8);font-weight:800;box-shadow:0 8px 20px #3157d559}.brand strong,.brand span{display:block}.brand div>span{margin-top:.1rem;color:#aebbd4;font-size:.75rem}.sidebar-collapsed .brand{flex-direction:column;justify-content:center;gap:.65rem;padding-inline:0}.sidebar-collapsed .sidebar-toggle{margin-left:0}.sidebar-collapsed .brand-text,.sidebar-collapsed .privacy-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.nav-menu{display:grid;gap:.4rem}.nav-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.8rem .9rem;border-radius:.75rem;color:#d9e1f2;text-align:left;background:transparent;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}.nav-item:hover,.nav-item[aria-current=page]{color:#fff;background:#ffffff1a}.nav-item:active{transform:translateY(1px)}.nav-copy{display:grid;min-width:0;gap:.15rem}.nav-icon{display:grid;flex:0 0 1.55rem;width:1.55rem;height:1.55rem;place-items:center;border-radius:.55rem;color:#fff;background:#ffffff1a;font-weight:800}.nav-copy span{font-weight:700}.nav-copy small{color:#9eacc7}.sidebar-collapsed .nav-item{justify-content:center;padding-inline:.6rem}.sidebar-collapsed .nav-copy{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sidebar-collapsed .sidebar-footer{justify-items:center}.sidebar-collapsed .sidebar-footer .button{width:2.5rem;min-width:2.5rem;padding-inline:0;font-size:0}.sidebar-collapsed .sidebar-footer .button:before{font-size:1rem;content:"⎋"}.sidebar-footer{display:grid;gap:.65rem;margin-top:auto;padding-top:1rem}.privacy-label{color:#9eacc7;font-size:.8rem}.app-main{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:1rem clamp(1rem,3vw,2.5rem);border-bottom:1px solid rgb(220 226 235 / 80%);background:#ffffffd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar strong,.topbar span{display:block}.topbar small{color:var(--muted)}.content-area{width:min(1480px,100%);margin:0 auto;padding:clamp(1rem,3vw,2.5rem)}.page-stack{display:grid;gap:1.25rem}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.section-header p{max-width:760px;margin-bottom:0}.section-actions{display:flex;flex-wrap:wrap;gap:.6rem}.eyebrow{display:block;margin-bottom:.3rem;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.card{min-width:0;padding:clamp(1rem,2vw,1.5rem);border:1px solid var(--border);border-radius:1rem;background:var(--panel);box-shadow:var(--shadow)}.card h3:first-child,.card h4:first-child,.card h5:first-child{margin-top:0}.card-subtle,.subtle-card{background:#f9fafc;box-shadow:none}.panel-grid,.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dashboard-grid .card-wide{grid-column:1 / -1}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}.stat-card{display:grid;gap:.25rem;padding:1rem;border:1px solid var(--border);border-radius:.85rem;background:#fff}.stat-card span{color:var(--muted);font-size:.78rem;font-weight:700}.stat-card strong{color:var(--navy);font-size:1.65rem}.next-action{border-color:#bfcafa;background:linear-gradient(135deg,#f6f8ff,#eef1ff)}.next-action strong{display:block;margin-bottom:.75rem;color:var(--navy);font-size:1.15rem}.button,button:not(.nav-item){display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.5rem;padding:.62rem .9rem;border:1px solid transparent;border-radius:.65rem;color:#fff;background:var(--accent);font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.button:hover,button:not(.nav-item):hover{background:var(--accent-dark);box-shadow:0 6px 16px #3157d533}.button:active,button:not(.nav-item):active{transform:translateY(1px)}.button:disabled,button:disabled{cursor:not-allowed;opacity:.55}.button-secondary,.secondary-action{border-color:var(--border)!important;color:var(--navy)!important;background:#fff!important;box-shadow:none!important}.button-ghost{border-color:#ffffff2e!important;color:#eef3ff!important;background:#ffffff12!important;box-shadow:none!important}.button-danger{color:#fff!important;background:var(--danger)!important}form{display:grid;gap:.9rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem}.form-grid .field-wide,.form-grid>button,.form-grid>.form-actions{grid-column:1 / -1}label{display:grid;gap:.35rem;color:#344054;font-size:.86rem;font-weight:700}label:has(input[type=checkbox]){display:flex;align-items:center;gap:.55rem}input,select,textarea{width:100%;border:1px solid #cfd7e4;border-radius:.65rem;outline:none;color:#172032;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}input,select{min-height:2.65rem;padding:.6rem .7rem}textarea{min-height:6.5rem;padding:.7rem;resize:vertical}input[type=checkbox]{width:1.05rem;min-height:auto;height:1.05rem;accent-color:var(--accent)}input:focus,select:focus,textarea:focus{border-color:#758ce6;box-shadow:0 0 0 3px #3157d51f}.login-card .password-field{position:relative;display:block;width:100%}.login-card .password-input{width:100%;padding-right:3.75rem}.login-card button.password-toggle{position:absolute;top:50%;right:.75rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;min-width:2.25rem;height:2.25rem;min-height:2.25rem;padding:0;border:1px solid transparent;border-radius:999px;color:#344054;background:#ffffffeb;box-shadow:none;cursor:pointer;opacity:1;transform:translateY(-50%);visibility:visible}.login-card button.password-toggle:hover,.login-card button.password-toggle:focus-visible{color:var(--accent);border-color:#d8defb;background:#eef2ff;box-shadow:none}.login-card button.password-toggle:active{transform:translateY(-50%)}.login-card .password-toggle-icon{display:block;flex:0 0 auto}.form-actions,.row-actions{display:flex;flex-wrap:wrap;gap:.55rem}.list,.timeline{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.list-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid #edf0f5}.list-row:last-child{border-bottom:0}.list-row-main{min-width:0}.list-row-main strong,.list-row-main span{display:block}.list-row-main span,.list-meta,.meta{display:block;margin-top:.2rem;color:var(--muted);font-size:.82rem}.compact-list{gap:.3rem}.item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.item-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.item-heading h5{margin:0}.typology-needs-list{display:block;margin:.75rem 0 0;padding:0;list-style:none}.typology-needs-card{box-shadow:none}.typology-need-item{display:flex;align-items:flex-start;gap:.45rem;width:100%;margin:0 0 .4rem;line-height:1.45;overflow-wrap:anywhere}.typology-need-item:last-child{margin-bottom:0}.typology-need-bullet{flex:0 0 auto;color:var(--accent);font-weight:800;line-height:1.45}.typology-need-text{display:block;min-width:0;overflow-wrap:anywhere}.dossier-summary{padding-bottom:.5rem;border-bottom:1px solid var(--border)}.dossier-summary h3{margin:.25rem 0 .65rem;font-size:clamp(1.3rem,2vw,1.7rem)}.dossier-summary h3 span{color:var(--muted);font-size:.8em;font-weight:500}.dossier-sticky-header{position:sticky;z-index:20;top:.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid rgb(207 215 228 / 90%);border-radius:1rem;background:#ffffffeb;box-shadow:0 14px 30px #1720321a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dossier-sticky-main{min-width:0}.dossier-sticky-main h2{margin:0;font-size:clamp(1.05rem,1.6vw,1.35rem)}.dossier-sticky-main h2 span{color:var(--muted);font-size:.82em;font-weight:500}.dossier-sticky-meta{display:flex;flex-wrap:wrap;gap:.35rem .65rem;margin-top:.35rem;color:var(--muted);font-size:.82rem}.dossier-sticky-meta span:not(:last-child):after{margin-left:.65rem;color:#c0c8d5;content:"·"}.dossier-sticky-actions{display:flex;flex:0 0 auto;align-items:center;gap:.6rem}.proposal-list{display:grid;gap:.5rem;padding:0;list-style:none}.proposal-list li{padding:.65rem;border:1px solid var(--border);border-radius:.65rem;background:#fff}.message-warning{padding:.75rem .9rem .75rem 2rem;border-radius:.65rem;color:var(--warning);background:var(--warning-soft)}.file-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.file-row>div{min-width:0}input[type=file]{padding:.45rem}label small{color:var(--muted);font-weight:500}.status-badge{display:inline-flex;align-items:center;width:fit-content;padding:.24rem .55rem;border-radius:999px;color:#344054;background:#eef1f5;font-size:.72rem;font-weight:800;white-space:nowrap}.status-active,.status-completed,.status-private{color:var(--success);background:var(--success-soft)}.status-blocked,.status-cancelled{color:var(--danger);background:var(--danger-soft)}.status-due-soon,.status-needs-action,.status-needs-review{color:var(--warning);background:var(--warning-soft)}.status-waiting-response,.status-new,.status-preview,.status-matched,.status-changed{color:#175cd3;background:#eff8ff}.status-existing,.status-duplicate{color:#6941c6;background:#f4f3ff}.status-invalid,.status-ambiguous{color:var(--danger);background:var(--danger-soft)}.status-imported,.status-updated,.status-stored,.status-confirmed{color:var(--success);background:var(--success-soft)}.status-unchanged{color:#344054;background:#eef1f5}.status-update{color:var(--warning);background:var(--warning-soft)}.typology-stats{margin:1rem 0}.table-scroll{overflow-x:auto}.table-toolbar{display:flex;gap:1rem;align-items:end;justify-content:space-between;margin:1rem 0}.table-toolbar label{min-width:12rem}.data-table{width:100%;border-collapse:collapse;font-size:.88rem}.data-table th,.data-table td{padding:.75rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.data-table th{color:#344054;background:#f8fafc;font-size:.75rem;letter-spacing:.03em;text-transform:uppercase}.message{margin:.75rem 0 0;padding:.75rem .9rem;border-radius:.65rem;font-weight:650}.message-error{color:var(--danger);background:var(--danger-soft)}.message-success{color:var(--success);background:var(--success-soft)}.message-loading{color:#344054;background:#f1f4f8}.empty-state{padding:1.25rem;border:1px dashed #cbd4e1;border-radius:.8rem;text-align:center;background:#fafbfd}.empty-state strong{color:var(--navy)}.empty-state p{margin:.3rem 0 0}.status-clear,.status-resolved{color:#17643a;border-color:#b9e4ca;background:#eaf8ef}.status-conflict{color:#9b2c2c;border-color:#f1b8b8;background:#fff0f0}.status-ambiguous,.status-pending{color:#865f08;border-color:#ead296;background:#fff8e5}.review-card{display:grid;gap:.85rem}.staff-grid,.staff-card{display:grid;gap:1rem}.staff-substitution{padding-top:1rem;border-top:1px solid var(--border)}.staff-substitution h4{margin:0 0 .75rem}.compact-timeline{margin-top:0}.progress-track{overflow:hidden;height:.45rem;margin:.55rem 0;border-radius:999px;background:#e7ebf2}.progress-value{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3157d5,#6f8cff)}.login-shell{display:grid;min-height:100vh;place-items:center;padding:1.25rem;background:radial-gradient(circle at top right,rgb(111 140 255 / 25%),transparent 35%),linear-gradient(145deg,#eef2ff,#eef2f7 52%,#e7ecf5)}.login-card{width:min(430px,100%)}.login-brand{margin-bottom:1.5rem;text-align:center}.login-brand .brand-mark{margin:0 auto .85rem}.login-brand h1{margin-bottom:.35rem;font-size:1.65rem}.dossier-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.checklist-grid,.task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.availability-candidates{display:grid;gap:.8rem}.schedule-calculation{display:grid;gap:1rem}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.metric-card{display:grid;gap:.35rem;padding:.85rem;border:1px solid var(--border);border-radius:.8rem;background:#fafbfd}.metric-card span{color:var(--muted);font-size:.82rem}.metric-card strong{color:var(--navy)}.calculation-explanation{margin:0;padding:.9rem 1rem;border-left:4px solid var(--accent);border-radius:.6rem;background:#f5f7ff}.table-wrapper{overflow-x:auto}.table-wrapper table{width:100%;border-collapse:collapse}.table-wrapper th,.table-wrapper td{padding:.7rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.table-wrapper th{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.warning-list{padding:.85rem 1rem;border:1px solid #ead296;border-radius:.8rem;background:#fff8e5}.candidate-card,.availability-assignment{border:1px solid var(--border);border-radius:.8rem;background:#fafbfd}.candidate-card{padding:.85rem}.compact-list{margin:.6rem 0 0;padding-left:1.1rem;color:var(--muted);font-size:.9rem}.positive-list li::marker{color:#047857}.warning-list li::marker{color:#b45309}.item-card{padding:1rem;border:1px solid var(--border);border-radius:.8rem;background:#fafbfd}.timeline li{position:relative;padding:.1rem 0 .9rem 1rem;border-left:2px solid #dce3f4}.timeline li:before{position:absolute;top:.35rem;left:-.35rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--accent);content:""}@media(max-width:1100px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.app-shell,.app-shell.sidebar-collapsed{display:block}.sidebar{position:static;height:auto;padding:1rem}.nav-menu{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-item{text-align:center}.nav-item small,.privacy-label,.sidebar-toggle{display:none}.brand-text,.sidebar-collapsed .brand-text{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.sidebar-collapsed .sidebar-footer .button{width:auto;min-width:auto;padding-inline:.9rem;font-size:inherit}.sidebar-collapsed .sidebar-footer .button:before{content:none}.sidebar-collapsed .nav-copy{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.sidebar-footer{position:absolute;top:1rem;right:1rem;width:auto;margin:0;padding:0}.topbar{display:none}.panel-grid,.dashboard-grid,.checklist-grid,.task-grid,.item-grid{grid-template-columns:1fr}.dossier-sticky-header{top:.5rem}}@media(max-width:600px){.brand{padding-right:8rem}.nav-menu{display:flex;overflow-x:auto}.nav-item{flex:0 0 auto}.section-header,.dossier-hero,.dossier-sticky-header,.table-toolbar,.list-row{align-items:stretch;flex-direction:column}.dossier-sticky-actions{justify-content:space-between}.stats-grid,.form-grid{grid-template-columns:1fr}.content-area{padding:1rem}}html,body{overflow-x:hidden}img,svg,video,canvas{max-width:100%}.app-main,.content-area,.page-stack,.card,.subtle-card,.item-card,.list-row-main,.dossier-sticky-main,.table-scroll,.table-wrapper{min-width:0}.table-scroll,.table-wrapper{width:100%;max-width:100%;border-radius:.85rem;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.table-scroll .data-table,.table-wrapper table{min-width:680px}.data-table th,.data-table td,.table-wrapper th,.table-wrapper td{overflow-wrap:anywhere}.form-actions,.row-actions,.section-actions{align-items:center}@media(max-width:639px){:root{--shadow: 0 8px 22px rgb(23 32 50 / 8%)}body{min-width:320px;background:radial-gradient(circle at top right,#dde5ff 0,transparent 18rem),#eef2f7}.login-shell{align-items:stretch;min-height:100svh;padding:1rem}.login-card{align-self:center;width:100%;border-radius:1.15rem}.login-brand h1{font-size:clamp(1.35rem,9vw,1.65rem)}.app-shell,.app-shell.sidebar-collapsed{display:block;min-height:100svh}.sidebar,.app-shell.sidebar-collapsed .sidebar{position:sticky;top:0;z-index:50;height:auto;max-height:none;padding:.75rem;border-bottom:1px solid rgb(255 255 255 / 12%);box-shadow:0 10px 26px #1720322e}.brand,.sidebar-collapsed .brand{flex-direction:row;justify-content:flex-start;gap:.65rem;padding:0}.brand-mark{width:2.35rem;height:2.35rem;border-radius:.75rem}.brand-text,.sidebar-collapsed .brand-text{position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip:auto;white-space:normal;border:0}.brand-text span{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-toggle,.sidebar-collapsed .sidebar-toggle{display:inline-flex;margin-left:auto}.nav-menu{display:flex;gap:.45rem;margin-top:.75rem;padding:.15rem 0 .2rem;overflow-x:auto;scrollbar-width:thin}.nav-item,.sidebar-collapsed .nav-item{flex:0 0 auto;min-width:4.75rem;padding:.62rem .7rem;border:1px solid rgb(255 255 255 / 8%);text-align:center}.nav-icon{width:1.65rem;height:1.65rem}.nav-copy,.sidebar-collapsed .nav-copy{position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip:auto;white-space:normal;border:0}.nav-copy span{max-width:5.75rem;overflow:hidden;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.nav-copy small,.privacy-label{display:none}.sidebar-footer,.sidebar-collapsed .sidebar-footer{position:absolute;top:.75rem;right:3.55rem;width:auto;margin:0;padding:0}.sidebar-footer .button,.sidebar-collapsed .sidebar-footer .button{width:2.35rem;min-width:2.35rem;min-height:2.35rem;padding:0;overflow:hidden;font-size:0}.sidebar-footer .button:before,.sidebar-collapsed .sidebar-footer .button:before{font-size:1rem;content:"⎋"}.topbar{display:none}.content-area{width:100%;padding:.85rem}.page-stack{gap:.9rem}.card{padding:.95rem;border-radius:.95rem}.section-header,.dossier-hero,.table-toolbar,.list-row,.item-heading{align-items:stretch;flex-direction:column}.section-header{gap:.75rem}.section-actions,.form-actions,.row-actions,.dossier-sticky-actions{display:grid;grid-template-columns:1fr;width:100%}.button,button:not(.nav-item):not(.sidebar-toggle):not(.password-toggle){width:100%;min-height:2.75rem}.sidebar-toggle,.login-card button.password-toggle{width:2.35rem}.panel-grid,.dashboard-grid,.stats-grid,.metrics-grid,.form-grid,.checklist-grid,.task-grid,.item-grid{grid-template-columns:1fr}input,select,textarea{font-size:1rem}label:has(input[type=checkbox]){align-items:flex-start;min-height:2.75rem;padding-block:.25rem}input[type=checkbox]{width:1.2rem;height:1.2rem;margin-top:.1rem}.dossier-sticky-header{top:.65rem;flex-direction:column;align-items:stretch;gap:.75rem;padding:.8rem;border-radius:.9rem}.dossier-sticky-meta{display:grid;gap:.25rem}.dossier-sticky-meta span:after{content:none!important}.dossier-sticky-main h2{font-size:1.05rem}.typology-need-item,.proposal-list li,.message,.message-warning,.empty-state{overflow-wrap:anywhere}.status-badge{max-width:100%;white-space:normal}.table-scroll,.table-wrapper{margin-inline:-.2rem;padding-bottom:.25rem}.data-table,.table-wrapper table{font-size:.82rem}.data-table th,.data-table td,.table-wrapper th,.table-wrapper td{padding:.62rem}}@media(min-width:640px){.content-area{padding:1.25rem}.stats-grid,.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-actions,.form-actions,.row-actions{justify-content:flex-start}}@media(min-width:768px){.form-grid,.panel-grid,.dashboard-grid,.checklist-grid,.task-grid,.item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:821px){.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:88px minmax(0,1fr)}.sidebar{position:sticky;height:100vh}.topbar{display:flex}}@media(min-width:1024px){.content-area{padding:clamp(1.5rem,3vw,2.5rem)}.stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-grid .card-wide{grid-column:1 / -1}}@media(min-width:1280px){.content-area{width:min(1480px,100%)}}.mobile-topbar,.mobile-drawer,.mobile-drawer-overlay{display:none}@media(max-width:820px){.app-shell,.app-shell.sidebar-collapsed{display:block;min-height:100svh}.sidebar,.app-shell.sidebar-collapsed .sidebar{display:none}.mobile-topbar{position:sticky;top:0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:.9rem;min-height:4.25rem;padding:.75rem .9rem;color:#fff;background:linear-gradient(135deg,#17233d,#10192c);box-shadow:0 12px 28px #1720322e}.mobile-brand{display:flex;align-items:center;min-width:0;gap:.7rem}.mobile-brand>div,.mobile-drawer-header>div{display:grid;min-width:0;gap:.08rem}.mobile-brand strong,.mobile-brand span,.mobile-drawer-header strong,.mobile-drawer-header span{display:block}.mobile-brand span,.mobile-drawer-header span{color:#aebbd4;font-size:.78rem}.mobile-brand>div>span{max-width:13rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.mobile-menu-button{position:relative;z-index:92;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0;border:1px solid rgb(255 255 255 / 18%);border-radius:999px;color:#eef3ff;background:#ffffff1a;box-shadow:none;cursor:pointer}button.mobile-menu-button:hover,button.mobile-menu-button:focus-visible{background:#ffffff2e;box-shadow:0 0 0 3px #6f8cff47}button.mobile-menu-button span{font-size:1.5rem;line-height:1}.mobile-drawer-overlay{position:fixed;inset:0;z-index:80;display:block;width:100%;min-height:100%;padding:0;border:0;border-radius:0;background:#090e1985;cursor:pointer;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:none;transition:opacity .18s ease,visibility .18s ease;visibility:hidden}.mobile-drawer{position:fixed;inset:0 auto 0 0;z-index:90;display:flex;flex-direction:column;width:min(82vw,320px);max-width:calc(100vw - 2.5rem);height:100svh;padding:1rem;color:#fff;background:radial-gradient(circle at top left,rgb(111 140 255 / 22%),transparent 15rem),linear-gradient(180deg,#17233d,#10192c);box-shadow:24px 0 60px #090e1959;transform:translate(-105%);transition:transform .22s ease}.mobile-drawer-open .mobile-drawer-overlay{opacity:1;pointer-events:auto;visibility:visible}.mobile-drawer-open .mobile-drawer{transform:translate(0)}.mobile-drawer-header{display:flex;align-items:center;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid rgb(255 255 255 / 12%)}.mobile-menu-close{margin-left:auto}.mobile-drawer .nav-menu{display:grid;gap:.45rem;margin-top:1rem;padding:0;overflow:visible}.mobile-drawer .nav-item{display:flex;flex:none;align-items:center;justify-content:flex-start;gap:.75rem;width:100%;min-width:0;min-height:3rem;padding:.8rem .85rem;border:1px solid rgb(255 255 255 / 8%);text-align:left}.mobile-drawer .nav-copy,.mobile-drawer .sidebar-collapsed .nav-copy{position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip:auto;white-space:normal;border:0}.mobile-drawer .nav-copy span{max-width:none;overflow:visible;font-size:.94rem;text-overflow:clip;white-space:normal}.mobile-drawer .nav-copy small{display:block}.mobile-drawer-footer,.sidebar-collapsed .mobile-drawer-footer{position:static;display:grid;width:100%;gap:.65rem;margin-top:auto;padding-top:1rem;border-top:1px solid rgb(255 255 255 / 12%)}.mobile-drawer-footer .privacy-label{display:block}.mobile-drawer-footer .button,.sidebar-collapsed .mobile-drawer-footer .button{width:100%;min-width:0;min-height:2.75rem;padding-inline:.9rem;font-size:inherit}.mobile-drawer-footer .button:before,.sidebar-collapsed .mobile-drawer-footer .button:before{content:none}}@media(min-width:821px){.mobile-topbar,.mobile-drawer,.mobile-drawer-overlay{display:none!important}}@media(max-width:820px){.mobile-topbar{min-height:58px;padding:.55rem .85rem;border-radius:0;background:#10192cf5;box-shadow:0 10px 24px #090e192e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-topbar .brand-mark{width:2.25rem;height:2.25rem;border-radius:.7rem}.mobile-brand strong{color:#fff;font-size:.98rem;line-height:1.1}.mobile-brand>div>span{max-width:13.5rem;color:#b9c5dc;font-size:.72rem}button.mobile-menu-button{width:2.55rem!important;min-width:2.55rem!important;height:2.55rem;min-height:2.55rem!important;border-color:#ffffff24!important;color:#f6f8ff!important;background:#ffffff14!important;box-shadow:none!important}button.mobile-menu-button span{font-size:1.35rem}button.mobile-drawer-overlay,button.mobile-drawer-overlay:hover,button.mobile-drawer-overlay:focus,button.mobile-drawer-overlay:active{position:fixed;inset:0;z-index:80;display:block;width:100%!important;min-width:100%!important;height:100dvh;min-height:100dvh!important;padding:0!important;border:0!important;border-radius:0!important;background:#080d179e!important;box-shadow:none!important;cursor:pointer;opacity:0;pointer-events:none;transform:none!important;visibility:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-drawer-open button.mobile-drawer-overlay{opacity:1;pointer-events:auto;visibility:visible}.mobile-drawer{z-index:90;width:min(84vw,340px);max-width:min(84vw,340px);height:100dvh;max-height:100dvh;padding:1rem;overflow-y:auto;border-radius:0 24px 24px 0;background:linear-gradient(180deg,#17233dfa,#0d1526fa)!important;box-shadow:28px 0 72px #0307126b,inset -1px 0 #ffffff14}.mobile-drawer-header{gap:.75rem;padding:0 0 1rem}.mobile-drawer-header .brand-mark{width:2.45rem;height:2.45rem;border-radius:.8rem}.mobile-drawer-header strong{color:#fff;font-size:1rem}.mobile-drawer-header span{color:#b9c5dc}.mobile-drawer .nav-menu{display:flex!important;grid-template-columns:none!important;flex-direction:column;gap:.5rem;margin:1rem 0;padding:0;overflow:visible}.mobile-drawer .nav-item,.mobile-drawer .sidebar-collapsed .nav-item{display:flex!important;flex:0 0 auto!important;align-items:center;justify-content:flex-start;width:100%;min-width:0!important;min-height:52px;gap:.8rem;padding:.85rem .95rem;border:1px solid rgb(255 255 255 / 8%);border-radius:14px;color:#e8eefb;text-align:left;background:#ffffff0d}.mobile-drawer .nav-item:hover,.mobile-drawer .nav-item:focus-visible{color:#fff;background:#ffffff1a;box-shadow:0 0 0 3px #6f8cff2e}.mobile-drawer .nav-item[aria-current=page]{color:#fff;border-color:#97aaff73;background:linear-gradient(135deg,#3157d585,#6f8cff3d)}.mobile-drawer .nav-icon{flex:0 0 2rem;width:2rem;height:2rem;border-radius:.7rem;background:#ffffff1c}.mobile-drawer .nav-copy{display:grid;min-width:0;gap:.15rem}.mobile-drawer .nav-copy span{max-width:none;overflow:visible;color:#fff;font-size:.94rem;line-height:1.15;text-overflow:clip;white-space:normal}.mobile-drawer .nav-copy small{display:block;color:#aebbd4;font-size:.76rem;line-height:1.25}.mobile-drawer-footer,.sidebar-collapsed .mobile-drawer-footer{position:static!important;inset:auto!important;display:grid;width:100%;gap:.6rem;margin-top:auto;padding-top:1rem}.mobile-drawer-footer .button,.sidebar-collapsed .mobile-drawer-footer .button{width:100%!important;min-width:0!important;min-height:2.65rem!important;padding:.65rem .9rem!important;border-color:#ffffff1f!important;border-radius:.85rem;font-size:.92rem!important}}
