:root{--bg:#faf6ef;--panel:#fff;--border:#e3ddd0;--text:#1c1c1a;--muted:#6b6b66;--accent:#b3611e;--user-bg:#f8efe2;--radius:8px;--series-1:#2a78d6;--series-2:#b3611e;--grid:#ece7dc}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.55}.app{flex-direction:column;max-width:820px;min-height:100vh;margin:0 auto;padding:0 16px;display:flex}.app.app--wide{max-width:1280px}.app.chat{height:100dvh;min-height:0}.app.chat .messages{min-height:0}header.app-header{border-bottom:1px solid var(--border);padding:20px 4px 12px}header.app-header h1{color:var(--accent);margin:0;font-size:19px}header.app-header p{color:var(--muted);margin:4px 0 0;font-size:13px}.messages{flex-direction:column;flex:1;gap:14px;padding:16px 0;display:flex;overflow-y:auto}.empty{color:var(--muted);text-align:center;margin-top:48px;font-size:14px}.msg{flex-direction:column;gap:4px;display:flex}.msg .role{color:var(--muted);font-size:12px;font-weight:600}.msg .bubble{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);white-space:pre-wrap;word-wrap:break-word;padding:10px 12px}.msg.user .bubble{background:var(--user-bg);border-color:var(--border)}.msg .bubble.pending{color:var(--muted);font-style:italic}form.composer{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 0 18px;display:flex}.composer-row{align-items:flex-end;gap:8px;display:flex}textarea{resize:none;border:1px solid var(--border);border-radius:var(--radius);min-height:44px;max-height:160px;font:inherit;background:var(--panel);color:var(--text);flex:1;padding:10px 12px}textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;height:44px;padding:0 16px}button:disabled{opacity:.5;cursor:not-allowed}.upload-label{border:1px solid var(--border);background:var(--panel);color:var(--accent);border-radius:var(--radius);cursor:pointer;white-space:nowrap;align-items:center;height:44px;padding:0 14px;font-size:14px;display:inline-flex}.upload-label.disabled{opacity:.5;cursor:not-allowed}.upload-label input{display:none}.hint{color:var(--muted);font-size:12px}.error{color:#9b2226;font-size:13px}.login-box{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;max-width:380px;margin:120px auto 0;padding:28px 24px;display:flex}.login-box h1{color:var(--accent);margin:0;font-size:19px}.login-box p{color:var(--muted);margin:0;font-size:13px}.login-form{gap:8px;display:flex}.login-form input{border:1px solid var(--border);border-radius:var(--radius);font:inherit;flex:1;padding:10px 12px}.login-form input:focus{outline:2px solid var(--accent);outline-offset:-1px}.nav{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.nav-links{flex-wrap:wrap;gap:4px;display:flex}.nav-right{align-items:center;gap:10px;display:flex}button.link-button{color:var(--muted);background:0 0;border:none;height:auto;padding:4px 0;font-size:13px;text-decoration:underline}button.link-button:hover{color:var(--accent)}.nav-links a{color:var(--muted);border-radius:var(--radius);padding:4px 10px;font-size:13px;text-decoration:none}.nav-links a:hover{background:var(--user-bg)}.nav-links a.active{color:var(--accent);background:var(--user-bg);font-weight:600}.nav-user{color:var(--muted);font-size:13px}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:16px;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.card-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.card-value{color:var(--accent);margin:4px 0 2px;font-size:26px;font-weight:600}.card-unit{color:var(--muted);font-size:13px;font-weight:400}.card-detail{color:var(--muted);font-size:12px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-top:16px;padding:16px}.panel h2{color:var(--accent);margin:0 0 10px;font-size:15px}.bars{align-items:flex-end;gap:6px;height:100px;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.bar{background:var(--accent);opacity:.75;border-radius:3px 3px 0 0;width:100%;max-width:28px}.bar-label{color:var(--muted);white-space:nowrap;font-size:10px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px;font-weight:600}td{border-bottom:1px solid var(--border);padding:6px 10px}.field{flex-direction:column;gap:4px;margin:10px 0;display:flex}.field select,.field input[type=number]{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);max-width:420px;padding:8px 10px}.check{cursor:pointer;align-items:center;gap:8px;display:flex}button.danger{color:#9b2226;background:#fff;border-color:#c9a0a3}button.danger:hover{background:#fdf3f3}button.small{height:30px;padding:0 10px;font-size:12px}.notice{color:#2d6a4f;margin-top:10px;font-size:13px}.code-reveal{border-radius:var(--radius);background:#f4f9f6;border:1px solid #bcd9c8;margin-top:8px;padding:10px 12px;font-size:13px}.code-reveal code{letter-spacing:.05em;color:var(--accent);margin-top:6px;font-size:16px;font-weight:700;display:block}.muted{color:var(--muted)}.context-line{color:var(--muted);margin:12px 0 0;font-size:13px}.subnav{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;margin:12px 0 4px;padding-bottom:8px;display:flex}.subnav a{color:var(--muted);border-radius:var(--radius);padding:6px 12px;font-size:14px;text-decoration:none}.subnav a.active{color:var(--accent);background:var(--user-bg);font-weight:600}.seg-switch{border:1px solid var(--border);border-radius:var(--radius);margin-left:auto;display:inline-flex;overflow:hidden}.seg-switch button{background:var(--panel);color:var(--text);border:none;border-radius:0;height:34px;font-size:13px}.seg-switch button.on{background:var(--accent);color:#fff}.filters{flex-wrap:wrap;align-items:center;gap:10px 16px;margin:12px 0;font-size:13px;display:flex}.filters select,.filters input{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:6px 8px}.filters .range input{width:84px}.notice-info{background:var(--user-bg);border:1px solid var(--border);border-radius:var(--radius);margin:12px 0;padding:8px 12px;font-size:13px}.source-line{color:var(--muted);margin:14px 0 24px;font-size:12px}.badge-low-n{border:1px solid var(--border);color:var(--muted);background:var(--panel);vertical-align:middle;border-radius:10px;margin-left:6px;padding:0 6px;font-size:11px;display:inline-block}.card-value.muted{color:var(--muted)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.grid-2 h3,.timeline h3,.copro-card h3,.drawer-body h3{margin:12px 0 6px;font-size:14px}td.num,th.num{text-align:right;white-space:nowrap}tr.clickable{cursor:pointer}tr.clickable:hover,tr.clickable:focus{background:var(--user-bg);outline:none}.th-sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;height:auto;padding:0;font-weight:600}.pager{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.prose ul{margin:0;padding-left:20px}.prose li{margin:6px 0}ul.plain{margin:0;padding:0;list-style:none}ul.plain li{padding:3px 0}.chart{margin:0}.chart-box{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .grid{stroke:var(--grid);stroke-width:1px}.chart .axis{stroke:var(--border);stroke-width:1px}.chart .tick{fill:var(--muted);font-size:11px}.chart .direct-label{fill:var(--text);font-size:12px}.chart .crosshair{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.chart .mark-ring{stroke:var(--panel);stroke-width:2px}.chart-legend{color:var(--text);flex-wrap:wrap;gap:14px;margin-bottom:4px;font-size:12px;display:flex}.chart-legend i,.chart-tip i,.map-legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.chart-tip{pointer-events:none;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);white-space:nowrap;z-index:5;padding:6px 10px;font-size:12px;position:absolute;transform:translate(-50%);box-shadow:0 2px 8px #00000014}.data-table{margin-top:6px;font-size:12px}.data-table summary{cursor:pointer;color:var(--muted)}.map{border:1px solid var(--border);border-radius:var(--radius);z-index:0;background:#f3efe6;width:100%}.map-loading{color:var(--muted);justify-content:center;align-items:center;min-height:200px;display:flex}.map-legend{flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:12px;display:flex}.legend-title{font-weight:600}.drawer-backdrop{z-index:1000;background:#15110e40;position:fixed;inset:0}.drawer{background:var(--panel);border-left:1px solid var(--border);z-index:1001;flex-direction:column;width:min(460px,100vw);display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.drawer-head h2{color:var(--accent);margin:0;font-size:16px}.drawer-body{padding:12px 16px;overflow-y:auto}dl.facts{grid-template-columns:max-content 1fr;gap:4px 14px;margin:0;font-size:13px;display:grid}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0}.terms{max-width:760px}.terms-text h2{font-size:16px}.terms-text li{margin:6px 0}.search-form{gap:8px;margin:16px 0;display:flex}.search-form input{border:1px solid var(--border);border-radius:var(--radius);font:inherit;flex:1;padding:10px 12px}.candidates{margin:0;padding:0;list-style:none}.candidates li{border-bottom:1px solid var(--border);padding:8px 0}.candidates li button{margin:6px 6px 0 0}.dossier-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dossier-head h2{margin:0 0 4px}.addr{margin-right:14px;display:inline-block}.copro-card{border-top:1px solid var(--border);margin-top:12px;padding-top:8px}.copy-block{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);white-space:pre-wrap;padding:10px 12px;font-size:12px}.print-only{display:none}@media (max-width:720px){.seg-switch{margin-left:0}.search-form{flex-direction:column}}@media print{.nav,.no-print,.subnav,.filters,.dossier .source-line,button:not(.link-button):not(.th-sort){display:none!important}button.link-button,button.th-sort{color:inherit;text-decoration:none}.print-only{color:var(--muted);margin:8px 0;font-size:11px;display:block}.panel{break-inside:avoid;border-color:#ccc}.app.app--wide{max-width:none}body{background:#fff}}.filters label,.filters select{max-width:100%}.drawer-body{font-size:13px}.drawer-body ul.plain li{padding:2px 0}.tag{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;align-items:center;gap:4px;margin:0;padding:1px 8px;font-size:12px;display:inline-flex}.tag-ok{color:#2d6a4f;background:#f4f9f6;border-color:#bcd9c8}.tag-warn{color:#7a4d00;background:#fff8e6;border-color:#e6cf9c}.tag-block{color:#9b2226;background:#fdf3f3;border-color:#e3b9bc}a.button-link{border:1px solid var(--accent);border-radius:var(--radius);height:30px;color:var(--accent);background:var(--panel);white-space:nowrap;align-items:center;padding:0 12px;font-size:13px;text-decoration:none;display:inline-flex}a.button-link:hover{background:var(--user-bg)}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:10px 16px;display:flex}.inline-form h2{width:100%}.inline-form label{flex-direction:column;gap:4px;font-size:13px;display:flex}.biens-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:16px 0 32px;padding:0;list-style:none;display:grid}.bien-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);height:100%;color:inherit;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.bien-card:hover,.bien-card:focus-visible{border-color:var(--accent)}.bien-cover{aspect-ratio:4/3;background:var(--bg);justify-content:center;align-items:center;font-size:13px;display:flex;position:relative;overflow:hidden}.bien-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.bien-transaction{z-index:1;color:#fff;background:#1c1c1abf;border-radius:10px;padding:1px 8px;font-size:12px;position:absolute;top:8px;left:8px}.bien-body{flex-direction:column;gap:4px;padding:10px 12px 12px;display:flex}.bien-price{color:var(--accent);font-size:17px;font-weight:600}.bien-title{font-size:14px}.bien-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.fiche-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:12px;display:flex}.fiche-head h2{margin:4px 0 6px;font-size:18px}.fiche-actions{align-items:center;gap:8px;display:flex}.save-bar{z-index:5;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 0;display:flex;position:sticky;top:0}.fiche-grid{grid-template-columns:minmax(0,1fr) minmax(0,380px);align-items:start;gap:0 16px;margin-bottom:32px;display:grid}.form-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:0 12px;display:grid}.form-field{flex-direction:column;gap:4px;min-width:0;margin:8px 0;font-size:13px;display:flex}.form-field>span:first-child{color:var(--muted)}.form-field input,.form-field select,.form-field textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);width:100%;max-height:none;padding:7px 9px;font-size:14px}.form-field textarea{resize:vertical}.form-field.has-issue input,.form-field.has-issue select,.form-field.has-issue textarea{background:snow;border-color:#c9a0a3}.issues{flex-direction:column;gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.issues li{border-radius:var(--radius);border:1px solid;gap:8px;padding:6px 8px;display:flex}.issues .issue-block{color:#9b2226;background:#fdf3f3;border-color:#e3b9bc}.issues .issue-warn{color:#7a4d00;background:#fff8e6;border-color:#e6cf9c}.diffusion-row{padding:4px 0;font-size:14px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;display:grid}.photo-grid figure{margin:0}.photo-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:6px;width:100%;display:block}.photo-grid figcaption{align-items:center;gap:4px;margin-top:4px;display:flex}.photo-grid figcaption button.small{height:26px;padding:0 8px}.annonce-text{max-height:360px;margin:0 0 8px;font-family:inherit;overflow:auto}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:12px 0 8px;display:grid}.week-day{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;min-height:140px;padding:8px;display:flex}.week-day.today{border-color:var(--accent)}.week-day header{justify-content:space-between;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.week-day header span:first-letter{text-transform:uppercase}.rdv{text-align:left;background:var(--user-bg);height:auto;color:var(--text);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 8px;font-size:12px;display:flex}.rdv-signature{border-left-color:var(--series-1)}.rdv-time{font-weight:600}.rdv-title{overflow-wrap:anywhere}.ics-url{word-break:break-all;letter-spacing:0!important;font-size:12px!important}.sync-report p{margin:8px 0;font-size:13px}.portail-block{border-top:1px solid var(--border);margin-top:12px;padding-top:8px}.portail-block h3{margin:4px 0;font-size:14px}@media (max-width:720px){.nav{flex-direction:column-reverse;align-items:stretch;gap:6px}.nav-links{flex-wrap:nowrap;overflow-x:auto}.nav-links a{white-space:nowrap}.nav-right{justify-content:flex-end}}@media (max-width:960px){.fiche-grid,.week{grid-template-columns:minmax(0,1fr)}.week-day{min-height:0}}
