:root{color-scheme:light;--bg: #f4f4f2;--ink: #1c1b1a;--muted: rgba(28, 27, 26, .6);--faint: rgba(28, 27, 26, .42);--accent: #2f5fd0;--accent-hover: #2751b4;--accent-2: #17806d;--accent-soft: rgba(47, 95, 208, .07);--panel: #ffffff;--panel-hover: rgba(28, 27, 26, .035);--card: #ffffff;--surface: #ffffff;--border: rgba(28, 27, 26, .08);--line: rgba(28, 27, 26, .07);--line-strong: rgba(28, 27, 26, .14);--btn-primary-bg: #1c1b1a;--btn-primary-bg-hover: #333230;--btn-primary-ink: #ffffff;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-hero: 2rem;--weight-normal: 400;--weight-bold: 600;--radius-card: 12px;--radius-control: 10px;--radius-pill: 999px;--sidebar-bg: #1c1b1a;--sidebar-text: #f7f6f4;--sidebar-active: #4d7dee;--ok: #1c7c46;--warn: #b26a00;--danger: #c2402f;--ok-ink: #0a6e5c;--warn-ink: #92580a;--danger-ink: #8f2d1f;--thumb: rgba(28, 27, 26, .18);--thumb-hover: rgba(28, 27, 26, .32);--tint-weak: rgba(28, 27, 26, .022);--tint: rgba(28, 27, 26, .045);--tint-mid: rgba(28, 27, 26, .07);--tint-strong: rgba(28, 27, 26, .1);--tint-heavy: rgba(28, 27, 26, .15);--surface-sunken: #efefec;--surface-tint: #f8f8f6;--th-bg: transparent;--th-bg-hover: rgba(28, 27, 26, .04);--row-alt: transparent;--info-ink: #1d4ed8;--neutral-bg: rgba(28, 27, 26, .09);--neutral-ink: rgba(28, 27, 26, .6);--survol-luminosite: .97;--carte-batiment: #d9d8d3;--font-ui: "Inter", "Segoe UI", system-ui, sans-serif;--font-display: var(--font-ui);--shadow-sm: 0 1px 2px rgba(28, 27, 26, .04);--shadow-md: 0 1px 3px rgba(28, 27, 26, .06)}html[data-theme=dark]{color-scheme:dark;--bg: #121212;--ink: #f2f1ef;--muted: rgba(242, 241, 239, .6);--faint: rgba(242, 241, 239, .42);--accent: #6d97ff;--accent-hover: #5b88f7;--accent-2: #3dbaa4;--accent-soft: rgba(109, 151, 255, .12);--panel: #1c1c1c;--panel-hover: rgba(255, 255, 255, .05);--card: #1c1c1c;--surface: #1c1c1c;--border: rgba(242, 241, 239, .1);--line: rgba(242, 241, 239, .09);--line-strong: rgba(242, 241, 239, .18);--btn-primary-bg: #f2f1ef;--btn-primary-bg-hover: #d9d8d5;--btn-primary-ink: #121212;--sidebar-bg: #0c0c0c;--sidebar-text: #f2f1ef;--sidebar-active: #6d97ff;--ok: #4cba78;--warn: #e0a03c;--danger: #e06a5c;--ok-ink: #7fd6b6;--warn-ink: #e8c48a;--danger-ink: #efaba2;--thumb: rgba(242, 241, 239, .2);--thumb-hover: rgba(242, 241, 239, .34);--tint-weak: rgba(255, 255, 255, .035);--tint: rgba(255, 255, 255, .055);--tint-mid: rgba(255, 255, 255, .085);--tint-strong: rgba(255, 255, 255, .12);--tint-heavy: rgba(255, 255, 255, .18);--surface-sunken: #171717;--surface-tint: #232323;--th-bg: transparent;--th-bg-hover: rgba(255, 255, 255, .045);--row-alt: transparent;--info-ink: #9dbdff;--neutral-bg: rgba(242, 241, 239, .1);--neutral-ink: rgba(242, 241, 239, .6);--survol-luminosite: 1.3;--carte-batiment: #3d3d3d;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 1px 3px rgba(0, 0, 0, .4)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-ui);color:var(--ink);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em}::selection{background:#2f5fd02e}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--thumb);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--thumb-hover);background-clip:content-box}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid rgba(47,95,208,.55);outline-offset:1px}.home-page{min-height:100vh;position:relative;padding:24px 28px 30px;background:radial-gradient(circle at 85% 10%,rgba(26,140,120,.09),transparent 35%),radial-gradient(circle at 10% 85%,rgba(47,102,220,.09),transparent 40%),var(--bg)}.home-pattern{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.14;background-image:linear-gradient(transparent 96%,#1e1b181f),linear-gradient(90deg,transparent 96%,rgba(30,27,24,.08) 100%);background-size:26px 26px}.home-topbar,.home-main{position:relative;z-index:1}.home-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.home-brand{display:inline-flex;align-items:center;gap:16px}.home-topbar-actions{display:inline-flex;align-items:center;gap:10px}.home-logo-wrap{width:260px;height:96px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:flex-start}.home-logo{width:auto;height:70%;object-fit:contain}.home-main{max-width:1080px;margin:0 auto}.home-hero{padding:30px;margin-bottom:16px;animation:homeReveal .4s ease-out}.home-label{display:inline-block;border:none;border-radius:var(--radius-pill);padding:6px 12px;font-size:var(--text-sm);font-weight:700;margin-bottom:12px;background:var(--tint)}.home-hero h1{font-size:clamp(1.8rem,3.7vw,3.2rem);line-height:1.04;max-width:760px;margin-bottom:12px}.home-hero>p{color:var(--muted);max-width:760px;margin-bottom:18px}.home-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}.home-actions .btn-primary{padding:14px 32px;font-size:var(--text-base)}.home-portails{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;animation:homeReveal .4s ease-out .05s}.home-portal-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:18px 20px;background:var(--panel);border:none;border-radius:var(--radius-card);cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;font-family:inherit}.home-portal-card:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 20px #0000000f}.home-portal-card:disabled{opacity:.5;cursor:not-allowed}.home-portal-label{font-family:var(--font-display);font-weight:700;font-size:var(--text-base);color:var(--ink)}.home-portal-desc{color:var(--muted);font-size:var(--text-sm);line-height:1.4}@keyframes homeReveal{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.app{display:flex;min-height:100vh;background:var(--bg)}.sidebar{width:240px;background:var(--sidebar-bg);color:var(--sidebar-text);padding:0;flex-shrink:0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;box-sizing:border-box;transition:width .18s ease;overflow:hidden}.sidebar.collapsed{width:64px}.sidebar-brand{padding:8px;border-radius:0 0 12px 12px;border:none;margin-bottom:2px;display:flex;align-items:center;justify-content:space-between;gap:4px;flex-shrink:0}.sidebar.collapsed .sidebar-brand{justify-content:center}.sidebar-brand h1{font-size:var(--text-lg);color:var(--ink)}.sidebar-brand p{font-size:var(--text-sm);color:var(--muted)}.sidebar-logo-wrap{width:100%;height:34px;overflow:hidden;display:flex;align-items:center;justify-content:flex-start;margin:0;min-width:0}.sidebar-logo{width:auto;height:70%;display:block;object-fit:contain;margin-left:0}.sidebar-toggle{flex-shrink:0;width:26px;height:26px;border-radius:var(--radius-control);border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:var(--sidebar-text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.sidebar-toggle:hover{background:#ffffff29;border-color:#ffffff73}.sidebar-toggle-arrow{display:inline-block;font-size:var(--text-base);line-height:1;transition:transform .18s ease}.sidebar-toggle-arrow.flipped{transform:rotate(180deg)}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:6px;flex:1;overflow-y:auto;min-height:0}.sidebar-footer{padding:10px 8px;border-top:1px solid rgba(255,255,255,.12);flex-shrink:0}.sidebar-home-btn{width:100%;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:var(--sidebar-text);border-radius:var(--radius-control);padding:10px 12px;text-align:left;cursor:pointer;font-family:inherit;font-size:var(--text-sm);transition:background .15s,border-color .15s;white-space:nowrap;overflow:hidden}.sidebar.collapsed .sidebar-home-btn{text-align:center;padding:10px 0}.sidebar-home-btn:hover{background:#ffffff29;border-color:#ffffff73}.sidebar-item{display:block;width:100%;text-align:left;background:transparent;border:none;color:#f5f3f0d1;padding:9px 12px;border-radius:var(--radius-control);cursor:pointer;font-size:var(--text-sm);font-family:inherit;transition:background .15s,color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .sidebar-item{text-align:center;padding:9px 0}.sidebar-item:hover{background:#ffffff12;color:#fff}.sidebar-item.active{background:#3a72ea38;box-shadow:inset 3px 0 0 var(--sidebar-active);color:#fff;font-weight:600}.main-content{flex:1;padding:20px;overflow-y:auto;max-height:100vh;background:var(--bg)}.page-title{font-size:var(--text-hero);font-weight:700;line-height:1.15;margin:0;color:var(--ink)}.content-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px}.content-header-titles{min-width:0;flex:1}.main-content-full{max-width:1200px;margin:0 auto;width:100%}.portail-retour-accueil{display:inline-flex;margin-bottom:10px;padding:6px 14px;font-size:var(--text-sm)}.theme-toggle{flex-shrink:0;width:38px;height:38px;border-radius:var(--radius-control);border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:background .15s,border-color .15s}.theme-toggle:hover{background:var(--panel-hover);border-color:var(--accent)}.theme-toggle-corner{position:fixed;top:16px;right:16px;z-index:40}.content-header .page-title{margin-bottom:10px}.content-header h2{font-size:var(--text-hero);margin-bottom:4px}.content-subtitle{font-size:var(--text-sm);color:var(--muted);margin-bottom:16px}.tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);margin-bottom:20px}.tab{background:transparent;border:none;padding:10px 18px;font-size:var(--text-sm);font-weight:500;font-family:inherit;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.tab-icon-label{display:inline-flex;align-items:center;gap:7px}.tab:hover{color:var(--ink)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tabs-lvl1{background:var(--tint-mid);padding:6px 8px 0;border-radius:10px 10px 0 0}.tabs-lvl1 .tab{font-size:var(--text-base);font-weight:600;padding:12px 20px}.tabs-lvl1 .tab.active{font-weight:700}.tabs-lvl2{background:var(--tint);padding:4px 8px 0;border-radius:8px 8px 0 0}.tabs-lvl2 .tab{font-size:var(--text-sm);padding:9px 16px}.tabs-lvl3{background:var(--tint-weak);padding:2px 6px 0;border-radius:6px 6px 0 0}.tabs-lvl3 .tab{font-size:var(--text-sm);padding:7px 14px}@media (max-width: 980px){.onglets-pager{display:flex;align-items:stretch;gap:4px;margin-bottom:16px}.onglets-pager .tabs{flex:1;min-width:0;margin-bottom:0}.onglets-fleche{flex:none;width:36px;border:none;border-radius:var(--radius-control);background:var(--tint-mid);color:var(--ink);font-size:1.5rem;line-height:1;font-family:inherit;cursor:pointer}.onglets-fleche:disabled{opacity:.35;cursor:default}.tabs{overflow:hidden}.tab{flex:1 1 0;min-width:0;white-space:normal;text-align:center;line-height:1.25;overflow-wrap:break-word;padding:8px 4px}.tabs-lvl1 .tab,.tabs-lvl2 .tab,.tabs-lvl3 .tab{font-size:.8rem;padding:8px 4px}}.panel{border:none;background:var(--panel);border-radius:var(--radius-card);padding:20px;box-shadow:var(--shadow-md)}.grid{display:grid;grid-template-columns:400px 1fr;gap:16px}.table-selector{margin-bottom:12px}.table-selector label{display:block;font-size:var(--text-sm);color:var(--muted);margin-bottom:4px}.table-caption{font-size:var(--text-sm);color:var(--muted);margin-bottom:16px}.field{margin-bottom:14px}.field label{display:block;font-size:var(--text-sm);margin-bottom:4px;font-weight:500}.btn-date-sync{display:inline-block;margin-top:6px;padding:4px 10px;font-size:var(--text-sm);font-family:inherit;font-weight:500;color:var(--accent);background:#2f5fd014;border:1px solid rgba(47,95,208,.3);border-radius:var(--radius-control);cursor:pointer}.btn-date-sync:hover:not(:disabled){background:#2f5fd024}.btn-date-sync:disabled{opacity:.55;cursor:default}.field small{display:block;margin-top:4px;color:var(--muted);font-weight:400}.field-checkbox label{display:flex;align-items:center;gap:8px}.field-checkbox input[type=checkbox]{width:auto}.field-highlight label{color:#b45309}.field-highlight input,.field-highlight select{border-color:#f59e0b;background:#f59e0b0f}.field-highlight-note{display:block;margin-top:4px;color:#b45309}.field-highlight-note-inline{color:#b45309;font-weight:600}.field-highlight-value{color:#b45309!important;font-weight:600;cursor:help}.champ-a-revoir{position:relative}.a-revoir-btn{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:.8rem;line-height:1;padding:2px 4px;border-radius:4px;opacity:.45;white-space:nowrap}.a-revoir-btn:hover,.a-revoir-btn:focus-visible{opacity:1}.a-revoir-btn[aria-pressed=true]{color:#b45309;background:#f59e0b24;font-weight:600;opacity:1}.champ-a-revoir>.a-revoir-btn{position:absolute;top:0;right:0}.champ-a-revoir.coche label{color:#b45309}.imm-info-key-ligne{display:flex;align-items:center;justify-content:space-between;gap:6px}.releve-valeur-ligne{display:flex;gap:8px;align-items:stretch}.releve-valeur-ligne input[type=number]{flex:1 1 auto;min-width:0}.releve-valeur-ligne select{flex:0 0 8.5rem;width:8.5rem}.releve-unite-fixe{flex:0 0 auto;display:inline-flex;align-items:center;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--tint, var(--panel));color:var(--muted);font-size:var(--text-sm);white-space:nowrap}select,input,textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-control);padding:9px 12px;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink);background:var(--panel);outline:none;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}select:focus,input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f5fd01f}textarea{resize:vertical;min-height:60px}input[type=range]{padding:4px 0;background:transparent;border:none}input[type=checkbox]{width:auto}.btn-primary{display:inline-block;background:var(--accent);color:#fff;border:1px solid transparent;padding:9px 18px;border-radius:var(--radius-control);cursor:pointer;font-weight:600;font-family:inherit;font-size:var(--text-sm);margin-top:8px;box-shadow:var(--shadow-sm);transition:background .15s,transform .08s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.5;cursor:default;transform:none}.btn-secondary{display:inline-block;background:var(--panel);border:1px solid var(--line-strong);padding:8px 16px;border-radius:var(--radius-control);cursor:pointer;font-family:inherit;font-size:var(--text-sm);font-weight:500;color:var(--ink);margin-top:8px;box-shadow:var(--shadow-sm);transition:background .15s,border-color .15s,transform .08s}.btn-secondary:hover{background:var(--panel-hover);border-color:var(--line-strong)}.btn-secondary:active{transform:translateY(1px)}.btn-secondary:disabled{opacity:.5;cursor:default;transform:none}.notice{border-radius:var(--radius-control);padding:10px 14px;margin-bottom:12px;font-size:var(--text-sm)}.notice.error{background:#c2402f14;border:1px solid rgba(194,64,47,.3);color:var(--danger-ink)}.notice.success{background:#0f8f771a;border:1px solid rgba(15,143,119,.3);color:var(--ok-ink)}.notice.warn{background:#d9770614;border:1px solid rgba(217,119,6,.3);color:var(--warn-ink)}.table-wrap{overflow:auto;max-height:60vh;border:none;border-radius:var(--radius-control);background:var(--panel);box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;font-family:var(--font-ui);font-size:var(--text-sm);font-variant-numeric:tabular-nums}th,td{border-bottom:1px solid var(--line);text-align:left;padding:9px 12px;white-space:nowrap}tbody tr:nth-child(2n){background:var(--row-alt)}tbody tr:last-child td{border-bottom:none}th{position:sticky;top:0;z-index:1;background:var(--th-bg);font-weight:600;font-size:var(--text-xs);text-transform:none;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line-strong)}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s ease,color .12s ease}.sortable-th:hover{background:var(--th-bg-hover);color:var(--ink)}.sortable-th:focus-visible{outline:2px solid var(--accent, #6366f1);outline-offset:-2px}.sortable-th-label{display:inline-block;vertical-align:middle}.sortable-th-arrow{display:inline-block;margin-left:6px;font-size:.85em;opacity:.35;vertical-align:middle}.sortable-th-active{color:var(--ink)}.sortable-th-active .sortable-th-arrow{opacity:1}.empty{color:var(--muted);font-style:normal;padding:12px 0}tbody tr.row-clickable{cursor:pointer;transition:background .12s ease}tbody tr.row-clickable:hover{background:var(--accent-soft)}tbody tr.row-conflict{background:#c2402f1f;box-shadow:inset 3px 0 0 var(--danger)}tbody tr.row-conflict:hover{background:#c2402f2e}.conflict-panel{margin:12px 0 14px;padding:12px 14px;border:1px solid rgba(194,64,47,.35);background:#c2402f1a;border-left:4px solid var(--danger);border-radius:var(--radius-control);font-size:var(--text-sm);color:var(--danger-ink)}.conflict-panel h4{margin:0 0 8px;color:var(--danger);font-size:var(--text-sm)}.conflict-panel ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.conflict-panel li{line-height:1.45}.conflict-panel em{font-style:normal;font-weight:600;color:var(--danger-ink);background:#d9534f1f;padding:1px 6px;border-radius:var(--radius-control)}.conflict-recommendation{margin-top:4px;color:var(--ok-ink);font-size:var(--text-sm)}.conflict-free-espace{display:inline-block;background:#2882461f;color:var(--ok-ink);padding:1px 8px;border-radius:var(--radius-control);margin:0 2px;font-weight:600}.conflict-resolve-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px}.conflict-resolve-label{color:var(--danger-ink);font-size:var(--text-sm)}.conflict-resolve-buttons{display:flex;flex-wrap:wrap;gap:4px}.btn-conflict-resolve{border:1px solid rgba(40,130,70,.4);background:#28824614;color:var(--ok-ink);cursor:pointer;font-size:var(--text-sm);font-family:inherit;transition:background .12s ease,transform .08s ease}.btn-conflict-resolve:hover:not(:disabled){background:#28824638;transform:translateY(-1px)}.btn-conflict-resolve:disabled{opacity:.5;cursor:not-allowed}.conflict-no-free{color:var(--danger-ink);font-style:normal}.location-panel{display:flex;flex-direction:column;gap:18px}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.kpi-card{background:var(--panel);border:none;border-radius:var(--radius-card);padding:16px 18px;box-shadow:var(--shadow-sm)}.kpi-label{font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--muted)}.kpi-value{margin-top:6px;font-size:var(--text-hero);font-weight:var(--weight-bold);color:var(--ink);font-family:var(--font-ui);font-variant-numeric:tabular-nums;line-height:1.15}.kpi-sub{margin-top:4px;font-size:var(--text-sm);color:var(--muted)}.kpi-card-alerte .kpi-value{color:var(--danger)}.location-toolbar{display:flex;justify-content:flex-end}.location-table-block{display:flex;flex-direction:column;gap:8px;background:var(--surface-sunken);border:none;border-radius:var(--radius-card);padding:16px 18px}.location-table-title{display:flex;align-items:center;gap:8px;font-size:var(--text-base);font-weight:600;color:var(--ink)}.location-table-block th.col-emplacement_piece_id,.location-table-block td.col-emplacement_piece_id,.location-table-block th.col-loyer,.location-table-block td.col-loyer{font-weight:700}.location-count{display:inline-block;background:#2f66dc24;color:var(--accent);border-radius:var(--radius-pill);padding:1px 10px;font-size:var(--text-sm);font-weight:600}.location-section{background:var(--surface-sunken);border:none;border-radius:var(--radius-card);padding:16px 18px}.location-section h4{margin-bottom:10px;color:var(--ink)}.espace-selector{display:flex;flex-wrap:wrap;gap:8px}.espace-selector-groups{display:flex;flex-direction:column;gap:12px}.espace-selector-group{display:flex;flex-direction:column;gap:6px}.espace-selector-group-title{font-size:var(--text-sm);font-weight:600;color:var(--muted);text-transform:none;letter-spacing:.04em}.espace-chip{padding:6px 12px;border-radius:var(--radius-pill);font-size:var(--text-sm);border:none;background:var(--surface-tint);cursor:pointer;font-family:inherit;transition:background .12s ease,border-color .12s ease}.espace-chip.occupied{border-color:#d9534f66;background:#d9534f14;color:var(--danger-ink)}.espace-chip.free{border-color:#28824666;background:#2882460f;color:var(--ok-ink)}.espace-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.espace-chip:hover:not(.active){filter:brightness(var(--survol-luminosite))}.calendar{display:flex;flex-direction:column;gap:10px}.calendar-empty{padding:22px;text-align:center;color:var(--muted);font-style:normal;background:var(--tint);border:1px dashed var(--line);border-radius:var(--radius-control)}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-title{display:flex;align-items:baseline;gap:12px}.calendar-month{color:var(--muted);font-size:var(--text-sm);text-transform:capitalize}.calendar-grid{border:none;border-radius:var(--radius-control);overflow-x:auto;background:var(--panel)}.calendar-day-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(28px,1fr);background:var(--surface-tint)}.calendar-day-row-header .calendar-day-header{padding:6px 0;text-align:center;font-size:var(--text-xs);color:var(--muted);border-right:1px solid var(--line)}.calendar-day-row-header .calendar-day-header:last-child{border-right:none}.calendar-bookings{position:relative;display:grid;grid-template-columns:repeat(31,minmax(28px,1fr));gap:4px;padding:8px 0;min-height:56px}.calendar-no-bookings{grid-column:1 / -1;padding:14px;text-align:center;color:var(--muted);font-style:normal}.calendar-booking{height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;color:#fff;font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-control);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:default}.calendar-booking-name{overflow:hidden;text-overflow:ellipsis}.calendar-booking-tag{font-size:var(--text-xs);margin-left:6px}.calendar-booking-passé{opacity:.55}.calendar-booking-futur{filter:saturate(.7);border:1px dashed rgba(255,255,255,.7)}.calendar-legend{display:flex;gap:14px;font-size:var(--text-sm);color:var(--muted);align-items:center}.calendar-dot{display:inline-block;width:10px;height:10px;border-radius:var(--radius-pill);margin-right:6px;vertical-align:middle}.calendar-dot-current{background:#2d7be5}.calendar-dot-future{background:#2d7be5;opacity:.55;border:1px dashed var(--line-strong)}.calendar-dot-past{background:#2d7be5;opacity:.3}.annonce-list,.emp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.annonce-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border-radius:var(--radius-control);background:var(--tint)}.annonce-item.annonce-urgent{background:#f59e0b24}.annonce-info{min-width:0}.annonce-periode{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:600;color:var(--ink)}.annonce-duree{padding:1px 8px;border-radius:var(--radius-pill);background:var(--neutral-bg);color:var(--neutral-ink);font-size:var(--text-xs);font-weight:600}.annonce-label{font-size:var(--text-sm);color:var(--ink)}.annonce-sub{font-size:var(--text-sm);color:var(--muted)}.annonce-actions{display:flex;gap:8px;flex-shrink:0}.dispo-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.dispo-item{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(160px,1.4fr) 130px minmax(180px,2fr);align-items:center;column-gap:14px;row-gap:2px;padding:8px 14px;border-radius:var(--radius-control);background:var(--tint);font-size:var(--text-sm);color:var(--ink)}.dispo-coche{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}.dispo-lieu,.dispo-dates{min-width:0}.dispo-prix{display:flex;align-items:center;gap:6px}.dispo-prix input[type=number]{width:86px}.dispo-source{grid-column:1 / -1;padding-left:26px}.dispo-message{width:100%;resize:vertical;font:inherit;font-size:var(--text-sm);line-height:1.5}.annonce-modeles{margin:0 0 12px;border-radius:var(--radius-control);background:var(--tint)}.annonce-modeles>summary{cursor:pointer;padding:10px 14px;font-size:var(--text-sm);font-weight:600;color:var(--ink)}.annonce-modeles-corps{display:flex;flex-direction:column;gap:8px;padding:0 14px 14px}.annonce-modeles-corps textarea{width:100%;resize:vertical}.annonce-modeles-ligne{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.annonce-jetons{margin:0;font-size:var(--text-xs);color:var(--muted)}.annonce-jetons code{font-size:inherit}.emp-item{border-radius:var(--radius-control);background:var(--tint);overflow:hidden}.emp-cols,.emp-head{display:grid;grid-template-columns:16px minmax(140px,1.6fr) minmax(90px,1fr) 96px 108px 108px minmax(120px,1.3fr);align-items:center;column-gap:16px}.emp-cols-titres{padding:0 14px 6px;font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--muted)}.emp-head{width:100%;padding:10px 14px;border:none;background:none;color:inherit;font-family:inherit;text-align:left;cursor:pointer}.emp-head:hover{background:var(--panel-hover)}.emp-head-caret{color:var(--muted);font-size:var(--text-xs)}.emp-head-label{display:flex;flex-direction:column;flex:1;min-width:0;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--ink)}.emp-head-groupe{font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--muted)}.emp-col{min-width:0;font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-col-fort{font-weight:var(--weight-bold)}.emp-col-suite{color:var(--muted)}.table-wrap.loc-tableau,.table-wrap.loc-tableau:hover{max-height:none;background:none;box-shadow:none;border-radius:0}.loc-tableau table{border-collapse:separate;border-spacing:0 8px;margin-top:-8px}.loc-tableau th{position:static;background:none;border:none;padding:0 12px;font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--muted)}.loc-tableau td{background:var(--tint);border:none;padding:10px 12px;font-size:var(--text-sm);vertical-align:middle;white-space:normal}.loc-tableau td:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control)}.loc-tableau td:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0}.loc-tableau tbody tr,.loc-tableau tbody tr:hover,.loc-tableau tbody tr.row-clickable:hover,.loc-tableau tbody tr.row-conflict{background:none;box-shadow:none}.loc-tableau tbody tr.row-clickable:hover td{background:var(--tint-mid)}.loc-tableau tbody tr.row-conflict td{background:#c2402f24}.loc-tableau tbody tr.row-conflict td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.location-table-block .loc-tableau th{font-weight:var(--weight-normal)}.loc-tableau td.col-loyer,.loc-tableau td.col-date_debut,.loc-tableau td.col-date_fin{white-space:nowrap}.loc-tableau td.col-prenom{min-width:140px}.loc-tableau td,.loc-tableau th{padding-left:8px;padding-right:8px}.loc-tableau td:first-child,.loc-tableau th:first-child{padding-left:12px}.loc-tableau td:last-child{padding-right:12px}.loc-tronque{display:block;max-width:230px;overflow-wrap:anywhere}.loc-cellule{display:flex;flex-direction:column;min-width:0}.loc-sous{font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--muted)}.loc-notes{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:240px;color:var(--muted)}.loc-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}.loc-actions button{margin-top:0}.menu-actions-bouton{margin-top:0;padding:5px 10px;line-height:1}.menu-actions{position:fixed;z-index:1000;min-width:190px;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:0 8px 24px #00000038}.menu-actions button{margin-top:0;width:100%;text-align:left;justify-content:flex-start;border:none;background:none;padding:7px 10px;font-size:var(--text-sm)}.menu-actions button:hover{background:var(--panel-hover)}.emp-meta{margin:0;font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--muted)}.emp-meta strong{font-weight:var(--weight-bold);color:var(--ink)}.emp-detail{padding:4px 14px 14px}.emp-detail-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px}.emp-detail-toolbar .btn-primary,.emp-detail-toolbar .btn-secondary{margin-top:0}.emp-timeline-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.emp-timeline-range{font-size:var(--text-sm);color:var(--muted)}.emp-timeline-scale{display:grid;grid-template-columns:repeat(15,1fr);font-size:var(--text-xs);color:var(--muted);text-align:center}.emp-timeline-track{position:relative;height:96px;margin-top:4px;border-radius:var(--radius-control);background:var(--panel);overflow:hidden}.emp-timeline-libre{position:absolute;top:0;bottom:0;background:var(--tint-mid)}.emp-timeline-bail{position:absolute;top:8px;height:26px;padding:0 10px;border:none;border-radius:var(--radius-pill);background:var(--btn-primary-bg);color:var(--btn-primary-ink);font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-bold);text-align:left;cursor:pointer;overflow:hidden;white-space:nowrap}.emp-timeline-bail-futur{top:38px;opacity:.62}.emp-timeline-bail-potentiel{top:38px;opacity:.45}.emp-timeline-bail-ancien{top:68px;opacity:.32}.emp-timeline-bail.active{outline:2px solid var(--accent);outline-offset:1px}.emp-timeline-legend{display:flex;gap:14px;margin-top:8px;font-size:var(--text-sm);color:var(--muted)}.emp-timeline-legend span{display:inline-flex;align-items:center;gap:5px}.emp-dot{width:9px;height:9px;border-radius:var(--radius-pill);display:inline-block;background:var(--btn-primary-bg)}.emp-dot-futur{opacity:.62}.emp-dot-ancien{opacity:.32}.emp-dot-libre{background:var(--tint-heavy)}.emp-badge{padding:1px 8px;border-radius:var(--radius-pill);background:var(--tint-mid);color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.emp-badge-actuel{color:var(--ink)}.emp-loc-actions{display:flex;flex-wrap:wrap;gap:6px}.emp-loc-actions .btn-secondary{margin-top:0;padding:7px 14px}.emp-baux{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.emp-bail{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 14px;border-radius:var(--radius-control);background:var(--panel)}.emp-bail-cat-ancien{background:var(--tint-weak)}.emp-bail.active{box-shadow:0 0 0 2px var(--accent) inset}.emp-bail-infos{display:flex;flex-direction:column;gap:2px;min-width:0}.emp-bail-identite{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--ink)}.emp-bail-dette{padding:1px 8px;border-radius:var(--radius-pill);background:var(--tint-mid);color:var(--danger);font-size:var(--text-xs);font-weight:var(--weight-bold)}.menage-section h4{display:flex;align-items:center;gap:8px}.menage-responsable{margin:0 0 12px;font-size:var(--text-sm);color:var(--muted)}.menage-responsable strong{color:var(--ink)}.menage-responsable-absent{color:var(--warn-ink);background:#f59e0b29;border:1px solid rgba(245,158,11,.4);padding:8px 12px;border-radius:var(--radius-control)}.menage-empty{margin:6px 0 0;font-size:var(--text-sm);color:var(--muted);font-style:normal}.menage-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.menage-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border:none;border-radius:var(--radius-control);background:var(--tint);transition:background .12s ease,border-color .12s ease}.menage-item:hover{background:var(--panel-hover)}.menage-item.menage-today{background:#4cba7824;border-color:var(--ok)}.menage-item.menage-past{background:var(--tint);opacity:.75}.menage-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.menage-date{font-weight:600;color:var(--ink);font-size:var(--text-sm);display:flex;align-items:center;gap:8px}.menage-name{font-size:var(--text-sm);color:var(--ink)}.menage-unite{font-size:var(--text-sm);color:var(--muted)}.menage-badge{display:inline-block;padding:2px 8px;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-pill);text-transform:none;letter-spacing:.04em}.menage-badge-today{background:#10b981;color:#fff}.menage-badge-past{background:var(--neutral-bg);color:var(--neutral-ink)}.btn-menage-notify{flex-shrink:0;white-space:nowrap}.wizard-progress{width:100%;height:6px;background:var(--line);border-radius:var(--radius-control);margin-bottom:12px;overflow:hidden}.wizard-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:var(--radius-control);transition:width .3s}.wizard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:var(--text-sm);color:var(--muted)}.mode-toggle{display:flex;gap:4px;margin-bottom:16px}.mode-toggle button{flex:1;padding:8px 16px;border:none;background:transparent;border-radius:var(--radius-control);cursor:pointer;font-family:inherit;font-size:var(--text-sm);color:var(--muted);transition:all .15s}.mode-toggle button.active{background:var(--btn-primary-bg);color:var(--btn-primary-ink);border-color:var(--btn-primary-bg)}.auto-fk-info{background:#0f8f7714;border-radius:var(--radius-control);padding:8px 12px;margin-bottom:12px}.multi-records{margin-bottom:16px}.multi-records h4{margin-bottom:8px}.wizard-multi-actions{display:flex;gap:12px;margin-top:16px}.select-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;max-height:300px;overflow-y:auto}.select-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-control);cursor:pointer;font-size:var(--text-sm)}.select-option:hover{background:var(--tint)}.select-existing{margin-bottom:12px}.fk-combobox-wrapper{position:relative;width:100%}.fk-combobox{position:relative}.fk-combobox-input{width:100%;padding-right:52px;cursor:text}.fk-combobox-input::placeholder{color:var(--muted);font-style:normal}.fk-combobox-clear{position:absolute;right:28px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:var(--text-base);color:var(--muted);padding:0 2px;line-height:1;width:auto}.fk-combobox-clear:hover{color:var(--accent)}.fk-combobox-caret{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px 6px;line-height:1;width:auto;color:var(--muted);display:flex;align-items:center;justify-content:center}.fk-combobox-caret:hover{color:var(--accent)}.fk-combobox-caret-icon{display:inline-block;transition:transform .15s ease;font-size:var(--text-sm)}.fk-combobox-caret-icon.open{transform:rotate(180deg)}.fk-combobox-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--panel);border:none;border-radius:var(--radius-control);box-shadow:0 4px 16px #0000001a;list-style:none;margin:0;padding:4px 0;max-height:260px;overflow-y:auto;z-index:9999}.fk-combobox-option{padding:8px 12px;font-size:var(--text-sm);cursor:pointer;font-family:var(--font-ui);font-variant-numeric:tabular-nums}.fk-combobox-option:hover,.fk-combobox-option.highlight,.fk-combobox-option.selected{background:var(--accent);color:#fff}.fk-combobox-option.selected.highlight{background:var(--accent)}.fk-combobox-empty{padding:8px 12px;font-size:var(--text-sm);color:var(--muted);font-style:normal}.existing-data{margin-top:20px}.existing-data summary{cursor:pointer;color:var(--muted);font-size:var(--text-sm);padding:8px 0}.wizard-summary h2{color:var(--accent-2);margin-bottom:16px}.summary-item{margin-bottom:12px}.summary-item ul{margin-left:20px;margin-top:4px}.loading-page,.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;width:100%;text-align:center;gap:12px}.imm-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.imm-add-btn{margin-top:0}.routine-modal-intro{margin:0 0 12px}.routine-modal-ligne{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.routine-modal-ligne>.field{flex:1 1 160px}.routine-modal-nombre{width:5rem}.routine-modal-ligne select{width:auto}.routine-modal-actions{display:flex;gap:8px;margin-top:16px}.imm-list-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.carte-immeubles{position:relative;height:min(70vh,640px);border-radius:var(--radius-card);overflow:hidden;background:var(--panel)}.carte-immeubles-canvas{width:100%;height:100%}.carte-immeubles-note{margin-top:10px;font-size:var(--text-sm)}.carte-infobulle{position:absolute;z-index:2;min-width:200px;max-width:280px;padding:12px 14px;background:var(--panel);color:var(--ink);border-radius:var(--radius-control);box-shadow:var(--shadow-md);font-size:var(--text-sm);pointer-events:none}.carte-infobulle img{display:block;width:100%;height:96px;margin-bottom:8px;object-fit:cover;border-radius:var(--radius-control)}.carte-infobulle-ligne{display:flex;justify-content:space-between;gap:12px;padding:2px 0}.carte-infobulle-ligne dt{color:var(--muted)}.carte-infobulle-ligne dd{text-align:right}.imm-table-clickable tbody tr.imm-row{cursor:pointer;transition:background .12s}.imm-table-clickable tbody tr.imm-row:hover{background:#2563eb0f}.imm-row-arrow{text-align:right;color:var(--accent);font-size:var(--text-lg);font-weight:700;padding-right:12px}.imm-table-clickable tbody tr.imm-row-groupe{background:#e67e220f;font-weight:600}.imm-table-clickable tbody tr.imm-row-groupe:hover{background:#e67e2224}.imm-row-groupe-badge{font-size:var(--text-xs);color:var(--warn-ink);background:#e67e2229;padding:2px 7px;border-radius:var(--radius-pill);white-space:nowrap}.imm-row-groupe-label{display:inline-flex;align-items:center;gap:8px}.imm-row-groupe-label .pyramid-icon{color:var(--muted)}.imm-row-groupe-detail-wrap td{padding:0 0 8px 24px;background:var(--tint-weak)}.imm-row-groupe-detail-table{width:100%;border-collapse:collapse}.imm-row-groupe-detail-table th{font-size:var(--text-xs);text-transform:none;color:var(--muted);text-align:left;padding:6px 10px;border-bottom:1px solid var(--line)}.imm-row-groupe-detail-table td{padding:8px 10px;border-bottom:1px solid var(--line)}.imm-row-groupe-detail-table tbody tr{cursor:pointer}.imm-row-groupe-detail-table tbody tr:hover{background:var(--tint-weak)}.imm-row-groupe-detail-table tbody tr.imm-row-equip-partage{background:#6366f10f;border-left:3px solid var(--accent, #6366f1)}.imm-row-groupe-detail-table tbody tr.imm-row-equip-partage:hover{background:#6366f11f}.imm-row-groupe-detail-table tbody tr.imm-row-desuet td{color:var(--muted, #9ca3af);text-decoration:line-through}.imm-row-groupe-detail-table tbody tr.imm-row-desuet td input[type=checkbox]{text-decoration:none}.imm-row-equip-partage-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--accent, #6366f1);color:#fff;font-size:var(--text-xs);font-weight:600;vertical-align:middle;white-space:nowrap}.imm-detail-header{display:flex;align-items:center;gap:18px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.imm-detail-actions{display:flex;gap:8px;margin-left:auto;flex-shrink:0}.imm-detail-title{flex:1;font-size:var(--text-hero)}.imm-detail-title-block{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.imm-detail-title-block .imm-detail-title{flex:0 0 auto;margin:0}.imm-detail-subtitle{font-style:normal;color:var(--muted);font-size:var(--text-base)}.btn-danger{display:inline-block;background:transparent;border:1px solid rgba(37,99,235,.5);color:var(--info-ink);padding:8px 14px;border-radius:var(--radius-control);cursor:pointer;font-family:inherit;font-size:var(--text-sm);transition:background .15s,color .15s}.btn-danger:hover{background:#2563eb;color:#fff}.imm-info-panel{margin-bottom:8px}.imm-info-people{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:14px}.imm-info-responsable{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.imm-info-responsable-label small{text-transform:none;font-weight:400;color:var(--muted);letter-spacing:normal}.imm-info-responsable-label{font-size:var(--text-xs);color:var(--muted);text-transform:none;letter-spacing:.02em;font-weight:600;min-width:132px}.imm-info-responsable-value{font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--ink);font-weight:500}.imm-info-responsable-empty{color:var(--muted);font-style:normal}.imm-info-responsable-list{display:flex;flex-wrap:wrap;gap:6px}.imm-info-responsable-chip{display:inline-flex;align-items:center;gap:7px;padding:4px 12px 4px 6px;border-radius:var(--radius-pill);background:#2f66dc1a;color:var(--accent);font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-size:var(--text-sm);font-weight:600}.imm-info-chip-avatar{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;font-size:.65rem;font-weight:700;letter-spacing:0;flex-shrink:0}.imm-info-gestionnaire-chip{background:#0f8f771f;color:var(--accent-2)}.imm-info-gestionnaire-chip .imm-info-chip-avatar{background:var(--accent-2)}.imm-info-proprietaire-chip{background:#d977061f;color:var(--warn-ink)}.imm-info-proprietaire-chip .imm-info-chip-avatar{background:var(--warn)}.imm-info-client-chip{background:#7c3aed1f;color:#6d28d9}.imm-info-client-chip .imm-info-chip-avatar{background:#7c3aed}html[data-theme=dark] .imm-info-client-chip{color:#c4b5fd}.imm-info-chip-btn{border:0;cursor:pointer;font-family:var(--font-ui);font-variant-numeric:tabular-nums;transition:filter .12s ease,transform .08s ease,box-shadow .12s ease}.imm-info-chip-btn:hover{filter:brightness(.93);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.imm-info-add-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px dashed var(--line);background:transparent;color:var(--muted);font-size:var(--text-base);line-height:1;cursor:pointer;transition:filter .12s ease,transform .08s ease,border-color .12s ease,color .12s ease}.imm-info-add-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.imm-info-picker-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto}.imm-info-picker-item{width:100%;text-align:left;padding:8px 10px;border:none;border-radius:var(--radius-control);background:var(--panel);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);transition:background .12s ease,border-color .12s ease}.imm-info-picker-item:hover{background:#2f66dc14;border-color:var(--accent)}.imm-info-picker-item:disabled{opacity:.6;cursor:default}.description-immeuble-panel{margin-top:16px;margin-bottom:20px}.description-immeuble-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;flex-wrap:wrap}.description-immeuble-sub{color:var(--muted);font-size:var(--text-sm);max-width:640px}.description-immeuble-sections{display:grid;grid-template-columns:1fr;gap:10px}.description-immeuble-section{background:var(--panel);border:none;border-radius:var(--radius-card);padding:16px 18px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease}.description-immeuble-section:hover{box-shadow:var(--shadow-md)}.description-immeuble-section.a-du-contenu{padding:14px 18px}.description-immeuble-section-head{display:flex;gap:14px;align-items:center}.description-immeuble-section-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-control);background:var(--tint-mid);flex-shrink:0;color:var(--ink)}.description-immeuble-section-icon .pyramid-icon{width:22px;height:22px;font-size:22px;color:inherit}.description-immeuble-section-icon .pyramid-icon svg{width:22px;height:22px}.description-immeuble-section-titles{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.description-immeuble-section-title{font-size:var(--text-base);font-weight:700;color:var(--ink)}.description-immeuble-section-desc{color:var(--muted);font-size:var(--text-sm)}.description-immeuble-section-keywords{color:var(--muted);font-size:var(--text-sm);font-style:normal;line-height:1.4}.description-immeuble-section-keywords span{font-weight:600;font-style:normal;color:var(--ink);margin-right:4px}.description-immeuble-textarea{width:100%;min-height:90px;resize:vertical;font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.description-immeuble-section-tools{display:flex;gap:6px;flex-shrink:0;align-items:center}.description-immeuble-pj-btn,.description-immeuble-edit-btn{position:relative;border:1px solid var(--border, #d9dee7);background:var(--surface);border-radius:var(--radius-control);padding:4px 8px;cursor:pointer;font-size:var(--text-sm);line-height:1;color:var(--ink)}.description-immeuble-pj-btn:hover,.description-immeuble-edit-btn:hover,.description-immeuble-pj-btn.active{border-color:var(--accent, #2f66dc);background:var(--accent-soft)}.description-immeuble-pj-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-control);background:var(--accent, #2f66dc);color:#fff;font-size:var(--text-xs);font-weight:700;line-height:16px;text-align:center}.description-immeuble-text{margin-top:10px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-sm);line-height:1.5;color:var(--ink)}.description-immeuble-empty{margin-top:10px;color:var(--muted);font-style:normal;font-size:var(--text-sm)}.description-immeuble-edit{margin-top:10px}.description-immeuble-edit-actions{display:flex;gap:8px;margin-top:8px}.description-immeuble-pj-panel{margin-top:12px}.imm-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px 24px}.imm-info-field{display:flex;flex-direction:column;gap:4px}.imm-info-key{font-size:var(--text-xs);color:var(--muted);text-transform:none;letter-spacing:.02em}.imm-info-val{font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-size:var(--text-base);font-weight:600;color:var(--ink);word-break:break-word}.related-table{border:none;border-radius:var(--radius-control);margin-bottom:10px;overflow:hidden}.related-table-header{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--panel);padding:12px 16px;font-size:var(--text-sm);font-weight:600;color:var(--ink);gap:12px}.related-table-header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.related-table-header .imm-add-btn{margin-top:0;padding:6px 14px;font-size:var(--text-sm)}.related-table-header-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s ease}.related-table-header-toggle:hover{background:var(--panel-hover)}.related-table-chevron{display:inline-block;margin-right:8px;opacity:.55}.related-table-count{font-size:var(--text-sm);font-weight:400;color:var(--muted)}.related-table-body{padding:16px;background:var(--surface-tint);border-top:1px solid var(--line)}.fin-renouv-panel{border:none;border-radius:var(--radius-control);padding:16px;margin-bottom:10px;background:var(--surface-tint)}.fin-renouv-select{display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm);font-weight:600;margin-bottom:12px;max-width:480px}.fin-renouv-select select{font-weight:400}.btn-delete-row{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:var(--text-sm);padding:2px 6px;border-radius:var(--radius-control);transition:color .12s,background .12s}.btn-delete-row:hover{color:var(--info-ink);background:#2563eb14}.user-section{margin-bottom:20px}.user-section-title{font-size:var(--text-sm);font-weight:600;color:var(--ink);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--line)}.role-checkboxes{display:flex;flex-wrap:wrap;gap:10px}.role-checkbox{display:flex;align-items:center;cursor:pointer}.role-checkbox input[type=checkbox]{display:none}.role-badge{display:inline-block;padding:8px 18px;border-radius:var(--radius-card);border:1.5px solid var(--line);font-size:var(--text-sm);font-weight:500;color:var(--muted);background:transparent;transition:all .18s;-webkit-user-select:none;user-select:none}.role-badge:hover{border-color:var(--accent);color:var(--ink)}.role-badge.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.role-group{display:flex;flex-direction:column;gap:8px}.role-group-toggle{cursor:pointer;display:inline-flex;align-items:center;gap:8px;border:none;font-family:inherit}.role-group-arrow{font-size:var(--text-xs);opacity:.7}.role-sub-checkboxes{display:flex;flex-direction:column;gap:6px;padding-left:16px;border-left:2px solid var(--line);margin-left:8px;animation:slideIn .18s ease-out}.role-checkbox.role-sub{gap:8px}.role-specific{border-left:3px solid var(--accent);padding-left:16px;margin-left:2px;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-data-tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.user-data-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:none;border-radius:var(--radius-control);background:transparent;font-family:inherit;font-size:var(--text-sm);color:var(--muted);cursor:pointer;transition:all .15s}.user-data-tab:hover{border-color:var(--accent);color:var(--ink)}.user-data-tab.active{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-ink);font-weight:600}.user-data-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:var(--radius-control);background:var(--tint-strong);font-size:var(--text-xs);font-weight:600;padding:0 5px}.user-data-tab.active .user-data-count{background:color-mix(in srgb,var(--btn-primary-ink) 16%,transparent);color:var(--btn-primary-ink)}.locataires-sous-titre{margin:18px 0 8px;font-size:var(--text-md, 1rem);font-weight:var(--weight-bold);color:var(--ink)}.locataire-notes{display:inline-block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.col-montant_total,.col-montant_unite,.col-montant_stationnement,.col-montant_rangement,.col-note_sur_10{white-space:nowrap;font-variant-numeric:tabular-nums}.user-multi-hint{margin-top:10px;font-size:var(--text-sm);color:var(--accent-2);font-style:normal}.btn-convert{margin-top:0;padding:5px 12px;font-size:var(--text-sm);color:var(--accent);border-color:#2f66dc66}.btn-convert:hover{background:#2f66dc14;color:var(--ink)}.btn-archive{margin-top:0;padding:5px 12px;font-size:var(--text-sm);color:var(--warn-ink);border-color:#b4820066}.btn-archive:hover{background:#b4820014;color:var(--ink)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14121073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .15s ease-out}.modal{width:100%;max-width:520px;max-height:90vh;overflow-y:auto;background:var(--panel);animation:slideIn .2s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.modal-header h3{margin:0;font-size:var(--text-base)}.modal-close{background:transparent;border:none;font-size:var(--text-hero);line-height:1;color:var(--muted);cursor:pointer;padding:2px 8px;border-radius:var(--radius-control);width:auto}.modal-close:hover{background:var(--tint);color:var(--ink)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.btn-annuler-locataire{margin-top:0;padding:5px 12px;font-size:var(--text-sm);color:var(--danger);border-color:#c2402f66}.btn-annuler-locataire:hover{background:#c2402f14;color:var(--danger)}.btn-etat-compte-annule{color:var(--danger-ink);border-color:#b23b3b66}.btn-etat-compte-annule:hover{background:#b23b3b14;color:var(--ink)}.badge-annule{display:inline-block;padding:3px 9px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;color:var(--danger);background:#c2402f1f;border:1px solid rgba(194,64,47,.35);white-space:nowrap}.table-echeancier{margin:12px 0 4px}.row-penalite td{color:var(--danger-ink);font-weight:600}.annulation-form{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.annulation-form h4{margin:0 0 6px;font-size:var(--text-base)}.annulation-form label{display:block;font-size:var(--text-sm);margin-bottom:12px;font-weight:500}.btn-etat-compte-du{color:var(--danger);border-color:#c2402f73;font-weight:600}.btn-etat-compte-du:hover{background:#c2402f14;color:var(--danger)}.kpi-card-clickable{cursor:pointer;text-align:left;font:inherit;width:100%;color:inherit}.kpi-card-clickable:hover{background:var(--panel-hover)}.creances-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin:12px 0 4px;padding:0}.creances-item{background:var(--tint);border:none;border-radius:var(--radius-control);padding:12px 14px}.creances-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}.creances-montant{font-weight:700;color:var(--danger);font-family:var(--font-display);font-size:var(--text-base);white-space:nowrap}.creances-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;vertical-align:middle}.creances-badge-ancien{background:var(--tint-strong);color:var(--muted)}.creances-badge-actuel{background:#1c7c461f;color:var(--ok)}.creances-badge-futur{background:#2f5fd01f;color:var(--accent)}.creances-mois{margin:0 0 10px;padding-left:18px;font-size:var(--text-sm);color:var(--muted)}.creances-mois li{margin-bottom:2px}.statut-mois{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.statut-mois+.statut-mois{margin-left:4px}.statut-mois-paye{background:#1c7c461f;color:var(--ok)}.statut-mois-avance{background:#2f5fd01f;color:var(--accent)}.statut-mois-partiel{background:#b26a0024;color:var(--warn)}.statut-mois-impaye{background:var(--tint-mid);color:var(--muted)}.statut-mois-retard{background:#c2402f24;color:var(--danger)}.compte-totaux{display:flex;flex-wrap:wrap;gap:6px 20px;padding:10px 12px;margin-bottom:4px;background:var(--tint);border-radius:var(--radius-control);font-size:var(--text-sm);color:var(--muted)}.compte-totaux strong{color:var(--ink)}.compte-total-alerte,.compte-total-alerte strong{color:var(--danger)}.compte-total-credit,.compte-total-credit strong{color:var(--accent)}.versements-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.versements-section h4{margin:0 0 6px;font-size:var(--text-base)}.table-versements{margin:12px 0 4px}.versement-negatif{color:var(--danger)}.versement-form{margin-top:12px}.versement-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 12px}.versement-form-grid label{display:block;font-size:var(--text-sm);font-weight:500;margin-bottom:0}.versement-form-actions{display:flex;justify-content:flex-end;margin-top:12px}.form-section-title{font-size:var(--text-base);font-weight:700;color:var(--accent-2);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.form-section-note{font-size:var(--text-sm);color:var(--muted);background:#6366f10f;border:1px solid rgba(99,102,241,.18);border-radius:var(--radius-control);padding:8px 12px;margin-bottom:14px}.guide-view{width:min(1500px,100%);margin:0 auto}.guide-hero{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:var(--radius-card);background:var(--accent-soft)}.guide-kicker{color:var(--accent);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase}.guide-hero h2{margin:0;font-size:var(--text-lg)}.guide-hero p{max-width:900px;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.5}.guide-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.guide-actions h3{margin:0;font-size:var(--text-lg)}.guide-actions-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.guide-actions-grille article{display:flex;flex-direction:column;gap:5px;min-width:0;padding:14px;border-radius:var(--radius-control);background:var(--panel);box-shadow:var(--shadow-sm)}.guide-actions-grille strong{font-size:var(--text-sm)}.guide-actions-grille span{color:var(--accent);font-size:var(--text-xs);font-weight:var(--weight-bold)}.guide-actions-grille small{color:var(--muted);font-size:var(--text-xs);line-height:1.45}.schema-generateurs{margin:20px 0;border:1px solid var(--line-strong);border-radius:var(--radius-card);background:var(--panel);box-shadow:var(--shadow-sm);overflow:hidden}.schema-generateurs>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.schema-generateurs>summary::-webkit-details-marker{display:none}.schema-generateurs>summary:hover{background:var(--panel-hover)}.schema-generateurs>summary>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}.schema-generateurs>summary strong{font-size:var(--text-base)}.schema-generateurs>summary small{color:var(--muted);font-size:var(--text-sm)}.schema-generateurs-chevron{color:var(--muted);font-size:1.6rem;line-height:1;transition:transform .16s ease}.schema-generateurs[open] .schema-generateurs-chevron{transform:rotate(90deg)}.schema-generateurs-exhaustif{padding:4px 9px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs);font-weight:var(--weight-bold);white-space:nowrap}.schema-generateurs-corps{display:flex;flex-direction:column;gap:22px;padding:18px;border-top:1px solid var(--line)}.schema-generateurs-avertissement,.schema-generateurs-precision{margin:0;padding:10px 12px;border-radius:var(--radius-control);background:var(--tint);color:var(--muted);font-size:var(--text-sm);line-height:1.45}.schema-generateurs-avertissement strong,.schema-generateurs-precision strong{color:var(--ink)}.schema-generateurs-section{display:flex;flex-direction:column;gap:10px}.schema-generateurs-section>h4{margin:0;font-size:var(--text-base)}.schema-generateurs-flux,.schema-generateurs-transmission{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:8px}.schema-generateurs-noeud{position:relative;display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:88px;padding:13px 14px 13px 42px;border-radius:var(--radius-control);background:var(--surface-tint)}.schema-generateurs-noeud.principal{background:var(--accent-soft)}.schema-generateurs-noeud.large{padding-left:14px}.schema-generateurs-noeud strong{font-size:var(--text-sm)}.schema-generateurs-noeud small{color:var(--muted);font-size:var(--text-xs);line-height:1.4}.schema-generateurs-numero{position:absolute;top:12px;left:12px;display:grid;width:22px;height:22px;place-items:center;border-radius:var(--radius-pill);background:var(--ink);color:var(--panel);font-size:var(--text-xs);font-weight:var(--weight-bold)}.schema-generateurs-fleche{align-self:center;color:var(--faint);font-size:var(--text-lg)}.schema-generateurs-grille{display:grid;gap:10px}.schema-generateurs-grille.trois{grid-template-columns:repeat(3,minmax(0,1fr))}.schema-generateurs-grille.deux{grid-template-columns:repeat(2,minmax(0,1fr))}.schema-generateurs-carte{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-top:3px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-tint);overflow:hidden}.schema-generateurs-carte.preventif{border-top-color:var(--accent)}.schema-generateurs-carte.remplacement{border-top-color:var(--warn)}.schema-generateurs-carte.routine{border-top-color:var(--ok)}.schema-generateurs-carte.organisation.groupe{border-top-color:var(--accent)}.schema-generateurs-carte.organisation.lot{border-top-color:var(--accent-2)}.schema-generateurs-carte>header{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:12px 12px 8px}.schema-generateurs-carte>header strong{font-size:var(--text-sm)}.schema-generateurs-carte>div,.schema-generateurs-carte>ul,.schema-generateurs-carte.organisation>p{margin-right:12px;margin-left:12px}.schema-generateurs-carte>div{display:flex;flex:1;flex-direction:column;gap:6px}.schema-generateurs-carte h5{margin:3px 0 0;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em}.schema-generateurs-carte p,.schema-generateurs-carte li{font-size:var(--text-xs);line-height:1.45}.schema-generateurs-carte ul{padding-left:17px;color:var(--muted)}.schema-generateurs-carte li+li{margin-top:4px}.schema-generateurs-carte li strong{color:var(--ink)}.schema-generateurs-carte>footer{margin-top:12px;padding:8px 12px;background:var(--tint);color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.schema-generateurs-carte.compacte{padding-bottom:12px}.schema-generateurs-carte.compacte>ul,.schema-generateurs-carte.organisation>ul{margin-bottom:12px}.schema-generateurs-pastille{padding:3px 8px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs);font-weight:var(--weight-bold)}.schema-generateurs-carte.remplacement .schema-generateurs-pastille{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn-ink)}.schema-generateurs-carte.routine .schema-generateurs-pastille{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok-ink)}.schema-generateurs-pastille.neutre{background:var(--tint-mid);color:var(--ink)}.schema-generateurs-formule{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px;border-radius:var(--radius-control);background:var(--tint);color:var(--ink);font-weight:var(--weight-bold);text-align:center}.schema-generateurs-formule span{color:var(--accent)}.schema-generateurs-distinction{display:flex;flex-wrap:wrap;gap:5px 8px;padding:10px 12px;border-radius:var(--radius-control);background:var(--accent-soft);font-size:var(--text-sm);line-height:1.4}.schema-generateurs-distinction span{color:var(--muted)}.schema-generateurs-distinction b{color:var(--ink)}.schema-generateurs-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;padding:10px 12px 10px 30px;border-radius:var(--radius-control);background:var(--tint);color:var(--muted)}.schema-generateurs-notes li{padding-left:2px;font-size:var(--text-xs);line-height:1.45}.schema-generateurs-notes strong{color:var(--ink)}.schema-generateurs-etats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.schema-generateurs-etats article{display:flex;flex-direction:column;gap:5px;padding:10px;border-radius:var(--radius-control);background:var(--tint)}.schema-generateurs-etats strong{font-size:var(--text-xs)}.schema-generateurs-etats small{color:var(--muted);font-size:var(--text-xs);line-height:1.4}.schema-generateurs-cycle{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;list-style:none}.schema-generateurs-cycle li{display:flex;gap:8px;min-width:0;padding:10px;border-radius:var(--radius-control);background:var(--surface-tint)}.schema-generateurs-cycle li>span{display:grid;flex:0 0 22px;width:22px;height:22px;place-items:center;border-radius:var(--radius-pill);background:var(--ink);color:var(--panel);font-size:var(--text-xs);font-weight:var(--weight-bold)}.schema-generateurs-cycle li>div{display:flex;flex-direction:column;gap:4px;min-width:0}.schema-generateurs-cycle strong{font-size:var(--text-xs)}.schema-generateurs-cycle small{color:var(--muted);font-size:var(--text-xs);line-height:1.4}@media (max-width: 1100px){.guide-actions-grille,.schema-generateurs-grille.trois,.schema-generateurs-etats,.schema-generateurs-cycle{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.schema-generateurs>summary{grid-template-columns:auto minmax(0,1fr)}.schema-generateurs-exhaustif{display:none}.schema-generateurs-corps{padding:12px}.schema-generateurs-flux,.schema-generateurs-transmission{grid-template-columns:minmax(0,1fr)}.schema-generateurs-fleche{justify-self:center;transform:rotate(90deg)}.schema-generateurs-grille.trois,.schema-generateurs-grille.deux,.schema-generateurs-etats,.schema-generateurs-cycle,.schema-generateurs-notes,.guide-actions-grille{grid-template-columns:minmax(0,1fr)}}.schema-generateurs-arbre{display:flex;flex-direction:column;align-items:center;width:min(100%,980px);margin:0 auto}.schema-arbre-noeud{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;width:min(100%,540px);padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-tint);box-shadow:var(--shadow-sm)}.schema-arbre-noeud.racine{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft)}.schema-arbre-noeud.avec-tables{width:min(100%,760px)}.schema-arbre-noeud.compact{width:min(100%,430px)}.schema-arbre-noeud>div{display:flex;flex-direction:column;gap:3px;min-width:0}.schema-arbre-noeud strong{font-size:var(--text-sm)}.schema-arbre-noeud small{color:var(--muted);font-size:var(--text-xs);line-height:1.35}.schema-arbre-tables{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:4px;color:var(--faint);font-size:var(--text-xs)}.schema-arbre-tables>button{padding:2px 5px;border:0;border-radius:4px;background:var(--tint-mid);color:var(--muted);cursor:pointer;font-family:monospace;font-size:.72rem}.schema-arbre-tables>button:hover,.schema-arbre-tables>button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.schema-arbre-tables>button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.schema-arbre-table-description{display:flex;flex:1 0 100%;flex-direction:column;gap:4px;margin-top:4px;padding:8px 10px;border-left:3px solid var(--accent);border-radius:0 var(--radius-control) var(--radius-control) 0;background:var(--tint);color:var(--muted);line-height:1.4}.schema-arbre-table-description code{color:var(--ink);font-size:.72rem}.schema-arbre-icone{display:grid;width:27px;height:27px;place-items:center;border-radius:var(--radius-pill);background:var(--ink);color:var(--panel);font-size:var(--text-xs);font-weight:var(--weight-bold)}.schema-arbre-lien{display:block;width:2px;height:26px;background:var(--line-strong)}.schema-arbre-niveau{width:100%}.schema-arbre-niveau>h4{width:max-content;max-width:100%;margin:0 auto;padding:7px 13px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--panel);font-size:var(--text-sm);text-align:center}.schema-arbre-branches{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:30px 0 0;list-style:none}.schema-arbre-branches:before{position:absolute;top:14px;right:calc(100% / 6);left:calc(100% / 6);border-top:2px solid var(--line-strong);content:""}.schema-arbre-branches:after{position:absolute;top:0;left:50%;height:15px;border-left:2px solid var(--line-strong);content:""}.schema-arbre-branches>li{position:relative;min-width:0}.schema-arbre-branches>li:before{position:absolute;top:-16px;left:50%;height:16px;border-left:2px solid var(--line-strong);content:""}.schema-arbre-branches.types>li:not(.routine):after{position:absolute;bottom:-15px;left:50%;height:15px;border-left:2px solid var(--line-strong);content:""}.schema-arbre-convergence{position:relative;display:block;width:100%;height:34px}.schema-arbre-convergence:before{position:absolute;top:14px;left:calc(100% / 6);width:calc(100% / 3);border-top:2px solid var(--line-strong);content:""}.schema-arbre-convergence:after{position:absolute;top:14px;bottom:0;left:50%;border-left:2px solid var(--line-strong);content:""}.schema-arbre-branches article{display:flex;height:100%;min-height:142px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius-control);background:var(--surface-tint)}.schema-arbre-branches .remplacement article{border-top-color:var(--warn)}.schema-arbre-branches .routine article{border-top-color:var(--ok)}.schema-arbre-branches .groupe article{border-top-color:var(--accent)}.schema-arbre-branches .lot article{border-top-color:var(--accent-2)}.schema-arbre-branches article>strong{font-size:var(--text-sm)}.schema-arbre-branches article>small{flex:1;color:var(--muted);font-size:var(--text-xs);line-height:1.35}.schema-arbre-branches article>b{width:100%;margin-top:5px;padding-top:9px;border-top:1px solid var(--line);color:var(--ink);font-size:var(--text-xs)}.schema-arbre-pastille{padding:3px 8px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs);font-weight:var(--weight-bold)}.schema-arbre-branches .remplacement .schema-arbre-pastille{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn-ink)}.schema-arbre-branches .routine .schema-arbre-pastille{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok-ink)}.schema-arbre-pastille.neutre{background:var(--tint-mid);color:var(--ink)}.schema-arbre-type-texte.preventif{color:var(--accent)}.schema-arbre-type-texte.remplacement{color:var(--warn-ink)}.schema-arbre-branches.organisations article{position:relative;min-height:112px;border-top-color:transparent;overflow:hidden}.schema-arbre-branches.organisations article:before{position:absolute;top:0;right:0;left:0;height:3px;background:var(--accent);content:""}.schema-arbre-branches.organisations .individuel article:before,.schema-arbre-branches.organisations .groupe article:before{background:linear-gradient(90deg,var(--accent) 0 50%,var(--warn) 50% 100%)}.schema-arbre-branches.organisations .lot article:before{background:var(--accent)}@media (max-width: 760px){.schema-generateurs-corps{gap:16px}.schema-arbre-noeud,.schema-arbre-noeud.compact{width:100%}.schema-arbre-niveau>h4{width:100%;border-radius:var(--radius-control)}.schema-arbre-branches{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:10px;padding:0 0 0 25px}.schema-arbre-branches:before{top:0;right:auto;bottom:50%;left:7px;border-top:0;border-left:2px solid var(--line-strong)}.schema-arbre-branches:after{display:none}.schema-arbre-branches>li:before{top:50%;left:-17px;width:17px;height:0;border-top:2px solid var(--line-strong);border-left:0}.schema-arbre-branches.types>li:not(.routine):after,.schema-arbre-convergence:before,.schema-arbre-convergence:after{display:none}.schema-arbre-convergence{height:18px}.schema-arbre-branches article,.schema-arbre-branches.organisations article{min-height:0}}.finances-panel{display:flex;flex-direction:column;gap:24px}.fin-dashboard{display:flex;flex-direction:column;gap:16px}.vue-ensemble{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.vue-ensemble h2{margin:0}.vue-ensemble-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.vue-ensemble-carte{background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);padding:16px 18px;display:flex;flex-direction:column;gap:4px}.vue-ensemble-label,.vue-ensemble-sous{font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--muted)}.vue-ensemble-valeur{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--ink);line-height:1.2}.vue-ensemble-valeur.pos{color:var(--ok-ink)}.vue-ensemble-valeur.neg{color:var(--danger-ink)}.vue-ensemble-attention{color:var(--warn-ink)}.vue-ensemble-alerte{color:var(--danger-ink)}.fin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.fin-kpi-card{background:var(--panel);border:none;border-radius:var(--radius-card);padding:16px 18px;display:flex;flex-direction:column;gap:6px;box-shadow:0 4px 12px #0000000a;position:relative;overflow:hidden}.fin-kpi-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--accent)}.fin-kpi-occupation:before{background:#16a34a}.fin-kpi-revenus:before{background:var(--accent)}.fin-kpi-encaisse:before{background:#0e9f6e}.fin-kpi-depenses:before{background:#f59e0b}.fin-kpi-cashflow:before{background:var(--accent-2)}.fin-kpi-label{font-size:var(--text-xs);text-transform:none;letter-spacing:.06em;color:var(--muted);font-weight:600}.fin-kpi-value{font-size:var(--text-hero);font-weight:700;color:var(--ink);font-family:var(--font-display);line-height:1.1}.fin-kpi-value.pos{color:var(--ok-ink)}.fin-kpi-value.neg{color:var(--danger-ink)}.fin-kpi-sub{font-size:var(--text-sm);color:var(--muted)}.fin-kpi-warn{color:var(--danger-ink);font-weight:600}.fin-cat-breakdown{background:var(--panel);border:none;border-radius:var(--radius-card);padding:16px 18px}.fin-cat-breakdown h4{margin:0 0 12px;font-size:var(--text-sm);font-weight:600}.fin-cat-list{display:flex;flex-direction:column;gap:8px}.fin-cat-row{display:grid;grid-template-columns:180px 1fr 100px;gap:12px;align-items:center;font-size:var(--text-sm)}.fin-cat-name{display:flex;align-items:center;gap:8px;font-weight:500}.fin-cat-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.fin-cat-bar{background:var(--tint-mid);height:8px;border-radius:var(--radius-control);overflow:hidden}.fin-cat-bar-fill{height:100%;border-radius:var(--radius-control);transition:width .3s}.fin-cat-amount{text-align:right;font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-size:var(--text-sm);font-weight:600}.fin-cat-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-card);font-size:var(--text-sm);font-weight:600;border:1px solid}.optim-panel{padding:24px 24px 20px}.optim-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.optim-header h3{margin:0 0 4px;font-size:var(--text-lg);color:var(--accent-2)}.optim-sub{font-size:var(--text-sm);color:var(--muted);margin:0}.optim-section{margin-bottom:20px}.optim-history{width:100%;border-collapse:collapse;margin-bottom:10px;font-family:var(--font-ui);font-variant-numeric:tabular-nums}.optim-history thead th{background:#2f66dc0f;color:var(--ink);font-size:var(--text-sm);font-weight:600;text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}.optim-history thead th:last-child{width:36px}.optim-history tbody td{padding:4px 6px;border-bottom:1px solid var(--line)}.optim-history tbody td input{font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-size:var(--text-sm);padding:6px 8px}.optim-history tbody td:last-child{text-align:center}.optim-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.optim-result-card{background:var(--panel);border:none;border-radius:var(--radius-control);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.optim-result-card.highlight{background:linear-gradient(135deg,#0f8f7714,#2f66dc14);border-color:#0f8f774d}.optim-result-label{font-size:var(--text-xs);text-transform:none;letter-spacing:.05em;color:var(--muted);font-weight:600}.optim-result-value{font-size:var(--text-lg);font-weight:700;color:var(--ink);font-family:var(--font-display)}.optim-result-value.pos{color:var(--ok-ink)}.optim-result-value.neg{color:var(--danger-ink)}.optim-result-sub{font-size:var(--text-xs);color:var(--muted);font-weight:400}.optim-alertes ul{margin:6px 0 0;padding-left:18px}.optim-alertes li{margin-bottom:3px}.optim-note{margin:10px 0 0;font-size:var(--text-sm);color:var(--muted);line-height:1.45}.optim-detail-toggle{margin-top:12px;background:transparent;border:1px solid rgba(47,102,220,.4);color:var(--info-ink);border-radius:var(--radius-control);padding:6px 12px;font-size:var(--text-sm);font-weight:600;cursor:pointer}.optim-detail-toggle:hover{background:#2f66dc14}.optim-unites thead th:last-child{width:auto}.optim-unites tbody td:last-child{text-align:left}.optim-unites tbody td{vertical-align:top;font-size:var(--text-sm)}.optim-unites .optim-pourquoi{color:var(--muted);max-width:420px}.optim-unites .optim-ecart-pos{color:var(--ok-ink);font-weight:600}.fin-kpi-equity:before{background:#0ea5e9}.fin-kpi-pipeline{color:var(--accent);font-weight:600}.fin-chart{margin:18px 0 8px;padding:14px 16px;background:var(--panel, #fff);border:none;border-radius:var(--radius-control)}.fin-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.fin-chart-head h4{margin:0;font-size:var(--text-sm);color:var(--ink)}.fin-chart-futur-btn{flex-shrink:0;padding:4px 10px;font-size:var(--text-xs)}.fin-chart-bars{display:flex;align-items:stretch;gap:6px;height:196px}.fin-chart-bars-long{overflow-x:auto}.fin-chart-month{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;min-width:0}.fin-chart-bars-long .fin-chart-month{flex:0 0 64px;min-width:64px}.fin-chart-occup{flex-shrink:0;margin:0 0 2px;padding:0;border:none;background:none;color:var(--ink);font-family:inherit;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;cursor:pointer;white-space:nowrap}.fin-chart-occup:hover,.fin-chart-month-open .fin-chart-occup{color:var(--accent);text-decoration:underline}.fin-chart-cashflow{flex-shrink:0;margin-bottom:4px;font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap}.fin-chart-cashflow.pos{color:var(--ok-ink)}.fin-chart-cashflow.neg{color:var(--danger-ink)}.fin-chart-month-futur .fin-chart-bar{opacity:.5}.fin-chart-month-futur .fin-chart-label{font-style:italic}.fin-chart-cols{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px}.fin-chart-bar{width:40%;max-width:18px;min-height:2px;border-radius:3px 3px 0 0;transition:height .25s ease}.fin-chart-bar-rev{background:#22c55e}.fin-chart-bar-dep{background:#ef4444}.fin-chart-label{margin-top:4px;font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.fin-occup-detail{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.fin-occup-detail-title{margin-bottom:8px;font-size:var(--text-sm);font-weight:600;color:var(--ink)}.fin-occup-empty{margin:0;font-size:var(--text-sm);color:var(--muted)}.fin-occup-list{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}.fin-occup-list li{display:inline-flex;align-items:baseline;gap:6px;padding:4px 8px;border-radius:var(--radius-control);background:var(--tint);font-size:var(--text-xs)}.fin-occup-mark{font-weight:700;letter-spacing:.02em}.fin-occup-loue .fin-occup-mark{color:var(--ok-ink)}.fin-occup-vide .fin-occup-mark{color:var(--danger-ink)}.fin-occup-label{color:var(--ink);font-weight:600}.fin-occup-who{color:var(--muted)}.fin-chart-legend{display:flex;gap:16px;margin-top:10px;font-size:var(--text-xs);color:var(--muted)}.fin-chart-legend span{display:inline-flex;align-items:center;gap:6px}.fin-quick{margin:14px 0;padding:16px}.fin-quick-heading{font-size:var(--text-sm);font-weight:600;color:var(--muted);margin-bottom:12px}.fin-tab-section{display:flex;flex-direction:column;gap:20px}.fin-tab-section h4{margin:0 0 4px;font-size:var(--text-sm);font-weight:600}.fin-monthly-table-wrap{overflow-x:auto}.fin-date-inline{font:inherit;color:inherit;background:var(--panel, #fff);border:1px solid var(--line, #e5e7eb);border-radius:6px;padding:2px 6px;max-width:11.5rem}.fin-quick-tabs{display:flex;gap:6px;margin-bottom:12px}.fin-quick-tab{padding:7px 14px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--muted);font-size:var(--text-sm);cursor:pointer;transition:all .15s ease}.fin-quick-tab:hover{border-color:var(--accent);color:var(--ink)}.fin-quick-tab.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.fin-quick-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fin-quick-montant{width:140px;font-size:var(--text-base);font-weight:600}.fin-quick-date{width:150px}.fin-quick-note{flex:1;min-width:160px}.fin-quick-save{white-space:nowrap}.fin-quick-cats{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.fin-cat-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--ink);font-size:var(--text-sm);cursor:pointer;transition:all .15s ease}.fin-cat-chip:hover{border-color:var(--cat-color, var(--accent))}.fin-cat-chip.active{background:color-mix(in srgb,var(--cat-color, #9ca3af) 16%,transparent);border-color:var(--cat-color, #9ca3af);font-weight:600}.fin-quick-preview{margin-top:10px;font-size:var(--text-sm);color:var(--muted)}.fin-quick-preview .pos{color:var(--ok-ink)}.fin-quick-preview .neg{color:var(--danger-ink)}.fin-tables-toggle{margin:8px 0 12px;width:100%;text-align:left}.fin-snapshot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 12px}.fin-snapshot-hint{font-size:var(--text-sm);color:var(--muted)}.btn-confirm-potentiel{margin-top:0;padding:5px 12px;font-size:var(--text-sm);white-space:nowrap;line-height:1.35;background:transparent;color:var(--accent);border:1px solid rgba(47,95,208,.45);box-shadow:none}.btn-confirm-potentiel:hover:not(:disabled){background:#2f5fd014;color:var(--accent)}.btn-confirm-potentiel:active:not(:disabled){background:#2f5fd024;transform:none}.virtual-row{background:#1d4ed80a;font-style:normal;color:var(--muted)}.virtual-row td{border-bottom-style:dashed}.auto-badge{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:var(--radius-control);font-size:var(--text-xs);font-weight:700;text-transform:none;letter-spacing:.05em;background:#1d4ed826;color:var(--info-ink);font-style:normal}.related-table-virtual-count{color:var(--info-ink);font-weight:600}.auto-fields-preview{margin-top:4px;margin-bottom:14px;padding:10px 12px;background:#1d4ed80d;border:1px dashed rgba(29,78,216,.3);border-radius:var(--radius-control)}.auto-fields-title{font-size:var(--text-xs);text-transform:none;letter-spacing:.06em;color:var(--info-ink);font-weight:700;margin-bottom:8px}.auto-fields-preview .field{margin-bottom:8px}.auto-fields-preview .field:last-child{margin-bottom:0}.auto-fields-preview input:disabled{background:var(--tint);font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}.bon-travail-view{display:flex;flex-direction:column;gap:12px}.bon-scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:16px}.bon-scope-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 18px 16px;background:var(--panel);border:none;border-radius:var(--radius-card);cursor:pointer;text-align:left;font-family:inherit;transition:all .15s}.bon-scope-card:hover{border-color:var(--accent-2);background:#2f66dc0a;transform:translateY(-1px)}.bon-scope-title{font-weight:700;font-size:var(--text-base);color:var(--ink)}.bon-scope-desc{font-size:var(--text-sm);color:var(--muted);line-height:1.4}.bon-piece-nav{display:flex;align-items:center;gap:12px;margin:12px 0}.bon-piece-nav-label{flex:1;display:flex;flex-direction:column;align-items:center;font-size:var(--text-sm)}.bon-piece-nav-label small{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.bon-piece-jump{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:var(--text-sm)}.bon-piece-jump select{flex:1}.bon-equipement-list{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto;padding:6px 8px;background:var(--tint-weak);border-radius:var(--radius-control)}.bon-toggle-all{display:flex;align-items:center;gap:8px;padding:6px 8px;font-weight:600;border-bottom:1px solid var(--line);margin-bottom:6px}.bon-selection-summary{margin-top:12px;padding:8px 12px;background:#0f8f7714;border-radius:var(--radius-control);font-size:var(--text-sm);display:flex;align-items:center;gap:12px}.bon-explorer-help{font-size:var(--text-sm);color:var(--muted);margin:4px 0 0}.bon-explorer{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--panel);border:none;border-radius:var(--radius-card);margin-top:4px}.bon-crumbs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:6px 8px;background:#2f66dc0d;border:1px solid rgba(47,102,220,.15);border-radius:var(--radius-control);font-size:var(--text-sm)}.bon-crumb{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:transparent;border:1px solid transparent;border-radius:var(--radius-control);cursor:pointer;font-family:inherit;font-size:inherit;color:var(--ink);transition:background .12s,border-color .12s}.bon-crumb:hover{background:#2f66dc1a}.bon-crumb.active{background:var(--accent-2, #2f66dc);color:#fff;font-weight:600;cursor:default}.bon-crumb-icon{font-size:var(--text-base)}.bon-crumb-sep{color:var(--muted);font-size:var(--text-base);-webkit-user-select:none;user-select:none}.bon-explorer-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bon-explorer-search{flex:1 1 240px;padding:6px 10px;border:none;border-radius:var(--radius-control);font-family:inherit;font-size:var(--text-sm)}.bon-explorer-counter{font-size:var(--text-sm);color:var(--accent, #0f8f77);font-weight:600}.bon-explorer-list{display:flex;flex-direction:column;gap:2px;max-height:420px;overflow-y:auto;padding:4px;background:var(--tint-weak);border-radius:var(--radius-control);min-height:80px}.bon-explorer-section-header{font-size:var(--text-xs);font-weight:700;text-transform:none;letter-spacing:.08em;color:var(--muted);padding:6px 10px 2px}.bon-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:var(--panel);border:1px solid transparent;border-radius:var(--radius-control);cursor:pointer;font-family:inherit;font-size:var(--text-sm);text-align:left;transition:background .12s,border-color .12s,transform .08s}.bon-row:hover{background:#2f66dc12;border-color:#2f66dc40}.bon-row.selected{background:#0f8f771a;border-color:#0f8f7766}.bon-row-folder:hover{transform:translate(2px)}.bon-row-icon{font-size:var(--text-base);flex:0 0 auto}.bon-row-name{flex:1;display:flex;flex-direction:column;color:var(--ink);font-weight:500}.bon-row-sub{color:var(--muted);font-size:var(--text-xs);font-weight:400;margin-top:1px}.bon-row-meta{color:var(--muted);font-size:var(--text-sm);display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.bon-row-badge{background:var(--accent, #0f8f77);color:#fff;padding:2px 8px;border-radius:var(--radius-control);font-size:var(--text-xs);font-weight:600}.bon-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:600;white-space:nowrap;border:1px solid transparent}.bon-badge-ok{background:#1a8c781f;color:var(--ok-ink);border-color:#1a8c784d}.bon-badge-info{background:#2f66dc1f;color:var(--info-ink);border-color:#2f66dc4d}.bon-badge-warn{background:#d9821e24;color:var(--warn-ink);border-color:#d9821e52}.bon-badge-danger{background:#c830301f;color:var(--danger-ink);border-color:#c830304d}.bon-badge-muted{background:#716a631f;color:var(--muted);border-color:#716a634d}.bon-badge-dot{display:inline-flex;align-items:center;gap:6px}.bon-badge-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.bon-stats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.bon-stat{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:96px;padding:10px 14px;background:var(--panel);border:none;border-radius:var(--radius-control);cursor:pointer;font-family:inherit;box-shadow:var(--shadow-sm);border-top:3px solid var(--line-strong);transition:border-color .15s,background .15s,transform .08s}.bon-stat:hover{transform:translateY(-1px);background:var(--panel-hover)}.bon-stat strong{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.1;color:var(--ink)}.bon-stat span{font-size:var(--text-xs);text-transform:none;letter-spacing:.05em;font-weight:600;color:var(--muted)}.bon-stat.active{border-color:var(--line-strong);background:var(--surface-tint);box-shadow:inset 0 0 0 1px var(--line-strong),var(--shadow-sm)}.bon-stat-nouveau{border-top-color:#2f5fd0}.bon-stat-en_cours{border-top-color:#d9821e}.bon-stat-complete{border-top-color:#1c7c46}.bon-stat-annule{border-top-color:#9b948c}.bon-stat-retard{border-top-color:#c2402f}.bon-stat-retard strong{color:var(--danger)}.bon-due{display:inline-flex;align-items:center;padding:1px 8px;border-radius:var(--radius-control);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.bon-due-late{background:#c2402f1a;color:var(--danger)}.bon-due-soon{background:#b26a001a;color:var(--warn)}.bon-due-ok{background:var(--tint);color:var(--ink)}.bon-due-muted{background:transparent;color:var(--muted);font-weight:500}.bon-kanban{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}.bon-kanban-col{background:var(--tint-weak);border:none;border-radius:var(--radius-card);padding:10px;display:flex;flex-direction:column;gap:8px;min-height:160px}.bon-kanban-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 6px;border-bottom:2px solid var(--line);font-weight:600;font-size:var(--text-sm)}.bon-kanban-nouveau .bon-kanban-head{border-bottom-color:#2f5fd0}.bon-kanban-en_cours .bon-kanban-head{border-bottom-color:#d9821e}.bon-kanban-complete .bon-kanban-head{border-bottom-color:#1c7c46}.bon-kanban-annule .bon-kanban-head{border-bottom-color:#9b948c}.bon-kanban-count{background:var(--tint-mid);border-radius:var(--radius-pill);padding:1px 9px;font-size:var(--text-sm);color:var(--muted)}.bon-kanban-cards{display:flex;flex-direction:column;gap:8px;max-height:62vh;overflow-y:auto}.bon-kanban-empty{color:var(--muted);font-size:var(--text-sm);font-style:normal;text-align:center;padding:14px 0}.bon-card{background:var(--panel);border:none;border-left:3px solid var(--line-strong);border-radius:var(--radius-control);padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s,transform .08s}.bon-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.bon-card-p3{border-left-color:#1c7c46}.bon-card-p2{border-left-color:#d9821e}.bon-card-p1{border-left-color:#c2402f}.bon-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.bon-card-id{font-size:var(--text-xs);font-weight:600;text-transform:none;letter-spacing:.04em;color:var(--muted)}.bon-card-target{font-weight:600;font-size:var(--text-sm);line-height:1.3;color:var(--ink)}.bon-card-note{font-size:var(--text-sm);color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bon-card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:2px}.bon-card-advance{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);border-radius:var(--radius-control);padding:4px 10px;font-size:var(--text-sm);font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.bon-card-advance:hover{background:var(--panel-hover)}.bon-card-advance:disabled{opacity:.5;cursor:default}@media (max-width: 1100px){.bon-kanban{grid-template-columns:repeat(2,minmax(0,1fr))}}.bon-row-leaf{cursor:default}.bon-row-leaf input[type=checkbox]{margin-right:4px;cursor:pointer}.bon-row-leaf:has(input[type=checkbox]){cursor:pointer}.bon-row-toggle-all{background:#6366f114;border-color:#6366f140;font-weight:600;cursor:pointer}.bon-row-arrow{color:var(--accent-2, #2f66dc);font-weight:600;margin-left:4px}.bon-target-action{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#2f66dc0f;border:1px dashed rgba(47,102,220,.4);border-radius:var(--radius-control);font-size:var(--text-sm)}.bon-target-action.active{background:#0f8f771f;border-color:#0f8f7780;border-style:solid}.bon-target-action button{white-space:nowrap}.bon-target-banner{display:flex;align-items:center;gap:12px;padding:10px 14px;margin-top:8px;background:#0f8f771f;border:1px solid rgba(15,143,119,.4);border-radius:var(--radius-control);font-size:var(--text-sm)}.bon-target-banner-icon{font-size:var(--text-lg)}.bon-target-banner-text{flex:1}.btn-link{background:none;border:none;color:var(--accent-2);cursor:pointer;text-decoration:underline;font-size:inherit;font-family:inherit;padding:0}.releve-prix-force-badge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:var(--radius-pill);background:#7c3aed1f;color:#7c3aed;font-size:var(--text-xs);font-weight:600;vertical-align:middle}.releve-prix-force-edition{display:flex;flex-direction:column;gap:6px;min-width:160px}.releve-prix-force-edition input{width:100%}.releve-prix-force-actions{display:flex;gap:6px}.releve-prix-force-actions .btn-secondary,.releve-prix-force-actions .btn-primary{margin-top:0;padding:4px 10px;font-size:var(--text-sm)}.formule-cout-edition{display:flex;flex-wrap:wrap;gap:8px}.formule-cout-edition label{display:flex;flex-direction:column;gap:2px;font-size:var(--text-sm);color:var(--muted)}.formule-cout-edition input{width:100px}.formule-cout-actions{display:flex;flex-direction:column;gap:4px}.formule-cout-actions .btn-secondary,.formule-cout-actions .btn-primary{margin-top:0;padding:4px 10px;font-size:var(--text-sm);white-space:nowrap}.folder-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f101380;display:flex;align-items:center;justify-content:center;z-index:3000;padding:16px}.folder-modal{background:var(--panel);border-radius:var(--radius-card);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;padding:20px;box-shadow:0 24px 48px #00000040}.folder-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.folder-modal-header h3,.pyramid-detail-kind,.folder-modal-context,.imm-detail-title{display:flex;align-items:center;gap:.4em}.folder-modal-header h3{margin:0;font-size:var(--text-base)}.folder-modal-close{background:var(--tint);border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:var(--text-sm);color:var(--muted)}.folder-modal-close:hover{background:var(--tint-strong);color:var(--ink)}.folder-modal-context{display:inline-flex;align-items:center;gap:6px;background:#2f66dc12;border:1px solid rgba(47,102,220,.25);padding:6px 12px;border-radius:var(--radius-control);font-size:var(--text-sm);margin-bottom:16px}.folder-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.confirm-modal{max-width:440px}.confirm-modal-message{margin:4px 0 0;color:var(--ink);line-height:1.5;white-space:pre-line}.view-mode-toggle{display:inline-flex;background:var(--tint);border:none;border-radius:var(--radius-pill);padding:3px;gap:2px}.view-mode-btn{border:0;background:transparent;padding:7px 14px;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:500;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease;display:inline-flex;align-items:center;gap:6px}.view-mode-btn:hover{color:var(--ink)}.view-mode-btn.active{background:var(--panel);color:var(--ink);font-weight:600;box-shadow:0 1px 3px #00000014}.pyramid-view{display:flex;flex-direction:column;gap:12px}.pyramid-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;background:var(--panel);border:none;border-radius:var(--radius-control)}.pyramid-search{flex:1;min-width:220px;padding:7px 11px;border:none;border-radius:var(--radius-control);font-size:var(--text-sm);background:var(--panel);color:var(--ink)}.pyramid-search:focus{outline:2px solid rgba(47,102,220,.35);outline-offset:1px}.pyramid-toolbar-btn{padding:6px 12px;font-size:var(--text-sm)}.pyramid-toolbar-spacer{flex:1}.pyramid-toolbar-info{color:var(--muted);font-size:var(--text-sm);white-space:nowrap}.pyramid-toolbar-btn.active{background:#2f66dc1f;border-color:#2f66dc66;color:var(--accent, #2f66dc)}.pyramid-leaf-filter{position:relative}.pyramid-leaf-filter-count{margin-left:4px;font-size:var(--text-sm);opacity:.8}.pyramid-leaf-filter-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;background:var(--panel);border:none;border-radius:var(--radius-control);box-shadow:0 10px 24px #0000001f;padding:8px;min-width:190px;display:flex;flex-direction:column;gap:2px;animation:fadeIn .12s ease-out}.pyramid-leaf-filter-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-control);cursor:pointer;font-size:var(--text-sm);color:var(--ink);-webkit-user-select:none;user-select:none}.pyramid-leaf-filter-item:hover{background:#2f66dc12}.pyramid-leaf-filter-item input[type=checkbox]{width:auto;cursor:pointer}.pyramid-leaf-filter-icon{font-size:var(--text-base);width:1.1em;height:1.1em}.pyramid-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.pyramid-layout.has-detail{grid-template-columns:minmax(0,1fr) 380px}.pyramid-tree-wrap{background:var(--panel);border:none;border-radius:var(--radius-card);padding:10px 6px 16px;max-height:calc(100vh - 240px);overflow:auto}.pyramid-empty{padding:28px;text-align:center;color:var(--muted)}.location-picker{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.location-picker-label-required:after{content:" *";color:var(--danger)}.location-picker-hint{margin:0;font-size:var(--text-sm);color:var(--muted)}.location-picker-selection{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-control);background:#2f66dc1a;border:1px solid rgba(47,102,220,.3)}.location-picker-selection-icon{flex:0 0 auto}.location-picker-selection-text{flex:1 1 auto;font-weight:600;font-size:var(--text-sm)}.location-picker-clear{flex:0 0 auto;border:0;background:transparent;cursor:pointer;color:var(--muted);font-size:var(--text-sm);line-height:1;padding:2px 6px;border-radius:var(--radius-control)}.location-picker-clear:hover{background:var(--tint-mid);color:var(--ink)}.location-picker-tree{background:var(--panel);border:none;border-radius:var(--radius-card);padding:8px 6px;max-height:320px;overflow:auto}.pyramid-row.kind-groupe .pyramid-label,.pyramid-row.kind-immeuble .pyramid-label{font-size:var(--text-base);font-weight:700}.pyramid-row.kind-aile .pyramid-label{font-size:var(--text-base);color:var(--ok-ink);font-weight:600}.pyramid-row.kind-etage_imm .pyramid-label,.pyramid-row.kind-etage_aile .pyramid-label,.pyramid-row.kind-piece .pyramid-label,.pyramid-row.kind-inventaire .pyramid-label,.pyramid-row.kind-locataire .pyramid-label,.pyramid-row.kind-bon .pyramid-label{font-size:var(--text-sm);font-weight:500}.pyramid-tree,.pyramid-children{list-style:none;margin:0;padding:0}.pyramid-children{padding-left:18px;border-left:1px dashed var(--line-strong);margin-left:14px}.pyramid-node{margin:1px 0}.pyramid-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-control);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s ease,transform .12s ease,box-shadow .12s ease;position:relative}.pyramid-row.drop-target{transform:scale(1.035);z-index:2;background:#2f66dc29;outline:2px dashed var(--accent, #2f66dc);outline-offset:1px;box-shadow:0 8px 20px #2f66dc38}.pyramid-row.drop-reject{transform:scale(1.01);background:#dc26261a;outline:2px dashed rgba(220,38,38,.55);outline-offset:1px;cursor:no-drop}.pyramid-row.drop-uploading{background:#2f66dc1a;outline:1px solid rgba(47,102,220,.35)}.pyramid-drop-hint{font-size:var(--text-xs);font-weight:600;color:var(--accent, #2f66dc);background:#2f66dc1f;border-radius:var(--radius-pill);padding:2px 8px;white-space:nowrap}.pyramid-drop-hint.pyramid-drop-hint-no{color:var(--danger-ink);background:#dc26261f}.pyramid-row.clipboard-copier{outline:1px dashed rgba(47,102,220,.6);outline-offset:1px}.pyramid-row.clipboard-couper{outline:1px dashed rgba(120,120,120,.7);outline-offset:1px;opacity:.6}.pyramid-row.reorder-jiggling{outline:1px dashed rgba(217,119,6,.5);outline-offset:1px;touch-action:pan-y;cursor:grab}.pyramid-row.reorder-dragging{opacity:.35;outline:2px dashed rgba(47,102,220,.6);touch-action:none}.pyramid-row.reorder-drop-target{transform:scale(1.035);z-index:2;background:#10a34a29;outline:2px dashed #10a34a;outline-offset:1px;box-shadow:0 8px 20px #10a34a38}.pyramid-reorder-hint{color:var(--accent, #2f66dc);font-weight:600}.pyramid-drag-ghost{position:fixed;z-index:1200;transform:translate(-50%,-125%);display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--panel);border:1px solid var(--accent, #2f66dc);border-radius:var(--radius-control);box-shadow:0 10px 24px #00000038;font-size:var(--text-sm);font-weight:600;color:var(--ink);pointer-events:none;white-space:nowrap}.pyramid-context-menu{position:fixed;z-index:1000;min-width:250px;background:var(--panel);border:none;border-radius:var(--radius-control);box-shadow:0 14px 32px #0000002e;padding:6px;display:flex;flex-direction:column;gap:1px;animation:fadeIn .1s ease-out}.pyramid-context-header{display:flex;align-items:center;gap:8px;padding:6px 8px 2px;font-weight:600;font-size:var(--text-sm)}.pyramid-context-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pyramid-context-sub{padding:0 8px 6px;font-size:var(--text-xs);color:var(--muted)}.pyramid-context-sep{height:1px;background:var(--line);margin:4px 2px}.pyramid-context-menu button{display:flex;align-items:baseline;gap:6px;width:100%;text-align:left;background:none;border:none;border-radius:var(--radius-control);padding:7px 9px;font-size:var(--text-sm);color:inherit;cursor:pointer}.pyramid-context-menu button:hover:not(:disabled){background:#2f66dc1a}.pyramid-context-menu button:disabled{opacity:.45;cursor:default}.pyramid-context-menu button.danger{color:var(--danger-ink)}.pyramid-context-menu button.danger:hover:not(:disabled){background:#dc26261a}.pyramid-context-qty{display:flex;align-items:center;gap:6px;padding:3px 9px 5px;font-size:var(--text-sm);color:var(--muted);cursor:default}.pyramid-context-qty input{width:48px;padding:3px 5px;border:none;border-radius:var(--radius-control);font-size:var(--text-sm);text-align:center}.pyramid-context-hint{margin-left:auto;font-size:var(--text-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}.pyramid-row.can-add:not(.kind-equipement){background:var(--tint)}.pyramid-row:hover{background:#2f66dc12}.pyramid-row.selected{background:#2f66dc24;outline:1px solid rgba(47,102,220,.35)}.pyramid-row.focused-kind{background:linear-gradient(to right,rgba(26,140,120,.1),transparent 65%)}.pyramid-row.focused-kind.selected{background:#2f66dc2e}.pyramid-row.kind-immeuble{background:var(--tint-strong)}.pyramid-row.kind-immeuble:hover{background:var(--tint-heavy)}.pyramid-row.kind-immeuble.selected{background:#2f66dc38;outline:1px solid rgba(47,102,220,.4)}.pyramid-row.kind-aile{background:var(--tint-mid)}.pyramid-row.kind-aile:hover{background:var(--tint-strong)}.pyramid-row.kind-aile.selected{background:#2f66dc2e;outline:1px solid rgba(47,102,220,.38)}.pyramid-row.kind-etage_imm,.pyramid-row.kind-etage_aile{background:var(--tint-weak)}.pyramid-row.kind-etage_imm:hover,.pyramid-row.kind-etage_aile:hover{background:var(--tint-mid)}.pyramid-row.kind-etage_imm.selected,.pyramid-row.kind-etage_aile.selected{background:#2f66dc24;outline:1px solid rgba(47,102,220,.35)}.pyramid-toggle{width:22px;height:22px;border:0;background:transparent;color:var(--muted);font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-control);display:flex;align-items:center;justify-content:center}.pyramid-toggle:hover:not(:disabled){background:var(--tint-mid);color:var(--ink)}.pyramid-toggle:disabled{cursor:default;opacity:.4}.pyramid-icon,.pyramid-context-icon,.pyramid-leaf-filter-icon,.pyramid-add-picker-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted);line-height:0}.pyramid-icon svg,.pyramid-context-icon svg,.pyramid-leaf-filter-icon svg,.pyramid-add-picker-icon svg{width:1.15em;height:1.15em;display:block}.pyramid-icon{font-size:var(--text-base);width:1.2em;height:1.2em}.pyramid-row.kind-immeuble .pyramid-icon{color:var(--accent)}.pyramid-row.kind-aile .pyramid-icon{color:var(--ok-ink)}.pyramid-row.kind-espace .pyramid-icon{color:#8b5e3c}.pyramid-row.kind-equipement .pyramid-icon,.pyramid-row.kind-equipement_groupe .pyramid-icon{color:var(--warn-ink)}.pyramid-label{font-size:var(--text-sm);color:var(--ink);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.pyramid-sub{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.pyramid-badge{font-size:var(--text-xs);color:var(--accent);background:#2f66dc1f;padding:2px 7px;border-radius:var(--radius-pill);white-space:nowrap;font-weight:600}.pyramid-cost-alert{font-size:var(--text-sm);color:#d97706;flex-shrink:0;cursor:help}.pyramid-spacer{flex:1;min-width:4px}.pyramid-select-btn{font-size:var(--text-xs);font-weight:600;color:var(--accent);background:#2f66dc14;border:1px solid rgba(47,102,220,.25);border-radius:var(--radius-pill);padding:3px 10px;white-space:nowrap;cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease}.pyramid-row:hover .pyramid-select-btn{opacity:1}.pyramid-select-btn:hover{background:#2f66dc2e}.pyramid-action{width:24px;height:24px;border:0;background:transparent;border-radius:var(--radius-control);cursor:pointer;color:var(--muted);font-size:var(--text-sm);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.pyramid-row:hover .pyramid-action,.pyramid-row.selected .pyramid-action{opacity:1}.pyramid-action.edit:hover{background:#2f66dc26;color:var(--accent)}.pyramid-action.delete:hover{background:#dc262626;color:var(--danger-ink)}.pyramid-action.add{font-size:var(--text-base);font-weight:600}.pyramid-action.pj{opacity:1;color:var(--accent, #2f66dc)}.pyramid-action.pj:hover{background:#2f66dc26}.pyramid-action.add:hover{background:#0f8f7726;color:var(--accent-2, #0f8f77)}.pyramid-add-picker{max-width:480px}.pyramid-add-picker-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:8px}.pyramid-add-picker-btn{display:flex;align-items:center;gap:10px;padding:12px 14px;border:none;border-radius:var(--radius-control);background:var(--panel);cursor:pointer;text-align:left;transition:border-color .12s ease,background .12s ease,transform .08s ease}.pyramid-add-picker-btn:hover{border-color:var(--accent, #2f66dc);background:#2f66dc0d;transform:translateY(-1px)}.pyramid-add-picker-icon{font-size:var(--text-lg);width:1.5em;height:1.5em}.pyramid-add-picker-label{font-size:var(--text-sm);color:var(--ink)}.pyramid-detail-wrap{background:var(--panel);border:none;border-radius:var(--radius-card);padding:14px;position:sticky;top:12px;max-height:calc(100vh - 240px);overflow:auto}.pyramid-detail-empty{text-align:center;padding:30px 10px}.pyramid-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px;border-bottom:1px solid var(--line);padding-bottom:12px}.pyramid-detail-kind{font-size:var(--text-xs);font-weight:700;color:var(--muted);text-transform:none;letter-spacing:.06em}.pyramid-detail-title{font-size:var(--text-base);font-weight:600;color:var(--ink);margin-top:4px;word-break:break-word}.pyramid-detail-code{margin-top:2px;font-size:var(--text-sm);color:var(--muted);font-variant-numeric:tabular-nums;word-break:break-all}.pyramid-detail-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.pyramid-detail-actions .btn-secondary,.pyramid-detail-actions .btn-danger{padding:5px 10px;font-size:var(--text-sm)}@media (max-width: 980px){.home-page{padding:16px}.home-topbar{gap:10px;flex-wrap:wrap}.home-hero{padding:20px}.app{flex-direction:column}.sidebar,.sidebar.collapsed{width:100%;height:auto;position:static;flex-direction:row;padding:0 12px 12px;overflow-x:auto;align-items:center;gap:10px}.sidebar-brand{display:none}.sidebar-nav{flex-direction:row;flex:1;min-width:0;padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.sidebar-item{flex:none}.main-content{min-width:0}.sidebar-footer{margin-top:0;padding:0;border-top:0;flex-shrink:0}.sidebar-home-btn{width:auto;white-space:nowrap}.main-content{max-height:none;padding:16px}.grid,.fin-kpi-grid,.vue-ensemble-grid{grid-template-columns:1fr}.fin-cat-row{grid-template-columns:130px 1fr 90px}.optim-result-grid{grid-template-columns:1fr 1fr}.pyramid-layout,.pyramid-layout.has-detail{grid-template-columns:1fr}.pyramid-detail-wrap{position:static;max-height:60vh}}.releve-view{display:flex;flex-direction:column;gap:12px;padding-bottom:90px}.releve-intro h2{margin-bottom:6px}.releve-intro p{color:var(--muted);max-width:640px}.releve-search{width:100%;padding:12px 14px;font-size:var(--text-base);border:1.5px solid var(--line);border-radius:var(--radius-control);font-family:inherit;background:var(--panel)}.releve-search:focus{outline:none;border-color:var(--accent)}.releve-immeuble-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.releve-immeuble-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;border:1.5px solid var(--line);border-radius:var(--radius-card);background:var(--panel);cursor:pointer;font-family:inherit;text-align:left;transition:border-color .12s,transform .06s}.releve-immeuble-btn:hover{border-color:var(--accent)}.releve-immeuble-btn:active{transform:scale(.98)}.releve-immeuble-nom{font-weight:600;font-size:var(--text-base)}.releve-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border:none;border-radius:var(--radius-card)}.releve-back{font-size:var(--text-base);padding:8px 14px;flex-shrink:0}.releve-header-title{display:flex;flex-direction:column;gap:2px;min-width:0}.releve-header-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.releve-header-loc{color:var(--accent);font-size:var(--text-sm);font-weight:600}.releve-header-unite{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}.releve-unite-badge{font-size:var(--text-sm);font-weight:600;color:var(--warn-ink);background:#f59e0b24;border:1px solid rgba(245,158,11,.35);border-radius:var(--radius-pill);padding:4px 10px;white-space:nowrap}.releve-unite-edit{font-size:var(--text-sm);padding:6px 12px}.releve-unite-form{padding-top:0;align-items:center}.releve-chip-unite{margin-left:4px;font-weight:700;opacity:.85}.releve-location-check{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:600;white-space:nowrap;cursor:pointer}.releve-location-check input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer}.releve-location-field{display:flex;align-items:center;gap:10px}.releve-unite-input{max-width:110px}.releve-location-field input[type=text]:disabled,.releve-unite-input:disabled{opacity:.45;cursor:not-allowed}.releve-loc-bar{display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--panel);border:none;border-radius:var(--radius-card)}.releve-chip-row{display:flex;flex-wrap:wrap;gap:8px}.releve-chip{padding:10px 14px;border:1.5px solid var(--line);border-radius:var(--radius-pill);background:var(--panel);font-family:inherit;font-size:var(--text-sm);cursor:pointer;transition:border-color .12s,background .12s,transform .06s;white-space:nowrap}.releve-chip:active{transform:scale(.96)}.releve-chip.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.releve-chip-espace{font-size:var(--text-sm);padding:8px 12px}.releve-chip-add{border-style:dashed;color:var(--accent);font-weight:600}.releve-espace-form{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.releve-espace-form select{padding:10px;border:1.5px solid var(--line);border-radius:var(--radius-control);font-family:inherit;font-size:var(--text-sm);min-width:170px}.releve-catalog{display:flex;flex-direction:column;gap:12px}.releve-cat-group{display:flex;flex-direction:column;gap:8px}.releve-cat-title{color:var(--muted);font-size:var(--text-sm);text-transform:none;letter-spacing:.06em}.releve-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.releve-type-btn{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 12px;min-height:58px;border:1.5px solid var(--line);border-radius:var(--radius-card);background:var(--panel);font-family:inherit;cursor:pointer;text-align:left;transition:border-color .12s,transform .06s,background .12s;-webkit-user-select:none;user-select:none}.releve-type-btn:active{transform:scale(.95);background:#2f66dc0f}.releve-type-btn:hover{border-color:var(--accent)}.releve-type-btn.has-count{border-color:var(--accent);background:#2f66dc0f}.releve-type-name{font-weight:600;font-size:var(--text-sm)}.releve-type-energy{color:var(--muted);font-size:var(--text-sm)}.releve-type-count{position:absolute;top:-8px;right:-6px;min-width:26px;height:26px;padding:0 6px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:700;box-shadow:0 1px 4px #00000040}.releve-panier{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--panel);border-top:1.5px solid var(--line);box-shadow:0 -4px 18px #0000001f}@media (min-width: 901px){.releve-panier{left:240px}}.releve-panier-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px}.releve-panier-toggle{background:none;border:none;font-family:inherit;font-size:var(--text-base);font-weight:700;cursor:pointer;padding:8px 4px}.releve-save-btn{font-size:var(--text-base);padding:12px 22px;border-radius:var(--radius-control)}.releve-panier-lines{max-height:45vh;overflow-y:auto;padding:10px 16px 0;display:flex;flex-direction:column;gap:8px}.releve-panier-line{border:none;border-radius:var(--radius-control);padding:8px 10px;display:flex;flex-direction:column;gap:6px}.releve-panier-line-main{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.releve-panier-line-info{display:flex;flex-direction:column;gap:2px;min-width:0}.releve-panier-line-loc{color:var(--muted);font-size:var(--text-sm)}.releve-panier-line-qty{display:flex;align-items:center;gap:6px;flex-shrink:0}.releve-qty-btn{width:38px;height:38px;border:1.5px solid var(--line);border-radius:var(--radius-control);background:var(--panel);font-size:var(--text-lg);font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center}.releve-qty-btn:active{transform:scale(.92)}.releve-qty-del{color:var(--danger-ink)}.releve-qty-note{font-size:var(--text-sm)}.releve-qty-input{width:58px;height:38px;text-align:center;border:1.5px solid var(--line);border-radius:var(--radius-control);font-family:inherit;font-size:var(--text-base);font-weight:700}.releve-note-input{width:100%;padding:8px 10px;border:none;border-radius:var(--radius-control);font-family:inherit;font-size:var(--text-sm)}.releve-qty-fiche{font-size:var(--text-sm)}.releve-qty-fiche.rempli{background:var(--accent, #2563eb);border-color:var(--accent, #2563eb);color:#fff}.releve-questionnaire{margin-top:10px;padding:12px;border:none;border-radius:var(--radius-control);background:var(--tint-weak)}.releve-questionnaire-hint{font-size:var(--text-sm);color:var(--muted);margin-bottom:10px}@media (max-width: 900px){.releve-view{padding-bottom:110px}.releve-header{top:0}.releve-type-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.releve-picker-actions{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}.releve-picker-actions .releve-search{flex:1 1 240px}.releve-new-imm-btn{flex-shrink:0;white-space:nowrap;padding:12px 18px}.releve-new-imm-form{display:flex;flex-direction:column;gap:12px;padding:16px;border:1.5px solid var(--accent);border-radius:var(--radius-card)}.releve-new-imm-form h4{margin:0}.releve-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.releve-field{display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm);font-weight:600}.releve-field small{color:var(--muted);font-weight:400}.releve-field input,.releve-field select{padding:10px;border:1.5px solid var(--line);border-radius:var(--radius-control);font-family:inherit;font-size:var(--text-sm);font-weight:400}.releve-field input:focus,.releve-field select:focus{outline:none;border-color:var(--accent)}.releve-inline-input{padding:10px;border:1.5px solid var(--line);border-radius:var(--radius-control);font-family:inherit;font-size:var(--text-sm);min-width:220px;flex:1 1 220px}.releve-inline-input:focus{outline:none;border-color:var(--accent)}.list-search-bar{display:flex;align-items:center;gap:10px;margin-bottom:16px}.list-search-input{flex:1 1 320px;max-width:420px;padding:9px 14px;border:none;border-radius:var(--radius-control);font-size:var(--text-sm);background:var(--card)}.list-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2f66dc1f}.list-search-count{font-size:var(--text-sm);color:var(--muted);white-space:nowrap}.pyramid-row.kind-equipement .pyramid-label{color:var(--warn-ink);font-weight:600;font-size:var(--text-sm)}.pyramid-row.kind-equipement_groupe{background:#e67e220f;border:1px dashed rgba(230,126,34,.35)}.pyramid-row.kind-equipement_groupe:hover{background:#e67e2224}.pyramid-row.kind-equipement_groupe.selected{background:#e67e2233}.pyramid-row.kind-equipement_groupe .pyramid-label{color:var(--warn-ink);font-weight:600;font-style:normal;font-size:var(--text-sm)}.pyramid-groupe-detail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pyramid-groupe-detail-item{width:100%;display:flex;align-items:center;gap:8px;padding:8px 12px;border:none;border-radius:var(--radius-control);background:var(--card);cursor:pointer;text-align:left;font-size:var(--text-sm)}.pyramid-groupe-detail-item:hover{border-color:var(--accent, #2f66dc);background:#2f66dc0f}.pj-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.pj-quota-text{font-size:var(--text-sm);color:var(--muted);white-space:nowrap}.pj-quota-bar{height:6px;border-radius:var(--radius-control);background:var(--tint-mid);overflow:hidden;margin-bottom:6px}.pj-quota-fill{height:100%;border-radius:var(--radius-control);transition:width .2s ease,background .2s ease}.pj-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pj-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:none;border-radius:var(--radius-control);background:var(--card)}.pj-icon{font-size:var(--text-base)}.pj-name{flex:1;color:var(--accent);text-decoration:none;word-break:break-all}.pj-name:hover{text-decoration:underline}.pj-size{font-size:var(--text-sm);color:var(--muted);white-space:nowrap}.pj-dropzone{margin:12px 0;padding:18px 12px;border:2px dashed var(--line);border-radius:var(--radius-control);background:var(--tint-weak);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.pj-dropzone:hover{border-color:var(--accent, #2f66dc)}.pj-dropzone-active{border-color:var(--accent, #2f66dc);background:#2f66dc14}.pj-dropzone-icon{font-size:var(--text-hero)}.pj-dropzone-text{font-size:var(--text-sm);color:var(--muted)}.dash-view{gap:20px}.dash-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.dash-title{margin:0;font-family:var(--font-display, inherit);font-size:var(--text-hero);font-weight:700;color:var(--ink)}.dash-section{display:flex;flex-direction:column;gap:12px}.dash-section>h3{margin:4px 0 0;font-size:var(--text-base);font-weight:700;color:var(--ink)}.dash-section>h4{margin:4px 0 0;font-size:var(--text-sm);font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px}.dash-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:var(--radius-control);background:#dc2626;color:#fff;font-size:var(--text-sm);font-weight:700}.dash-kpi-futur:before{background:#8b5cf6}.dash-kpi-parc:before{background:#0ea5e9}.dash-bons-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.dash-bon-nouveau:before{background:#3b82f6}.dash-bon-encours:before{background:#f59e0b}.dash-bon-retard:before{background:#dc2626}.dash-bon-annule:before{background:#9ca3af}.dash-bon-complete:before{background:#16a34a}.dash-table-wrap{overflow-x:auto;border:none;border-radius:var(--radius-card);background:var(--panel)}.dash-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.dash-table thead th{text-align:left;padding:10px 14px;font-size:var(--text-xs);text-transform:none;letter-spacing:.05em;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);white-space:nowrap}.dash-table tbody td{padding:9px 14px;border-bottom:1px solid var(--line);color:var(--ink)}.dash-table tbody tr:last-child td{border-bottom:none}.dash-table tbody tr:hover{background:var(--tint-weak)}.dash-td-nom{font-weight:600}.dash-td-retard{color:var(--danger-ink);font-weight:600}.dash-occ-ratio{font-weight:600}.dash-occ-pct{color:var(--muted)}.dash-prio{display:inline-block;padding:2px 9px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;text-transform:capitalize}.dash-prio-aucune{background:var(--neutral-bg);color:var(--neutral-ink)}.dash-prio-p3{background:#3b82f624;color:var(--info-ink)}.dash-prio-p2{background:#f59e0b29;color:var(--warn-ink)}.dash-prio-p1{background:#dc262624;color:var(--danger-ink)}@media (max-width: 720px){.dash-bons-grid{grid-template-columns:repeat(2,1fr)}}.reference-panel{display:flex;flex-direction:column;gap:28px}.reference-root-actions{display:flex;align-items:center;gap:8px}.reference-section-title{margin:0 0 12px;font-size:var(--text-base);color:var(--muted)}.reference-root-title{display:flex;align-items:center;gap:8px}.reference-flat-tables{border-top:1px solid var(--line);padding-top:20px}.reference-flat-toggle{display:inline-flex;align-items:center;gap:8px;border:none;background:transparent;padding:4px 0;font-family:inherit;font-size:var(--text-base);font-weight:600;color:var(--ink);cursor:pointer}.reference-flat-toggle-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--radius-pill);background:var(--tint-mid);color:var(--muted);font-size:var(--text-xs);font-weight:600}.reference-flat-tables .form-section-note{margin:6px 0 16px}.reference-missing-tag{font-size:var(--text-xs);font-weight:600;color:var(--warn-ink);background:#d9770624;padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap}.reference-complete-tag{font-size:var(--text-xs);font-weight:600;color:var(--ok-ink);background:#1a7f5a1f;padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap}.pyramid-row .pyramid-action:disabled{opacity:.3;cursor:not-allowed}.reference-fiche-page{max-width:720px}.reference-fiche-body{padding-right:4px}.reference-fiche-section{margin-top:18px}.reference-fiche-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.reference-fiche-section-head h4{margin:0;font-size:var(--text-sm);text-transform:none;letter-spacing:.06em;color:var(--muted)}.reference-fiche-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 18px;margin:0}.reference-fiche-field dt{font-size:var(--text-xs);text-transform:none;letter-spacing:.04em;color:var(--muted)}.reference-fiche-field dd{margin:2px 0 0;font-size:var(--text-sm)}.reference-fiche-rels{display:flex;flex-direction:column;gap:10px}.reference-fiche-rel{border:none;border-radius:var(--radius-control);padding:10px 12px}.reference-fiche-rel.missing{background:#d9770612;border:1px dashed rgba(217,119,6,.4)}.reference-fiche-rel-head{display:flex;align-items:center;gap:8px}.reference-fiche-rel-title{font-size:var(--text-sm);text-transform:none;letter-spacing:.04em;font-weight:600;color:var(--muted)}.reference-fiche-rel-hint{font-size:var(--text-xs);color:var(--muted)}.reference-fiche-rel-head .btn-secondary{padding:4px 12px;font-size:var(--text-sm)}.reference-fiche-rel-empty{margin:6px 0 0;font-size:var(--text-sm);color:var(--muted)}.reference-fiche-rel .reference-missing-tag{display:inline-block;margin-top:6px}.reference-fiche-rel-items{list-style:none;margin:6px 0 0;padding:0}.reference-fiche-rel-item{display:flex;align-items:center;gap:6px;padding:4px 0}.reference-fiche-rel-item:hover .pyramid-action{opacity:1}.reference-fiche-rel-value{font-size:var(--text-sm)}.reference-fiche-rel-attrs{display:block;font-size:var(--text-xs);color:var(--muted)}.ref-picker-modal{max-width:560px}.ref-picker-search{display:flex;align-items:center;gap:8px;margin-bottom:10px}.ref-picker-search .list-search-input{flex:1}.ref-picker-list{max-height:52vh;overflow-y:auto;border:none;border-radius:var(--radius-control)}.ref-picker-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;font-size:var(--text-sm);cursor:pointer}.ref-picker-item:last-child{border-bottom:0}.ref-picker-item:hover:not(:disabled){background:#2f66dc14}.ref-picker-item:disabled{cursor:progress}.ref-picker-item.selected{background:#0f8f771a;font-weight:600}.ref-picker-check{width:14px;flex:none;color:var(--accent-2, #0f8f77)}.ref-picker-label{flex:1}.ref-picker-busy{color:var(--muted)}.reference-wizard-modal{max-width:720px}.reference-wizard-section{margin:22px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--line);font-size:var(--text-sm)}.reference-wizard-section small{font-weight:400;color:var(--muted)}.reference-niveau{margin-bottom:14px}.reference-niveau-nouveau{display:flex;align-items:center;gap:8px;margin-top:4px}.reference-niveau-or{font-size:var(--text-sm);color:var(--muted);white-space:nowrap}.reference-niveau-nouveau input{flex:1;min-width:0}.reference-niveau-code{max-width:110px}.reference-source-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.reference-source-item{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);font-size:var(--text-sm);cursor:pointer}.reference-source-item.checked{border-color:var(--accent);background:#2f66dc1a}.reference-source-item input:disabled{cursor:not-allowed}.reference-entretien-card{border:none;border-radius:var(--radius-control);padding:14px 16px 8px;margin-bottom:12px;background:var(--surface-tint)}.reference-entretien-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.reference-entretien-card-header .btn-secondary{margin-top:0;padding:4px 12px;font-size:var(--text-sm)}.reference-entretien-add{margin:0 0 8px}.reference-chips{margin-top:8px}.reference-chip-remove{padding:0;border:0;background:none;color:var(--muted);font-size:var(--text-sm);line-height:1;cursor:pointer}.reference-chip-remove:hover{color:var(--danger, #c0392b)}@media (max-width: 720px){.reference-niveau-nouveau{flex-wrap:wrap}}.gest-choix-entete{margin-bottom:18px}.gest-choix-aide{color:var(--muted);font-size:var(--text-sm);margin-top:4px}.gest-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:14px}.gest-carte{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:16px;background:var(--panel);border:none;border-radius:var(--radius-card);box-shadow:var(--shadow-sm);cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}.gest-carte:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.gest-carte-nom{font-family:var(--font-display);font-size:var(--text-base);font-weight:600}.gest-carte-mail{color:var(--muted);font-size:var(--text-sm)}.gest-carte-portee{color:var(--muted);font-size:var(--text-sm);text-transform:none;letter-spacing:.04em;margin-top:4px}.gest-carte-compte{margin-top:6px;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:600;background:#2f5fd01a;color:var(--accent)}.gest-carte-compte.vide{background:#c2402f1a;color:var(--danger)}.gest-barre{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 16px;margin-bottom:16px;background:var(--panel);border:none;border-radius:var(--radius-control)}.gest-identite{display:flex;flex-direction:column;gap:2px}.gest-identite-nom{font-family:var(--font-display);font-weight:600}.gest-identite-portee{color:var(--muted);font-size:var(--text-sm)}.gest-contenu{margin-top:16px}.tabs.gest-nav{border-bottom-width:2px}.tabs.gest-nav .tab{font-family:var(--font-display);font-size:var(--text-base)}.trav-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:12px 0 22px}.trav-kpi{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--panel);border:none;border-radius:var(--radius-control)}.trav-kpi-label{color:var(--muted);font-size:var(--text-sm);text-transform:none;letter-spacing:.04em}.trav-kpi-heures{font-family:var(--font-display);font-size:var(--text-hero);font-weight:600}.trav-kpi-cout{color:var(--accent);font-weight:600}.trav-bons-entete{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:10px}.trav-compte{margin-left:10px;padding:2px 9px;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;background:#2f5fd01a;color:var(--accent)}.trav-bascule{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--text-sm);cursor:pointer}.trav-bon{padding:14px 16px;margin-bottom:12px;background:var(--panel);border:none;border-radius:var(--radius-control)}.trav-bon-entete{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.trav-bon-titre{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.trav-bon-lieu{margin:6px 0 0;color:var(--muted);font-size:var(--text-sm)}.trav-bon-chiffres{display:flex;gap:20px;flex-wrap:wrap;margin-top:8px;font-size:var(--text-sm);color:var(--muted)}.trav-bon-chiffres strong{color:var(--text)}.trav-bon-saisie{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.trav-form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:8px}.trav-form .field{margin:0}.trav-form-notes{flex:1;min-width:180px}.trav-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.trav-table th,.trav-table td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--line)}.trav-table th{color:var(--muted);font-weight:600}.imm-photo-th{width:56px}.imm-photo-cell{width:56px;padding:6px!important}.imm-photo-thumb{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:var(--radius-control);background:var(--bg);overflow:hidden;cursor:pointer;transition:border-color .15s}.imm-photo-thumb:hover{border-color:var(--accent)}.imm-photo-thumb:disabled{cursor:wait}.imm-photo-thumb img{width:100%;height:100%;object-fit:cover}.imm-photo-placeholder{font-size:var(--text-base);opacity:.5}.imm-photo-spinner{width:16px;height:16px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:imm-photo-spin .7s linear infinite}@keyframes imm-photo-spin{to{transform:rotate(360deg)}}.imm-detail-photo-btn{display:flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;border:none;border-radius:var(--radius-control);background:var(--bg);overflow:hidden;cursor:pointer;transition:border-color .15s}.imm-detail-photo-btn:hover{border-color:var(--accent)}.imm-detail-photo-btn:disabled{cursor:wait}.imm-detail-photo-btn img{width:100%;height:100%;object-fit:cover}.imm-detail-photo-placeholder{font-size:var(--text-hero);opacity:.5}.imm-detail-photo{flex:0 0 auto}@media (max-width: 720px){.imm-detail-photo-btn{width:96px;height:96px}}body{font-size:var(--text-base);line-height:1.5}h1{font-size:var(--text-hero);font-weight:var(--weight-bold);letter-spacing:-.02em;line-height:1.15}h2{font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.01em}h3,h4{font-size:var(--text-base);font-weight:var(--weight-bold);letter-spacing:0}.page-title,.imm-detail-title{font-size:var(--text-hero);font-weight:var(--weight-bold);letter-spacing:-.02em}.hero-number{font-size:var(--text-hero);font-weight:var(--weight-bold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}.hero-sub{font-size:var(--text-sm);color:var(--muted)}.pyramid-detail-kind,.imm-info-key,.home-label{letter-spacing:0;font-weight:var(--weight-normal);color:var(--muted)}.main-content{padding:28px 32px}.panel{padding:24px;margin-bottom:16px}th,td{padding:14px 18px}.field{margin-bottom:18px}.panel,.table-wrap,.folder-modal,.pyramid-tree-wrap,.pyramid-detail-wrap,.gest-cartes>*,.imm-info-card{border:none;border-radius:var(--radius-card);background:var(--panel);box-shadow:var(--shadow-md)}.form-section-note,.folder-modal-context,.home-label,.pyramid-toolbar-info{border:none;background:var(--tint-weak);border-radius:var(--radius-control);color:var(--muted);font-size:var(--text-sm)}.form-section-title{border-bottom:none;padding-bottom:0;font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--ink)}body{background:var(--bg)}.home-pattern{display:none}.home-hero h1{font-size:var(--text-hero)}.home-page{background:linear-gradient(165deg,#080e1ac7,#0a10189e 45%,#060a10e0),url(/assets/home-bg-quebec-DzAX2KSr.png) center 30% / cover no-repeat fixed;color:#ffffffeb}.home-hero{background:#12141a8c;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-card);box-shadow:0 20px 60px #00000059;color:#ffffffeb}.home-hero h1,.home-hero>p{color:#ffffffeb}.home-hero>p{color:#ffffffb8}.home-label{background:#ffffff24;color:#ffffffeb}.home-actions .btn-secondary,.home-topbar-actions .btn-secondary{background:#ffffff14;border-color:#ffffff3d;color:#ffffffeb}.home-actions .btn-secondary:hover:not(:disabled),.home-topbar-actions .btn-secondary:hover:not(:disabled){background:#ffffff29}.home-portal-card{background:#12141a80;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(255,255,255,.14)}.home-portal-card:hover:not(:disabled){background:#12141aa8;border-color:#ffffff59;box-shadow:0 16px 40px #00000059}.home-portal-label{color:#fffffff2}.home-portal-desc{color:#ffffffa6}.home-hero .notice.success{color:#7fd6b6;border-color:#0f8f7773}.home-hero .notice.error{color:#efaba2;border-color:#c2402f73}.home-hero .notice.warn{color:#e8c48a;border-color:#d9770673}@media (max-width: 720px){.home-page{background-attachment:scroll}}.sidebar{background:var(--panel);color:var(--ink);box-shadow:inset -1px 0 0 var(--line)}.sidebar-item{color:var(--muted);font-size:var(--text-sm);border-radius:var(--radius-control)}.sidebar-item:hover{background:var(--tint);color:var(--ink)}.sidebar-item.active{background:var(--tint-mid);box-shadow:none;color:var(--ink);font-weight:var(--weight-bold)}.sidebar-footer{border-top:1px solid var(--line)}.sidebar-toggle,.sidebar-home-btn{border:none;background:var(--tint);color:var(--muted);border-radius:var(--radius-control)}.sidebar-toggle:hover,.sidebar-home-btn:hover{background:var(--tint-mid);color:var(--ink)}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-ink);border:none;border-radius:var(--radius-pill);padding:11px 22px;font-size:var(--text-sm);font-weight:var(--weight-bold);box-shadow:none}.btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.btn-secondary,.btn-danger{background:var(--tint);border:none;border-radius:var(--radius-pill);padding:11px 20px;font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--ink);box-shadow:none}.btn-secondary:hover:not(:disabled),.btn-danger:hover:not(:disabled){background:var(--tint-mid)}select,input,textarea{border:1px solid transparent;background:var(--tint-weak);border-radius:var(--radius-control);font-size:var(--text-base);padding:11px 14px}select:focus,input:focus,textarea:focus{background:var(--panel);border-color:var(--line-strong)}input::placeholder,textarea::placeholder{color:var(--faint)}table{font-size:var(--text-sm)}th{background:var(--panel);border-bottom:1px solid var(--line-strong);text-transform:none;letter-spacing:0;font-size:var(--text-xs);font-weight:var(--weight-normal);color:var(--muted)}td{border-bottom:1px solid var(--line);color:var(--ink)}tbody td:first-child{font-weight:600}tbody tr:nth-child(2n){background:transparent}tbody tr{transition:background .12s ease}tbody tr.row-clickable:hover,tbody tr:hover{background:var(--tint-weak)}.table-wrap,.related-table-body{box-shadow:var(--shadow-sm);transition:box-shadow .15s ease}.table-wrap:hover,.related-table-body:hover{box-shadow:var(--shadow-md)}.tabs{border-bottom:1px solid var(--line)}.tabs-lvl1,.tabs-lvl2,.tabs-lvl3{background:transparent;border-radius:0;padding:0}.tab{color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-normal)}.tabs-lvl1 .tab{font-size:var(--text-base)}.tab.active,.tabs-lvl1 .tab.active,.tabs.gest-nav .tab.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:var(--weight-bold)}.notice,.badge-annule,.badge,.pyramid-badge{border:none;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-bold)}.notice{border-radius:var(--radius-control);font-size:var(--text-sm);font-weight:var(--weight-normal);padding:12px 16px}.pyramid-badge{background:var(--tint);color:var(--muted)}.pyramid-row.kind-aile .pyramid-label,.pyramid-row.kind-equipement .pyramid-label,.pyramid-row.kind-groupe .pyramid-label,.pyramid-row.kind-immeuble .pyramid-label{color:var(--ink)}.pyramid-row.kind-immeuble .pyramid-icon,.pyramid-row.kind-aile .pyramid-icon,.pyramid-row.kind-espace .pyramid-icon,.pyramid-row.kind-equipement .pyramid-icon,.pyramid-row.kind-equipement_groupe .pyramid-icon{color:var(--muted)}.pyramid-row.kind-immeuble,.pyramid-row.kind-aile,.pyramid-row.kind-etage_imm,.pyramid-row.kind-etage_aile,.pyramid-row.kind-equipement_groupe{background:transparent;border:none}.pyramid-row:hover{background:var(--tint-weak)}.pyramid-row.selected,.pyramid-row.focused-kind.selected{background:var(--tint-mid);color:var(--ink)}.pyramid-composante-c{flex-shrink:0;margin-left:-6px;align-self:flex-start;font-size:10px;font-weight:var(--weight-bold);line-height:1;color:var(--muted)}.empty,.pyramid-sub,.imm-detail-subtitle,.form-section-note,.field small{color:var(--muted);font-style:normal;font-size:var(--text-sm)}.rfv-section{display:flex;flex-direction:column;gap:10px}.rfv-section>h3{margin-top:14px}.finances-panel>.rfv-section{margin-bottom:28px}.rfv-section>h2{margin:0;padding:14px 18px;background:var(--accent-soft);border-radius:var(--radius-control);font-size:var(--text-lg);color:var(--ink)}.rfv-bilan{display:flex;flex-direction:column;gap:4px;margin-bottom:0}.rfv-totaux{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px 32px;margin-top:20px}.rfv-total dt{font-size:var(--text-sm);color:var(--muted)}.rfv-total dd{display:flex;flex-direction:column;margin:0}.rfv-total-valeur{font-size:var(--text-base);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.rfv-total-valeur.pos{color:var(--ok-ink)}.rfv-total-valeur.neg{color:var(--danger-ink)}.rfv-sub{color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-normal)}.rfv-alerte{color:var(--danger-ink);font-size:var(--text-sm)}.rfv-attention{color:var(--warn-ink);font-size:var(--text-sm)}.rfv-pastille{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-bold);white-space:nowrap}.rfv-pastille-neutre{background:var(--tint-mid);color:var(--muted)}.rfv-pastille-warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn-ink)}.rfv-pastille-danger{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger-ink)}.rfv-pastille-clicable{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;font:inherit;cursor:pointer}.rfv-pastille-clicable:hover{filter:brightness(1.08)}.rfv-table-wrap{overflow-x:auto}.rfv-table td{vertical-align:top}.rfv-table td:nth-child(3),.rfv-table td:nth-child(4){font-variant-numeric:tabular-nums}.rfv-chevron{display:inline-block;width:16px;color:var(--faint);font-weight:var(--weight-normal)}.rfv-table td.rfv-detail-cellule{background:var(--tint-weak);padding:0;font-weight:var(--weight-normal);white-space:normal}.rfv-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:12px 32px;padding:16px 18px}.rfv-detail>div{min-width:0}.rfv-detail dt{font-size:var(--text-sm);color:var(--muted)}.rfv-detail dd{margin:0;font-size:var(--text-sm);overflow-wrap:break-word}.rfv-mois{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0}.rfv-mois input{width:90px}.sim-parametres{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;font-size:var(--text-sm)}.sim-parametres .rfv-mois{margin:0}.sim-parametres .notice{flex-basis:100%}.sim-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:12px}.sim-carte{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:10px;margin:0;padding:14px 16px;min-width:0}.sim-carte:hover{background:var(--surface-tint)}.sim-carte.active{background:var(--accent-soft);box-shadow:var(--shadow-md),0 0 0 1px var(--accent) inset}.sim-carte-titre{display:flex;flex-direction:column;gap:2px;min-width:0}.sim-carte-titre strong{font-size:var(--text-base);overflow-wrap:anywhere}.sim-carte-titre .rfv-pastille{align-self:flex-start;margin-top:4px}.sim-carte-chiffres{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0}.sim-carte-chiffres dt{font-size:var(--text-xs);color:var(--muted)}.sim-carte-chiffres dd{margin:0;font-size:var(--text-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.sim-details{display:flex;flex-direction:column;gap:12px;margin-bottom:0}.sim-bloc{display:flex;flex-direction:column;gap:10px;margin-top:20px}.sim-bloc>.sim-details{margin:0}.sim-bloc h3{margin:0;font-size:var(--text-lg);color:var(--ink)}.sim-bloc>.sim-details-tete{padding:14px 18px;background:var(--accent-soft);border-radius:var(--radius-control);align-items:center}.sim-details-tete>div:first-child{display:flex;flex-direction:column;gap:4px;flex:1 1 280px;min-width:0}.sim-details h4{margin:24px 0 0;padding:10px 14px;background:var(--tint-mid);border-radius:var(--radius-control);font-size:var(--text-base);color:var(--ink);font-weight:var(--weight-bold)}.sim-details h4:first-of-type{margin-top:12px}.sim-details h5{margin:8px 0 0;font-size:var(--text-sm);color:var(--ink);font-weight:var(--weight-bold)}.sim-details .rfv-detail dd,.sim-details .rfv-detail dt{font-size:var(--text-sm)}.sim-details .rfv-detail dt{color:var(--ink);opacity:.75}.sim-couts-forces{display:flex;flex-direction:column;gap:4px}.sim-couts-forces .rfv-mois{margin:2px 0}.sim-couts-forces .btn-secondary{margin:0}.sim-details>.btn-secondary{align-self:flex-start;margin-top:0}.sim-details-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.sim-details-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.sim-details-actions .btn-secondary{margin-top:0}.sim-details-remplacement-total{display:flex;flex-direction:column;align-items:flex-end;min-width:150px;font-variant-numeric:tabular-nums}.sim-details-remplacement-total span{color:var(--muted);font-size:var(--text-xs)}.sim-details-remplacement-total strong{color:var(--ink);font-size:var(--text-lg)}.sim-details .rfv-detail{padding:0}.sim-interventions .interv-ligne:first-child{border-top:0}.sim-interventions .btn-secondary{margin:4px 0 0}.sim-resultat{display:flex;flex-direction:column;align-items:flex-end;font-variant-numeric:tabular-nums}.sim-resultat>span{font-weight:var(--weight-bold)}.sim-calculs{font-size:var(--text-sm);display:flex;flex-direction:column;gap:6px}.sim-calculs p{margin:0}.sim-projection td{font-variant-numeric:tabular-nums}.sim-projection td:first-child{font-weight:var(--weight-bold)}.sim-projection tr.sim-annee-courante td{background:var(--tint-weak)}.sim-projection tr.sim-annee-paiement td{background:color-mix(in srgb,var(--warn) 10%,transparent)}.reference-planif{background:var(--surface-tint);border-radius:var(--radius-control);padding:10px 12px;margin:6px 0;font-size:var(--text-sm)}.reference-planif table{width:100%;border-collapse:collapse}.reference-planif th{text-align:left;font-weight:500;color:var(--muted);padding:4px 6px;font-size:var(--text-xs)}.reference-planif td{padding:4px 6px;vertical-align:top}.reference-planif small{color:var(--muted)}.reference-planif-calcul{margin-top:8px;display:flex;flex-direction:column;gap:4px}.reference-planif-calcul p{margin:0}.description-immeuble-vignettes{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.description-immeuble-vignette{display:block;width:88px;height:88px;border-radius:8px;overflow:hidden;border:1px solid var(--border, #e5e7eb);background:var(--surface-2, #f3f4f6)}.description-immeuble-vignette img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .15s ease}.description-immeuble-vignette:hover img{transform:scale(1.06)}.search-wrap{position:relative;display:flex;align-items:center;min-width:0}.search-wrap>input{width:100%;padding-right:32px}.search-wrap>input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-wrap--list-search-input{flex:1 1 320px;max-width:420px}.search-wrap--list-search-input>.list-search-input{flex:1 1 auto;max-width:none}.search-wrap--pyramid-search{flex:1;min-width:220px}.search-wrap--pyramid-search>.pyramid-search{min-width:0}.search-wrap--releve-search{width:100%}.search-wrap--bons-recherche,.search-wrap--prevision-recherche{flex:1 1 260px;max-width:420px}.releve-picker-actions .search-wrap--releve-search{flex:1 1 240px;width:auto}.search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--muted);font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.search-clear:hover{background:var(--line, rgba(0, 0, 0, .08));color:var(--ink)}.bons-module{margin-top:8px}.bons-barre{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.bons-vues{display:inline-flex;background:var(--tint);border-radius:var(--radius-pill);padding:3px}.bons-vue{border:none;background:transparent;padding:6px 14px;border-radius:var(--radius-pill);font:inherit;font-size:var(--text-sm);color:var(--muted);cursor:pointer}.bons-vue.active{background:var(--panel);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:600}.bons-recherche{flex:1 1 260px;max-width:420px}.bons-nouveau{margin-top:0;margin-left:auto}.bons-chargement{color:var(--muted)}.bons-colonnes{display:grid;grid-template-columns:repeat(5,minmax(240px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px;align-items:start}.bons-colonne{--col-teinte: rgba(28, 27, 26, .04);--col-accent: var(--muted);background:var(--col-teinte);border-radius:var(--radius-card);padding:10px;min-height:200px;border:2px solid transparent;transition:border-color .15s}.bons-colonne.survol{border-color:var(--col-accent)}.bons-colonne-correctifs{--col-teinte: rgba(120, 120, 120, .08);--col-accent: var(--muted)}.bons-colonne-preventifs{--col-teinte: rgba(47, 95, 208, .08);--col-accent: var(--accent)}.bons-colonne-p1{--col-teinte: rgba(194, 64, 47, .09);--col-accent: var(--danger)}.bons-colonne-p2{--col-teinte: rgba(217, 130, 30, .1);--col-accent: var(--warn)}.bons-colonne-p3{--col-teinte: rgba(28, 124, 70, .09);--col-accent: var(--ok)}.bons-colonne-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:4px 4px 10px;border-bottom:3px solid var(--col-accent);margin-bottom:10px}.bons-colonne-tete h3{margin:0;font-size:var(--text-base)}.bons-colonne-tete p{margin:2px 0 0;font-size:var(--text-xs);color:var(--muted)}.bons-compte{min-width:26px;height:26px;border-radius:var(--radius-pill);background:var(--panel);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-sm);padding:0 8px}.bons-cartes{display:flex;flex-direction:column;gap:8px}.bons-vide{color:var(--faint);font-size:var(--text-sm);text-align:center;margin:16px 0}.bon-carte{background:var(--panel);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow-md);cursor:pointer;border-left:3px solid transparent;outline:none}.bon-carte:hover,.bon-carte:focus-visible{box-shadow:0 0 0 2px var(--accent-soft),var(--shadow-md)}.bon-carte[draggable=true]{cursor:grab}.bon-carte-en_retard{border-left-color:var(--danger)}.bon-carte-a_echeance{border-left-color:var(--warn)}.bon-carte-titre{margin:0 0 4px;font-size:var(--text-sm);font-weight:600;line-height:1.35}.bon-carte-code{font-weight:600;color:var(--muted)}.bon-carte-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--muted);margin-bottom:4px}.bon-carte-operations{list-style:none;margin:6px 0 0;padding:0;font-size:var(--text-sm)}.bon-carte-operations li{position:relative;padding:2px 0 2px 16px;color:var(--ink)}.bon-carte-operations li:before{content:"";position:absolute;left:2px;top:8px;width:7px;height:7px;border-radius:2px;border:1.5px solid var(--line-strong)}.bon-carte-operations li.en-cours:before{background:var(--warn);border-color:var(--warn)}.bon-carte-progres{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:var(--text-xs);color:var(--muted)}.bon-carte-barre{flex:1;height:6px;background:var(--tint-mid);border-radius:var(--radius-pill);overflow:hidden}.bon-carte-barre span{display:block;height:100%;background:var(--accent);border-radius:inherit}.bon-signal,.bon-pastille{display:inline-block;padding:1px 8px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;background:var(--neutral-bg);color:var(--neutral-ink);margin-right:4px}.bon-signal-retard{background:#c2402f24;color:var(--danger-ink)}.bon-signal-echeance{background:#d9821e29;color:var(--warn-ink)}.bon-signal-attente{background:#78787829;color:var(--muted)}.bons-calendrier-tete{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.bons-calendrier-tete h3{margin:0 8px;min-width:150px;text-transform:capitalize}.bons-calendrier-tete .btn-secondary{margin-top:0}.cal-fleche{padding:6px 12px;font-size:var(--text-base);line-height:1}.cal-vues{margin-left:auto}.bons-calendrier-legende{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:var(--text-xs);color:var(--muted);margin-bottom:10px}.bons-calendrier-legende span{display:inline-flex;align-items:center;gap:6px}.cal-pastille{width:12px;height:12px;border-radius:3px;display:inline-block;flex:none}.cal-mois{border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-sm);background:var(--line)}.cal-entetes,.cal-semaine{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-entetes{background:var(--panel);border-bottom:1px solid var(--line-strong)}.cal-entete{font-size:var(--text-xs);color:var(--muted);text-align:center;padding:6px 4px;text-transform:uppercase}.cal-semaine{position:relative;row-gap:2px;padding-bottom:4px;border-bottom:1px solid var(--line-strong);background:var(--panel)}.cal-fond{border-right:1px solid var(--line);background:var(--panel);transition:background .1s}.cal-fond:nth-child(7){border-right:none}.cal-fond.hors-mois{background:var(--surface-tint)}.cal-fond.survol{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.cal-num,.cal-liste{position:relative;z-index:1;pointer-events:none}.cal-num{font-size:var(--text-xs);font-weight:600;color:var(--muted);padding:4px 6px 0;justify-self:start}.cal-num.aujourdhui{background:var(--accent);color:#fff;border-radius:var(--radius-pill);min-width:22px;height:22px;padding:0 6px;margin:2px 4px 0;display:inline-flex;align-items:center;justify-content:center}.cal-liste{display:flex;flex-direction:column;gap:2px;padding:0 3px 2px;min-width:0}.cal-liste>*,.cal-bande{pointer-events:auto}.cal-glisse .cal-ev,.cal-glisse .cal-bande,.cal-glisse .cal-plus{pointer-events:none}.cal-ev{--ev-fond: rgba(47, 95, 208, .14);--ev-encre: var(--ink);border:none;text-align:left;font:inherit;font-size:var(--text-xs);padding:2px 6px;border-radius:5px;cursor:pointer;background:var(--ev-fond);color:var(--ev-encre);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;line-height:1.5}.cal-ev[draggable=true]{cursor:grab}.cal-ev:hover{filter:brightness(var(--survol-luminosite));box-shadow:0 0 0 1px var(--line-strong)}.cal-ev .cal-heure{font-weight:600;margin-right:4px}.cal-ev .cal-cloche{margin-right:3px}.cal-ev.retard{box-shadow:inset 3px 0 0 var(--danger)}.cal-ev.termine{text-decoration:line-through;opacity:.55}.cal-ev-liste{white-space:normal}.cal-ev-preventif,.cal-pastille.cal-ev-preventif{--ev-fond: rgba(47, 95, 208, .16);background:var(--ev-fond)}.cal-ev-correctif,.cal-pastille.cal-ev-correctif{--ev-fond: rgba(120, 120, 120, .18);background:var(--ev-fond)}.cal-ev-p1,.cal-pastille.cal-ev-p1{--ev-fond: rgba(194, 64, 47, .18);background:var(--ev-fond)}.cal-ev-p2,.cal-pastille.cal-ev-p2{--ev-fond: rgba(217, 130, 30, .2);background:var(--ev-fond)}.cal-ev-p3,.cal-pastille.cal-ev-p3{--ev-fond: rgba(28, 124, 70, .16);background:var(--ev-fond)}.cal-ev-prevu,.cal-pastille.cal-ev-prevu{--ev-fond: transparent;background:var(--ev-fond);box-shadow:inset 0 0 0 1px #2f5fd073;color:var(--info-ink, var(--ink))}.cal-ev-prevu{border:1px dashed rgba(47,95,208,.45);box-shadow:none;padding:1px 5px}.cal-ev-alerte,.cal-pastille.cal-ev-alerte{--ev-fond: rgba(217, 130, 30, .18);background:var(--ev-fond)}.cal-ev-groupe{font-weight:var(--weight-bold);box-shadow:inset 3px 0 0 var(--accent)}.cal-ev-groupe.retard{box-shadow:inset 3px 0 0 var(--danger)}.cal-pastille.cal-ev-groupe{box-shadow:inset 0 0 0 2px var(--accent)}.cal-ev-compte{margin-left:6px;padding:0 6px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 18%,transparent);font-size:var(--text-xs)}.cal-plus{border:none;background:none;font:inherit;font-size:var(--text-xs);font-weight:600;color:var(--muted);text-align:left;padding:1px 6px;cursor:pointer;border-radius:5px}.cal-plus:hover{background:var(--tint);color:var(--ink)}.cal-bande{position:relative;z-index:1;border:none;font:inherit;font-size:var(--text-xs);font-weight:600;margin:1px 3px;padding:0 8px;border-radius:6px;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#17806d33;color:var(--ok-ink);display:flex;align-items:center;gap:6px}.cal-bande:hover{filter:brightness(var(--survol-luminosite))}.cal-bande.suite-avant{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.cal-bande.suite-apres{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.cal-bande-groupe,.cal-pastille.cal-bande-groupe{background:#17806d3d}.cal-bande-prevu{background:transparent;border:1px dashed rgba(23,128,109,.6)}.cal-bande-compte{background:var(--panel);color:var(--ok-ink);border-radius:var(--radius-pill);padding:0 6px;font-size:11px;line-height:16px}.cal-annee{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.cal-annee-mois{padding:10px 12px}.cal-annee-titre{border:none;background:none;font:inherit;font-weight:600;text-transform:capitalize;cursor:pointer;padding:0 0 6px;color:var(--ink)}.cal-annee-titre:hover{color:var(--accent)}.cal-annee-grille{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.cal-annee-entete{font-size:11px;color:var(--muted)}.cal-annee-jour{position:relative;border:none;background:none;font:inherit;font-size:var(--text-xs);border-radius:var(--radius-pill);aspect-ratio:1;cursor:default;color:var(--muted)}.cal-annee-jour.occupe{color:var(--ink);font-weight:600;cursor:pointer;background:var(--accent-soft)}.cal-annee-jour.occupe:hover{background:#2f5fd02e}.cal-annee-jour.aujourdhui{background:var(--accent);color:#fff}.cal-annee-point{position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}.cal-bulle{position:fixed;z-index:1000;background:var(--panel);border-radius:var(--radius-card);box-shadow:0 12px 32px #14121038,0 2px 6px #1412101f;padding:12px 14px;max-height:calc(100vh - 16px);overflow-y:auto}.cal-bulle-tete{display:flex;align-items:flex-start;gap:10px}.cal-bulle-tete h4{margin:0;flex:1;font-size:var(--text-base);line-height:1.35}.cal-bulle-tete .cal-pastille{margin-top:5px}.cal-bulle-outils{display:flex;gap:2px}.cal-bulle-outils button,.cal-bulle-x,.cal-groupe-ligne>button{border:none;background:none;cursor:pointer;font-size:var(--text-sm);width:30px;height:30px;border-radius:50%;color:var(--muted)}.cal-bulle-outils button:hover,.cal-bulle-x:hover,.cal-groupe-ligne>button:hover{background:var(--tint);color:var(--ink)}.cal-bulle-corps{margin-top:8px;font-size:var(--text-sm)}.cal-bulle-corps p{margin:0 0 8px}.cal-bulle-date{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.cal-bulle-date input{max-width:160px}.cal-bulle-infos{display:grid;grid-template-columns:max-content 1fr;gap:4px 10px;margin:0 0 8px}.cal-bulle-infos dt{color:var(--muted)}.cal-bulle-infos dd{margin:0;white-space:pre-wrap}.cal-bulle-aide{font-size:var(--text-xs);margin:6px 0 0!important}.cal-bulle-jour{display:flex;flex-direction:column;gap:4px;margin-top:8px}.cal-menu{display:flex;flex-direction:column;gap:2px}.cal-menu p{margin:0 0 6px;font-size:var(--text-xs)}.cal-menu button{border:none;background:none;font:inherit;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--ink)}.cal-menu button:hover{background:var(--tint)}.cal-groupe-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.cal-groupe-liste li{border-radius:8px;padding:6px 8px;cursor:pointer;background:var(--surface-tint)}.cal-groupe-liste li:hover,.cal-groupe-liste li.choisi{background:var(--tint-mid)}.cal-groupe-ligne{display:flex;align-items:flex-start;gap:8px}.cal-groupe-ligne>div{flex:1;min-width:0}.cal-groupe-ligne .cal-pastille{margin-top:4px}.cal-groupe-detail{margin:6px 0 0 20px;font-size:var(--text-xs);white-space:pre-wrap}.cal-alerte-form{display:flex;flex-direction:column;gap:6px;margin-top:8px}.cal-alerte-rangee{display:flex;gap:6px}.cal-alerte-rangee input{flex:1}.cal-alerte-actions{display:flex;gap:6px;flex-wrap:wrap}.cal-alerte-actions .btn-primary,.cal-alerte-actions .btn-secondary,.cal-alerte-form .btn-primary{margin-top:0}.cal-alertes-dues{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.cal-alerte-due{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#d9821e24;color:var(--warn-ink);border-radius:var(--radius-control);padding:8px 12px;font-size:var(--text-sm)}.cal-alerte-due .btn-secondary{margin-top:0}.cal-partage{margin-bottom:12px}.cal-partage-lien{display:flex;gap:8px;margin:8px 0}.cal-partage-lien input{flex:1;font-family:monospace;font-size:var(--text-xs)}.cal-partage-lien .btn-primary{margin-top:0}.cal-partage-actions{display:flex;gap:8px;flex-wrap:wrap}.cal-partage-actions .btn-secondary{margin-top:0;text-decoration:none}.equipements-recherche{margin-bottom:12px}.search-wrap--equipements-recherche-champ{display:flex;max-width:520px}.equipements-recherche-champ{width:100%}.inv-choix-type{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:12px;background:var(--surface-tint);border-radius:var(--radius-control)}.inv-choix-type>div{flex:1;display:flex;flex-direction:column;min-width:0}.inv-choix-type small{font-size:var(--text-xs)}.inv-choix-type .btn-secondary{margin-top:0;white-space:nowrap}.folder-modal .form-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:var(--text-sm)}.folder-modal .form-field span{color:var(--muted)}.bons-liste-table td{vertical-align:top;white-space:normal}.bons-liste-table td small{display:block;margin-top:2px}.bons-liste-table td .bon-pastille{margin-left:6px}.bons-liste-ligne{cursor:pointer;-webkit-user-select:none;user-select:none}.bons-liste-ligne:hover td{background:var(--panel-hover)}.bons-liste-ligne.choisie td{background:var(--accent-soft)}.bons-liste-ligne.inactive td{opacity:.55}.bons-liste-choix{width:36px;text-align:center}.bons-liste-date{white-space:nowrap}.bons-liste-role{display:block;margin-top:2px;font-size:var(--text-xs);color:var(--muted)}.bons-liste-date .bon-signal{margin-left:6px}.bons-liste-fermeture{margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.bons-liste-fermeture p{margin:0}.bons-liste-fermeture-actions{display:flex;gap:8px}.bons-liste-fermeture-actions button{margin-top:0}.bon-generateur-bandeau{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#17806d1f;color:var(--ink);border-radius:var(--radius-card);padding:12px 16px;margin-bottom:12px}.bon-generateur-bandeau p{margin:4px 0 0;font-size:var(--text-sm)}.bon-generateur-bandeau .btn-secondary{margin-top:0;white-space:nowrap}.bon-fiche-page{padding:4px 0 28px}.bon-fiche{max-width:1240px;margin:0 auto}.bon-fiche-haut{display:flex;align-items:center;gap:12px;margin-bottom:12px}.bon-fiche-haut .btn-secondary{margin-top:0}.bon-fiche-occupe{font-size:var(--text-sm);color:var(--muted)}.bon-fiche-grille{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:start}.bon-fiche-principal,.bon-fiche-cote{display:flex;flex-direction:column;gap:14px;min-width:0}.bon-fiche-carte{background:var(--panel);border-radius:var(--radius-card);padding:16px;box-shadow:var(--shadow-md)}.bon-fiche-carte h3{margin:0;font-size:var(--text-base)}.bon-fiche-section-tete{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.bon-fiche-section-tete .btn-secondary{margin-top:0;white-space:nowrap;flex:none}.bon-fiche-aide{font-size:var(--text-xs);margin:0 0 8px}.muted{color:var(--muted)}.lien{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;font-size:var(--text-sm);padding:0 4px;width:auto}.lien:hover{text-decoration:underline}.bon-fiche-controles{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.bon-fiche-controles select{width:auto}.bon-priorite,.bon-priorite-select{font-weight:600;border-radius:var(--radius-control);padding:6px 12px;background:var(--neutral-bg);color:var(--neutral-ink)}.prio-p1{background:#c2402f24;color:var(--danger-ink)}.prio-p2{background:#d9821e29;color:var(--warn-ink)}.prio-p3{background:#1c7c4624;color:var(--ok-ink)}.prio-preventif{background:#2f5fd01f;color:var(--info-ink)}.bon-statut-select{margin-left:auto}.bon-statut{margin-left:auto;font-weight:600}.bon-fiche-entete-corps{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px}.bon-fiche-titre{margin:0;font-size:var(--text-lg);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.bon-fiche-titre-edition{display:flex;gap:8px;align-items:center}.bon-fiche-titre-edition .btn-primary,.bon-fiche-titre-edition .btn-secondary{margin-top:0}.bon-fiche-numeros{display:flex;gap:8px;align-items:center;color:var(--muted);margin:4px 0 12px;font-size:var(--text-sm)}.bon-fiche-numeros .sep{color:var(--faint)}.bon-fiche-avis{background:var(--surface-tint);border-radius:var(--radius-control);padding:10px 12px;margin-bottom:10px;font-size:var(--text-sm)}.bon-fiche-avis p{margin:6px 0 0}.bon-fiche-ligne{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;padding:5px 0;font-size:var(--text-sm);align-items:baseline}.bon-fiche-libelle{color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em}.bon-fiche-description{white-space:pre-wrap}.bon-fiche-infos .bon-fiche-ligne{grid-template-columns:130px minmax(0,1fr)}.bon-fiche-infos input[type=date]{padding:4px 8px}.bon-fiche-photo{display:flex;flex-direction:column;gap:6px}.bon-fiche-photo img{width:100%;max-height:240px;object-fit:cover;border-radius:var(--radius-control);display:block}.bon-fiche-photo-vide{height:160px;border-radius:var(--radius-control);background:var(--tint);display:flex;align-items:center;justify-content:center;color:var(--faint);font-size:var(--text-sm)}.bon-fiche-photo .btn-secondary{margin-top:0}.bon-fiche-photo-choix{display:flex;flex-wrap:wrap;gap:6px}.bon-fiche-photo-choix button{border:none;padding:0;background:none;cursor:pointer;width:auto}.bon-fiche-photo-choix img{width:56px;height:56px;object-fit:cover}.bon-fiche-televerser{display:inline-block;font-size:var(--text-sm);color:var(--accent);cursor:pointer;margin-top:6px}.bon-fiche-televerser input{display:none}.bon-fiche-televerser-ligne{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.bon-fiche-televerser-ligne small{font-size:var(--text-xs)}.bon-facture-attente-nom{font-size:var(--text-sm);flex:1 1 160px;overflow-wrap:anywhere}.zone-depot{position:relative}.zone-depot-survol:after{content:attr(data-libelle-depot);position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:12px;text-align:center;background:color-mix(in srgb,var(--panel) 88%,transparent);outline:2px dashed var(--accent);outline-offset:-4px;border-radius:inherit;color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-bold);pointer-events:none}.bon-fiche-heures{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.bon-fiche-heures>div{background:var(--surface-tint);border-radius:var(--radius-control);padding:8px 10px;display:flex;flex-direction:column}.bon-fiche-heures span,.bon-fiche-heures small{font-size:var(--text-xs);color:var(--muted)}.bon-fiche-heures strong{font-size:var(--text-lg)}.bon-fiche-par-personne{list-style:none;padding:0;margin:8px 0 0;font-size:var(--text-sm)}.bon-fiche-par-personne li{display:flex;justify-content:space-between;padding:2px 0}.bon-fiche-formulaire{display:flex;flex-direction:column;gap:8px;background:var(--surface-tint);padding:10px;border-radius:var(--radius-control);margin-bottom:10px}.bon-fiche-formulaire-rangee{display:flex;gap:8px;flex-wrap:wrap}.bon-fiche-formulaire-rangee>*{flex:1 1 140px}.bon-fiche-formulaire-actions{display:flex;gap:8px}.bon-fiche-formulaire-actions .btn-primary,.bon-fiche-formulaire-actions .btn-secondary{margin-top:0}.bon-presence{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.bon-presence-moi{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bon-presence-moi select{width:auto;max-width:280px}.bon-presence-moi .btn-primary,.bon-presence-moi .btn-secondary{margin-top:0}.bon-presence-etat{font-weight:600;font-size:var(--text-sm);padding:4px 10px;border-radius:var(--radius-pill);background:var(--neutral-bg)}.bon-presence-etat.etat-en_cours{background:#1c7c4624;color:var(--ok-ink)}.bon-presence-etat.etat-en_pause{background:#d9821e29;color:var(--warn-ink)}.bon-presence-autres{margin:0;font-size:var(--text-sm);color:var(--muted)}.bon-presence .lien{align-self:flex-start;padding:0}.bon-operation{border-top:1px solid var(--line);padding:12px 0}.bon-operation-tete{display:flex;gap:10px;align-items:flex-start}.bon-operation-tete input[type=checkbox]{width:18px;height:18px;margin-top:2px;flex:none}.bon-operation-titre{flex:1}.bon-operation-titre p{margin:4px 0 0;font-size:var(--text-sm);color:var(--muted)}.bon-operation.terminee .bon-operation-titre strong{text-decoration:line-through;color:var(--muted)}.bon-operation-statut{margin-left:8px;font-size:var(--text-xs);padding:1px 8px;border-radius:var(--radius-pill);background:var(--neutral-bg)}.bon-operation-statut.statut-en_cours{background:#d9821e29;color:var(--warn-ink)}.bon-operation-statut.statut-terminee{background:#1c7c4624;color:var(--ok-ink)}.bon-operation-outils{display:flex;gap:2px}.bon-operation-outils button{width:28px;height:28px;border:1px solid var(--line);background:var(--panel);border-radius:6px;cursor:pointer;color:var(--muted)}.bon-operation-outils button:disabled{opacity:.4;cursor:default}.bon-operation-heures{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:var(--text-sm);color:var(--muted);margin:8px 0 6px 28px}.bon-operation-affectation{display:flex;align-items:center;gap:10px;margin:4px 0 4px 28px;font-size:var(--text-sm)}.bon-operation-affectation select{width:auto;padding:4px 8px}.bon-operation .bon-notes,.bon-operation .bon-fichiers,.bon-operation .bon-note-ajout,.bon-operation .bon-fiche-televerser{margin-left:28px}.bon-personnes{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bon-personne{display:inline-flex;align-items:center;gap:6px;background:var(--tint);border-radius:var(--radius-pill);padding:2px 8px 2px 2px}.bon-personne button{border:none;background:none;cursor:pointer;color:var(--muted);padding:0 2px;width:auto}.bon-avatar{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-size:var(--text-xs);font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex:none}.bon-notes{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:6px}.bon-notes li{background:var(--surface-tint);border-radius:var(--radius-control);padding:8px 10px;font-size:var(--text-sm)}.bon-notes p{margin:4px 0 0;white-space:pre-wrap}.bon-note-tete{display:flex;align-items:baseline;gap:6px}.bon-note-tete span{color:var(--muted);font-size:var(--text-xs);margin-left:6px}.bon-note-retirer{margin-left:auto;border:none;background:none;color:var(--muted);cursor:pointer;font-size:var(--text-xs)}.gen-poignee-col{width:28px}.gen-poignee{width:28px;text-align:center;color:var(--faint);cursor:grab;-webkit-user-select:none;user-select:none;font-weight:700;letter-spacing:-1px}.gen-poignee:active{cursor:grabbing}.gen-bloc{--bloc: var(--accent)}.gen-bloc.gen-lot{--bloc: var(--accent-2)}.gen-bloc td{background:color-mix(in srgb,var(--bloc) 5%,transparent)}.gen-bloc td:first-child{box-shadow:inset 4px 0 0 var(--bloc)}.gen-bloc .bons-liste-ligne:hover td{background:color-mix(in srgb,var(--bloc) 11%,transparent)}.gen-bloc.survol td,.bons-liste-ligne.gen-survol td{background:color-mix(in srgb,var(--bloc, var(--accent)) 16%,transparent)}.gen-bloc tr:last-child td{border-bottom:2px solid var(--bloc)}.gen-bloc-tete td{background:color-mix(in srgb,var(--bloc) 14%,transparent);border-top:2px solid var(--bloc);border-bottom:1px solid color-mix(in srgb,var(--bloc) 30%,transparent);padding-block:12px;vertical-align:middle}.gen-bloc-titre{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.gen-bloc-type{font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bloc);background:color-mix(in srgb,var(--bloc) 16%,transparent);border-radius:999px;padding:3px 10px}.gen-bloc-nom{font-size:1rem;font-weight:700}.gen-bloc-resume{color:var(--muted);font-size:var(--text-sm)}.gen-bloc-fiche{margin-left:auto;margin-top:0}.bons-liste-ligne.gen-glisse td{opacity:.45}.gen-groupe-nom{font-size:1rem;font-weight:700;color:var(--ink);background:transparent;border:none;border-bottom:1px dashed var(--line-strong);padding:2px 4px;width:min(280px,100%)}.gen-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gen-actions .btn-secondary,.gen-actions .lien{margin-top:0}.gen-retrait{margin-top:10px;padding:14px;text-align:center;border:2px dashed var(--line-strong);border-radius:var(--radius-control);color:var(--muted)}.gen-retrait.survol{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.bons-liste-ligne[draggable=true]{cursor:grab}.bons-liste-ligne[draggable=true]:active{cursor:grabbing}.gen-disposition{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:16px;align-items:start}.gen-disposition-liste{min-width:0}.gen-groupes{position:sticky;top:12px;max-height:60vh;display:flex;flex-direction:column;gap:10px;padding:16px;margin:0}.gen-groupes-tete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 10px}.gen-groupes-tete h3{margin:0;font-size:var(--text-base);white-space:nowrap}.gen-groupes-tete .btn-primary{margin-top:0;white-space:nowrap}.gen-groupes-liste{list-style:none;margin:0;padding:2px;overflow:auto;display:flex;flex-direction:column;gap:6px}.gen-groupes-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:var(--radius-control);background:var(--tint);font-size:var(--text-sm);cursor:pointer;-webkit-user-select:none;user-select:none;outline:2px dashed transparent;outline-offset:-2px;transition:background .12s,outline-color .12s}.gen-groupes-item:hover{background:var(--tint-mid)}.gen-groupes-glisse .gen-groupes-item{outline-color:var(--line-strong)}.gen-groupes-item.survol,.gen-groupes-glisse .gen-groupes-item.survol{outline-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.gen-groupes-nom{font-weight:var(--weight-bold);min-width:0;overflow-wrap:anywhere}.gen-groupes-compte{color:var(--muted);white-space:nowrap}.gen-groupes-nouveau{justify-content:center;text-align:center;color:var(--muted);background:transparent}.gen-groupes-nouveau.impossible{color:var(--faint);cursor:not-allowed}.gen-groupes .empty{margin:0}.gen-glisse-apercu{position:fixed;top:-1000px;left:-1000px;display:flex;flex-direction:column;gap:2px;max-width:320px;padding:8px 12px;border-radius:var(--radius-control);background:var(--panel);color:var(--ink);box-shadow:0 0 0 1px var(--accent),var(--shadow-md);font-size:var(--text-sm)}.gen-glisse-apercu small{color:var(--muted)}@media (max-width: 1100px){.gen-disposition{grid-template-columns:minmax(0,1fr)}.gen-groupes{position:static;max-height:none}}.groupe-fiche{display:flex;flex-direction:column;gap:14px}.groupe-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}.groupe-tete-texte{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;flex:1 1 420px}.groupe-titre{align-items:center}.groupe-nom-saisie{font-size:inherit;width:min(480px,100%);margin:0}.groupe-resume{margin:0;font-size:var(--text-sm)}.groupe-prochaine{display:flex;flex-direction:column;gap:8px;align-items:flex-start;flex:0 1 300px}.groupe-prochaine label{display:flex;flex-direction:column;gap:4px}.groupe-prochaine .btn-primary{margin-top:0}.groupe-barre{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.groupe-barre button{margin-top:0}.groupe-membres{max-height:none;box-shadow:none;background:none}.groupe-membres:hover{box-shadow:none}.groupe-membres tbody tr.inactive td{opacity:.55}.groupe-frequence{display:flex;gap:6px}.groupe-frequence input{flex:1;min-width:0}.groupe-frequence select{width:auto}.groupe-ajout{display:flex;flex-direction:column;gap:8px;padding:10px 12px;margin-bottom:10px;background:var(--tint);border-radius:var(--radius-control)}.groupe-ajout-liste{list-style:none;margin:0;padding:0;max-height:240px;overflow:auto;display:flex;flex-direction:column;gap:2px}.groupe-ajout-liste label{display:flex;gap:10px;align-items:flex-start;padding:6px 8px;border-radius:var(--radius-control);cursor:pointer}.groupe-ajout-liste label:hover{background:var(--panel-hover)}.groupe-ajout-liste label span{display:flex;flex-direction:column}.groupe-ajout-actions{display:flex;gap:8px}.groupe-ajout-actions button{margin-top:0}.gen-groupe.gen-groupe-montre td{animation:gen-groupe-montre 1.6s ease-out}@keyframes gen-groupe-montre{0%{background:color-mix(in srgb,var(--accent) 32%,transparent)}}.gen-selection{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px;background:var(--accent-soft);border-radius:var(--radius-control)}.gen-selection button{margin-top:0}.gen-selection-groupe{display:flex;align-items:center;gap:6px}.gen-selection-groupe select{width:auto;max-width:360px}.bon-groupe{background:var(--panel);border-radius:10px;box-shadow:var(--shadow-md);border-left:3px solid var(--accent);overflow:hidden}.bon-groupe-en_retard{border-left-color:var(--danger)}.bon-groupe-a_echeance{border-left-color:var(--warn)}.bon-groupe-tete{padding:8px 12px 6px;font-size:var(--text-xs);font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.bon-groupe .bon-carte{box-shadow:none;border-radius:0;border-left:none;border-top:1px solid var(--line)}.bon-groupe-bandeau{background:#2f5fd01a;border-radius:var(--radius-card);padding:12px 16px;margin-bottom:12px}.generateur-devancer{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 0}.generateur-devancer label{display:flex;flex-direction:column;gap:2px;font-size:var(--text-sm)}.generateur-devancer small{flex-basis:100%}.bon-note-ajout{display:flex;flex-direction:column;gap:6px;margin-top:6px}.bon-note-ajout .btn-primary{align-self:flex-start;margin-top:0}.bon-feuille-temps{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.bon-feuille-temps table{width:100%;font-size:var(--text-sm);border-collapse:collapse;margin-top:8px}.bon-feuille-temps th,.bon-feuille-temps td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--line);vertical-align:top}.bon-feuille-temps tr.annule td{text-decoration:line-through;color:var(--faint)}.bon-correction{display:flex;gap:4px;flex-wrap:wrap}.bon-correction input{width:auto;padding:4px 6px}.bon-correction .btn-primary,.bon-correction .btn-secondary{margin-top:0;padding:4px 10px}.bon-fichiers{list-style:none;padding:0;margin:6px 0;display:flex;flex-direction:column;gap:6px}.bon-fichier{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:var(--text-sm)}.bon-fichier img{width:44px;height:44px;object-fit:cover;border-radius:6px;display:block}.bon-fichier small{display:block;color:var(--muted);font-size:var(--text-xs)}.bon-fichier>div{min-width:0;overflow-wrap:anywhere}.bon-fichier button{border:none;background:none;color:var(--muted);cursor:pointer;font-size:var(--text-lg);width:auto}.bon-facture-ajout,.bon-facture-montant{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}.bon-facture-ajout input[type=file]{max-width:100%}.bon-facture-montant input,.bon-facture-ajout input[inputmode=decimal]{width:7rem}.bon-fichier-pdf{width:44px;height:44px;border-radius:6px;background:#c2402f1f;color:var(--danger-ink);font-weight:700;font-size:var(--text-xs);display:flex;align-items:center;justify-content:center}.bon-materiels{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.bon-materiels th{text-align:left;font-size:var(--text-xs);color:var(--muted);font-weight:500;padding:4px}.bon-materiels td{padding:5px 4px;border-top:1px solid var(--line);vertical-align:middle}.bon-materiels select{padding:3px 6px;width:auto}.materiel-requis{background:#d9821e29;color:var(--warn-ink)}.materiel-commande{background:#2f5fd01f;color:var(--info-ink)}.materiel-recu,.materiel-utilise{background:#1c7c4624;color:var(--ok-ink)}.bon-alertes,.bon-contacts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:var(--text-sm)}.bon-alertes li{border-top:1px solid var(--line);padding-top:8px}.bon-alerte-etat{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px}.alerte-a-envoyer{background:#d9821e29;color:var(--warn-ink)}.alerte-envoyee{background:#1c7c4624;color:var(--ok-ink)}.alerte-echec{background:#c2402f24;color:var(--danger-ink)}.bon-contacts li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:start}.bon-contacts small{display:block;color:var(--muted);font-size:var(--text-xs)}.bon-contacts button{border:none;background:none;color:var(--muted);cursor:pointer;width:auto}.bon-outils{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm)}.bon-outils li{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.bon-outils small{color:var(--muted)}.bon-outils button{border:none;background:none;color:var(--muted);cursor:pointer;width:auto;margin:0}.bon-fiche-actions{display:flex;flex-direction:column;gap:6px}.bon-fiche-actions h3{margin-bottom:4px}.bon-fiche-actions .btn-primary,.bon-fiche-actions .btn-secondary{margin-top:0}.routines{margin-top:8px}.routines-tete{display:flex;align-items:center;gap:10px;margin-bottom:10px}.routines-tete h3{margin:0}.routines-groupe{background:var(--panel);border-radius:var(--radius-card);padding:12px 16px;box-shadow:var(--shadow-md);margin-bottom:10px}.routines-groupe h4{margin:0 0 8px;font-size:var(--text-sm)}.routines-groupe h4 small{color:var(--muted);font-weight:400}.routines-liste{list-style:none;margin:0;padding:0}.routines-liste>li{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:6px 0;border-top:1px solid var(--line)}.routines-liste>li:first-child{border-top:none}.routine-item{display:flex;gap:10px;align-items:flex-start;flex:1;cursor:pointer;margin:0}.routine-item input[type=checkbox]{width:18px;height:18px;margin-top:2px;flex:none}.routine-titre{display:block;font-size:var(--text-sm);font-weight:500}.routine-consigne{display:block;font-size:var(--text-xs);color:var(--muted)}.routine-reglage-btn{border:1px solid var(--line);background:var(--panel);border-radius:6px;width:30px;height:30px;cursor:pointer;color:var(--muted);flex:none}.routines-liste .reglage-planif,.routines-liste .contrat-depuis{flex-basis:100%}.contrat-depuis{margin-top:8px}.contrat-existants{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}.contrat-existants li{display:flex;align-items:center;justify-content:space-between;gap:8px}.routine-pause-btn,.interv-arret-btn{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-pill);height:30px;padding:0 10px;cursor:pointer;color:var(--muted);font:inherit;font-size:var(--text-xs);white-space:nowrap;flex:none}.routine-pause-btn:hover,.interv-arret-btn:hover{border-color:var(--line-strong);color:var(--ink)}.routine-pause-btn.en-pause,.interv-arret-btn.en-arret{background:#d9821e24;color:var(--warn-ink);border-color:transparent}.routines-toutes tr.routine-en-pause td{opacity:.6}.routines-toutes tr.routine-en-pause td:nth-last-child(2){opacity:1}.routines-toutes-btn{margin:8px 0;padding:0}.routines-toutes{width:100%;border-collapse:collapse;font-size:var(--text-sm);background:var(--panel);border-radius:var(--radius-card)}.routines-toutes th{text-align:left;font-size:var(--text-xs);color:var(--muted);font-weight:500;padding:8px}.routines-toutes td{padding:6px 8px;border-top:1px solid var(--line);vertical-align:top}.reglage-planif{background:var(--surface-tint);border-radius:var(--radius-control);padding:10px 12px;margin:6px 0;font-size:var(--text-sm)}.reglage-planif table{width:100%;border-collapse:collapse}.reglage-planif th{text-align:left;font-weight:500;color:var(--muted);padding:4px 6px;font-size:var(--text-xs)}.reglage-planif td{padding:4px 6px;vertical-align:middle}.reglage-planif td input{padding:5px 8px;max-width:170px}.reglage-planif td input.reglage-ref-champ{display:inline-block;width:7em;max-width:7em}.reglage-planif small{color:var(--muted)}.reglage-planif-resume{margin:8px 0}.reglage-planif-actions{display:flex;gap:8px;flex-wrap:wrap}.reglage-planif-actions .btn-primary,.reglage-planif-actions .btn-secondary{margin-top:0}.interv-boutons{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.interv-ref-boutons{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}.interv-ref-boutons .btn-secondary{margin:0}.reference-admin{border:1px dashed rgba(217,130,30,.5)}.reference-admin .rfv-alerte{display:block;margin:0 0 8px}.reference-admin td input{max-width:140px}.prevision-barre{display:flex;gap:12px;align-items:center;margin:12px 0 8px}.prevision-recherche{flex:1 1 260px;max-width:420px}.prevision-table th.num,.prevision-table td.num{text-align:right;white-space:nowrap}.prevision-table td .rfv-sub{display:block}.prevision-ligne{cursor:pointer}.prevision-ligne:hover td{background:var(--panel-hover)}.prevision-ligne.active td{background:var(--accent-soft)}.prevision-ligne.active td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.prevision-reglage-cellule{width:2.5rem;text-align:center}.prevision-reglage-ligne>td{padding:0;background:var(--panel-hover)}.prevision-reglage-ligne .prevision-reglages{margin:.5rem .75rem .75rem}.prevision-ligne .routine-reglage-btn.active{background:var(--accent-soft);color:var(--accent)}.prevision-total td{border-top:2px solid var(--line-strong);font-weight:600}.interventions-equipement h3{margin-top:0}.interv-ligne{border-top:1px solid var(--line);padding:8px 0}.interv-ligne.inactive{opacity:.55}.interv-resume{display:grid;grid-template-columns:110px minmax(0,1fr) auto auto;gap:10px;align-items:center}.interv-titre{display:flex;flex-direction:column}.interv-titre small{color:var(--muted);font-size:var(--text-xs)}.interv-echeance{font-size:var(--text-sm);text-align:right}.type-preventif{background:#2f5fd01f;color:var(--info-ink)}.type-routine{background:#1c7c4624;color:var(--ok-ink)}.type-remplacement{background:#d9821e29;color:var(--warn-ink)}.type-sous-contrat{background:#6e4cb629;color:var(--accent)}.etat-actif{background:#2ea04329;color:var(--success-ink, #1d7a35)}.etat-suspendu{background:#d9821e2e;color:var(--warn-ink)}.etat-sous_contrat{background:#6e4cb629;color:var(--accent)}.ressource-tete{display:flex;gap:12px;align-items:center;margin:8px 0 12px}.ressource-tete h2{margin:2px 0}.ressource-informations{display:grid;gap:12px}.ressource-champs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 16px;margin-bottom:10px}.ressource-champs label{display:grid;gap:4px;font-size:var(--text-sm)}.ressource-case{display:flex;gap:8px;align-items:center;font-size:var(--text-sm)}.ressource-immeubles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 12px;margin:8px 0}.ressource-competences-liste{margin:8px 0 0;padding-left:18px;columns:2}.competences-arbre{display:grid;gap:4px;margin:8px 0}.competence-ligne{display:flex;gap:4px;align-items:center}.competence-plier{width:22px;text-align:center}.competence-case{display:inline-flex;gap:6px;align-items:center;font-size:var(--text-sm)}.competence-case.niveau-0 span{font-weight:600}.competence-sous{margin-left:30px;display:grid;gap:2px}.competence-finale{margin-left:24px}.tournee-hierarchie{margin-top:8px;display:grid;gap:8px;border-top:1px dashed var(--border);padding-top:8px}.tournee-immeuble{padding-left:12px;border-left:2px solid var(--border)}.geoloc-panel{margin-top:12px}.geoloc-champs{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:8px}.geoloc-champs label{display:grid;gap:4px;font-size:var(--text-sm)}.geoloc-champs input{width:130px}.a-planifier{border:1px solid rgba(217,130,30,.6);border-radius:var(--radius);padding:8px 10px;margin-bottom:10px;background:#d9821e14}.a-planifier h4{margin:0 0 4px}.a-planifier ul{margin:4px 0 0;padding-left:18px;font-size:var(--text-sm)}.approbation-bandeau{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-radius:var(--radius);padding:8px 10px;margin:8px 0}.approbation-bandeau.attente{background:#d9821e1f}.approbation-bandeau.approuve{background:#2ea0431f}.approbation-bandeau .btn-primary{margin:0 0 0 auto}.conflits-bandeau{border:1px solid rgba(217,72,30,.5);border-radius:var(--radius);padding:8px 10px;margin:8px 0;background:#d9481e0f}.conflits-bandeau ul{margin:4px 0 0;padding-left:18px;font-size:var(--text-sm)}.segments-table{margin:8px 0}.segment-provisoire.bon-pastille,.bon-pastille.segment-provisoire{background:#d9821e2e;color:var(--warn-ink)}.segment-approuve.bon-pastille,.bon-pastille.segment-approuve{background:#2ea04329;color:#1d7a35}.segment-realise.bon-pastille,.bon-pastille.segment-realise{background:var(--neutral-bg)}.bon-fiche-actions-ligne{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.bon-fiche-actions-ligne .btn-secondary{margin:0}.jours-prevus{display:grid;gap:8px}.jour-prevu{border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px}.jour-prevu-tete{display:flex;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap}.visite-jours{margin-top:8px;display:grid;gap:6px;border-top:1px dashed var(--border);padding-top:6px}.visite-jour ul{margin:2px 0 0;padding-left:18px}.visite-a-part{border-style:dashed}.trav-semaine{margin:12px 0}.horaire-ressource{display:grid;gap:12px}.horaire-semaine{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.horaire-jour{border:1px solid var(--border);border-radius:var(--radius);padding:8px;display:grid;gap:6px;align-content:start}.horaire-jour-tete{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.horaire-plage{display:flex;gap:4px;align-items:center;flex-wrap:wrap;font-size:var(--text-sm)}.horaire-plage input[type=time]{width:92px}.horaire-plage.plage-pause{opacity:.8}.horaire-plage.plage-pause select{border-color:#d9821e80}.horaire-ajouts{display:flex;gap:10px}.calendrier-annuel{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:8px 0 12px}.mini-mois-titre{font-weight:600;text-transform:capitalize;margin-bottom:4px}.mini-mois-grille{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.mini-mois-entete{font-size:10px;color:var(--muted);text-align:center}.mini-jour{border:none;background:transparent;border-radius:4px;font-size:11px;padding:2px 0;text-align:center;cursor:default;color:inherit}.mini-jour:not(:disabled){cursor:pointer}.mini-jour.absence-vacances{background:#2563eb38}.mini-jour.absence-maladie{background:#d9481e38}.mini-jour.absence-formation{background:#6e4cb638}.mini-jour.absence-autre{background:#78787840}.mini-jour.ferie{outline:2px solid rgba(217,130,30,.8);outline-offset:-2px}.mini-jour.ferie-travaille{outline:2px dashed rgba(46,160,67,.9);outline-offset:-2px}.absences-liste ul{margin:4px 0;padding-left:18px}.absences-liste li{margin-bottom:2px}.absences-liste .lien{margin-left:8px}.absence-ajout{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}.absence-ajout .btn-secondary{margin:0}.bon-pastille.absence-vacances{background:#2563eb29;color:#1d4ed8}.bon-pastille.absence-maladie{background:#d9481e29;color:var(--danger-ink)}.bon-pastille.absence-formation{background:#6e4cb629;color:var(--accent)}.visites-totaux{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:8px 0 12px}.visites-totaux .btn-primary,.visites-totaux .btn-secondary{margin:0}.visites-nouvelle{display:inline-flex;gap:6px;align-items:center}.visites-grille{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}@media (max-width: 1000px){.visites-grille{grid-template-columns:1fr}}.visites-liste{display:grid;gap:10px}.visite-carte{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--panel)}.visite-carte.survol{outline:2px dashed var(--accent)}.visite-carte.etat-visite-confirmee{border-color:#2ea04399}.visite-carte.etat-visite-terminee{opacity:.6}.visite-tete{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.visite-tete h4{margin:0}.visite-actions{margin-left:auto;display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.visite-actions .btn-secondary{margin:0}.visite-etat-proposee{background:#2563eb24;color:#1d4ed8}.visite-etat-confirmee{background:#2ea04329;color:#1d7a35}.visite-etat-terminee{background:var(--neutral-bg)}.visite-travaux{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}.visite-travail{display:flex;gap:8px;align-items:center;font-size:var(--text-sm)}.visite-travail-titre{flex:1 1 auto;min-width:0}.visite-travail-heures{white-space:nowrap;color:var(--muted)}.bon-pastille.type-groupe{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.visite-travail-groupe .lien{font-weight:var(--weight-bold)}.visites-a-placer{border:1px dashed var(--border);border-radius:var(--radius);padding:10px 12px}.visites-a-placer h4{margin:0 0 4px}.correctif-a-placer{cursor:grab;margin-bottom:8px}.correctif-placer{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}.correctif-placer .btn-secondary{margin:0}.prevision-totaux{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:10px 0 14px}.prevision-total{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;display:grid;gap:2px;background:var(--panel)}.prevision-total.fort{border-color:var(--accent)}.prevision-total-libelle{font-size:var(--text-sm);color:var(--muted)}.prevision-total-valeur{font-size:1.25rem;font-weight:600}.prevision-par-immeuble{margin-bottom:12px}.contrat-cibles{margin:4px 0;padding-left:18px}.contrat-en_cours{background:#2ea04329;color:#1d7a35}.contrat-preavis{background:#d9821e2e;color:var(--warn-ink)}.contrat-a_venir{background:#2563eb29;color:#1d4ed8}.type-lot{background:#0e749029;color:#0e7490}.gen-couvert td{color:var(--muted)}.gen-couvert td:nth-child(3){padding-left:26px}.gen-couvert-note{color:var(--bloc, var(--muted))}.gen-retrait-marque{color:var(--bloc, var(--accent-2));font-weight:700}.lot-bons-ouverts{margin:0;padding-left:18px}.lot-fiche .groupe-prochaine{display:grid;gap:4px}.lot-fiche .groupe-prochaine .btn-secondary{justify-self:start;margin-top:6px}.constat-choix{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.constat-bouton{border:1px solid var(--border);background:var(--panel);border-radius:var(--radius-pill);padding:4px 12px;font-size:var(--text-sm);cursor:pointer}.constat-bouton.actif.constat-trop_tot,.bon-pastille.constat-trop_tot{background:#2563eb29;color:#1d4ed8;border-color:transparent}.constat-bouton.actif.constat-bon_moment,.bon-pastille.constat-bon_moment{background:#2ea04329;color:#1d7a35;border-color:transparent}.constat-bouton.actif.constat-trop_tard,.bon-pastille.constat-trop_tard{background:#d9481e29;color:var(--danger-ink);border-color:transparent}.constat-fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;margin:10px 0;display:grid;gap:6px}.constat-fieldset textarea{width:100%;box-sizing:border-box}.proposition-pastille{margin-left:6px;cursor:pointer;border:none}.proposition-reduire.bon-pastille,.proposition-pastille.proposition-reduire{background:#d9481e29;color:var(--danger-ink)}.proposition-augmenter.bon-pastille,.proposition-pastille.proposition-augmenter{background:#2563eb29;color:#1d4ed8}.proposition-detail{border:1px dashed var(--border);border-radius:var(--radius);padding:10px 12px;margin:8px 0;background:var(--panel)}.proposition-detail.proposition-reduire{border-color:#d9481e80}.proposition-detail.proposition-augmenter{border-color:#2563eb80}.proposition-titre{margin:0 0 6px}.proposition-constats{margin:0 0 8px;padding-left:18px}.proposition-actions{display:flex;gap:8px;flex-wrap:wrap}.proposition-actions .btn-primary,.proposition-actions .btn-secondary{margin-top:0}.reglage-historique{margin:8px 0}.reglage-historique-liste{margin:4px 0;padding-left:18px}.saisie-frequence{display:inline-flex;gap:4px;align-items:center}.saisie-frequence input{width:70px}.saisie-motif-frequence{display:block;margin-top:4px;width:100%;box-sizing:border-box}.reglage-suspension{display:grid;gap:8px;margin-top:10px;max-width:520px}.reglage-suspension textarea{width:100%;box-sizing:border-box}.reglage-suspension .btn-primary{justify-self:start;margin-top:0}.interv-pastilles{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.contrats-ajouter{margin:0 0 0 auto}.contrats-volets{margin:4px 0 12px}.contrat-vigueur{margin:0;padding:4px 10px;font-size:var(--text-xs);white-space:nowrap}.contrat-carte{border-top:1px solid var(--line);padding:12px 0}.contrat-carte.inactive{opacity:.6}.contrat-entete{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:start}.contrat-titre{display:flex;flex-direction:column;min-width:0}.contrat-titre small{color:var(--muted);font-size:var(--text-xs)}.contrat-meta{margin:6px 0 0;font-size:var(--text-sm);color:var(--muted)}.contrat-description{margin:6px 0 0;font-size:var(--text-sm)}.contrat-cibles{list-style:none;margin:8px 0 0;padding:0;font-size:var(--text-sm)}.contrat-cibles li{padding:2px 0}.contrat-formulaire{background:var(--surface-tint);border-radius:var(--radius-control);padding:12px 14px;margin:10px 0}.contrat-formulaire .field{margin-bottom:10px}.contrat-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 14px}.contrat-sous-titre{margin:14px 0 6px}.contrat-bloc{margin:8px 0}.contrat-bloc-tete{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.contrat-cases{list-style:none;margin:6px 0 0;padding:0;max-height:220px;overflow-y:auto;font-size:var(--text-sm)}.contrat-cases label{display:flex;align-items:center;gap:8px;padding:3px 0}.contrat-cases input[type=checkbox]{width:auto;margin:0}.contrat-interventions{list-style:none;margin:6px 0 0;padding:0;max-height:300px;overflow-y:auto}.contrat-interventions label{display:flex;align-items:flex-start;gap:8px;padding:5px 0;font-size:var(--text-sm)}.contrat-interventions input[type=checkbox]{width:auto;margin:2px 0 0}.contrat-interventions span{display:flex;flex-direction:column;min-width:0}.contrat-interv-titre{font-weight:500}.contrat-interventions small{color:var(--muted);font-size:var(--text-xs)}@media (max-width: 720px){.contrat-entete{grid-template-columns:minmax(0,1fr)}}.trav-bon-boutons{display:flex;gap:6px}.trav-bon-boutons .btn-primary,.trav-bon-boutons .btn-secondary{margin-top:0}@media (max-width: 980px){.bon-fiche-grille,.bon-fiche-entete-corps{grid-template-columns:minmax(0,1fr)}.bon-fiche-ligne{grid-template-columns:minmax(0,1fr);gap:2px}.bon-fiche{padding:12px}.interv-resume{grid-template-columns:minmax(0,1fr) auto}}@media (max-width: 720px){.home-page{padding:12px 12px 28px}.home-topbar{padding-right:46px;align-items:flex-start}.home-logo-wrap{width:148px;height:52px}.home-hero{padding:16px}.home-hero h1{font-size:1.55rem}.home-actions .btn-primary,.home-portal-card{width:100%}.theme-toggle-corner{top:10px;right:10px}.main-content,.main-content-full{padding:12px}.page-title,.content-header h2{font-size:1.35rem}.content-header{gap:8px}.panel{padding:14px}.sidebar,.sidebar.collapsed{padding:8px;gap:6px}.sidebar-toggle{display:none}.sidebar-item,.sidebar-home-btn{padding:10px 12px}.imm-detail-header{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px 14px;margin-bottom:16px;padding-bottom:14px}.imm-detail-header:not(:has(.imm-detail-photo)){grid-template-columns:minmax(0,1fr)}.imm-detail-back{grid-column:1 / -1;justify-self:start;width:auto}.imm-detail-title-block .imm-detail-title,.imm-detail-header>.imm-detail-title{display:block;font-size:1.25rem;line-height:1.2}.imm-detail-actions{grid-column:1 / -1;margin-left:0}.imm-detail-actions .btn-secondary,.imm-detail-actions .btn-danger{flex:1;text-align:center;padding:8px 10px}.table-wrap{max-height:none}th,td{padding:8px 10px}.modal-overlay,.folder-modal-backdrop{padding:0;align-items:flex-end}.modal,.folder-modal{max-width:none;width:100%;max-height:94vh;border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}input,select,textarea{font-size:16px}.annonce-item,.menage-item,.fin-chart-head,.calendar-header,.gest-barre{flex-direction:column;align-items:stretch}.emp-cols-titres{display:none}.emp-head{grid-template-columns:16px minmax(0,1fr);row-gap:2px}.emp-head-label{grid-column:2}.emp-col{grid-column:2;white-space:normal}.annonce-actions,.annonce-actions .btn-primary,.annonce-actions .btn-secondary,.menage-item .btn-secondary{width:100%}.annonce-periode{flex-wrap:wrap}.dispo-item{grid-template-columns:minmax(0,1fr)}.dispo-source{padding-left:0}.fin-cat-row,.optim-result-grid,.bon-kanban,.dash-bons-grid,.bon-fiche-heures{grid-template-columns:1fr}.emp-detail{overflow-x:auto;-webkit-overflow-scrolling:touch}.emp-timeline-scale,.emp-timeline-track{min-width:720px}.releve-panier{left:0}}@media (max-width: 980px){.sidebar.sidebar-mobile{position:sticky;top:0;z-index:40;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;width:100%;height:auto;overflow:visible;padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top))}.sidebar-mobile-actuel{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 4px;border:none;background:transparent;color:var(--sidebar-text);font-family:inherit;text-align:left;cursor:pointer}.sidebar-mobile-actuel span{font-size:var(--text-xs);color:#f7f6f4a6}.sidebar-mobile-actuel strong{font-size:1rem;font-weight:600;line-height:1.2}.sidebar-mobile-ouvrir{flex:none;min-height:44px;padding:10px 16px;border:none;border-radius:var(--radius-control);background:#ffffff24;color:var(--sidebar-text);font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer}.sidebar-feuille{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;flex-direction:column;gap:12px;background:var(--bg);color:var(--ink);padding:calc(12px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))}.sidebar-feuille-barre{display:flex;align-items:center;justify-content:space-between;gap:12px}.sidebar-feuille-barre h2{margin:0;font-size:1.35rem}.sidebar-feuille .sidebar-mobile-ouvrir{background:var(--tint-mid);color:var(--ink)}.sidebar-feuille-liste{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.sidebar-feuille-liste .sidebar-item{flex:none;width:100%;min-height:48px;padding:14px 16px;text-align:left;white-space:normal;color:var(--ink);background:var(--panel);border-radius:var(--radius-control);font-size:1rem}.sidebar-feuille-liste .sidebar-item.active{background:var(--accent-soft);color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}.sidebar-feuille .sidebar-home-btn{width:100%;min-height:48px;text-align:center;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong)}}@media print{body *{visibility:hidden}.bon-fiche,.bon-fiche *{visibility:visible}.bon-fiche{position:absolute;left:0;top:0;width:100%}.bon-fiche-haut,.bon-fiche button,.bon-fiche select,.bon-fiche-televerser,.bon-note-ajout,.bon-fiche-formulaire{display:none!important}}.inv-arbre{display:flex;flex-direction:column;gap:8px;min-width:0}.inv-arbre-outils{padding:6px 0}.inv-arbre-option{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--muted);white-space:nowrap}.inv-arbre-option input{width:auto;margin:0}.inv-arbre-liste{max-height:62vh;overflow:auto;padding-right:4px}.inv-arbre-plus{margin:4px 0 6px 10px}.inv-arbre-vide{padding:6px 10px;font-size:var(--text-sm)}.inv-noeud-categorie .pyramid-label{font-size:var(--text-base);font-weight:700}.inv-noeud-sous .pyramid-label{font-weight:600}.inv-noeud-non-classes .pyramid-label{font-style:italic}.inv-noeud-vide{opacity:.55}.inv-noeud-code{min-width:1.6em;font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums}.inv-image{flex-shrink:0;object-fit:contain;background:#fff;border-radius:6px;border:1px solid var(--line)}.inv-image-vide{display:inline-flex;align-items:center;justify-content:center;background:var(--tint-mid)}.inv-type-row{padding:4px 10px}.inv-type-label{white-space:normal}.inv-type-chemin{display:block;font-size:var(--text-xs);color:var(--muted);font-weight:400}.inv-fiche-type{display:flex;flex-direction:column;gap:8px}.inv-fiche-type>.inv-image{align-self:center}.inv-fiche-type h3{margin:4px 0 0;font-size:var(--text-base)}.inv-fiche-type-chemin{margin:0;font-size:var(--text-sm);color:var(--ok-ink)}.inv-fiche-type .btn-primary{margin-top:4px}.inv-fiche-type .lien{align-self:flex-start;padding:0}.inv-structure{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.inv-structure-detail{position:sticky;top:16px}.inv-liaison{display:flex;flex-direction:column;gap:12px}.inv-liaison>p{margin:0}.inv-liaison-filtres{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inv-liaison-filtres select{width:auto;max-width:180px}.inv-liaison-cible{display:flex;flex-direction:column;gap:8px;padding:12px 16px;position:sticky;top:0;z-index:5;margin-bottom:0}.inv-liaison-cible-champs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto auto;gap:8px;align-items:center}.inv-liaison-cible-champs select{width:100%;margin:0}.inv-liaison-cible-champs .btn-primary,.inv-liaison-cible-champs .btn-secondary{margin-top:0;white-space:nowrap}.inv-liaison-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.inv-liaison-table th{text-align:left;font-size:var(--text-xs);color:var(--muted);font-weight:500;padding:6px 8px}.inv-liaison-table td{padding:5px 8px;border-top:1px solid var(--line);vertical-align:middle}.inv-liaison-table th:first-child,.inv-liaison-table td:first-child{width:32px}.inv-liaison-table input[type=checkbox]{width:auto;margin:0}.inv-liaison-table tbody tr{cursor:pointer}.inv-liaison-table tbody tr:hover{background:var(--tint-weak)}.inv-liaison-table tbody tr.selected{background:var(--tint-mid)}.inv-liaison-pages{display:flex;align-items:center;justify-content:center;gap:12px}.inv-liaison-pages .btn-secondary{margin-top:0}.modal.bon-selecteur-piece{max-width:1180px}.bon-selecteur-piece-corps{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}.bon-selecteur-piece-choix{position:sticky;top:0;display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 140px)}.bon-selecteur-piece-choix>p{margin:0}.bon-selecteur-piece-choix>:not(.bon-selecteur-panier){flex-shrink:0}.bon-selecteur-piece-choix .btn-primary{margin-top:0}.bon-selecteur-panier{list-style:none;margin:0;padding:0;overflow:auto;display:flex;flex-direction:column;gap:8px;min-height:0;flex:1 1 auto}.bon-selecteur-ligne{border:1px solid var(--line);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:6px}.bon-selecteur-ligne-tete{display:flex;align-items:flex-start;gap:8px}.bon-selecteur-ligne-tete strong{flex:1;font-size:var(--text-sm)}.bon-selecteur-piece-choix .bon-fiche-formulaire-rangee>*{flex:1 1 80px}.bon-materiels th,.bon-materiels td{white-space:normal}.bon-materiels th:first-child{width:100%}.bon-materiels select{max-width:104px;font-size:var(--text-sm)}.bon-materiel-article{display:flex;align-items:center;gap:8px}.bon-materiel-prix{display:block;color:var(--ok-ink)}.bon-materiels-total{text-align:right;font-size:var(--text-sm)}@media (max-width: 980px){.inv-structure,.bon-selecteur-piece-corps,.inv-liaison-cible-champs{grid-template-columns:minmax(0,1fr)}.inv-structure-detail,.bon-selecteur-piece-choix{position:static}}.inv-liaison-eq{display:flex;flex-direction:column;gap:12px}.inv-liaison-eq>p{margin:0}.inv-liaison-eq-grille{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:16px;align-items:start}.inv-liaison-eq-types{display:flex;flex-direction:column;gap:8px}.inv-liaison-eq-liste{max-height:64vh;overflow:auto}.inv-liaison-eq-compte{min-width:1.8em;text-align:right;font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums}.inv-liaison-eq-titre{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:var(--text-base)}.inv-liaison-eq-icone{margin-right:6px;vertical-align:middle}.inv-liaison-eq-detail .inv-liaison-table tbody tr{cursor:default}.inv-liaison-eq-detail .inv-liaison-table tbody tr:hover{background:transparent}.inv-liaison-eq-detail .inv-liaison-table th:first-child,.inv-liaison-eq-detail .inv-liaison-table td:first-child{width:auto}.inv-liaison-eq-ajout{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.inv-liaison-eq-ajout .inv-liaison-cible-champs{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.inv-besoins{margin-bottom:20px}.inv-besoins-tete{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.inv-besoins-tete h3,.inv-stock-titre{margin:0;font-size:var(--text-base)}.inv-stock-titre{margin-bottom:8px}.inv-stock-titre~.inv-stock-titre{margin-top:28px}.inv-fantome-aide{margin:0 0 12px;font-size:var(--text-sm);color:var(--muted)}.inv-besoins-tete .btn-primary{margin-top:0}.inv-besoins-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.inv-besoins-table th{text-align:left;font-size:var(--text-xs);color:var(--muted);font-weight:500;padding:6px 8px}.inv-besoins-table td{padding:8px;border-top:1px solid var(--line);vertical-align:top}.inv-besoins-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.inv-besoin-manque td:first-child{border-left:3px solid #d97706}.inv-besoin-ok td:first-child{border-left:3px solid var(--ok-ink)}.inv-besoin-type{display:inline-flex;align-items:center;gap:8px}.inv-besoin-equipements{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.inv-choix-type{margin-top:16px}.inv-choix-type .btn-primary{margin-top:0}.inv-choix-type-courant{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--tint-weak);border-radius:var(--radius-control)}.inv-choix-type-courant>div{flex:1;min-width:0}.inv-choix-type-courant .btn-secondary{margin-top:0}@media (max-width: 980px){.inv-liaison-eq-grille,.inv-liaison-eq-ajout .inv-liaison-cible-champs{grid-template-columns:minmax(0,1fr)}}.modal-overlay.modal-overlay-haut{z-index:3100}.inv-requis{display:flex;flex-direction:column;gap:8px;margin:12px 0}.inv-requis h4{margin:0;font-size:var(--text-base)}.inv-requis .form-section-note{margin:0}.inv-requis-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.inv-requis-liste li{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--tint-weak);border-radius:var(--radius-control);font-size:var(--text-sm)}.inv-requis-nom{flex:1;min-width:0}.inv-requis-ajout{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:8px;align-items:center}.inv-requis-ajout .inv-requis-type{grid-column:1 / -1;justify-self:start;max-width:100%}.inv-requis-ajout input,.inv-requis-ajout select{width:100%;margin:0}.inv-requis-ajout .btn-primary,.inv-requis-ajout .btn-secondary{margin-top:0}.inv-requis-type{display:inline-flex;align-items:center;gap:6px;min-width:0;text-align:left}.inv-requis-type span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-requis-table tbody tr{cursor:default}.inv-requis-table th:first-child,.inv-requis-table td:first-child{width:40px}.inv-requis-minimum{width:80px;padding:5px 8px;text-align:right;margin:0}.inv-requis-bas{color:#d97706;font-weight:600}@media (max-width: 520px){.inv-requis-ajout{grid-template-columns:minmax(0,1fr)}}.inv-fantome-equip td:first-child{padding-left:24px;color:var(--muted)}.inv-fantome-groupe .inv-besoin-type{gap:10px}.inv-fantome-groupe td,.inv-fantome-equip td{vertical-align:middle}.table-wrap th.num,.table-wrap td.num{text-align:right;font-variant-numeric:tabular-nums}.inv-qte{display:inline-flex;align-items:center;gap:6px}.inv-qte-input{width:56px;text-align:right;font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.inv-qte-bas{color:var(--danger-ink);font-weight:var(--weight-bold)}.inv-qte-btn{width:28px;height:28px;padding:0;border-radius:50%;line-height:1;cursor:pointer}.inv-qte-btn:disabled{cursor:default;opacity:.4}.page-legale{min-height:100vh;max-width:760px;margin:0 auto;padding:24px 20px 40px}.page-legale-entete{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-legale-logo{display:block;width:auto;height:48px}.page-legale-texte h1{margin:0 0 8px}.page-legale-texte h2{margin:28px 0 8px}.page-legale-texte p,.page-legale-texte li{line-height:1.6}.page-legale-texte ul{margin:8px 0;padding-left:20px}.page-legale-texte a,.liens-legaux a{color:var(--accent)}.page-legale-date{margin:0 0 16px;font-size:var(--text-sm);color:var(--muted)}.liens-legaux{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;font-size:var(--text-sm);color:var(--muted)}.home-page .liens-legaux,.home-page .liens-legaux a{color:#ffffffb8}
