#housingWorkspace .acc-recurring-form { margin-block:12px; }
#housingWorkspace .housing-setup-step { grid-column:1/-1; min-width:0; margin:0; padding:12px; border:1px solid var(--acc-stroke); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; }
#housingWorkspace .housing-setup-step > :is(p,div,fieldset),
#housingWorkspace .housing-setup-step > label:has([name=propertyMode]) { grid-column:1/-1; }
#housingWorkspace .housing-setup-step > p { margin:0; }
#housingWorkspace .housing-setup-step legend { padding:0 6px; font-size:14px; font-weight:600; }
#housingWorkspace .housing-setup-step [hidden] { display:none !important; }
#housingWorkspace .housing-setup-step [data-fields] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; }
@media(max-width:640px){#housingWorkspace .housing-setup-step,#housingWorkspace .housing-setup-step [data-fields]{grid-template-columns:minmax(0,1fr);}}
#housingWorkspace .housing-template-choice { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; align-items:end; }
#housingWorkspace .housing-template-choice > p { grid-column:1/-1; margin:0; font-size:13px; color:var(--acc-muted); }
#housingWorkspace .housing-template-editor { padding:12px; border:1px solid var(--acc-stroke); background:var(--acc-surface-bg); }
#housingWorkspace .housing-template-editor iframe { display:block; width:100%; height:65vh; min-height:400px; border:1px solid var(--acc-stroke); background:var(--acc-surface-bg); }
#housingWorkspace .housing-template-editor [data-parent] > * { margin-block:8px; }
#housingWorkspace form.acc-recurring-form,
#housingWorkspace [data-fields] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#housingWorkspace form.acc-recurring-form > h4,
#housingWorkspace form.acc-recurring-form > h5,
#housingWorkspace form.acc-recurring-form > p,
#housingWorkspace form.acc-recurring-form > div,
#housingWorkspace form.acc-recurring-form > label:has([name=name]),
#housingWorkspace form.acc-recurring-form > label:has([name=property]),
#housingWorkspace form.acc-recurring-form > label:has([type=checkbox]) { grid-column:1/-1; }
#housingWorkspace form.acc-recurring-form > label:has([type=checkbox]) { display:flex; align-items:center; gap:8px; }
#housingWorkspace input[type=checkbox] { width:18px; height:18px; flex:0 0 18px; margin:0; }
#housingWorkspace .acc-panel-head { flex-wrap:wrap; gap:12px; }
#housingWorkspace .acc-panel-head > div { flex:1 1 220px; }
#housingWorkspace .acc-panel-head button { white-space:normal; height:auto; min-height:34px; }
#housingWorkspace .acc-list-toolbar { flex-wrap:wrap; }
#housingWorkspace details { padding:10px 0; }
#housingWorkspace [data-finance-programs] section { margin-top:18px; padding-top:14px; border-top:1px solid var(--acc-stroke); }
#housingWorkspace :is([id$="-section"],section[id]) { scroll-margin-top:80px; }
#housingWorkspace [data-finance-programs] textarea { width:100%; min-height:84px; resize:vertical; color:inherit; background:var(--acc-surface-bg); border:1px solid var(--acc-stroke); padding:8px; }
#housingWorkspace [data-bindings] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#housingWorkspace summary { cursor:pointer; min-height:34px; padding:8px 0; }
#housingWorkspace [role=alert] { color:var(--acc-bad); }
#housingWorkspace :is(button,a,select,input,textarea,summary):focus-visible { outline:2px solid var(--acc-brand-2); outline-offset:2px; }
#housingWorkspace .btn:disabled { opacity:.55; cursor:not-allowed; }
#housingWorkspace [data-period][aria-pressed="true"] { border-color:var(--acc-brand-2); font-weight:700; }
@media(max-width:640px) {
    #housingWorkspace form.acc-recurring-form,
    #housingWorkspace [data-fields] { grid-template-columns:minmax(0,1fr); }
    #housingWorkspace [data-bindings] { grid-template-columns:minmax(0,1fr); }
    #housingWorkspace .acc-table::after { content:'Faites défiler le tableau horizontalement pour consulter toutes les colonnes.'; display:block; font-size:12px; padding:8px; color:var(--acc-muted); }
}

/* Follow One's active theme, including custom organisation palettes. */
body[data-housing-page] {
    --acc-bg:var(--adm-bg);
    --acc-panel-bg:var(--adm-panel);
    --acc-surface-bg:var(--adm-surface);
    --acc-card-bg:var(--adm-panel);
    --acc-card-soft-bg:var(--adm-surface-2);
    --acc-stroke:var(--adm-border);
    --acc-text:var(--adm-text);
    --acc-muted:var(--adm-text-soft);
    --acc-brand:var(--adm-primary);
    --acc-brand-2:var(--adm-primary);
    --acc-good:var(--adm-success);
    --acc-warn:var(--adm-warning);
    --acc-bad:var(--adm-danger);
    --acc-shadow:var(--adm-shadow-soft);
    overflow:auto; height:auto; min-height:100%;
}
body[data-housing-page] .acc-main { max-width:none; min-width:0; margin:0; padding:14px; }

#housingWorkspace [hidden] { display:none !important; }

/* Task navigation and source-backed reports, shared by both entry points. */
#housingWorkspace .housing-navigation { display:flex; flex-direction:column; align-items:stretch; gap:8px; border-block:1px solid var(--acc-stroke); padding:10px 0; margin-block:12px; }
#housingWorkspace .housing-nav-group { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
#housingWorkspace .housing-nav-group > span { font-size:12px; color:var(--acc-muted); min-width:95px; }
#housingWorkspace .housing-navigation a { text-decoration:none; }
#housingWorkspace [data-housing-reports] > .acc-list-toolbar,
#housingWorkspace [data-housing-reports] .acc-list-toolbar { justify-content:flex-start; gap:8px; }
#housingWorkspace .housing-navigation a[aria-current=page] { background:var(--acc-brand); color:white; border-color:var(--acc-brand); font-weight:600; }
/* Compact workspace: navigation remains labelled; commands use accessible icons. */
body[data-housing-page] .acc-main > .acc-panel-head { margin-bottom:12px; }
body[data-housing-page] .acc-main > .acc-panel-head h1 { font-size:20px; margin:0; }
body[data-housing-page] .acc-main > .acc-panel-head p { margin:4px 0 0; font-size:13px; }
#housingWorkspace.housing-shell { display:grid; grid-template-columns:232px minmax(0,1fr); padding:0; align-items:start; }
#housingWorkspace.housing-shell > .acc-panel-head { grid-column:1/-1; padding:10px 14px; border-bottom:1px solid var(--acc-stroke); margin:0; }
#housingWorkspace .housing-context { font-size:13px; }
#housingWorkspace.housing-shell .housing-navigation { margin:0; padding:12px 8px; border:0; border-right:1px solid var(--acc-stroke); background:var(--acc-surface-bg); align-self:stretch; gap:18px; }
#housingWorkspace.housing-shell .housing-nav-group { display:flex; flex-direction:column; align-items:stretch; gap:3px; }
#housingWorkspace.housing-shell .housing-nav-group > span { padding:0 9px 5px; font-size:11px; font-weight:600; }
#housingWorkspace.housing-shell .housing-navigation a { display:flex; align-items:center; justify-content:flex-start; gap:9px; min-height:38px; padding:8px 9px; border:1px solid transparent; border-radius:2px; white-space:normal; font-size:13px; text-align:left; }
#housingWorkspace .housing-navigation a i { width:18px; text-align:center; flex-shrink:0; }
#housingWorkspace .housing-content { min-width:0; padding:16px; }
#housingWorkspace .housing-content > [id^=housing-] { margin-top:0; padding-top:0; border-top:0; }
#housingWorkspace .housing-content h4 { font-size:16px; margin:0 0 8px; }
#housingWorkspace .housing-content p { line-height:1.5; }
#housingWorkspace .housing-setup { margin:18px 0; padding:18px; border:1px solid var(--acc-stroke); border-left:3px solid var(--acc-brand); background:var(--acc-surface-bg); }
#housingWorkspace .housing-setup h5 { font-size:15px; margin:0 0 8px; }
#housingWorkspace .housing-setup ol { padding-left:22px; line-height:1.8; }
#housingWorkspace :is(a,button,input,select,summary):focus-visible { outline:2px solid var(--acc-brand); outline-offset:3px; }
@media(max-width:900px) {
 #housingWorkspace.housing-shell { grid-template-columns:minmax(0,1fr); }
 #housingWorkspace.housing-shell .housing-navigation { border-right:0; border-bottom:1px solid var(--acc-stroke); gap:10px; }
 #housingWorkspace.housing-shell .housing-nav-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 #housingWorkspace.housing-shell .housing-nav-group > span { grid-column:1/-1; }
 #housingWorkspace.housing-shell .housing-navigation a { min-height:44px; }
 #housingWorkspace .housing-content { padding:12px; }
}
#housingWorkspace .housing-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-block:14px; }
#housingWorkspace .housing-kpis > div { padding:12px; border:1px solid var(--acc-stroke); background:var(--acc-surface-bg); }
#housingWorkspace .housing-kpis strong { display:block; font-size:24px; margin-top:6px; }
#housingWorkspace .housing-chart { padding:14px; margin-block:14px; border:1px solid var(--acc-stroke); background:var(--acc-surface-bg); }
#housingWorkspace .housing-chart-row { display:grid; grid-template-columns:minmax(120px,1fr) minmax(80px,2fr) minmax(110px,1fr); gap:12px; align-items:center; padding:7px 0; }
#housingWorkspace .housing-chart-row strong { text-align:right; overflow-wrap:anywhere; }
#housingWorkspace .housing-chart-track { height:16px; background:var(--acc-card-soft-bg); }
#housingWorkspace .housing-chart-track > span { display:block; height:100%; background:var(--acc-brand-2); }
#housingWorkspace [data-housing-reports] caption { text-align:left; padding:8px 0; color:var(--acc-muted); }
#housingWorkspace [data-housing-reports] article > p { line-height:1.5; }
@media(max-width:640px) {
 #housingWorkspace .housing-kpis { grid-template-columns:minmax(0,1fr); gap:8px; }
 #housingWorkspace .housing-chart-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px; }
 #housingWorkspace .housing-chart-track { grid-row:2; grid-column:1/-1; }
 #housingWorkspace .housing-nav-group > span { width:100%; }
}

#housingWorkspace [data-rent-tracking] > .acc-list-toolbar { justify-content:flex-start; gap:8px; flex-wrap:wrap; }

/* Shared compact command layout, retaining notices and navigation labels. */
body[data-housing-page] .acc-main > .acc-panel-head,
#housingWorkspace .acc-panel-head { min-height:50px; padding:8px 12px; gap:8px; }
body[data-housing-page] .acc-main > .acc-panel-head h1 { font-size:18px; line-height:1.3; margin:0; }
body[data-housing-page] .acc-main > .acc-panel-head p,
#housingWorkspace .acc-panel-head p { margin:4px 0 0; }
#housingWorkspace .acc-panel-head h4 { margin:0; font-size:14px; line-height:1.3; }
#housingWorkspace form.acc-recurring-form { gap:10px 12px; }
#housingWorkspace form.acc-recurring-form > :is(h4,h5,p) { margin:0; }
#housingWorkspace [data-finance-programs] section { margin-top:12px; padding-top:10px; }
#housingWorkspace :is(input,select,textarea) { min-width:0; max-width:100%; }
#housingWorkspace .acc-recurring-form label { display:flex; flex-direction:column; gap:6px; min-width:0; font-size:13px; }
#housingWorkspace .acc-recurring-form :is(input:not([type=checkbox]),select,textarea) { width:100%; min-height:34px; padding:7px 9px; font:inherit; color:var(--acc-text); background:var(--acc-surface-bg); border:1px solid var(--acc-stroke); border-radius:2px; }
#housingWorkspace .acc-recurring-form label:has(>[type=checkbox]) { flex-direction:row; align-items:center; gap:8px; }
#housingWorkspace input[type=checkbox] { min-width:18px; min-height:18px; }
@layer sysimple-actions {
 @media(max-width:640px) {
  html[data-brand-active] body[data-theme] :is(#housingWorkspace,body[data-housing-page] .acc-main>.acc-panel-head) :is(button,a)[data-module-command] { min-height:44px!important; min-width:44px!important; }
 }
}
@media(max-width:640px) {
 #housingWorkspace label:has(>[type=checkbox]) { min-height:44px; }
 #housingWorkspace :is(nav a,summary) { min-height:44px; }
}

#housingWorkspace [data-portfolio] textarea { width:100%; min-height:84px; resize:vertical; color:inherit; background:var(--acc-surface-bg); border:1px solid var(--acc-stroke); padding:8px; }
#housingWorkspace [data-portfolio] :is([data-unit-states],[data-period-states],[data-history],[data-period-fields]) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#housingWorkspace [data-portfolio] :is([data-period-states],[data-period-fields]) { grid-column:1/-1; }
#housingWorkspace [data-portfolio] > .acc-list-toolbar { justify-content:flex-start; gap:8px; }
@media(max-width:640px) {
    #housingWorkspace [data-portfolio] :is([data-unit-states],[data-period-states],[data-history],[data-period-fields]) { grid-template-columns:minmax(0,1fr); }
}

#housingWorkspace [data-housing-configuration] { margin-top:18px; padding-top:14px; border-top:1px solid var(--acc-stroke); }
#housingWorkspace [data-housing-configuration] textarea { width:100%; min-height:84px; resize:vertical; color:inherit; background:var(--acc-surface-bg); border:1px solid var(--acc-stroke); padding:8px; }
#housingWorkspace [data-housing-configuration] :is([data-kinds],[data-states],[data-period-fields],[data-period-states]) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#housingWorkspace [data-housing-configuration] [data-period-states] { grid-column:1/-1; }
#housingWorkspace [data-housing-configuration] > .acc-list-toolbar { justify-content:flex-start; gap:8px; }
@media(max-width:640px) { #housingWorkspace [data-housing-configuration] :is([data-kinds],[data-states],[data-period-fields],[data-period-states]) { grid-template-columns:minmax(0,1fr); } }

#housingWorkspace [data-housing-collections] { margin-top:18px; padding-top:14px; border-top:1px solid var(--acc-stroke); }
#housingWorkspace [data-housing-collections] textarea { width:100%; min-height:84px; resize:vertical; color:inherit; background:var(--acc-surface-bg); border:1px solid var(--acc-stroke); padding:8px; }
#housingWorkspace [data-housing-collections] :is([data-fields],[data-allocations]) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#housingWorkspace [data-housing-collections] [data-allocations] { grid-column:1/-1; }
#housingWorkspace [data-housing-collections] [data-allocations] > p { grid-column:1/-1; }
#housingWorkspace [data-housing-collections] > .acc-list-toolbar { justify-content:flex-start; gap:8px; }
@media(max-width:640px) { #housingWorkspace [data-housing-collections] :is([data-fields],[data-allocations]) { grid-template-columns:minmax(0,1fr); } }
#housingWorkspace [data-housing-journey] { margin-top:18px; padding-top:14px; border-top:1px solid var(--acc-stroke); }
#housingWorkspace [data-housing-journey] :is([data-fields],[data-states]) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; grid-column:1/-1; }
#housingWorkspace [data-housing-journey] :is([data-fields],[data-states]) > p,
#housingWorkspace [data-housing-journey] form > :is(h5,p,details,[data-check],.acc-list-toolbar) { grid-column:1/-1; }
#housingWorkspace [data-housing-journey] :is(h4,h5,p,summary) { overflow-wrap:anywhere; }
#housingWorkspace [data-housing-journey] > .acc-list-toolbar { justify-content:flex-start; gap:8px; }
#housingWorkspace [data-housing-journey] [data-actions]:empty { display:none; }
@media(max-width:640px) { #housingWorkspace [data-housing-journey] :is([data-fields],[data-states]) { grid-template-columns:minmax(0,1fr); } }
#housingWorkspace [data-housing-journey] .acc-table table { min-width:760px; }
#housingWorkspace [data-housing-journey] .acc-table td:nth-child(2) { white-space:nowrap; }
#housingWorkspace [data-housing-documents] { margin-top:18px; padding-top:14px; border-top:1px solid var(--acc-stroke); }
#housingWorkspace [data-housing-documents] :is([data-fields],[data-states]) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; grid-column:1/-1; }
#housingWorkspace [data-housing-documents] :is([data-fields],[data-states]) > p,
#housingWorkspace [data-housing-documents] form > :is(h5,p,details,[data-check],.acc-list-toolbar) { grid-column:1/-1; }
#housingWorkspace [data-housing-documents] :is(h4,h5,p,summary,td) { overflow-wrap:anywhere; }
#housingWorkspace [data-housing-documents] .acc-table table { min-width:820px; }
#housingWorkspace [data-housing-documents] .acc-table td:nth-child(3) { white-space:nowrap; }
@media(max-width:640px) { #housingWorkspace [data-housing-documents] :is([data-fields],[data-states]) { grid-template-columns:minmax(0,1fr); } }

/* Navigation links are not action buttons. Keep the active section explicit. */
#housingWorkspace .housing-navigation a { color:var(--acc-text); }
#housingWorkspace .housing-navigation a:hover { background:var(--acc-card-soft-bg); }
#housingWorkspace .housing-navigation a[aria-current=page] { background:var(--acc-brand); color:#fff; border-color:var(--acc-brand); }
#housingWorkspace .housing-mobile-navigation { display:none; }
@media(max-width:900px) {
 #housingWorkspace.housing-shell .housing-navigation { display:none; }
 #housingWorkspace .housing-mobile-navigation { display:flex; flex-direction:column; gap:6px; padding:12px; border-bottom:1px solid var(--acc-stroke); font-size:13px; }
 #housingWorkspace .housing-mobile-navigation select { min-height:44px; width:100%; padding:8px; color:var(--acc-text); background:var(--acc-surface-bg); border:1px solid var(--acc-stroke); font:inherit; }
}

#housingWorkspace .housing-source-choice { display:flex; align-items:center; gap:6px; }
#housingWorkspace .housing-source-choice select { flex:1; width:0; }
#housingWorkspace .housing-source-creator { grid-column:1/-1; min-width:0; border:1px solid var(--acc-stroke); padding:14px; background:var(--acc-surface-bg); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#housingWorkspace .housing-source-creator > :is(p,div) { grid-column:1/-1; margin:0; }
#housingWorkspace .housing-source-creator legend { font-size:14px; font-weight:600; padding:0 6px; }
#housingWorkspace .housing-source-notice { grid-column:1/-1; }
#housingWorkspace .housing-dashboard { margin-bottom:24px; }
#housingWorkspace .housing-dashboard h4,#housingWorkspace .housing-dashboard h5 { margin:0; }
#housingWorkspace .housing-dash-filters { align-items:end; margin-block:14px; }
#housingWorkspace .housing-dash-filters label { display:grid; gap:5px; font-size:13px; }
#housingWorkspace .housing-dash-filters :is(select,input) { min-height:34px; padding:6px; background:var(--acc-surface-bg); color:var(--acc-text); border:1px solid var(--acc-stroke); }
#housingWorkspace .housing-dash-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
#housingWorkspace .housing-dash-kpi { display:flex; flex-direction:column; gap:7px; padding:14px; border:1px solid var(--acc-stroke); border-top:3px solid var(--acc-brand); background:var(--acc-surface-bg); }
#housingWorkspace .housing-dash-kpi strong { font-size:26px; line-height:1.2; }
#housingWorkspace .housing-dash-kpi small { min-height:32px; }
#housingWorkspace .housing-dash-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:14px; }
#housingWorkspace .housing-dash-panel { min-width:0; padding:14px; border:1px solid var(--acc-stroke); background:var(--acc-surface-bg); }
#housingWorkspace .housing-dash-panel header { display:flex; gap:12px; justify-content:space-between; align-items:center; margin-bottom:14px; }
#housingWorkspace .housing-dash-panel h5 { font-size:15px; }
#housingWorkspace .housing-dash-panel p { font-size:13px; line-height:1.5; }
#housingWorkspace .housing-dash-composition { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
#housingWorkspace .housing-dash-ring { width:164px; height:164px; border-radius:50%; display:grid; place-items:center; flex-shrink:0; }
#housingWorkspace .housing-dash-ring>span { width:116px; height:116px; border-radius:50%; display:flex; flex-direction:column; justify-content:center; align-items:center; background:var(--acc-surface-bg); font-size:11px; }
#housingWorkspace .housing-dash-ring strong { font-size:25px; }
#housingWorkspace .housing-dash-composition ul { padding:0; margin:0; flex:1; list-style:none; min-width:130px; }
#housingWorkspace .housing-dash-composition li { display:flex; gap:7px; align-items:center; margin-block:9px; font-size:13px; }
#housingWorkspace .housing-dash-composition li strong { margin-left:auto; }
#housingWorkspace .housing-dash-dot { width:10px; height:10px; flex-shrink:0; }
#housingWorkspace .housing-dash-properties>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; margin-bottom:16px; }
#housingWorkspace .housing-dash-track { grid-column:1/-1; height:14px; background:var(--acc-card-soft-bg); }
#housingWorkspace .housing-dash-track span { display:block; height:100%; background:var(--acc-brand); }
#housingWorkspace .housing-dash-value { font-size:25px!important; font-weight:600; }
#housingWorkspace .housing-dash-maintenance { max-height:240px; overflow:auto; padding-left:18px; }
#housingWorkspace .housing-dash-maintenance li { margin-bottom:12px; }
#housingWorkspace .housing-dash-maintenance :is(span,small) { display:block; margin-top:4px; }
@media(max-width:1100px){#housingWorkspace .housing-dash-kpis {grid-template-columns:repeat(2,minmax(0,1fr));} #housingWorkspace .housing-dash-grid {grid-template-columns:minmax(0,1fr);}}
@media(max-width:600px){#housingWorkspace .housing-dash-kpis {grid-template-columns:minmax(0,1fr);} #housingWorkspace .housing-dash-filters label {width:100%;}}
@media(max-width:640px){ #housingWorkspace .housing-source-creator { grid-template-columns:minmax(0,1fr); } }

/* Work surfaces: hierarchy through spacing and theme accents, not nested boxes. */
#housingWorkspace {
 --housing-accent-soft:color-mix(in srgb,var(--acc-brand) 10%,var(--acc-panel-bg));
 --housing-accent-text:color-mix(in srgb,var(--acc-brand) 65%,var(--acc-text));
}
body[data-housing-page] .acc-main > .acc-panel-head {
 border:0; border-left:3px solid var(--acc-brand); border-radius:0;
 background:var(--acc-panel-bg); box-shadow:none;
}
#housingWorkspace.housing-shell { border:0; border-radius:0; box-shadow:none; background:var(--acc-panel-bg); }
#housingWorkspace.housing-shell > .acc-panel-head {
 border:0; background:var(--housing-accent-soft); color:var(--housing-accent-text);
}
#housingWorkspace.housing-shell .housing-navigation { background:var(--acc-card-soft-bg); }
#housingWorkspace .housing-navigation a:not([aria-current=page]) i { color:var(--housing-accent-text); }
#housingWorkspace.housing-shell .housing-nav-group > span { color:var(--housing-accent-text); }
#housingWorkspace .housing-content > [id^=housing-] { border:0; border-radius:0; box-shadow:none; }
/* Sections receive programmatic focus after a click. Keep the keyboard cue. */
#housingWorkspace .housing-content > [id^=housing-]:focus:not(:focus-visible) { outline:none; }
#housingWorkspace .housing-content > [id^=housing-]:focus-visible { outline:2px solid var(--acc-brand); outline-offset:5px; }
#housingWorkspace .housing-content > [id^=housing-] > h4,
#housingWorkspace .housing-content .acc-panel-head {
 padding:10px 12px; margin-bottom:12px; border:0; border-left:3px solid var(--acc-brand);
 border-radius:0; background:var(--housing-accent-soft); color:var(--acc-text); box-shadow:none;
}
#housingWorkspace .acc-list-toolbar { border:0; border-radius:0; box-shadow:none; background:transparent; padding:8px 0; gap:8px; }
#housingWorkspace .acc-list-toolbar:empty { display:none; }
#housingWorkspace .acc-list-toolbar:has(> [data-period]) { padding:8px 0 12px; }
#housingWorkspace [data-period] { background:var(--acc-card-soft-bg); border-color:var(--acc-stroke); white-space:normal; text-align:left; }
#housingWorkspace [data-period][aria-pressed=true] {
 background:var(--housing-accent-soft); color:var(--housing-accent-text);
 border-color:var(--acc-brand); box-shadow:inset 3px 0 var(--acc-brand);
}
#housingWorkspace .acc-table { border:0; border-radius:0; }
#housingWorkspace .acc-table th { background:var(--housing-accent-soft); color:var(--housing-accent-text); border-bottom:1px solid var(--acc-stroke); }
#housingWorkspace .acc-table tbody tr:nth-child(even) { background:color-mix(in srgb,var(--acc-card-soft-bg) 55%,var(--acc-panel-bg)); }
#housingWorkspace .acc-table tbody tr:hover { background:var(--housing-accent-soft); }
#housingWorkspace .housing-content h5 { color:var(--housing-accent-text); }
#housingWorkspace [data-editor] > form,
#housingWorkspace [data-followup-editor] > form,
#housingWorkspace [data-resident] > form { padding:12px; border:0; border-left:3px solid var(--acc-brand); background:var(--acc-card-soft-bg); }
#housingWorkspace [data-message]:not(:empty) {
 padding:10px 12px; border:0; border-left:3px solid var(--acc-warn);
 background:color-mix(in srgb,var(--acc-warn) 12%,var(--acc-panel-bg)); color:var(--acc-text);
}
/* Filled follow-up lists keep readable columns inside their own scroll area. */
#housingWorkspace [data-housing-collections] [data-results] .acc-table table { min-width:940px; }
#housingWorkspace [data-housing-collections] [data-results] .acc-table td:first-child { min-width:120px; }
#housingWorkspace [data-housing-collections] [data-results] .acc-table:first-of-type td:first-child { min-width:260px; }
#housingWorkspace [data-housing-collections] [data-results] .acc-table th { white-space:nowrap; }
#housingWorkspace [data-housing-collections] [data-results] .acc-table td { overflow-wrap:anywhere; }
#housingWorkspace [data-housing-collections] [data-results] .acc-table td:nth-child(2),
#housingWorkspace [data-housing-collections] [data-results] .acc-table td:nth-child(3) { white-space:nowrap; }
#housingWorkspace [data-housing-collections] [data-results] .acc-table td:last-child { white-space:nowrap; }
#housingWorkspace [data-housing-collections] [data-results] .acc-table:has(th:nth-child(7)) td:nth-child(n+3):nth-child(-n+5) { white-space:nowrap; }
#housingWorkspace [data-housing-collections] [data-results] .acc-table:has(th:nth-child(5)):not(:has(th:nth-child(6))) td:nth-child(4) { min-width:300px; }
#housingWorkspace [data-housing-collections] [data-results] .acc-table:focus-visible { outline:2px solid var(--acc-brand); outline-offset:2px; }
/* Status meaning stays visible in text and icons, including monochrome themes. */
#housingWorkspace :is(.housing-status-badge,.housing-followup-status) {
 --housing-status-color:var(--acc-muted);
 display:inline-flex; align-items:center; gap:6px; max-width:240px; min-height:24px;
 margin-block:3px; padding:3px 7px; border-radius:2px;
 border:1px solid color-mix(in srgb,var(--housing-status-color) 45%,var(--acc-stroke));
 background:color-mix(in srgb,var(--housing-status-color) 14%,var(--acc-panel-bg));
 color:color-mix(in srgb,var(--housing-status-color) 45%,var(--acc-text));
 font-size:12px; font-weight:600; line-height:1.35; white-space:normal; vertical-align:middle;
}
#housingWorkspace :is(.housing-status-badge,.housing-followup-status) i { flex-shrink:0; }
#housingWorkspace :is(.housing-status-badge,.housing-followup-status).is-info { --housing-status-color:#3c8dbc; }
#housingWorkspace :is(.housing-status-badge,.housing-followup-status).is-warning { --housing-status-color:var(--acc-warn); }
#housingWorkspace :is(.housing-status-badge,.housing-followup-status).is-success { --housing-status-color:var(--acc-good); }
#housingWorkspace :is(.housing-status-badge,.housing-followup-status).is-danger { --housing-status-color:var(--acc-bad); }
/* Preserve selection cues alongside the organisation's shared command palette. */
@layer sysimple-actions {
 #housingWorkspace [data-period][aria-pressed="true"] {
  background:var(--housing-accent-soft)!important;
  color:var(--housing-accent-text)!important;
  border:1px solid var(--acc-brand)!important;
  box-shadow:inset 3px 0 var(--acc-brand)!important;
 }
 #housingWorkspace .acc-table thead th {
  background:var(--housing-accent-soft)!important;
  color:var(--housing-accent-text)!important;
 }
}

/* Diagrammes communs : axe zéro pour les montants signés. */
#housingWorkspace .housing-chart-track { position:relative; }
#housingWorkspace .housing-chart-signed > span { position:absolute; }
#housingWorkspace .housing-chart-signed::after { content:""; position:absolute; inset-block:0; left:50%; border-left:1px solid var(--acc-text); }
#housingWorkspace .housing-chart-unknown { background:repeating-linear-gradient(135deg,var(--acc-card-soft-bg) 0 4px,var(--acc-stroke) 4px 5px); }
#housingWorkspace .housing-chart-row > span { overflow-wrap:anywhere; min-width:0; }

.sys-attached-grid-controls{margin:12px 0}.sys-attached-grid-controls select{width:100%;min-height:34px}#housingWorkspace .sys-dynamic-view{min-width:0}#housingWorkspace .sys-attached-grid-controls~div [hidden]{display:none!important}
#housingWorkspace form.sys-attached-grid-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}
#housingWorkspace form.sys-attached-grid-controls>.acc-list-toolbar{grid-column:auto;align-self:end;margin:0}
#housingWorkspace form.sys-attached-grid-controls>label{min-width:0}
@media(max-width:1000px){#housingWorkspace form.sys-attached-grid-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#housingWorkspace form.sys-attached-grid-controls{grid-template-columns:minmax(0,1fr)}}
/* Keep module chrome outside the independently scrolling work area. */
body[data-housing-page] { height:100dvh; min-height:0; overflow:hidden; display:flex; flex-direction:column; }
body[data-housing-page] > header { flex-shrink:0; }
body[data-housing-page] .acc-main { flex:1; min-height:0; width:100%; display:flex; flex-direction:column; overflow:hidden; box-sizing:border-box; }
body[data-housing-page] .acc-main > .acc-panel-head { flex-shrink:0; }
#housingWorkspace.housing-shell { flex:1; min-height:0; overflow:hidden; grid-template-rows:auto minmax(0,1fr); align-items:stretch; }
#housingWorkspace.housing-shell > .housing-navigation { min-height:0; overflow-y:auto; overscroll-behavior:contain; }
#housingWorkspace.housing-shell > .housing-content { min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
#housingWorkspace [data-housing-portfolio] [data-search] { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 12px; }
#housingWorkspace [data-housing-portfolio] [data-search] > label:has([name=property]) { grid-column:auto; }
#housingWorkspace [data-housing-portfolio] [data-search] > label:first-child { grid-column:span 2; }
#housingWorkspace [data-housing-portfolio] [data-search] > .acc-list-toolbar { grid-column:auto; margin:0; padding:0; align-self:end; }
#housingWorkspace [data-housing-portfolio] [data-notice]:empty { display:none; }
#housingWorkspace .housing-portfolio-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:12px; }
#housingWorkspace .housing-portfolio-metrics { min-width:0; padding:10px 12px; border:1px solid var(--acc-stroke); background:var(--acc-card-soft-bg); }
#housingWorkspace .housing-portfolio-metrics h5 { margin:0 0 8px; }
#housingWorkspace .housing-portfolio-metrics .housing-chart { margin:8px 0 0; padding:0; border:0; }
#housingWorkspace .housing-portfolio-metrics .housing-chart-row { padding:3px 0; }
#housingWorkspace .housing-portfolio-origin { margin:8px 0; color:var(--acc-muted); }
#housingWorkspace .housing-portfolio-origin a { color:var(--acc-brand); text-decoration:underline; }
@media(max-width:900px) {
 #housingWorkspace.housing-shell { grid-template-rows:auto auto minmax(0,1fr); }
 #housingWorkspace [data-housing-portfolio] [data-search] { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 body[data-housing-page] .acc-main { padding:6px; }
 #housingWorkspace [data-housing-portfolio] [data-search] { grid-template-columns:minmax(0,1fr); }
 #housingWorkspace [data-housing-portfolio] [data-search] > label:first-child { grid-column:auto; }
}
#housingWorkspace .housing-portfolio-metrics .housing-chart-row { grid-template-columns:minmax(0,1.4fr) minmax(50px,2fr) minmax(60px,1fr); gap:8px; }
#housingWorkspace .housing-portfolio-metrics .housing-kpis { gap:6px; margin:6px 0; }
#housingWorkspace .housing-portfolio-metrics .housing-kpis > div { padding:8px; }
#housingWorkspace .housing-portfolio-metrics .housing-kpis strong { font-size:20px; }

/* Configuration has one home; operating filters remain in their own workspace. */
#housingWorkspace .housing-settings-home{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
#housingWorkspace .housing-settings-group{min-width:0;padding:12px;border:1px solid var(--acc-stroke);background:var(--acc-card-soft-bg,var(--adm-surface-2))}
#housingWorkspace .housing-settings-group h5{font-size:13px;margin:0 0 10px}
#housingWorkspace .housing-settings-entry{display:flex;flex-direction:column;gap:5px;width:100%;padding:10px!important;margin:0 0 8px;text-align:left;border:1px solid var(--acc-stroke)!important;background:var(--acc-panel-bg,var(--adm-surface))!important;color:var(--acc-text,var(--adm-text))!important;white-space:normal;cursor:pointer}
#housingWorkspace .housing-settings-entry strong{font-size:13px}
#housingWorkspace .housing-settings-entry span{font-size:12px;color:var(--acc-muted,var(--adm-muted));line-height:1.45}
#housingWorkspace .housing-settings-entry:hover{border-color:var(--acc-brand)!important}
#housingWorkspace .housing-settings-entry:focus-visible{outline:2px solid var(--acc-brand);outline-offset:2px}
#housingWorkspace [data-housing-settings-hub]>label{display:flex;flex-direction:column;gap:5px;max-width:650px;margin:12px 0}
#housingWorkspace [data-housing-settings-hub] select{min-height:34px;width:100%;color:inherit;background:var(--acc-input-bg,var(--adm-surface));border:1px solid var(--acc-stroke);padding:6px 9px}
#housingWorkspace .housing-settings-heading{display:flex;align-items:center;gap:12px;margin:14px 0;border-bottom:1px solid var(--acc-stroke);padding-bottom:10px}
#housingWorkspace .housing-settings-heading h5{font-size:14px;margin:0}
#housingWorkspace [data-settings-editor]>label{display:flex;flex-direction:column;gap:5px;margin:10px 0;max-width:650px}
#housingWorkspace [data-housing-settings-hub] [hidden]{display:none!important}
@media(max-width:1100px){#housingWorkspace .housing-settings-home{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#housingWorkspace .housing-settings-home{grid-template-columns:minmax(0,1fr)}#housingWorkspace .housing-settings-heading{flex-wrap:wrap}}

#housingWorkspace #housing-program-section [data-program-work] details:has([data-retire]){display:none}
#housingWorkspace label[hidden],#housingWorkspace [data-source-context][hidden]{display:none!important}
#housingWorkspace [data-source-context]{margin:6px 0;color:var(--acc-muted);font-size:12px;grid-column:1/-1}
/* A missing association is distinct from an empty search result. */
#housingWorkspace .housing-source-missing { display:flex; align-items:flex-start; gap:14px; margin:14px 0; padding:16px; border:1px solid var(--acc-warn); border-left:4px solid var(--acc-warn); background:color-mix(in srgb,var(--acc-warn) 12%,var(--acc-panel-bg)); color:var(--acc-text); }
#housingWorkspace .housing-source-missing > i { flex-shrink:0; font-size:24px; margin-top:2px; }
#housingWorkspace .housing-source-missing h5 { font-size:16px; margin:0 0 8px; color:var(--acc-text); }
#housingWorkspace .housing-source-missing p { margin:6px 0; }
#housingWorkspace .housing-source-missing .btn { margin-top:6px; }
/* Unconfigured pages show their heading, explanation and one configuration action. */
#housingWorkspace [data-association-missing=true] > :not(h4):not(.acc-panel-head):not([data-missing-association]) { display:none!important; }
#housingWorkspace [data-association-missing=true] > .acc-panel-head > :not(h4):not(:has(h4)) { display:none!important; }
#housingWorkspace [data-missing-association] { margin-top:8px; }
/* Charts use the same breathing room as dashboard panels, including custom themes. */
#housingWorkspace .housing-chart { padding:10px 12px; }
#housingWorkspace .housing-chart-row { padding:5px 8px; }
#housingWorkspace .housing-portfolio-metrics .housing-chart { padding:6px 10px; }
#housingWorkspace .housing-portfolio-metrics .housing-chart-row { padding:4px 6px; }
#housingWorkspace .housing-portfolio-metrics .housing-kpis > div { padding:10px 12px; }
#housingWorkspace .housing-portfolio-metrics .housing-chart-track > span { background:var(--sys-choice-color,var(--acc-brand)); }

#housingWorkspace .housing-related-dialog { width:min(680px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); box-sizing:border-box; overflow:auto; padding:14px; color:var(--acc-text); background:var(--acc-panel-bg); border:1px solid var(--acc-stroke); }
#housingWorkspace .housing-related-dialog::backdrop { background:rgba(0,0,0,.45); }
#housingWorkspace .housing-related-dialog header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
#housingWorkspace .housing-related-dialog h4 { margin:0; font-size:15px; }
#housingWorkspace .housing-related-dialog label { display:flex; flex-direction:column; gap:6px; }
#housingWorkspace .housing-related-dialog select { width:100%; min-width:0; }
#housingWorkspace .housing-management-dialog { width:min(1100px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); box-sizing:border-box; overflow:auto; padding:14px; color:var(--acc-text); background:var(--acc-panel-bg); border:1px solid var(--acc-stroke); }
#housingWorkspace .housing-management-dialog::backdrop { background:rgba(0,0,0,.45); }
#housingWorkspace .housing-management-dialog > header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
#housingWorkspace .housing-management-dialog h4 { margin:0 0 8px; font-size:15px; }
#housingWorkspace .housing-management-controls { display:flex; flex-wrap:wrap; align-items:end; gap:8px; }
#housingWorkspace .housing-management-controls > label { min-width:0; flex:0 1 380px; }
#housingWorkspace .housing-management-controls select { width:100%; }
#housingWorkspace .housing-association-table td { vertical-align:top; white-space:normal; overflow-wrap:anywhere; }
#housingWorkspace .housing-association-table { min-width:820px; }
#housingWorkspace .housing-association-table details { padding:0; }
#housingWorkspace .housing-association-controls { display:flex; align-items:end; gap:8px; flex-wrap:wrap; }
#housingWorkspace .housing-association-controls > label { display:flex; flex-direction:column; gap:4px; width:min(380px,100%); min-width:0; }
#housingWorkspace .housing-association-controls select { width:100%; }
#housingWorkspace .housing-association-table td p { margin:0 0 6px; }
#housingWorkspace .housing-association-table td:last-child { min-width:90px; }
#housingWorkspace .housing-association-table td:last-child a { margin-right:8px; }
#housingWorkspace .housing-business-limits { margin-top:14px; padding:10px 12px; border:1px solid var(--acc-stroke); background:var(--acc-card-soft-bg); }
#housingWorkspace .housing-business-limits li { margin:6px 0; }

/* One context line; the existing configuration command stays at the top right. */
body[data-housing-page][data-sysimple-shell=true] .acc-main > .acc-panel-head[data-module-banner] { padding:6px 12px!important; margin-bottom:8px!important; }
html body[data-housing-page][data-sysimple-shell=true] .acc-main > .acc-panel-head h1[data-module-title] { font-size:16px!important; }
body[data-housing-page] .acc-main > .acc-panel-head [data-module-title-icon] { width:22px!important; height:22px!important; margin-inline-end:8px!important; }
body[data-housing-page] .acc-main > .acc-panel-head { min-height:44px; padding:6px 12px; margin-bottom:8px; gap:8px; }
body[data-housing-page] .acc-main > .acc-panel-head h1 { font-size:16px; line-height:1.4; }
body[data-housing-page] .acc-main > .acc-panel-head p { display:none; }
body[data-housing-page] #housingWorkspace.housing-shell { position:relative; grid-template-rows:minmax(0,1fr); }
body[data-housing-page] #housingWorkspace.housing-shell > .acc-panel-head { display:contents; }
body[data-housing-page] #housingWorkspace.housing-shell > .acc-panel-head .housing-context { display:none; }
body[data-housing-page] #housingWorkspace.housing-shell > .acc-panel-head > [data-config] { position:absolute; top:8px; right:12px; z-index:2; }
#housingWorkspace .sys-attached-grid-compact { padding-top:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 8px; align-items:end; }
#housingWorkspace .sys-attached-grid-compact > :not(.housing-source-tabs):not(.sys-attached-grid-controls) { grid-column:1/-1; min-width:0; }
#housingWorkspace .housing-source-tabs { display:flex; flex-wrap:wrap; gap:4px; padding-right:46px; margin-bottom:8px; }
#housingWorkspace .housing-source-tabs .btn[aria-pressed=true],
#housingWorkspace .housing-state-filters .btn[aria-pressed=true] { background:var(--housing-accent-soft); border-color:var(--acc-brand); font-weight:700; }
#housingWorkspace .sys-attached-grid-compact .sys-attached-grid-controls { display:flex; align-items:end; flex-wrap:wrap; gap:8px; margin:0 0 8px; padding-right:42px; }
#housingWorkspace .sys-attached-grid-compact .sys-attached-grid-controls > label { flex:0 1 320px; min-width:0; }
#housingWorkspace .sys-attached-grid-compact .sys-attached-grid-controls > .acc-list-toolbar { margin:0; padding:0; }
#housingWorkspace .housing-source-context p { margin:6px 0; font-size:12px; color:var(--acc-muted); }
#housingWorkspace .housing-source-scope { font-size:12px; color:var(--acc-muted); margin:4px 0; }
#housingWorkspace .housing-source-context:empty,
#housingWorkspace .housing-source-scope:empty,
#housingWorkspace .sys-attached-grid-compact > p:empty { display:none; }
#housingWorkspace .housing-state-filters { display:flex; flex-wrap:wrap; gap:4px; margin:6px 0; }
#housingWorkspace .housing-availability-summary { display:flex; flex-wrap:wrap; gap:6px 16px; padding:8px; border:1px solid var(--acc-stroke); background:var(--acc-card-soft-bg); }
#housingWorkspace .housing-availability-summary strong { flex-basis:100%; }
@media(max-width:900px){
 body[data-housing-page] #housingWorkspace.housing-shell { grid-template-rows:auto minmax(0,1fr); }
 body[data-housing-page] #housingWorkspace.housing-shell > .acc-panel-head > [data-config] { top:8px; }
 #housingWorkspace .housing-mobile-navigation { padding-right:54px; }
}
@media(max-width:640px){
 body[data-housing-page] .acc-main > .acc-panel-head h1 { font-size:14px; }
 #housingWorkspace .sys-attached-grid-compact .sys-attached-grid-controls > label { flex:1 1 200px; }
 #housingWorkspace .sys-attached-grid-compact:has(.sys-attached-grid-controls > label:not([hidden])) { grid-template-columns:minmax(0,1fr); }
 #housingWorkspace .sys-attached-grid-compact .sys-attached-grid-controls { padding-right:0; }
}
#housingWorkspace .housing-chart-track > span { background:var(--sys-choice-color,var(--acc-brand)); }
#housingWorkspace dialog.housing-operation-drawer { position:fixed; inset:0 0 0 auto; width:min(640px,100vw); max-width:100vw; height:100dvh; max-height:100dvh; margin:0; padding:0; border:0; border-left:1px solid var(--acc-stroke); background:var(--acc-panel-bg); color:var(--acc-text); box-shadow:-12px 0 36px #0003; overflow:auto; box-sizing:border-box; font:inherit; }
#housingWorkspace .housing-operation-drawer::backdrop { background:#0005; }
#housingWorkspace .housing-operation-drawer > header { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 16px; border-bottom:1px solid var(--acc-stroke); background:var(--acc-card-soft-bg); }
#housingWorkspace .housing-operation-drawer > [data-change] { padding:16px; }
#housingWorkspace .housing-operation-drawer form.acc-recurring-form { grid-template-columns:minmax(0,1fr); margin:0; }
#housingWorkspace .housing-operation-drawer form h4 { font-size:18px; margin:0; }
#housingWorkspace .housing-operation-drawer form > .acc-list-toolbar { position:sticky; bottom:0; background:var(--acc-panel-bg); border-top:1px solid var(--acc-stroke); padding:12px 0; margin:0; }
#housingWorkspace .housing-operation-error:not(:empty),#housingWorkspace .housing-operation-discard { margin:0 16px 16px; padding:12px; border-left:3px solid var(--acc-warn); background:var(--acc-card-soft-bg); }
#housingWorkspace .housing-operation-discard[hidden] { display:none!important; }
#housingWorkspace .housing-operation-discard .btn { margin:4px 6px 0 0; }

/* Daily property work: source, building, native One list; diagnostics stay secondary. */
#housingWorkspace .sys-attached-grid-compact { align-items:start; gap:6px 10px; }
#housingWorkspace .sys-attached-grid-compact .sys-attached-grid-controls { justify-content:flex-end; max-width:100%; gap:6px; margin:0; }
#housingWorkspace .sys-attached-grid-compact .sys-attached-grid-controls > label { flex:1 1 190px; max-width:320px; }
#housingWorkspace .housing-property-actions { align-self:end; margin:0; padding:0; gap:4px; }
#housingWorkspace .housing-property-actions[hidden] { display:none; }
#housingWorkspace .housing-portfolio-diagnosis { border:1px solid var(--acc-stroke); border-left:3px solid var(--acc-warn,#f39c12); padding:6px 10px; margin:0; background:var(--acc-card-soft-bg); }
#housingWorkspace .housing-portfolio-diagnosis > summary { cursor:pointer; font-size:12px; font-weight:600; min-height:24px; align-content:center; }
#housingWorkspace .housing-portfolio-diagnosis > p { margin:6px 0; line-height:1.5; }
#housingWorkspace .housing-portfolio-diagnosis a { color:var(--acc-brand); }
#housingWorkspace .housing-source-context > .housing-availability-summary { margin-bottom:6px; }
#housingWorkspace .sys-attached-grid-compact .housing-source-scope { margin:0; font-size:11px; }
#housingWorkspace .sys-attached-grid-compact .housing-state-filters { margin:0; }
#housingWorkspace .housing-source-tabs { margin:0; align-self:center; }
@media(max-width:1100px){
 #housingWorkspace .sys-attached-grid-compact { grid-template-columns:minmax(0,1fr); }
 #housingWorkspace .sys-attached-grid-compact .sys-attached-grid-controls { justify-content:flex-start; padding-right:0; }
}
@media(max-width:640px){
 #housingWorkspace .sys-attached-grid-compact .sys-attached-grid-controls > label { max-width:none; }
 #housingWorkspace .housing-source-tabs { padding-right:40px; }
 #housingWorkspace .housing-availability-summary { gap:6px 12px; }
}

#housingWorkspace .sys-attached-grid-compact .sys-grid-active-scope { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; padding:6px 10px; margin:6px 10px; }
#housingWorkspace .sys-attached-grid-compact .sys-grid-active-scope > p { margin:0; }
#housingWorkspace .sys-attached-grid-compact .sys-grid-scope-filters { flex-basis:100%; margin:0; }
@layer sysimple-actions {
 html body #housingWorkspace .housing-source-tabs .btn[aria-pressed=true],
 html body #housingWorkspace .housing-state-filters .btn[aria-pressed=true] { background:var(--sys-nav-fill,var(--acc-brand,#3c8dbc))!important; color:var(--sys-nav-on-fill,#fff)!important; border-color:var(--acc-brand)!important; font-weight:700!important; }
}

/* Calculated situation is a compact operational column, not spare table space. */
#housingWorkspace .sys-grid-scroll :is(th,td)[data-grid-column="$housing.availability"]{width:170px;min-width:170px;max-width:190px}
/* Distinct silhouettes and semantic accents for lease row commands. */
#housingWorkspace .sys-grid-actions button[aria-label]{--housing-action-color:var(--adm-primary,#2879a2)}
#housingWorkspace .sys-grid-actions button[aria-label="Consulter la réservation d’origine"]{--housing-action-color:#92610e}
#housingWorkspace .sys-grid-actions button[aria-label="Voir et gérer les occupants du bail"]{--housing-action-color:#087f8c}
#housingWorkspace .sys-grid-actions button[aria-label="Consulter le payeur du bail"]{--housing-action-color:#7653aa}
#housingWorkspace .sys-grid-actions button[aria-label="Enregistrer un départ"]{--housing-action-color:#b24a26}
#housingWorkspace .sys-grid-actions button[aria-label="Effectuer un transfert"]{--housing-action-color:#2879a2}
#housingWorkspace .sys-grid-actions button[aria-label="Modifier le loyer"]{--housing-action-color:#208450}
#housingWorkspace .sys-grid-actions button[aria-label="Investiguer le dossier"]{--housing-action-color:#7653aa}
#housingWorkspace .sys-grid-actions button[aria-label]:not(:disabled){background:color-mix(in srgb,var(--housing-action-color) 10%,var(--adm-surface,#fff))!important;border-color:color-mix(in srgb,var(--housing-action-color) 35%,var(--adm-border,#ccd6de))!important}
#housingWorkspace .sys-grid-actions button[aria-label]:not(:disabled) svg{color:color-mix(in srgb,var(--housing-action-color) 80%,var(--adm-text,#263238))!important}
#housingWorkspace .sys-grid-actions button[aria-label]:not(:disabled):hover{background:color-mix(in srgb,var(--housing-action-color) 22%,var(--adm-surface,#fff))!important;border-color:var(--housing-action-color)!important}

.housing-dashboard-loading{min-height:min(50vh,420px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--acc-text);text-align:center;padding:24px}.housing-dashboard-loading>i{font-size:32px;color:var(--acc-brand,#3c8dbc)}@media(prefers-reduced-motion:reduce){.housing-dashboard-loading>i{animation:none}}

/* Relances : actions nommées et tâches regroupées. */
#housingWorkspace .housing-collections-workspace .acc-recurring-form[data-search]{display:flex;flex-direction:column;gap:14px}
#housingWorkspace .housing-collections-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid var(--acc-stroke);background:var(--acc-panel-bg)}
#housingWorkspace .housing-collections-panel h5,#housingWorkspace .housing-collections-panel .acc-list-toolbar{grid-column:1/-1;margin:0}
#housingWorkspace .housing-collections-workspace .acc-list-toolbar{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:8px}
#housingWorkspace .housing-collections-workspace .btn{width:auto!important;max-width:100%;min-height:34px;height:auto;gap:7px;white-space:normal}
#housingWorkspace .housing-collections-workspace .btn span{display:inline!important}
#housingWorkspace details.housing-collections-panel{display:block}
#housingWorkspace .housing-collections-panel summary{cursor:pointer;font-weight:600}
#housingWorkspace .housing-collections-workspace [data-notice]:not(:empty){padding:12px;border-left:3px solid var(--acc-brand);background:var(--acc-card-soft-bg)}
@media(max-width:700px){#housingWorkspace .housing-collections-panel{grid-template-columns:1fr}}

#housingWorkspace .housing-chart-modes { margin-bottom:14px; flex-wrap:wrap; }
#housingWorkspace .housing-chart-modes .btn[aria-pressed="true"] { background:var(--acc-brand); color:#fff; }
#housingWorkspace .housing-chart-modes .btn:focus-visible { outline:2px solid var(--acc-brand); outline-offset:3px; }
#housingWorkspace .housing-dash-properties>div.housing-dash-property-ring { display:flex; align-items:center; gap:16px; }
#housingWorkspace .housing-dash-ring.housing-dash-ring-small { width:84px; height:84px; }
#housingWorkspace .housing-dash-ring-small>span { width:62px; height:62px; }
#housingWorkspace .housing-dash-ring-small strong { font-size:14px; }
#housingWorkspace .housing-dash-property-ring p { margin:6px 0; }
#housingWorkspace .housing-dash-property-ring>div:last-child { min-width:0; overflow-wrap:anywhere; }

/* Emphasize operational indicators without changing the active theme. */
#housingWorkspace .housing-dash-kpi { border:2px solid color-mix(in srgb,var(--acc-brand) 40%,var(--acc-stroke)); border-top:4px solid var(--acc-brand); box-shadow:0 3px 8px #00000012; background:linear-gradient(135deg,color-mix(in srgb,var(--acc-brand) 5%,var(--acc-surface-bg)),var(--acc-surface-bg)); }
#housingWorkspace .housing-dash-kpi>span { font-weight:600; }
#housingWorkspace .housing-dash-kpi>a { margin-top:auto; }
#housingWorkspace .housing-kpi-visual { margin:5px 0 12px; }
#housingWorkspace .housing-kpi-ring { width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--acc-brand) var(--kpi-rate),var(--acc-card-soft-bg) 0); }
#housingWorkspace .housing-kpi-ring>span { width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--acc-surface-bg);font-weight:600; }
#housingWorkspace .housing-kpi-bars>div { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;margin-bottom:7px;font-size:12px; }
#housingWorkspace .housing-kpi-bars>div>div { grid-column:1/-1;height:7px;background:var(--acc-card-soft-bg); }
#housingWorkspace .housing-kpi-bars>div>div>span { display:block;height:100%;background:var(--acc-brand); }
#housingWorkspace .housing-kpi-symbol { font-size:44px;color:var(--acc-brand);padding:20px 0; }
#housingWorkspace .housing-dash-panel { border:2px solid color-mix(in srgb,var(--acc-brand) 25%,var(--acc-stroke)); }
/* Keep summary indicators compact; group detailed distributions below them. */
#housingWorkspace .housing-dash-kpis{gap:12px;align-items:stretch}
#housingWorkspace .housing-dash-kpi{padding:12px;gap:6px;min-width:0}
#housingWorkspace .housing-dash-kpi small{min-height:0;line-height:1.4}
#housingWorkspace .housing-dash-kpi-summary{display:grid;grid-template-columns:minmax(0,1fr) 84px;grid-template-rows:auto auto 1fr auto;column-gap:12px}
#housingWorkspace .housing-dash-kpi-summary>span,#housingWorkspace .housing-dash-kpi-summary>strong,#housingWorkspace .housing-dash-kpi-summary>small,#housingWorkspace .housing-dash-kpi-summary>a{grid-column:1}
#housingWorkspace .housing-dash-kpi-summary .housing-kpi-visual{grid-column:2;grid-row:1/5;align-self:center;margin:0}
#housingWorkspace .housing-kpi-ring{width:80px;height:80px}
#housingWorkspace .housing-kpi-ring>span{width:58px;height:58px;font-size:12px}
#housingWorkspace .housing-kpi-symbol{font-size:36px;padding:0;text-align:center}
#housingWorkspace .housing-dash-kpi-detail .housing-kpi-visual{margin:4px 0 0}
#housingWorkspace .housing-kpi-bars>div{margin-bottom:5px;gap:3px 8px}
#housingWorkspace .housing-dash-kpi>a{padding-top:4px}
@media(max-width:600px){#housingWorkspace .housing-dash-kpis{gap:10px}}
/* Match inventory summary cards: a stable icon column and content on the right. */
#housingWorkspace .housing-dash-kpis>.housing-dash-kpi{display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto;align-items:center;gap:14px;padding:16px}
#housingWorkspace .housing-dash-kpi>.housing-dash-kpi-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;font-size:36px;color:var(--acc-brand);background:color-mix(in srgb,var(--acc-brand) 10%,var(--acc-surface-bg));border-radius:4px}
#housingWorkspace .housing-dash-kpi-body{display:flex;flex-direction:column;gap:8px;min-width:0;height:100%}
#housingWorkspace .housing-dash-kpi-body>span{font-size:13px;font-weight:600;line-height:1.4}
#housingWorkspace .housing-dash-kpi-body>strong{font-size:28px;line-height:1.15}
#housingWorkspace .housing-dash-kpi-body>small{font-size:11px;line-height:1.4;min-height:0}
#housingWorkspace .housing-dash-kpi-body>a{margin-top:auto;padding-top:4px;align-self:start}
#housingWorkspace .housing-dash-kpi-summary .housing-dash-kpi-body{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto 1fr auto;column-gap:10px}
#housingWorkspace .housing-dash-kpi-summary .housing-dash-kpi-body>span,#housingWorkspace .housing-dash-kpi-summary .housing-dash-kpi-body>strong,#housingWorkspace .housing-dash-kpi-summary .housing-dash-kpi-body>small,#housingWorkspace .housing-dash-kpi-summary .housing-dash-kpi-body>a{grid-column:1}
#housingWorkspace .housing-dash-kpi-summary .housing-kpi-visual{grid-column:2;grid-row:1/5;align-self:center;margin:0}
@media(max-width:420px){#housingWorkspace .housing-dash-kpis>.housing-dash-kpi{grid-template-columns:44px minmax(0,1fr);padding:12px;gap:10px}#housingWorkspace .housing-dash-kpi>.housing-dash-kpi-icon{width:44px;height:44px;font-size:28px}#housingWorkspace .housing-dash-kpi-summary .housing-dash-kpi-body{display:flex}#housingWorkspace .housing-dash-kpi-summary .housing-kpi-visual{align-self:start}}

/* Compact occupancy overview and complete, paged list. */
#housingWorkspace .housing-dash-properties-compact>div { gap:4px 10px; margin-bottom:12px; }
#housingWorkspace .housing-dash-properties-compact>div>span { min-width:0; overflow-wrap:anywhere; }
#housingWorkspace .housing-dash-properties-compact small { grid-column:1/-1; }
#housingWorkspace .housing-dash-properties-compact .housing-dash-track { height:7px; }
#housingWorkspace .housing-properties-dialog { width:min(720px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); overflow:auto; padding:18px; border:1px solid var(--acc-stroke); background:var(--acc-surface-bg); color:var(--acc-text); }
#housingWorkspace .housing-properties-dialog::backdrop { background:rgba(0,0,0,.45); }
#housingWorkspace .housing-properties-dialog header,#housingWorkspace .housing-properties-dialog footer { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
#housingWorkspace .housing-properties-dialog .btn,#housingWorkspace [data-properties-all] { min-height:34px; }
#housingWorkspace .housing-properties-dialog :focus-visible,#housingWorkspace [data-properties-all]:focus-visible { outline:2px solid var(--acc-brand); outline-offset:2px; }

/* Fit up to three overview panels to the available workspace, including sidebars. */
#housingWorkspace .housing-dash-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(290px,calc((100% - 28px)/3))),1fr));align-items:start;gap:14px}
#housingWorkspace .housing-dash-grid>.housing-dash-panel{padding:12px;overflow-wrap:anywhere}
#housingWorkspace .housing-dash-grid>.housing-dash-panel header{gap:8px;flex-wrap:wrap;margin-bottom:10px}
#housingWorkspace .housing-dash-grid>.housing-dash-panel h5{margin:0}
#housingWorkspace .housing-dash-grid>.housing-dash-panel p{margin:8px 0;font-size:12px}
#housingWorkspace .housing-dash-grid .housing-dash-composition{gap:12px}
#housingWorkspace .housing-dash-grid .housing-dash-ring{width:128px;height:128px}
#housingWorkspace .housing-dash-grid .housing-dash-ring>span{width:92px;height:92px}
/* Readable document follow-up and explicit actions. */
#housingWorkspace .housing-documents-workspace {font-size:13px;line-height:1.5}
#housingWorkspace .housing-documents-workspace .housing-document-search-actions {display:flex;justify-content:flex-start;flex-wrap:wrap;gap:8px}
#housingWorkspace .housing-documents-workspace [data-config] {margin-left:auto}
#housingWorkspace .housing-documents-workspace [data-command-label="visible"] .btn {display:inline-flex;align-items:center;gap:7px;width:auto!important;height:auto;min-height:34px;max-width:100%;white-space:normal;text-align:left}
#housingWorkspace .housing-documents-workspace [data-command-label="visible"] .btn span {display:inline!important}
#housingWorkspace .housing-documents-workspace [data-results]>h5 {font-size:15px;margin-bottom:8px}
#housingWorkspace .housing-document-signature-note {padding:8px 12px;border-left:3px solid var(--acc-brand);background:var(--acc-card-soft-bg)}
#housingWorkspace .housing-documents-workspace .housing-document-table table {table-layout:fixed;width:100%;min-width:900px}
#housingWorkspace .housing-document-table th:nth-child(1) {width:29%}
#housingWorkspace .housing-document-table th:nth-child(2) {width:28%}
#housingWorkspace .housing-document-table th:nth-child(3) {width:19%}
#housingWorkspace .housing-document-table th:nth-child(4) {width:24%}
#housingWorkspace .housing-documents-workspace .housing-document-table :is(th,td) {padding:12px;font-size:13px;line-height:1.5;vertical-align:top;white-space:normal}
#housingWorkspace .housing-document-id {display:block;white-space:nowrap;margin-bottom:6px}
#housingWorkspace .housing-document-date {margin-top:7px}
#housingWorkspace .housing-document-actions {display:flex;flex-direction:column;align-items:flex-start;gap:8px}
#housingWorkspace .housing-document-details {margin-top:8px}
#housingWorkspace .housing-documents-workspace summary {cursor:pointer;color:var(--acc-brand);padding:4px 0}
#housingWorkspace .housing-document-details dl {margin:8px 0 0}
#housingWorkspace .housing-document-details dt {font-weight:600;margin-top:8px}
#housingWorkspace .housing-document-details dd {margin:2px 0 0;overflow-wrap:anywhere}
#housingWorkspace .housing-documents-workspace :focus-visible {outline:2px solid var(--acc-brand);outline-offset:2px}
@media(max-width:640px){#housingWorkspace .housing-documents-workspace [data-config]{margin-left:0}}

#housingWorkspace .housing-lease-signatures{min-width:250px;max-width:340px;white-space:normal!important;font-size:13px;line-height:1.45}
#housingWorkspace .housing-lease-signature-summary p{margin:4px 0}
#housingWorkspace .housing-lease-signature-summary ul{list-style:none;margin:5px 0;padding:0}
#housingWorkspace .housing-lease-signature-summary li{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:3px 0}
#housingWorkspace .housing-lease-signer-state{font-weight:600}
#housingWorkspace .housing-lease-signature-summary section+section{border-top:1px solid var(--acc-stroke);margin-top:10px;padding-top:10px}
#housingWorkspace .housing-lease-signature-summary .btn{width:auto!important;min-height:34px;height:auto;white-space:normal;font-size:13px}
#housingWorkspace .housing-lease-signature-summary summary{cursor:pointer;margin-top:8px}

#housingWorkspace .housing-lease-signature-heading{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#housingWorkspace .housing-lease-signer-name{min-width:0;overflow-wrap:anywhere}
#housingWorkspace .housing-lease-signature-summary li .housing-status-badge{flex-shrink:0;font-size:11px;padding:2px 5px}
#housingWorkspace .housing-lease-signature-summary .btn{display:inline-flex;align-items:center;gap:6px}

#housingWorkspace .housing-lease-signature-summary{max-width:340px}
