:root{
  --bg:#f3f6fa;--surface:#ffffff;--surface-2:#f8fafc;--surface-3:#eef3f8;
  --ink:#172033;--ink-2:#2c3648;--muted:#6b778c;--muted-2:#8c97a8;
  --line:#d9e1eb;--line-strong:#c7d1df;--brand:#1769d2;--brand-2:#0e57b7;--brand-soft:#e8f2ff;
  --green:#168a52;--green-soft:#eaf7ef;--amber:#a56800;--amber-soft:#fff3dd;--red:#b13d3d;--red-soft:#fdecec;
  --purple:#6a4cc3;--purple-soft:#f0ecfb;--shadow:0 1px 2px rgba(19,31,51,.05),0 8px 24px rgba(19,31,51,.045);
  --sidebar:222px;--topbar:52px;--statusbar:32px;
  font-family:"Segoe UI",SegoeUI,system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;
}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-2)}button,input,select,textarea{font:inherit}.icon{width:18px;height:18px;display:inline-block;vertical-align:middle;fill:none}.icon.small{width:15px;height:15px}.icon.tiny{width:13px;height:13px}.muted,.empty{color:var(--muted)}.nowrap{white-space:nowrap}.desktop-only{display:inline}.mobile-only{display:none}

/* Desktop application shell */
.app-frame{min-height:100vh}.app-topbar{height:var(--topbar);position:fixed;inset:0 0 auto 0;z-index:50;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;box-shadow:0 1px 0 rgba(18,32,52,.02)}
.brand-zone{width:var(--sidebar);height:100%;display:flex;align-items:center;padding:0 14px;border-right:1px solid var(--line);transition:width .18s ease}.brand{display:flex;align-items:center;gap:10px;color:var(--brand);font-size:17px;font-weight:650;white-space:nowrap}.brand-mark{width:28px;height:28px;border-radius:6px;background:linear-gradient(180deg,#2179df,#1262c7);display:grid;place-items:center;color:#fff;font-size:14px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.topbar-context{flex:1;min-width:0;display:flex;align-items:center;gap:16px;padding:0 18px}.persona{font-size:14px;font-weight:650;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-sep{height:24px;width:1px;background:var(--line)}.tenant{color:var(--ink-2);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-actions{display:flex;align-items:center;gap:4px;padding:0 10px}.chrome-button,.icon-button{border:0;background:transparent;color:#4c586b;width:34px;height:34px;border-radius:5px;display:grid;place-items:center;cursor:pointer}.chrome-button:hover,.icon-button:hover{background:#eef3f8;color:var(--ink)}.user-menu{display:flex;align-items:center;gap:9px;margin-left:4px;padding-left:10px;border-left:1px solid var(--line)}.avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-2);font-weight:700;font-size:12px}.logout-link{color:var(--muted);font-size:12px}.logout-link:hover{color:var(--red)}
.sidebar{position:fixed;left:0;top:var(--topbar);bottom:var(--statusbar);width:var(--sidebar);z-index:40;background:#fff;border-right:1px solid var(--line);padding:10px 9px 9px;display:flex;flex-direction:column;transition:width .18s ease,transform .18s ease}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-link{height:40px;display:flex;align-items:center;gap:11px;padding:0 11px;border-radius:5px;color:#39465a;font-size:13px;font-weight:500;position:relative;white-space:nowrap}.sidebar-link:hover{background:#f1f5f9;color:var(--ink)}.sidebar-link.active{background:#e8f2ff;color:#0d5fbe;font-weight:650}.sidebar-link.active:before{content:"";position:absolute;left:-9px;top:5px;bottom:5px;width:3px;background:var(--brand);border-radius:0 2px 2px 0}.sidebar-link .icon{flex:0 0 18px}.sidebar-spacer{flex:1}.sidebar-footer{border-top:1px solid var(--line);padding-top:8px}.sidebar-toggle{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.workspace{min-height:100vh;padding-top:var(--topbar);padding-left:var(--sidebar);padding-bottom:var(--statusbar);transition:padding-left .18s ease}.workspace-main{padding:24px 24px 34px;max-width:1540px;margin:0 auto}.statusbar{height:var(--statusbar);position:fixed;bottom:0;left:var(--sidebar);right:0;background:#fff;border-top:1px solid var(--line);z-index:35;display:flex;align-items:center;justify-content:space-between;padding:0 16px;color:var(--muted);font-size:11px;transition:left .18s ease}.status-group{display:flex;align-items:center;gap:13px}.connection-dot{width:7px;height:7px;border-radius:50%;background:#18a05e;display:inline-block;margin-right:5px}
.sidebar-collapsed{--sidebar:64px}.sidebar-collapsed .brand-zone{width:64px;padding-left:18px}.sidebar-collapsed .brand-text,.sidebar-collapsed .sidebar-label{display:none}.sidebar-collapsed .sidebar-link{justify-content:center;padding:0}.sidebar-collapsed .sidebar-link.active:before{left:-9px}.sidebar-collapsed .sidebar-toggle{text-align:center}.sidebar-collapsed .topbar-context{padding-left:16px}

/* Login */
.app-login{background:linear-gradient(135deg,#eef4fb 0,#f7f9fc 55%,#edf3fa 100%)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:32px}.login-window{width:min(940px,96vw);background:#fff;border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 18px 55px rgba(31,48,76,.12);overflow:hidden}.login-titlebar{height:48px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 15px}.login-titlebar .brand{font-size:16px}.login-body{display:grid;grid-template-columns:1.1fr .9fr;min-height:470px}.login-intro{padding:42px;background:#f6f9fd;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.login-intro h1{font-size:32px;line-height:1.15;margin:8px 0 12px;font-weight:650}.login-intro p{color:var(--muted);font-size:15px;max-width:480px}.login-points{margin:26px 0 0;padding:0;list-style:none;display:grid;gap:12px}.login-points li{display:flex;gap:10px;align-items:center;color:#435066}.login-points i{width:19px;height:19px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-style:normal;font-size:11px}.login-panel{padding:38px;display:flex;flex-direction:column;justify-content:center}.login-panel h2{margin:0 0 5px;font-size:20px}.login-panel>p{margin:0 0 20px;color:var(--muted)}.demo-switch{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.demo-switch .button{width:100%;margin-top:8px}.login-foot{height:36px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:var(--muted);font-size:11px}

/* Page structure */
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 18px}.page-title h1{font-size:24px;line-height:1.2;margin:0 0 4px;font-weight:650;letter-spacing:-.01em}.page-title p{margin:0;color:var(--muted)}.page-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;margin-bottom:4px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.hero{background:transparent;color:var(--ink);border:0;border-radius:0;padding:0;margin:0 0 18px;box-shadow:none}.hero.compact{padding:0}.hero h1,.hero.compact h1{font-size:24px;line-height:1.2;margin:3px 0 4px;font-weight:650}.hero p{color:var(--muted);margin:0;max-width:none}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}

/* Panels, grids, KPIs */
.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:14px}.stack{display:grid;gap:14px}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow);padding:16px;margin-bottom:14px}.card.narrow{max-width:760px}.card.flush,.panel.flush{padding:0}.card h2,.panel h2{margin:0;font-size:15px;font-weight:650}.panel-head,.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:11px}.panel-head{min-height:30px}.panel-title{display:flex;align-items:center;gap:8px;color:#1f5d9e}.panel-title .icon{color:#5d6a7d}.panel-actions{display:flex;align-items:center;gap:6px}.panel-link{font-size:12px;font-weight:600}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:15px;min-height:102px;box-shadow:var(--shadow);display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center}.metric-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.metric-icon.orange{background:#fff0e4;color:#e26700}.metric-icon.green{background:var(--green-soft);color:var(--green)}.metric-icon.purple{background:var(--purple-soft);color:var(--purple)}.metric-copy span{display:block;color:var(--muted);font-size:11px;margin-bottom:2px}.metric-copy strong{font-size:25px;font-weight:600;letter-spacing:-.02em}.metric-copy small{display:block;color:var(--muted);margin-top:1px}.metric-link{grid-column:1/-1;border-top:1px solid var(--line);padding-top:8px;margin-top:1px;font-size:11px;font-weight:600}.operational-cta{display:flex;align-items:center;justify-content:space-between;gap:18px}.operational-cta h2{margin-bottom:4px}.operational-cta p{margin:0}.top-actions{margin:0 0 14px}

/* Tables and rows */
.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:5px}.card>.table-scroll{border-left:0;border-right:0;border-bottom:0;border-radius:0;margin:0 -16px -16px}.data-table,table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid #e5ebf2;vertical-align:middle}th{background:#f7f9fc;color:#5f6b7c;font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;position:sticky;top:0;z-index:1}tbody tr:hover{background:#f8fbff}tbody tr:last-child td{border-bottom:0}.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #e7ecf2}.list-row:first-of-type{border-top:0}.list-row small,.audit-row small{display:block;color:var(--muted);margin-top:2px;font-size:11px}.list-row.link{color:var(--ink)}.list-row.link:hover{background:#f8fbff;margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px}.compact-list .list-row{padding:8px 0}.queue-row{display:grid;grid-template-columns:1.4fr 1fr .8fr .9fr .75fr auto;gap:10px;align-items:center;padding:9px 10px;border-top:1px solid #e7ecf2;font-size:12px}.queue-head{background:#f7f9fc;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-top:0}.queue-row:hover:not(.queue-head){background:#f8fbff}.task-list{display:grid;gap:2px}.task-item{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:7px 0}.task-check{width:15px;height:15px;border:1px solid #bcc7d5;border-radius:3px;background:#fff}.task-check.done{background:var(--brand-soft);border-color:#a8c8ef;position:relative}.task-check.done:after{content:"✓";position:absolute;left:2px;top:-2px;color:var(--brand);font-size:12px}

/* Buttons, badges, forms */
.actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:5px;border:1px solid transparent;padding:8px 12px;font-weight:600;text-decoration:none;cursor:pointer;font-size:12px;min-height:34px}.primary{background:var(--brand);border-color:var(--brand);color:#fff}.primary:hover{background:var(--brand-2);color:#fff}.secondary{background:#fff;border-color:#b9c7d9;color:#31506f}.secondary:hover{background:#f4f7fb}.ghost{background:transparent;border-color:transparent;color:#536277}.danger{background:#fff;border-color:#e8baba;color:var(--red)}.button .icon,button .icon{width:15px;height:15px}.badge,.status,.privacy{display:inline-flex;align-items:center;border-radius:4px;padding:3px 7px;font-size:10px;font-weight:650;background:#eef2f6;color:#4d5b6d;line-height:1.2}.status.approved,.status.acknowledged{background:var(--green-soft);color:var(--green)}.status.correction_requested,.status.resubmitted{background:var(--amber-soft);color:var(--amber)}.status.submitted{background:var(--brand-soft);color:#1f64ae}.status.draft{background:#eef2f6;color:#5d697a}.status.rejected{background:var(--red-soft);color:var(--red)}.privacy.shared{background:var(--brand-soft);color:#1f64ae}.privacy.af_only{background:#edf0f4;color:#5b6675}.priority-high{background:var(--amber-soft);color:var(--amber)}.priority-low{background:var(--green-soft);color:var(--green)}
label{display:block;font-size:12px;font-weight:600;color:#445064;margin:0 0 12px}input,select,textarea{width:100%;margin-top:5px;border:1px solid #c5d0de;border-radius:5px;padding:9px 10px;background:#fff;color:var(--ink);outline:none;font-size:13px}input:focus,select:focus,textarea:focus{border-color:#6ca6df;box-shadow:0 0 0 2px rgba(23,105,210,.1)}form p{margin:0 0 12px}form p label{margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}.form-grid p{margin:0}.form-grid .form-actions{grid-column:1/-1;margin-top:7px}.form-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid var(--line)}.check{display:flex;align-items:flex-start;gap:8px;font-weight:500}.check input{width:auto;margin:2px 0 0}.flash{padding:10px 12px;border-radius:5px;margin-bottom:12px;background:var(--green-soft);border:1px solid #cbe9d6;color:#176944;font-size:12px}.flash.error{background:var(--red-soft);border-color:#f0caca;color:#8f3232}

/* Operational widgets */
.presence-card{overflow:visible}.presence-table{min-width:620px}.presence-table th:not(:first-child),.presence-table td:not(:first-child){text-align:center}.presence-cell{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:3px;font-size:9px;font-weight:800;background:#e7f5eb;color:#17744b;border:1px solid #cae8d5}.presence-cell.family_return{background:#e9f2ff;color:#1d65ae;border-color:#c7dcf5}.presence-cell.relay{background:#fff3df;color:#946000;border-color:#f0dbb2}.presence-cell.authorised_absence,.presence-cell.hospital,.presence-cell.other{background:#fdecec;color:#9c3939;border-color:#f0caca}.legend{display:flex;gap:11px;flex-wrap:wrap;color:var(--muted);font-size:10px}.legend span{display:flex;align-items:center;gap:5px}.dot{display:inline-block;width:8px;height:8px;border-radius:2px;background:#68b77e}.dot.family_return{background:#65a3df}.dot.relay{background:#e2ad44}.dot.other{background:#d46b6b}.budget-row{padding:10px 0;border-top:1px solid var(--line)}.budget-row:first-of-type{border-top:0}.budget-row small{display:block;color:var(--muted);margin-top:2px}.budget-values{display:flex;justify-content:space-between;gap:15px;font-size:11px;margin-top:7px}.budget-track{height:5px;border-radius:2px;background:#edf1f5;overflow:hidden;margin-top:6px}.budget-track span{display:block;height:100%;background:var(--brand);max-width:100%}.hash{display:block;color:var(--muted);font-size:9px;margin-top:2px}.timeline{padding:9px 0;border-top:1px solid var(--line)}.audit-row{display:grid;grid-template-columns:16px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}.audit-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);margin-top:5px}.month-grid{display:grid;grid-template-columns:100px repeat(15,minmax(26px,1fr));gap:2px;font-size:9px}.month-grid>div{min-height:27px;border:1px solid #e2e8f0;background:#fff;display:grid;place-items:center}.month-grid .name{justify-items:start;padding-left:7px;font-size:11px}.month-grid .head{background:#f7f9fc;color:#596678;font-weight:700}.month-grid .ok{background:#dff1df}.month-grid .warn{background:#fff0c8}.month-grid .info{background:#dcecff}.month-grid .off{background:#eef1f4;color:#8c97a8}

/* Side widgets */
.agenda-list{display:grid;gap:0}.agenda-day{font-size:11px;font-weight:700;color:#3e4b5f;padding:5px 0}.agenda-item{display:grid;grid-template-columns:46px 5px 1fr;gap:8px;padding:8px 0;border-top:1px solid #edf0f4}.agenda-time{font-size:11px;font-weight:600}.agenda-bar{width:3px;border-radius:2px;background:var(--brand)}.agenda-bar.purple{background:var(--purple)}.agenda-bar.green{background:var(--green)}.agenda-bar.amber{background:#d69a2d}.agenda-copy strong{display:block;font-size:11px}.agenda-copy small{display:block;color:var(--muted);font-size:10px;margin-top:1px}.alert-box{border:1px solid #f0caca;background:#fff5f5;border-radius:5px;padding:11px;margin-bottom:8px}.alert-box strong{display:block}.alert-box small{display:block;color:#8d4a4a}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.summary-mini{padding:8px;border-right:1px solid var(--line)}.summary-mini:last-child{border-right:0}.summary-mini span{display:block;color:var(--muted);font-size:9px}.summary-mini strong{font-size:15px;font-weight:650}.info-list{display:grid}.info-row{padding:9px 0;border-top:1px solid #e9edf3}.info-row:first-child{border-top:0}.info-row strong{display:block;font-size:11px}.info-row small{color:var(--muted);font-size:10px}

/* Responsive */
@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.grid.two{grid-template-columns:1fr}.tenant{display:none}.context-sep{display:none}}
@media(max-width:760px){:root{--sidebar:0px;--topbar:52px}.desktop-only{display:none}.mobile-only{display:inline}.brand-zone{width:96px;padding:0 8px}.brand-text{display:none}.topbar-context{padding:0 10px}.persona{font-size:13px}.sidebar{width:240px;transform:translateX(-100%);box-shadow:10px 0 30px rgba(20,31,50,.12)}.mobile-nav-open .sidebar{transform:translateX(0)}.workspace{padding-left:0}.statusbar{left:0}.workspace-main{padding:16px 12px 48px}.metrics{grid-template-columns:1fr 1fr;gap:9px}.metric{grid-template-columns:40px 1fr;padding:11px;min-height:88px}.metric-icon{width:38px;height:38px}.metric-copy strong{font-size:20px}.card,.panel{padding:13px;border-radius:6px}.form-grid{grid-template-columns:1fr}.page-head{flex-direction:column}.queue-row{min-width:700px}.queue-table{overflow:auto}.login-shell{padding:12px}.login-body{grid-template-columns:1fr}.login-intro{display:none}.login-panel{padding:25px}.login-window{width:100%}.sidebar-collapsed{--sidebar:0px}.sidebar-collapsed .brand-zone{width:96px}.summary-strip{grid-template-columns:1fr}.summary-mini{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:480px){.metrics{grid-template-columns:1fr}.topbar-actions .logout-link{display:none}.user-menu{padding-left:5px}.workspace-main{padding-left:9px;padding-right:9px}.button,button{width:100%}.actions{align-items:stretch}.page-actions{width:100%}.page-actions .button{flex:1}}

/* ============================================================
   Desktop UX Polish 1.1
   Denser workspaces, explicit priorities, administrative rhythm
   ============================================================ */
:root{--sidebar:214px;--topbar:48px;--statusbar:30px}
body{font-size:13px}.app-topbar{min-height:48px}.brand-zone{padding:0 12px}.brand{font-size:16px}.brand-mark{width:26px;height:26px}.topbar-context{gap:13px;padding:0 16px}.persona{font-size:13px}.tenant{font-size:12px}.avatar{width:27px;height:27px}.sidebar{padding:8px 7px}.sidebar-nav{gap:1px}.sidebar-link{height:36px;padding:0 10px;gap:9px;font-size:12px}.sidebar-link.active:before{top:4px;bottom:4px}.workspace-main{padding:18px 18px 38px;max-width:1720px}.statusbar{padding:0 14px;font-size:10px}.page-head{margin-bottom:12px;gap:14px}.compact-head .page-title h1{font-size:22px}.page-title h1{font-size:22px}.page-title p{font-size:12px}.page-kicker{font-size:10px}.page-actions{gap:6px}.metrics{gap:10px;margin-bottom:10px}.dense-metrics .metric,.metric{padding:11px 12px;min-height:88px;grid-template-columns:40px 1fr;gap:9px}.metric-icon{width:38px;height:38px}.metric-icon .icon{width:16px;height:16px}.metric-copy span{font-size:10px}.metric-copy strong{font-size:21px}.metric-copy small{font-size:10px}.metric-link{padding-top:6px;font-size:10px}.dashboard-grid{gap:10px}.polish-grid{grid-template-columns:minmax(0,2.05fr) minmax(310px,.78fr)}.conseil-grid{grid-template-columns:minmax(0,2.15fr) minmax(320px,.8fr)}.stack,.compact-stack{gap:10px}.card,.panel{padding:12px;margin-bottom:10px;border-radius:6px;box-shadow:0 1px 2px rgba(19,31,51,.035),0 6px 16px rgba(19,31,51,.035)}.panel-head,.section-head{gap:10px;margin-bottom:8px;min-height:26px}.card h2,.panel h2{font-size:14px}.panel-title{gap:7px}.panel-title .icon{width:16px;height:16px}.panel-link{font-size:11px}.button,button{min-height:31px;padding:6px 10px;font-size:11px}.badge,.status,.privacy,.priority-chip{font-size:9px;padding:3px 6px}.table-scroll{border-radius:4px}.data-table,table{font-size:11px}.compact-table th,.compact-table td,th,td{padding:6px 8px}.compact-table th,th{font-size:9px}.dense-row,.list-row{padding:7px 0}.list-row small,.audit-row small{font-size:10px}.info-row{padding:7px 0}.info-row strong{font-size:10px}.info-row small{font-size:9px}.task-item{padding:5px 0}.agenda-item{padding:6px 0}.budget-row{padding:8px 0}.summary-mini{padding:7px}.summary-mini strong{font-size:14px}.form-grid{gap:0 12px}.form-grid p{margin-bottom:8px}label{font-size:11px;margin-bottom:9px}input,select,textarea{padding:7px 8px;font-size:12px}.work-form{max-width:820px}.compact-grid{gap:10px}.action-panel{display:flex;align-items:center;justify-content:space-between;gap:16px}.action-panel h2{margin:0 0 3px}.action-panel p{margin:0}.empty-action{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 0}.empty-action strong{display:block;margin-bottom:2px}.empty-action p{margin:0;color:var(--muted);font-size:11px}.row-priority{box-shadow:inset 3px 0 0 #d78921;background:#fffaf1}.row-priority-box{border-left:3px solid #d78921;padding-left:9px}.priority-alert{border-left:3px solid #d45b5b}.priority-chip{display:inline-flex;align-items:center;border-radius:4px;font-weight:700;line-height:1.2;background:#eef2f6;color:#536174}.priority-chip.high,.priority-today{background:#fff0e4;color:#a65100}.priority-chip.normal{background:var(--brand-soft);color:#1f64ae}.priority-chip.low{background:var(--green-soft);color:var(--green)}

/* Work-priority system */
.priority-panel{overflow:hidden}.priority-list{display:grid;gap:5px}.priority-item{display:grid;grid-template-columns:68px minmax(0,1fr) 16px;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:#fff}.priority-item:hover{color:var(--ink);border-color:#b9cadf;background:#f8fbff}.priority-item[href]{cursor:pointer;text-decoration:none}.priority-item[href]:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.priority-item strong{display:block;font-size:11px}.priority-item small{display:block;color:var(--muted);font-size:9px;margin-top:1px;line-height:1.3}.priority-flag{display:inline-flex;align-items:center;justify-content:center;border-radius:3px;padding:3px 5px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;background:#edf1f5;color:#5d6978}.priority-high{border-left:3px solid #cc5a4d;background:#fff9f7}.priority-high .priority-flag{background:#fdecec;color:#a93c3c}.priority-medium{border-left:3px solid #d79a2f;background:#fffbf3}.priority-medium .priority-flag{background:#fff3dd;color:#946000}.priority-follow{border-left:3px solid #4d8fd7}.priority-follow .priority-flag{background:var(--brand-soft);color:#1d63ab}.priority-info{border-left:3px solid #8995a6}.priority-info .priority-flag{background:#edf1f5;color:#5d6978}

/* Workspace density and administrative summaries */
.work-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:4px;overflow:hidden}.work-status{padding:9px 10px;border-right:1px solid var(--line);background:#fff}.work-status:last-child{border-right:0}.work-status span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.035em;font-weight:700}.work-status strong{display:block;font-size:13px;margin-top:2px}.work-status small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:5px;padding:9px 10px}.summary-card span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:700;letter-spacing:.035em}.summary-card strong{display:block;font-size:15px;margin-top:2px}.dense-audit{padding:7px 0}.dense-audit p{margin:2px 0 0;color:var(--muted);font-size:9px}.month-status-panel,.service-status-panel{margin-bottom:0}.hash{font-size:8px}.presence-cell{width:22px;height:22px}.presence-table th,.presence-table td{padding:5px 6px}.alert-box{padding:9px;margin-bottom:6px}

/* Terminology/readability polish */
.status.correction_requested{font-weight:700}.privacy.af_only:before{content:"Privé · ";font-weight:700}.privacy.shared:before{content:"Partagé · ";font-weight:700}.sidebar-label{letter-spacing:-.005em}code{font-family:Consolas,"Cascadia Mono",monospace;font-size:10px;color:#536174}

@media(min-width:1500px){.workspace-main{padding-left:22px;padding-right:22px}.polish-grid{grid-template-columns:minmax(0,2.25fr) minmax(330px,.72fr)}.conseil-grid{grid-template-columns:minmax(0,2.35fr) minmax(340px,.74fr)}}
@media(max-width:1180px){.polish-grid,.conseil-grid{grid-template-columns:1fr}.work-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-status:nth-child(2){border-right:0}.work-status:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:760px){:root{--sidebar:0px;--topbar:52px}.workspace-main{padding:14px 10px 44px}.priority-item{grid-template-columns:62px minmax(0,1fr) 12px}.work-status-grid,.summary-cards{grid-template-columns:1fr}.work-status{border-right:0;border-bottom:1px solid var(--line)}.work-status:last-child{border-bottom:0}.empty-action,.action-panel{align-items:stretch;flex-direction:column}.dense-metrics .metric{min-height:84px}}


:root{--border:var(--line);--border-strong:var(--line-strong);--blue:var(--brand);--blue-soft:var(--brand-soft);--text:var(--ink);--text-soft:var(--ink-2);--danger:var(--red)}
/* Integrated Slice 3 — dossier workspaces */
.dossier-page-head{margin-bottom:8px}.dossier-tabs{display:flex;gap:2px;overflow-x:auto;background:#fff;border:1px solid var(--border);border-radius:5px;padding:4px;margin:0 0 10px}.dossier-tabs a{white-space:nowrap;padding:7px 10px;border-radius:4px;color:var(--text-soft);font-size:12px;font-weight:600}.dossier-tabs a:hover{background:var(--blue-soft);color:var(--blue)}
.dossier-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:10px;align-items:start}.compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}.cell-sub{display:block;color:var(--muted);font-size:10px;margin-top:2px}.record-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-radius:4px;overflow:hidden;margin:0 0 12px}.record-summary>div{padding:9px 10px;border-right:1px solid var(--border)}.record-summary>div:last-child{border-right:0}.record-summary span,.source-grid span,.read-form span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.03em;font-weight:700}.record-summary strong{display:block;margin-top:3px}.record-summary.vertical{grid-template-columns:1fr}.record-summary.vertical>div{border-right:0;border-bottom:1px solid var(--border)}.record-summary.vertical>div:last-child{border-bottom:0}
.desktop-form p{margin:0 0 10px}.desktop-form label{display:block;font-size:11px;font-weight:700;margin-bottom:4px}.desktop-form input,.desktop-form select,.desktop-form textarea{width:100%;border:1px solid var(--border-strong);border-radius:4px;padding:8px;background:#fff;color:var(--text);font:inherit}.desktop-form textarea{resize:vertical}.desktop-form .errorlist{color:var(--danger);font-size:11px;margin:0 0 4px;padding-left:18px}.correction-form{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.full{width:100%;justify-content:center}.read-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:4px;overflow:hidden}.read-form>div{background:#fff;padding:10px}.long-read{grid-template-columns:1fr}.long-read p{margin:4px 0 0;white-space:normal}.source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.source-grid>div{border:1px solid var(--border);padding:9px;border-radius:4px;background:#fbfcfe}.source-grid strong{display:block;margin-top:3px}.security-callout{display:flex;gap:12px;align-items:flex-start;border-left:3px solid var(--blue);background:var(--blue-soft);padding:10px;margin-bottom:12px}.security-callout span{color:var(--text-soft);font-size:11px}.form-workspace{max-width:900px}.empty-block{color:var(--muted);margin:8px 0}.timeline-list{display:grid}.timeline-row{display:grid;grid-template-columns:130px minmax(0,1fr) 180px;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:11px}.timeline-row:last-child{border-bottom:0}.timeline-row span,.timeline-row small{color:var(--muted)}.dossier-launch-panel{margin-bottom:10px}
@media(max-width:1100px){.dossier-layout{grid-template-columns:1fr}.record-summary,.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-metrics{max-width:none}}@media(max-width:700px){.record-summary,.source-grid,.read-form{grid-template-columns:1fr}.timeline-row{grid-template-columns:1fr}.dossier-tabs{border-left:0;border-right:0;border-radius:0}}


/* Slice 3 Operational Polish & Workflow Repair 3.1 */
.dossier-tabs a.active{background:var(--brand-soft);color:var(--brand);font-weight:750;box-shadow:inset 0 -2px 0 var(--brand)}
.workflow-editor-panel{overflow:visible}.workflow-editor{position:relative}.form-command-bar{position:sticky;top:calc(var(--topbar) + 6px);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 10px;margin:0 0 10px;border:1px solid var(--line);background:rgba(255,255,255,.97);box-shadow:0 2px 8px rgba(20,34,55,.06);border-radius:4px}.form-command-actions{display:flex;align-items:center;gap:7px}.editor-state{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:650}.workflow-editor.is-dirty .editor-state{color:#966100}.workflow-editor.is-dirty .editor-state .connection-dot{background:#d99a2f}.editor-section-grid{display:grid;gap:10px}.editor-section{border:1px solid var(--line);background:#fbfcfe;border-radius:4px;padding:11px}.editor-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:7px;margin-bottom:9px}.editor-section-head h3{margin:0;font-size:12px;color:var(--ink)}.editor-section-head small{color:var(--muted);font-size:9px;text-align:right}.field-block{margin-bottom:9px}.field-block:last-child{margin-bottom:0}.field-block label{margin-bottom:4px}.field-help{display:block;color:var(--muted);font-size:9px;margin-top:4px;line-height:1.4}.workflow-bottom-actions{display:flex;justify-content:flex-end;gap:7px;border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.workflow-note{border:1px solid var(--line);background:#f8fafc;border-radius:4px;padding:9px 10px}.workflow-note strong{display:block;font-size:11px}.workflow-note small{display:block;color:var(--muted);font-size:9px;margin-top:3px;line-height:1.45}.workflow-note.success{background:#f1faf5;border-color:#cde8d7}.workflow-note.success strong{color:#237448}.source-scope-note{font-size:10px;color:var(--muted);padding:0 0 9px;line-height:1.45}.grouped-read>div{border-bottom:1px solid var(--line)}.grouped-read>div:last-child{border-bottom:0}.dossier-followup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:4px;overflow:hidden}.dossier-followup-item{padding:9px 10px;border-right:1px solid var(--line);color:var(--ink);background:#fff}.dossier-followup-item:last-child{border-right:0}.dossier-followup-item:hover{background:#f8fbff;color:var(--ink)}.dossier-followup-item span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:700;letter-spacing:.03em}.dossier-followup-item strong{display:block;font-size:16px;margin-top:2px}.dossier-followup-item small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.dossier-followup-item.attention{box-shadow:inset 3px 0 0 #cc5a4d;background:#fff9f7}.document-form{max-width:780px}
@media(max-width:900px){.form-command-bar{position:static;align-items:stretch;flex-direction:column}.form-command-actions,.workflow-bottom-actions{display:grid;grid-template-columns:1fr}.editor-section-head{align-items:flex-start;flex-direction:column}.editor-section-head small{text-align:left}.dossier-followup-grid{grid-template-columns:1fr}.dossier-followup-item{border-right:0;border-bottom:1px solid var(--line)}.dossier-followup-item:last-child{border-bottom:0}}

.logout-form{margin:0}.logout-button{background:transparent;border:0;font:inherit;cursor:pointer;padding:0}


/* Public Sector UX Finalization 5.0 */
.theme-switch{display:flex;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--surface-2)}.theme-option{border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);padding:6px 9px;font-size:11px;cursor:pointer}.theme-option:last-child{border-right:0}.theme-option[aria-pressed="true"]{background:var(--brand-soft);color:var(--brand);font-weight:700}.view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.view-switch,.month-nav{display:flex;align-items:center;gap:6px}.view-option.active{background:var(--brand-soft);border-color:#9fc6f4;color:var(--brand);font-weight:700}.agenda-view.is-hidden{display:none}.month-calendar{overflow:auto;border:1px solid var(--line);border-radius:5px;background:var(--surface)}.month-weekdays,.month-week{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr))}.month-weekdays span{padding:8px;background:var(--surface-2);border-right:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}.month-day{min-height:118px;padding:7px;border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface)}.month-day.outside{background:var(--surface-2);opacity:.65}.month-day.today{box-shadow:inset 0 0 0 2px var(--brand)}.month-day-number{font-size:11px;font-weight:700;margin-bottom:5px}.month-day-events{display:grid;gap:4px}.month-event{padding:5px 6px;border-radius:4px;background:var(--brand-soft);border-left:3px solid var(--brand);font-size:9px}.month-event.af_only{background:var(--purple-soft);border-left-color:var(--purple)}.month-event strong,.month-event small{display:block}.month-event small{color:var(--muted);margin-top:1px}.file-picker{display:flex;align-items:center;gap:9px;min-height:38px}.file-picker .file-input-native{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.file-picker [data-file-name]{color:var(--muted);font-size:11px}.budget-line{padding:12px 0;border-bottom:1px solid var(--line)}.budget-line:last-child{border-bottom:0}.budget-line small{display:block;color:var(--muted)}.budget-values{display:flex;justify-content:space-between;gap:12px;margin:7px 0 5px}.budget-track{height:5px;background:var(--surface-3);border-radius:99px;overflow:hidden}.budget-track span{display:block;height:100%;background:var(--brand)}

body[data-theme="dark"]{--bg:#111722;--surface:#18202d;--surface-2:#202a39;--surface-3:#283446;--ink:#edf3fb;--ink-2:#d2dbe8;--muted:#9eabbd;--muted-2:#8391a4;--line:#344154;--line-strong:#45546a;--brand:#66a8ff;--brand-2:#8bbdff;--brand-soft:#1f3653;--green:#4ed28b;--green-soft:#17382a;--amber:#f0b34e;--amber-soft:#3a2b13;--red:#ff7b7b;--red-soft:#412323;--purple:#aa8cff;--purple-soft:#2d2545;--shadow:0 1px 2px rgba(0,0,0,.25),0 10px 28px rgba(0,0,0,.18);color-scheme:dark}body[data-theme="dark"],body[data-theme="dark"] .app-topbar,body[data-theme="dark"] .sidebar,body[data-theme="dark"] .statusbar,body[data-theme="dark"] .card,body[data-theme="dark"] .panel,body[data-theme="dark"] .metric,body[data-theme="dark"] table,body[data-theme="dark"] .dossier-tabs,body[data-theme="dark"] .work-status,body[data-theme="dark"] .summary-card,body[data-theme="dark"] .dossier-followup-item,body[data-theme="dark"] .read-form>div,body[data-theme="dark"] .source-grid>div,body[data-theme="dark"] .editor-section{background-color:var(--surface);color:var(--ink)}body[data-theme="dark"] th{background:var(--surface-2);color:var(--muted)}body[data-theme="dark"] td{border-bottom-color:var(--line)}body[data-theme="dark"] .sidebar-link{color:var(--ink-2)}body[data-theme="dark"] .sidebar-link:hover{background:var(--surface-2);color:var(--ink)}body[data-theme="dark"] .sidebar-link.active{background:var(--brand-soft);color:var(--brand)}body[data-theme="dark"] .form-command-bar{background:rgba(24,32,45,.97)}body[data-theme="dark"] .desktop-form input,body[data-theme="dark"] .desktop-form select,body[data-theme="dark"] .desktop-form textarea,body[data-theme="dark"] input,body[data-theme="dark"] select,body[data-theme="dark"] textarea{background:var(--surface-2);color:var(--ink);border-color:var(--line-strong)}body[data-theme="dark"] .workflow-note,body[data-theme="dark"] .security-callout{background:var(--surface-2)}body[data-theme="dark"] .workflow-note.success{background:var(--green-soft)}body[data-theme="dark"] .dossier-followup-item:hover{background:var(--surface-2)}body[data-theme="dark"] .dossier-followup-item.attention{background:#34231f}body[data-theme="dark"] .login-window,body[data-theme="dark"] .login-panel{background:var(--surface)}body[data-theme="dark"] .login-intro{background:var(--surface-2)}body[data-theme="dark"] .month-event{color:var(--ink)}body[data-theme="dark"] code{color:#b9c8da}
@media(max-width:900px){.theme-switch{display:none}.view-toolbar{align-items:stretch;flex-direction:column}.month-nav{justify-content:space-between}.month-weekdays,.month-week{grid-template-columns:repeat(7,minmax(92px,1fr))}}

body[data-theme="dark"] .secondary{background:var(--surface-2);border-color:var(--line-strong);color:var(--ink-2)}
body[data-theme="dark"] .secondary:hover{background:var(--surface-3);color:var(--ink)}
body[data-theme="dark"] label{color:var(--ink-2)}
body[data-theme="dark"] tbody tr:hover,body[data-theme="dark"] .list-row.link:hover,body[data-theme="dark"] .queue-row:hover:not(.queue-head),body[data-theme="dark"] .priority-item:hover{background:var(--surface-2)}
body[data-theme="dark"] .priority-item{background:var(--surface)}
body[data-theme="dark"] .priority-high{background:#352321}body[data-theme="dark"] .priority-medium{background:#342b1b}
body[data-theme="dark"] .row-priority{background:#342b1b}
body[data-theme="dark"] .badge,body[data-theme="dark"] .status.draft,body[data-theme="dark"] .privacy.af_only,body[data-theme="dark"] .priority-chip{background:var(--surface-3);color:var(--ink-2)}
body[data-theme="dark"] .status.submitted,body[data-theme="dark"] .privacy.shared,body[data-theme="dark"] .priority-chip.normal{background:var(--brand-soft);color:var(--brand)}
body[data-theme="dark"] .metric-icon.orange{background:#392918;color:#ffad64}
body[data-theme="dark"] .metric-icon.purple{background:var(--purple-soft);color:var(--purple)}
body[data-theme="dark"] .task-check{background:var(--surface-2);border-color:var(--line-strong)}
body[data-theme="dark"] .panel-title{color:var(--brand)}body[data-theme="dark"] .panel-title .icon{color:var(--muted)}
body[data-theme="dark"] .context-sep,body[data-theme="dark"] .user-menu,body[data-theme="dark"] .sidebar-footer{border-color:var(--line)}


/* Operational Clarity & Protection Demo 8.2.3 */
:root{--focus-ring:#0b6fe8;--secondary-readable:#4f5e73}
.dossier-tabs{scrollbar-width:thin}.dossier-tabs a{color:var(--ink-2);min-height:34px;display:inline-flex;align-items:center}.dossier-tabs a:focus-visible,.sidebar-link:focus-visible,.button:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--focus-ring) 72%,transparent);outline-offset:2px}
.sidebar-link{height:auto;min-height:36px;line-height:1.25}.sidebar-label{white-space:normal;overflow-wrap:anywhere}.muted,.field-help,.page-subtitle,.list-row small,.audit-row small,.info-row small,.work-status small,.dossier-followup-item small{line-height:1.5}.panel h2,.card h2{line-height:1.3}.badge,.status,.privacy,.priority-chip{line-height:1.35}
.protection-home-priority{border-left:4px solid var(--red)}.privacy.protection{background:var(--red-soft);color:var(--red);font-weight:750}.protection-case-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}.protection-case-row:first-of-type{border-top:0}.protection-case-copy{min-width:0}.protection-case-copy h3{margin:7px 0 3px;font-size:15px}.due-process-badge{background:var(--amber-soft);color:var(--amber)}.due-process-overview{border-left:4px solid var(--brand)}.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 10px}.process-step{border:1px solid var(--line);border-radius:5px;padding:10px;background:var(--surface-2)}.process-step>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--surface-3);color:var(--ink-2);font-weight:800;margin-bottom:7px}.process-step strong,.process-step small{display:block}.process-step small{color:var(--muted);margin-top:3px}.process-step.is-done>span{background:var(--brand-soft);color:var(--brand)}
body[data-theme="dark"]{--muted:#b8c4d4;--muted-2:#a6b4c7;--line:#40506a;--line-strong:#5a6b84;--surface-2:#212c3c;--surface-3:#2b394d;--focus-ring:#79b7ff;--secondary-readable:#c5d0de}
body[data-theme="dark"] .dossier-tabs a{color:#cbd5e2;background:transparent}body[data-theme="dark"] .dossier-tabs a:hover{background:var(--surface-3);color:#ffffff}body[data-theme="dark"] .dossier-tabs a.active{background:#214267;color:#8fc4ff;box-shadow:inset 0 -2px 0 #79b7ff}body[data-theme="dark"] .page-kicker,body[data-theme="dark"] .eyebrow,body[data-theme="dark"] .page-subtitle,body[data-theme="dark"] .muted,body[data-theme="dark"] .field-help,body[data-theme="dark"] .metric-copy span,body[data-theme="dark"] .metric-copy small,body[data-theme="dark"] .work-status span,body[data-theme="dark"] .work-status small,body[data-theme="dark"] .dossier-followup-item span,body[data-theme="dark"] .dossier-followup-item small{color:var(--muted)}body[data-theme="dark"] th,body[data-theme="dark"] .queue-head{color:#c1ccda;background:#243144}body[data-theme="dark"] .theme-option{color:#b7c3d2}body[data-theme="dark"] .theme-option[aria-pressed="true"]{color:#8fc4ff}body[data-theme="dark"] .panel-title{color:#7fb8ff}body[data-theme="dark"] .privacy.protection{background:#47272a;color:#ff9b9b}body[data-theme="dark"] .due-process-badge{background:#493714;color:#ffd17a}body[data-theme="dark"] .process-step{background:#202b3a;border-color:#4b5c74}body[data-theme="dark"] .process-step>span{background:#2c3a4d;color:#d9e2ed}body[data-theme="dark"] .process-step.is-done>span{background:#214267;color:#8fc4ff}body[data-theme="dark"] .secondary{color:#e1e8f0}body[data-theme="dark"] .logout-link{color:#c1ccda}body[data-theme="dark"] .tenant{color:#c4cfdd}
@media(max-width:900px){.process-steps{grid-template-columns:1fr 1fr}.protection-case-row{grid-template-columns:1fr}.protection-case-row .button{justify-self:start}}
@media(max-width:560px){.process-steps{grid-template-columns:1fr}.dossier-tabs a{font-size:11px;padding:7px 8px}}

/* Qavirio AssFam 9.0 - PPE central plan */
.ppe-central-entry{margin-bottom:18px}.ppe-version-banner{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;background:var(--surface,#fff);border:1px solid var(--border,#d8dee8);border-radius:16px;padding:16px 18px;margin-bottom:18px;flex-wrap:wrap}.ppe-version-banner>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ppe-official,.ppe-working{font-size:.78rem;font-weight:800;padding:5px 9px;border-radius:999px;background:#e8f7ef;color:#155c3d}.ppe-working{background:#fff3d8;color:#704b00}.ppe-hash{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;color:var(--muted,#5c6678)}.ppe-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.ppe-main,.ppe-side{display:grid;gap:18px}.ppe-goal{border:1px solid var(--border,#d8dee8);border-radius:14px;padding:16px;margin-top:12px}.ppe-goal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.ppe-goal-head>div:last-child{display:flex;gap:7px;flex-wrap:wrap}.ppe-domain{display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#5c6678);margin-bottom:4px}.ppe-meta{font-size:.82rem;color:var(--muted,#5c6678)}.ppe-actions{margin-top:16px;border-top:1px solid var(--border,#d8dee8);padding-top:12px}.ppe-subhead{display:flex;justify-content:space-between;gap:12px;align-items:center}.ppe-subhead h4{margin:0}.ppe-action{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.6fr);gap:14px;padding:13px 0;border-bottom:1px solid var(--border,#d8dee8)}.ppe-action:last-child{border-bottom:0}.ppe-action-copy p{margin:.4rem 0}.ppe-action-copy small,.ppe-responsibility small,.ppe-milestone small,.ppe-participant small,.ppe-decision small{display:block;color:var(--muted,#5c6678)}.ppe-responsibilities{display:flex;flex-direction:column;gap:7px}.ppe-responsibility{background:var(--surface-2,#f5f7fa);border-radius:10px;padding:9px 11px}.mini-link{font-size:.82rem;font-weight:700}.ppe-milestone{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border,#d8dee8)}.ppe-milestone time{font-weight:800}.ppe-integrity-note{padding:10px 12px;border-left:4px solid #5874d9;background:var(--surface-2,#f5f7fa);border-radius:8px}.ppe-contribution,.ppe-source{border:1px solid var(--border,#d8dee8);border-radius:12px;padding:13px 14px;margin-top:10px}.ppe-contribution-head,.ppe-source-head{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}.ppe-contribution-head span,.ppe-contribution-head time{font-size:.78rem;color:var(--muted,#5c6678)}.ppe-source small{color:var(--muted,#5c6678)}.ppe-participant,.ppe-decision{padding:9px 0;border-bottom:1px solid var(--border,#d8dee8)}.ppe-version-link{display:flex;flex-direction:column;padding:10px;border-radius:9px;text-decoration:none}.ppe-version-link.active{background:var(--surface-2,#f5f7fa);font-weight:800}.ppe-version-link small{color:var(--muted,#5c6678)}.ppe-return-form{margin-top:10px}.ppe-return-form textarea{width:100%;min-height:80px;margin-bottom:8px}.ppe-empty{max-width:760px}
html[data-theme="dark"] .ppe-version-banner,html[data-theme="dark"] .ppe-goal,html[data-theme="dark"] .ppe-contribution,html[data-theme="dark"] .ppe-source{border-color:#4b5568}html[data-theme="dark"] .ppe-responsibility,html[data-theme="dark"] .ppe-integrity-note,html[data-theme="dark"] .ppe-version-link.active{background:#202a38;color:#f3f6fb}html[data-theme="dark"] .ppe-domain,html[data-theme="dark"] .ppe-meta,html[data-theme="dark"] .ppe-action-copy small,html[data-theme="dark"] .ppe-responsibility small,html[data-theme="dark"] .ppe-milestone small,html[data-theme="dark"] .ppe-participant small,html[data-theme="dark"] .ppe-decision small,html[data-theme="dark"] .ppe-hash{color:#c8d1df}
@media(max-width:1050px){.ppe-layout{grid-template-columns:1fr}.ppe-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.ppe-side{grid-template-columns:1fr}.ppe-action{grid-template-columns:1fr}.ppe-milestone{grid-template-columns:82px 1fr}.ppe-milestone>.status-badge{grid-column:2}.ppe-goal-head{flex-direction:column}}
/* Qavirio AssFam 9.1 - PPE child-safe projection management */
.ppe-child-projection-card{border-left:4px solid var(--accent,#4f6df5)}.ppe-child-projection-state{display:grid;gap:6px;margin:12px 0}.child-projection-warning{border-left:4px solid #d59a2b}.child-projection-item{padding:16px 0;border-top:1px solid var(--line,#d7dee8)}.child-projection-item:first-of-type{border-top:0}.child-projection-item-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.publication-gate{border:2px solid var(--accent,#4f6df5)}.check-row{display:flex;align-items:flex-start;gap:10px;margin:12px 0 16px}.check-row input{margin-top:4px}

/* Qavirio AssFam 9.2 - placement / passation / judicial continuity */
.placement-continuity-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:20px;align-items:start}.placement-continuity-main,.placement-continuity-side{display:grid;gap:18px}.continuity-event{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}.continuity-event:last-child{border-bottom:0}.continuity-date{font-weight:750;color:var(--text-secondary)}.continuity-route{margin-top:8px;font-weight:700}.continuity-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);text-decoration:none;color:inherit}.continuity-link:last-child{border-bottom:0}.continuity-link span:first-child{display:grid;gap:4px;min-width:0}.continuity-link small{color:var(--text-secondary)}.continuity-link.static{cursor:default}.integrity-callout,.due-process-panel{border-left:4px solid var(--accent);padding-left:16px}.continuity-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.continuity-status-grid>div{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.continuity-status-grid span{display:block;color:var(--text-secondary);font-size:.82rem;margin-bottom:5px}.handover-item{padding:16px 0;border-bottom:1px solid var(--border)}.handover-item:last-child{border-bottom:0}.handover-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.handover-item-head span{font-size:.78rem;color:var(--text-secondary);font-weight:700}.judicial-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.judicial-deadline{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--border)}.judicial-deadline time{font-weight:800}.judicial-deadline small{display:block;color:var(--text-secondary);margin-top:3px}.legacy-action-note{margin-top:10px}.compact-form{margin-top:16px}.compact-form input{width:100%}
@media(max-width:980px){.placement-continuity-grid,.judicial-columns{grid-template-columns:1fr}.continuity-status-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.continuity-event{grid-template-columns:1fr}.continuity-status-grid{grid-template-columns:1fr}.judicial-deadline{grid-template-columns:1fr}.continuity-link{align-items:flex-start;flex-direction:column}}


/* Qavirio AssFam 9.3 - Department operations / multi-actor coordination */
.coord-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.coord-kpis>div,.coord-meeting-banner>div{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:13px}.coord-kpis span,.coord-meeting-banner span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.coord-kpis strong,.coord-meeting-banner strong{display:block;margin-top:4px}.coord-kpis small{display:block;color:var(--muted);margin-top:3px}.coord-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.coord-main,.coord-side{display:grid;gap:18px}.coord-person,.coord-row,.coord-task,.coord-timeline,.coord-mini{border-top:1px solid var(--line);padding:11px 0}.coord-person:first-of-type,.coord-row:first-of-type,.coord-task:first-of-type,.coord-timeline:first-of-type,.coord-mini:first-of-type{border-top:0}.coord-person,.coord-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.coord-person small,.coord-row small,.coord-task small,.coord-timeline small,.coord-mini small,.coord-decision small{display:block;color:var(--muted);margin-top:3px}.coord-row{text-decoration:none;color:inherit}.coord-row:hover{background:var(--surface-2);margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px}.coord-task{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);gap:14px;align-items:start}.coord-task strong{display:block;margin:6px 0 2px}.coord-task.done{opacity:.7}.coord-task form{display:flex;gap:7px;align-items:center}.coord-task form select{margin:0;min-width:120px}.coord-task form button{white-space:nowrap}.coord-timeline{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:12px;align-items:start}.coord-timeline time{font-weight:700;color:var(--muted)}.coord-timeline strong{display:block;margin:4px 0}.coord-decision{border:1px solid var(--line);border-radius:10px;padding:13px;margin-top:10px}.coord-decision p{margin:8px 0}.coord-meeting-banner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.protection-restricted{border-left:4px solid #b84747}.full{width:100%}
body[data-theme="dark"] .coord-kpis>div,body[data-theme="dark"] .coord-meeting-banner>div,body[data-theme="dark"] .coord-decision{border-color:var(--line);background:var(--surface)}body[data-theme="dark"] .coord-row:hover{background:var(--surface-3)}
@media(max-width:1050px){.coord-layout{grid-template-columns:1fr}.coord-side{grid-template-columns:repeat(2,minmax(0,1fr))}.coord-kpis,.coord-meeting-banner{grid-template-columns:1fr 1fr}}@media(max-width:720px){.coord-kpis,.coord-meeting-banner,.coord-side{grid-template-columns:1fr}.coord-task,.coord-timeline{grid-template-columns:1fr}.coord-person,.coord-row{align-items:flex-start;flex-direction:column}.coord-task form{flex-direction:column;align-items:stretch}}

/* Qavirio AssFam 10.0.1 - visible minimum-necessary boundary */
.scope-boundary{display:flex;gap:12px;align-items:flex-start;margin:0 0 16px;padding:12px 14px;border:1px solid var(--line,#d8dee9);border-radius:10px;background:var(--panel,#fff)}
.scope-boundary strong{white-space:nowrap}.scope-boundary span{color:var(--muted,#5f6b7a);line-height:1.45}
@media(max-width:760px){.scope-boundary{display:block}.scope-boundary strong{display:block;margin-bottom:5px}}

/* Qavirio Accueil Enfance 11.0 - product convergence */
body[data-theme="dark"] .scope-boundary{background:#172b43;border-color:#315d86;color:#dbeafe}
body[data-theme="dark"] .scope-boundary strong{color:#8fc4ff}
.topbar-actions{display:flex;align-items:center;gap:8px}
.scope-boundary{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;margin:0 0 14px;border:1px solid #c7ddef;border-radius:6px;background:#f1f7fd;color:var(--ink-2);font-size:12px}
.scope-boundary strong{white-space:nowrap;color:#1f5d9e}
@media(max-width:900px){.scope-boundary{display:block}.scope-boundary strong{display:block;margin-bottom:4px}}

/* Qavirio Accueil Enfance 13.0 - final product polish / profile integration */
.topbar-profile-link{color:inherit;text-decoration:none;font-weight:600}.topbar-profile-link:hover{text-decoration:underline}.sidebar-link>.icon{width:18px;height:18px;flex:0 0 18px;display:block}.sidebar-collapsed .sidebar-link>.icon{display:block!important;margin:0}.sidebar-collapsed .sidebar-nav,.sidebar-collapsed .sidebar-footer{align-items:stretch}.sidebar-collapsed .sidebar-link{width:100%;justify-content:center;padding-left:0;padding-right:0}.sidebar-collapsed .profile-nav-link{border-radius:5px}.sidebar-collapsed .sidebar-link[title]{position:relative}.sidebar-collapsed .sidebar-link[title]:hover:after{content:attr(title);position:absolute;left:54px;top:50%;transform:translateY(-50%);z-index:120;white-space:nowrap;background:var(--ink);color:var(--surface);border-radius:5px;padding:6px 8px;font-size:11px;box-shadow:var(--shadow);pointer-events:none}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,340px);gap:16px;align-items:start}.profile-main,.profile-side{display:grid;gap:12px}.profile-read-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;overflow:hidden}.profile-read-grid>div{padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.profile-read-grid>div:nth-child(2n){border-right:0}.profile-read-grid>div:nth-last-child(-n+2){border-bottom:0}.profile-read-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.profile-read-grid strong{display:block;overflow-wrap:anywhere}.profile-attention{border-left:4px solid var(--amber)}.profile-form .profile-field{margin-bottom:8px}.field-error{color:var(--red);font-size:11px;margin-top:4px}.security-note{margin:12px 0 0;padding:10px 12px;border-left:3px solid var(--brand);background:var(--surface-2);color:var(--ink-2);font-size:11px;line-height:1.5}.profile-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:12px 0}.profile-flow span{padding:6px 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface-2);font-weight:650}.administrative-identity .profile-read-grid{margin-top:4px}body[data-theme="dark"] .sidebar-collapsed .sidebar-link[title]:hover:after{background:#eef3fa;color:#162030}body[data-theme="dark"] .security-note{background:var(--surface-2)}
@media(max-width:980px){.profile-layout{grid-template-columns:1fr}.profile-side{grid-template-columns:1fr 1fr}}@media(max-width:700px){.profile-side,.profile-read-grid{grid-template-columns:1fr}.profile-read-grid>div{border-right:0}.profile-read-grid>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.profile-read-grid>div:last-child{border-bottom:0}.sidebar-collapsed .sidebar-link[title]:hover:after{display:none}}


/* QAE 14.0 — Enterprise Operations Console */
.ops-page{display:grid;gap:20px;max-width:1500px;margin:0 auto;padding-bottom:38px}.ops-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:stretch}.ops-hero>div:first-child{padding:28px 30px;border:1px solid var(--border,#d8e0ea);border-radius:14px;background:var(--panel,#fff)}.ops-kicker,.ops-label{font-size:11px;font-weight:850;letter-spacing:.12em;color:#1769d2}.ops-hero h1{margin:7px 0 8px;font-size:32px}.ops-hero p{margin:0;max-width:900px;color:var(--muted,#637083);line-height:1.6}.ops-health{display:grid;align-content:center;gap:7px;padding:26px;border-radius:14px;background:#15283e;color:#fff}.ops-health.is-ok{background:#123b32}.ops-health.is-warn{background:#5a3518}.ops-health span{font-size:11px;opacity:.75}.ops-health strong{font-size:23px}.ops-health small{opacity:.72}.ops-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ops-summary article{display:flex;align-items:center;gap:11px;padding:15px 16px;border:1px solid var(--border,#d8e0ea);border-radius:10px;background:var(--panel,#fff)}.ops-summary strong,.ops-summary small{display:block}.ops-summary strong{font-size:12px}.ops-summary small{font-size:10px;color:var(--muted,#6b7788);margin-top:2px}.ops-dot{width:10px;height:10px;border-radius:50%;background:#b8c1cc}.ops-dot.is-ok{background:#1b9a70;box-shadow:0 0 0 4px rgba(27,154,112,.11)}.ops-dot.is-bad{background:#c85342;box-shadow:0 0 0 4px rgba(200,83,66,.1)}.ops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ops-card{padding:23px;border:1px solid var(--border,#d8e0ea);border-radius:13px;background:var(--panel,#fff)}.ops-card h2{margin:8px 0 18px;font-size:22px}.ops-card dl{display:grid;grid-template-columns:140px 1fr;gap:9px 12px;margin:0}.ops-card dt{font-size:11px;color:var(--muted,#6d7887)}.ops-card dd{margin:0;font-size:11px;font-weight:700;overflow-wrap:anywhere}.ops-card code,.ops-table code{font-size:10px}.ops-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:24px;align-items:center;padding:23px 25px;border:1px solid var(--border,#d8e0ea);border-radius:13px;background:var(--panel,#fff)}.ops-panel h2{margin:6px 0 8px;font-size:22px}.ops-panel p{margin:0;color:var(--muted,#687486);line-height:1.58}.ops-backup-state{display:grid;gap:5px;padding:17px;border-radius:10px;background:var(--soft,#eef3f8)}.ops-backup-state strong{font-size:12px}.ops-backup-state span{font-size:10px;color:var(--muted,#687486)}.ops-table{display:grid;border:1px solid var(--border,#d8e0ea);border-radius:11px;overflow:hidden}.ops-table>div{display:grid;grid-template-columns:1fr 110px 250px;gap:12px;padding:12px 15px;background:var(--panel,#fff);border-bottom:1px solid var(--border,#e2e8ef);font-size:10px}.ops-table>div:last-child{border-bottom:0}.ops-security-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ops-security-list span{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:8px;background:var(--soft,#eef3f8);font-size:10px}.ops-security-list b{color:#1769d2}@media(max-width:1100px){.ops-summary{grid-template-columns:1fr 1fr}.ops-grid{grid-template-columns:1fr}.ops-hero,.ops-panel{grid-template-columns:1fr}}@media(max-width:650px){.ops-summary{grid-template-columns:1fr}.ops-hero>div:first-child,.ops-health,.ops-card,.ops-panel{padding:18px}.ops-table>div{grid-template-columns:1fr}.ops-security-list{grid-template-columns:1fr}}
