:root{color-scheme:light;--bg:#f4f6f9;--surface:#ffffff;--ink:#13233A;--muted:#556479;--line:#8793a3;--accent:#F28C28;--link:#96500e;--accent-soft:#e6ecf5;--button-ink:#13233A;--warning:#fff4cb;--warn-ink:#66500b;--price-bg:#fff0e0;--price-ink:#864300;--valid-bg:#e4f3e9;--valid-ink:#22643c;--focus:#96500e;--shadow:0 6px 24px #13233a10}
/* Classeur : mêmes surfaces et couleurs dans les deux thèmes. */
.classeur-grid{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:22px;margin-top:24px}
.classeur-affichage[hidden]{display:none}
.classeur-arbre{padding:18px;align-self:start;max-height:78vh;overflow:auto}.classeur-arbre ul{list-style:none;padding-left:14px}.classeur-arbre>ul{padding:0}.classeur-arbre details{padding:5px 0}.classeur-arbre summary{font-size:13px;overflow-wrap:anywhere}.classeur-arbre a{color:var(--ink);text-decoration:none}.classeur-arbre a[aria-current]{color:var(--link);font-weight:700}
.classeur-contenu{min-width:0}.classeur-fil{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin-bottom:18px}.classeur-item{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:16px 0}.classeur-icon{font-size:24px;color:var(--link);flex-shrink:0}.classeur-nom{flex:1;min-width:0;overflow-wrap:anywhere}.classeur-nom a{color:var(--ink);font-weight:600}.classeur-date,.classeur-taille{font-size:12px;color:var(--muted);white-space:nowrap}.classeur-thumb img{width:70px;height:54px;object-fit:cover;border-radius:8px}.classeur-thumb{flex-shrink:0}.document-exemple{border:1px dashed var(--line);border-radius:10px;background:var(--bg);padding:16px;margin-top:10px}.badge.exemple{background:var(--warning);color:var(--warn-ink);display:inline-block}
.classeur-actions{gap:8px}.action-bientot button{cursor:default;color:var(--muted);gap:8px;white-space:normal}.action-bientot{display:inline-flex}.action-bientot:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.classeur-sources{font-size:13px}.classeur-apercu{margin-top:28px;border-top:1px solid var(--line);padding-top:16px}.classeur-apercu img{display:block;max-width:100%;max-height:70vh;margin:auto;border-radius:12px}.classeur-apercu iframe{width:100%;height:65vh;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.classeur-liste.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.classeur-liste.grille .classeur-item{flex-wrap:wrap;align-content:start;border:1px solid var(--line);border-radius:12px;padding:14px}.classeur-liste.grille .classeur-thumb{width:100%}.classeur-liste.grille .classeur-thumb img{width:100%;height:145px}.classeur-liste.grille .document-photo .classeur-icon{display:none}.classeur-liste.grille .classeur-nom{flex-basis:100%}
@media(max-width:1000px){.classeur-grid{grid-template-columns:minmax(220px,270px) minmax(0,1fr)}.classeur-date,.classeur-taille{white-space:normal}.classeur-item{flex-wrap:wrap}}
@media(max-width:700px){.classeur-grid{grid-template-columns:1fr}.classeur-arbre{max-height:260px}.classeur-actions button{font-size:12px}.classeur-contenu{padding:18px}}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0d1829;--surface:#13233A;--ink:#edf2f8;--muted:#adbbce;--line:#62748d;--accent:#F28C28;--link:#F28C28;--accent-soft:#243750;--button-ink:#13233A;--warning:#3f3515;--warn-ink:#ffe091;--price-bg:#432c19;--price-ink:#ffc385;--valid-bg:#1b382b;--valid-ink:#a0dfb6;--focus:#F28C28;--shadow:none}}
:root[data-theme=dark]{color-scheme:dark;--bg:#0d1829;--surface:#13233A;--ink:#edf2f8;--muted:#adbbce;--line:#62748d;--accent:#F28C28;--link:#F28C28;--accent-soft:#243750;--button-ink:#13233A;--warning:#3f3515;--warn-ink:#ffe091;--price-bg:#432c19;--price-ink:#ffc385;--valid-bg:#1b382b;--valid-ink:#a0dfb6;--focus:#F28C28;--shadow:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:var(--link);text-underline-offset:4px}header{max-width:1360px;margin:auto;padding:25px 40px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);font-weight:650}.logo{display:grid;place-items:center;width:50px;height:50px;background:#13233A;color:#F28C28;border-radius:15px;font-size:22px}.brand small{font-weight:400;margin:0}.brand b{font-size:10px;text-transform:uppercase;letter-spacing:1px;border:1px solid var(--line);padding:3px 6px;border-radius:5px;margin-left:5px}.header-actions{display:flex;gap:8px}nav{max-width:1280px;margin:auto;display:flex;gap:8px;border-bottom:1px solid var(--line);overflow-x:auto;padding:0 0 13px}nav a{padding:9px 18px;border-radius:10px;color:var(--muted);text-decoration:none;font-size:14px;white-space:nowrap}nav a.active{background:var(--accent-soft);color:var(--link);font-weight:650}main{max-width:1280px;margin:auto;padding:38px 0 70px}h1{font-size:clamp(27px,4vw,40px);font-weight:650;line-height:1.16;letter-spacing:-1px;margin:8px 0 14px}h2{font-size:21px;line-height:1.3;letter-spacing:-.3px}h3{font-size:17px}p{margin:10px 0}.eyebrow{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;color:var(--muted)}.muted,small{color:var(--muted)}small{display:block;font-size:12px;margin-top:7px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:24px 0 34px}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:24px}.card{color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s}.card:hover{border-color:var(--accent)}a.card:hover{transform:translateY(-3px)}.card-top,.card-bottom{display:flex;gap:12px;align-items:center;justify-content:space-between}.card-bottom{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;font-size:13px}.panel{margin-bottom:22px}.badge{background:var(--accent-soft);color:var(--link);font-size:11px;font-weight:650;border-radius:20px;padding:5px 10px;white-space:nowrap}button,.button{border:0;border-radius:9px;background:var(--accent);color:var(--button-ink);padding:11px 17px;font-family:inherit;font-weight:600;font-size:13px;line-height:1.3;cursor:pointer;text-decoration:none;display:inline-block;white-space:nowrap}.secondary{background:var(--accent-soft);color:var(--accent)}input,select{border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:11px 13px;font:inherit;min-width:0}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}label{display:flex;flex-direction:column;gap:8px;font-size:13px}.search,.inline-form,.line-form{display:flex;gap:10px;align-items:center}.search input{flex:1}.search{margin:20px 0}.inline-form input{width:105px}.line-form{margin:15px 0;align-items:end}.line-form input{width:130px}.login{max-width:480px;margin:40px auto;padding:40px}.login form{margin-top:26px}.login button{width:100%;margin-top:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}th{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}th,td{padding:15px 12px;border-bottom:1px solid var(--line)}td:first-child{min-width:200px}td:not(:first-child){white-space:nowrap}tr:last-child td{border:0}.warning{background:var(--warning);color:var(--warn-ink);border-radius:8px}.totals{max-width:480px;margin-left:auto}.totals>div{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0}.totals small{display:inline;font-size:11px}.grand-total{border-top:1px solid var(--line);padding-top:16px;font-size:23px}.empty{padding:30px;color:var(--muted);border:1px dashed var(--line);border-radius:14px}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:13px}.back{font-size:13px;text-decoration:none}.pairing{max-width:640px;margin:auto;text-align:center}.pairing img{width:100%;max-width:310px;background:white;border-radius:12px;padding:10px}.pair-link{word-break:break-all;font-size:12px}.conversation-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.turn{margin:16px 0;padding:16px;border-radius:12px;background:var(--bg)}.turn.assistant{margin-left:24px;background:var(--accent-soft)}pre{white-space:pre-wrap;word-break:break-word;font-size:12px}details{padding:12px 0}summary{cursor:pointer;color:var(--accent)}footer{text-align:center;font-size:12px;color:var(--muted);padding:20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1360px){main,nav{margin-left:30px;margin-right:30px}}@media(max-width:700px){header{padding:18px;align-items:start}.brand{font-size:14px}.logo{width:40px;height:40px}.header-actions{flex-direction:column}main,nav{margin-left:16px;margin-right:16px}main{padding-top:24px}.page-title{align-items:start;flex-direction:column}.cards{grid-template-columns:1fr}.search{flex-wrap:wrap}.search input{width:100%}.panel,.card{padding:18px}.conversation-grid{grid-template-columns:1fr}.line-form{flex-wrap:wrap}.login{padding:26px}.photos{grid-template-columns:repeat(2,1fr)}}
.badge.valide{background:var(--valid-bg);color:var(--valid-ink)}
.badge.a_chiffrer,.status-a_chiffrer{background:var(--price-bg);color:var(--price-ink)}
.badge.a_verifier,.badge.doublon_probable,.badge.erreur_depot,.status-a_verifier,.status-doublon_probable{background:var(--warning);color:var(--warn-ink)}
.status-a_chiffrer small,.status-a_verifier small,.status-doublon_probable small{color:inherit}
.demo-links{border-top:4px solid var(--accent)}.demo-shortcuts{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
@media print{:root,:root[data-theme=dark],:root[data-theme=light]{color-scheme:light;--bg:#fff;--surface:#fff;--ink:#13233A;--muted:#556479;--line:#8793a3;--warning:#fff4cb;--warn-ink:#66500b;--price-bg:#fff0e0;--price-ink:#864300;--link:#96500e;--accent-soft:#e6ecf5;--valid-bg:#e4f3e9;--valid-ink:#22643c}body{background:white;color:black;font-size:11px}header,nav,footer,.button,.edit-row{display:none}main{padding:0;max-width:none;margin:0}.panel{box-shadow:none;break-inside:avoid;border-color:#bbb;padding:15px}h1{font-size:26px}.warning{background:#fff3dc!important}.totals{break-inside:avoid}}.print-view .edit-row{display:none}
/* Bureau : rythme commun, boutons alignés, galerie et dossiers. */
button,.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent}
button.secondary,.button.secondary{background:transparent;color:var(--link);border-color:var(--line)}
summary{color:var(--link)}summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 24px}.actions form{margin:0}.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:24px 0}.stats>div{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);display:flex;flex-direction:column;gap:8px}.stats strong{font-size:26px;letter-spacing:-.5px}.stats span{font-size:13px;color:var(--muted)}.stats.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.stats.compact strong{font-size:20px}.cover{width:100%;height:180px;object-fit:cover;border-radius:12px;margin-bottom:20px}.pattern{background:linear-gradient(135deg,var(--accent-soft) 25%,transparent 25%) 0 0/28px 28px,linear-gradient(45deg,var(--bg),var(--accent-soft))}.activity{display:grid;grid-template-columns:1fr 1fr;gap:12px}.activity>a{display:flex;align-items:center;gap:14px;padding:12px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}.activity span{display:block}.activity img{width:70px;height:60px;object-fit:cover;border-radius:8px}.dossier-grid{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(290px,1fr);gap:24px;margin-top:26px}.devis-grid{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(320px,1fr);gap:24px}.evoliz-card{align-self:start;position:sticky;top:20px}.quote-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}.quote-row:last-child{border-bottom:0}.badge.depose{background:var(--valid-bg);color:var(--valid-ink)}.badge.brouillon{background:var(--price-bg);color:var(--price-ink)}.badge.historique{background:var(--bg);color:var(--muted)}.photos{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:20px}.photo-card{margin:0;min-width:0}.photo-card img{height:180px;aspect-ratio:auto}.photo-card p{font-size:14px;margin:8px 0 20px}.photo-open{display:block;border-radius:13px}.photo-filters{display:grid;grid-template-columns:1.3fr .8fr 1.2fr auto;gap:12px;align-items:end;margin:24px 0}.address-form{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:8px;margin:12px 0}.address-form input{width:100%;padding:9px 6px;font-size:13px}.tree{padding-left:18px;line-height:2}.tree ul{padding-left:20px}.chat{display:flex;flex-direction:column;gap:16px}.turn{max-width:80%;margin:0}.turn.utilisateur{align-self:flex-end;background:var(--accent-soft);border-bottom-right-radius:3px}.turn.assistant{align-self:flex-start;margin:0;background:var(--bg);border-bottom-left-radius:3px}td.phrase{white-space:normal;min-width:220px}progress{width:100%;height:12px;accent-color:var(--accent)}dialog{border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);max-width:min(1000px,95vw);width:1000px;max-height:95vh;padding:24px;overflow:auto}dialog::backdrop{background:#071220d9}.viewer-head{display:flex;align-items:center;justify-content:space-between;gap:16px}#viewer-image{display:block;width:100%;max-height:58vh;object-fit:contain;background:var(--bg);border-radius:10px}.viewer-info{padding-top:10px}
@media(max-width:1100px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.dossier-grid,.devis-grid{grid-template-columns:minmax(0,1fr) 310px}.quote-row{flex-wrap:wrap}.photo-filters{grid-template-columns:1fr 1fr}.stats.compact{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.dossier-grid,.devis-grid{grid-template-columns:1fr}.evoliz-card{position:static;grid-row:1}.activity{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.photos{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-card img{height:150px}.photo-filters{grid-template-columns:1fr}.turn{max-width:92%}.address-form{grid-template-columns:2fr 1fr 1.5fr}}
@media(max-width:450px){.stats{grid-template-columns:1fr}.stats.compact{grid-template-columns:1fr 1fr}.address-form{grid-template-columns:1fr}.actions{align-items:stretch}.actions .button,.actions button{white-space:normal}.photo-card img{height:120px}}
@media print{.devis-grid,.dossier-grid{display:block}.evoliz-card{position:static}.actions,dialog{display:none}.stats{break-inside:avoid}}

/* Retouches : colonnes stables et chiffres lisibles, impression comprise. */
.numeric,.totals strong,.stats strong,.card-bottom strong,input[inputmode="decimal"]{font-variant-numeric:tabular-nums}
td.numeric{text-align:right;white-space:nowrap}
.quote-row{display:grid;grid-template-columns:minmax(100px,1fr) 160px 180px}
.quote-row>.badge{justify-self:start;text-align:left;max-width:160px;white-space:normal}
.quote-row>.numeric{text-align:right}
.activity>a>div:last-child{min-width:0;overflow-wrap:anywhere}
.activity .activity-photos{display:flex;gap:4px;flex-shrink:0}
.activity .activity-photos img{width:48px;height:54px}
.photo-chantier{display:block;font-size:14px;margin:8px 0}
.evoliz-actions{display:flex;flex-direction:column;align-items:stretch}
.evoliz-actions form{width:100%}
.evoliz-actions button,.evoliz-actions .button{width:100%;height:48px;min-height:48px;margin:0;padding:8px;box-sizing:border-box;white-space:normal}
@media(max-width:1100px){.quote-row{grid-template-columns:minmax(0,1fr) 160px}.quote-row>.badge{grid-column:2;grid-row:1}.quote-row>.numeric{grid-column:1 / -1}}
@media(max-width:500px){.quote-row{grid-template-columns:minmax(0,1fr) 112px;gap:10px}.quote-row>.badge{grid-column:2;grid-row:1;max-width:112px}.quote-row>.numeric{grid-column:1 / -1}}

/* Diagnostics iPhone : retours à la ligne, y compris les chemins techniques. */
.app-erreurs{grid-column:1/-1;min-width:0}.app-erreurs-liste{padding-left:22px;margin-bottom:0}.app-erreurs-liste li{padding:12px 0;border-bottom:1px solid var(--line)}.app-erreurs-liste li:last-child{border-bottom:0}.app-erreurs-liste p,.app-erreurs-liste small{overflow-wrap:anywhere}.app-erreur-detail{color:var(--muted);font-size:14px}

.prix-a-confirmer { color: var(--warning, #a96512); font-weight: 600; }


/* Aether KPI — présentation seule. Les règles d’impression restent inchangées. */
@media screen {
:root{color-scheme:light;--bg:#eef0f9;--surface:#fafbff;--surface-soft:#e7e9f7;--ink:#20243b;--muted:#58647c;--line:#8b8f9d;--accent:#61518d;--link:#61518d;--accent-soft:#e8e2f5;--button-ink:#fff;--warning:#f5ebd9;--warn-ink:#805518;--price-bg:#f5ebd9;--price-ink:#805518;--valid-bg:#e1efe7;--valid-ink:#226a46;--focus:#176a73;--kpi:#176a73;--cyan:#68e5e6;--violet:#a991f7;--danger-bg:#fae7e5;--danger-ink:#ac3934;--sidebar:rgba(249,250,255,.84);--glass-rim:#ffffffd9;--glass-glow:rgba(169,145,247,.13);--shadow:0 16px 40px -28px #5d52725c}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0c1424;--surface:#172740;--surface-soft:#253650;--ink:#f5f7ff;--muted:#c6d1e7;--line:#657388;--accent:#92c1ff;--link:#b5d5ff;--accent-soft:#2c294a;--button-ink:#10213a;--warning:#423826;--warn-ink:#f0c785;--price-bg:#423826;--price-ink:#f0c785;--valid-bg:#183c2e;--valid-ink:#91d5ac;--focus:#68e5e6;--kpi:#68e5e6;--danger-bg:#4d2c2d;--danger-ink:#ffada7;--sidebar:rgba(15,28,48,.88);--glass-rim:rgba(211,226,255,.31);--glass-glow:rgba(169,145,247,.19);--shadow:0 16px 40px -28px #020711}}
:root[data-theme=dark]{color-scheme:dark;--bg:#0c1424;--surface:#172740;--surface-soft:#253650;--ink:#f5f7ff;--muted:#c6d1e7;--line:#657388;--accent:#92c1ff;--link:#b5d5ff;--accent-soft:#2c294a;--button-ink:#10213a;--warning:#423826;--warn-ink:#f0c785;--price-bg:#423826;--price-ink:#f0c785;--valid-bg:#183c2e;--valid-ink:#91d5ac;--focus:#68e5e6;--kpi:#68e5e6;--danger-bg:#4d2c2d;--danger-ink:#ffada7;--sidebar:rgba(15,28,48,.88);--glass-rim:rgba(211,226,255,.31);--glass-glow:rgba(169,145,247,.19);--shadow:0 16px 40px -28px #020711}
body{background:radial-gradient(ellipse at 5% 0%,var(--glass-glow),transparent 55%),radial-gradient(ellipse at 95% 25%,color-mix(in srgb,var(--cyan) 8%,transparent),transparent 45%),var(--bg);font:15px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
.application-shell{max-width:1680px;margin:auto;min-height:100vh}.application-shell:has(.navigation-main){display:grid;grid-template-columns:230px minmax(0,1fr);grid-template-rows:auto 1fr auto;grid-template-areas:'header header' 'nav main' 'nav footer'}
.application-header{grid-area:header;max-width:none;width:100%;margin:0;padding:22px 30px;border-bottom:1px solid var(--line);background:var(--sidebar);backdrop-filter:blur(22px) saturate(145%);gap:18px}
.brand{font-size:15px;gap:12px;letter-spacing:-.15px}.brand small{font-size:11px;letter-spacing:0;margin-top:3px}.brand b{font-size:8px;background:var(--surface);color:var(--muted)}.logo{width:46px;height:46px;border:1px solid var(--glass-rim);background:radial-gradient(ellipse at 20% 0%,var(--glass-glow),transparent 65%),var(--surface-soft);color:var(--link);border-radius:14px;box-shadow:inset 0 1px 0 var(--glass-rim);font-weight:650;font-size:18px}
.navigation-main{grid-area:nav;display:flex;flex-direction:column;align-items:stretch;gap:4px;max-width:none;width:100%;margin:0;padding:22px 14px 30px;border-bottom:0;border-right:1px solid var(--line);background:var(--sidebar);backdrop-filter:blur(22px) saturate(145%);overflow:visible;align-self:stretch}
.navigation-group{margin-bottom:18px}.navigation-group h2{font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:0 10px 8px}.navigation-main a{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:9px;font-size:13px;white-space:normal;color:var(--muted)}.navigation-main a:hover{background:var(--surface-soft);color:var(--ink)}.navigation-main a.active{background:linear-gradient(145deg,var(--glass-glow),transparent 70%),var(--accent-soft);border-color:var(--glass-rim);color:var(--ink);box-shadow:inset 0 1px 0 var(--glass-rim)}
.application-main{grid-area:main;max-width:none;width:100%;margin:0;padding:34px 34px 48px;min-width:0}.application-footer{grid-area:footer;margin:0;padding:16px 34px 24px;font-size:11px;text-align:left;border-top:1px solid var(--line)}
h1{font-size:clamp(27px,2.6vw,36px);font-weight:600;letter-spacing:-1px;margin:6px 0 10px}h2{font-size:18px;font-weight:600;letter-spacing:-.35px}h3{font-size:15px}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:600}.page-title{margin-bottom:22px}.muted,small{color:var(--muted)}
.card,.panel{background:var(--surface);border-color:var(--line);border-radius:15px;box-shadow:var(--shadow);padding:22px}.card:hover{border-color:var(--link)}a.card:hover{transform:translateY(-2px)}.cards{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px;margin:20px 0 30px}.card-top{gap:10px}.card-bottom{margin-top:20px;padding-top:14px;font-size:12px}.card-bottom strong{color:var(--kpi)}.card h2{font-size:19px;line-height:1.35}.cover{height:150px}.pattern{background:linear-gradient(145deg,var(--accent-soft),var(--surface-soft))}
button,.button{min-height:46px;min-width:44px;padding:11px 16px;border-radius:10px;font-size:13px;line-height:1.35;font-weight:600;background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 90%,white),var(--accent));color:var(--button-ink);border:1px solid color-mix(in srgb,var(--accent) 65%,white);box-shadow:inset 0 1px 0 #ffffff24;white-space:normal;transition:border-color .18s,box-shadow .18s}
button.secondary,.button.secondary{background:linear-gradient(145deg,var(--glass-glow),transparent 75%),color-mix(in srgb,var(--surface) 84%,transparent);border-color:var(--glass-rim);color:var(--link);box-shadow:inset 0 1px 0 var(--glass-rim)}button:hover,.button:hover{border-color:var(--link);box-shadow:inset 0 1px 0 var(--glass-rim),0 8px 20px -15px var(--accent)}button:disabled{cursor:default;opacity:.65}input,select,textarea{background:var(--surface);border-color:var(--line);border-radius:9px;min-height:46px;padding:11px 12px;color:var(--ink);font:inherit}input[type=checkbox],input[type=radio]{min-height:20px;min-width:20px;width:20px;height:20px;accent-color:var(--accent)}label{font-size:12px;color:var(--muted);gap:6px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:none}
.stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0 30px}.stats>div{position:relative;padding:18px 15px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:inset 0 1px 0 var(--glass-rim);overflow-wrap:anywhere;gap:5px}.stats>div:before{content:'';position:absolute;height:2px;left:15px;right:15px;top:0;background:var(--kpi);border-radius:2px}.stats strong{font-size:29px;font-weight:550;color:var(--kpi);line-height:1.35;letter-spacing:-.75px;font-variant-numeric:tabular-nums}.stats span{font-size:11px;line-height:1.5;color:var(--muted)}.stats small{font-size:10px;line-height:1.5}.stats:not(.compact)>div:nth-child(2) strong{color:var(--warn-ink)}.stats:not(.compact)>div:nth-child(2):before{background:var(--warn-ink)}.stats.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.stats.compact strong{font-size:23px}.stats.compact>div:last-child strong{font-size:14px;font-weight:500;letter-spacing:0;color:var(--muted)}
.badge{font-weight:600;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);font-size:10px;padding:4px 8px;line-height:1.45;background:var(--accent-soft);color:var(--link)}.badge.en_cours,.badge.devis{color:var(--kpi);background:color-mix(in srgb,var(--kpi) 7%,var(--surface));border-color:color-mix(in srgb,var(--kpi) 30%,var(--line))}.badge.brouillon,.badge.historique{color:var(--muted);background:var(--surface-soft)}.badge.valide,.badge.depose,.badge.termine{color:var(--valid-ink);background:var(--valid-bg);border-color:color-mix(in srgb,var(--valid-ink) 30%,var(--line))}.badge.a_chiffrer,.badge.a_verifier,.badge.doublon_probable,.badge.exemple{color:var(--warn-ink);background:var(--warning);border-color:color-mix(in srgb,var(--warn-ink) 30%,var(--line))}.badge.erreur_depot,.evoliz-card .warning{color:var(--danger-ink);background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger-ink) 30%,var(--line))}
.warning,.status-a_chiffrer,.status-a_verifier,.status-doublon_probable{background:var(--warning);color:var(--warn-ink);border-radius:8px}.prix-a-confirmer{color:var(--warn-ink);font-weight:600}.totals{max-width:480px}.totals>div{font-size:14px}.grand-total{font-size:21px!important;line-height:1.45}.grand-total strong{color:var(--kpi);font-size:25px}.numeric{font-variant-numeric:tabular-nums}.devis-grid{grid-template-columns:minmax(0,1fr) 290px;gap:20px}.devis-grid>.panel,.devis-grid>div{min-width:0}table{font-size:13px}th{font-size:10px;letter-spacing:.9px;font-weight:600}th,td{padding:15px 10px;line-height:1.55}td small{font-size:11px;line-height:1.6;white-space:normal;max-width:260px}.edit-row details{padding:7px 0}.edit-row summary{min-height:44px;display:flex;align-items:center;font-weight:600}.line-form{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);flex-wrap:wrap;gap:12px}.line-form input{width:130px}.line-form label{flex:1;min-width:110px}.line-form button{align-self:flex-end}.evoliz-card{top:24px}.evoliz-actions button,.evoliz-actions .button{min-height:48px;height:auto;padding:12px}
.dossier-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px}.actions{gap:9px;margin:16px 0 22px}.search{flex-wrap:wrap;gap:9px}.search input{min-width:180px}.search>label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:7px;min-height:44px}.demo-links{border-top:2px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,var(--accent-soft));margin-top:28px}.demo-links h2{font-size:16px}.demo-shortcuts .button{min-height:44px;font-size:12px}
.activity{grid-template-columns:1fr 1fr;gap:4px 16px}.activity>a{padding:12px 4px;border-color:var(--line);border-radius:7px}.activity>a:hover{background:var(--surface-soft)}.activity strong{font-size:13px}.activity small{font-size:10px}.classeur-grid{grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:18px}.classeur-arbre{background:color-mix(in srgb,var(--surface) 88%,var(--accent-soft));padding:16px}.classeur-arbre h2{font-size:16px}.classeur-arbre summary{font-size:12px;line-height:1.6}.classeur-arbre a{display:inline-block;padding:5px 2px;min-height:30px}.classeur-arbre a[aria-current]{color:var(--link);background:var(--accent-soft);border-radius:4px;padding:4px 6px}.classeur-contenu{padding:22px}.classeur-fil{line-height:1.8;font-size:11px}.classeur-item{gap:10px;padding:14px 0}.classeur-nom{line-height:1.5}.classeur-nom a{font-size:14px}.classeur-date,.classeur-taille{font-size:11px}.document-exemple{background:var(--surface-soft);border:1px dashed var(--line)}.classeur-actions button{font-size:12px}.classeur-sources{font-size:12px}.photos{gap:16px}.photo-card img{border:1px solid var(--line)}.photo-card p{font-size:13px;line-height:1.7}.turn{background:var(--surface-soft);border:1px solid var(--line);font-size:14px;line-height:1.8}.turn.assistant{background:var(--surface)}.turn.utilisateur{background:var(--accent-soft)}.empty{font-size:13px;line-height:1.8;background:var(--surface);border-color:var(--line)}dialog{border-color:var(--glass-rim);background:var(--surface);box-shadow:0 28px 90px #0006}dialog::backdrop{background:#060d1cd1;backdrop-filter:blur(8px)}summary{color:var(--link);line-height:1.7}.pairing img{background:#fff}.pair-link{font-size:13px;line-height:1.8;overflow-wrap:anywhere}
@media(max-width:1400px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.application-main{padding:30px 26px 40px}.cards{grid-template-columns:repeat(auto-fit,minmax(min(245px,100%),1fr))}.devis-grid{grid-template-columns:minmax(0,1fr) 270px}.classeur-grid{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:1100px){.application-shell:has(.navigation-main){grid-template-columns:205px minmax(0,1fr)}.application-main{padding:26px 22px 38px}.navigation-main{padding:20px 10px}.navigation-main a{font-size:12px;padding:10px}.devis-grid,.dossier-grid{grid-template-columns:1fr}.evoliz-card{position:static;grid-row:auto}.classeur-grid{grid-template-columns:1fr}.classeur-arbre{max-height:300px}.stats.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.application-shell:has(.navigation-main){display:block}.application-header{padding:17px 18px;align-items:center}.header-actions{flex-direction:row;gap:6px}.header-actions button{font-size:11px;padding:9px}.navigation-main{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;padding:17px 18px;border-right:0;border-bottom:1px solid var(--line)}.navigation-group{margin-bottom:3px}.navigation-group h2{font-size:9px;margin-bottom:5px}.navigation-main a{padding:8px;min-height:44px;font-size:12px}.application-main{padding:26px 18px 38px}.application-footer{padding:16px 18px 24px;text-align:center}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats>div{padding:16px 13px}.stats strong{font-size:25px}.stats span{font-size:11px}.cards{grid-template-columns:1fr}.panel,.card{padding:18px}.activity,.conversation-grid{grid-template-columns:1fr}.page-title{align-items:start}.classeur-grid{grid-template-columns:1fr}.classeur-contenu{padding:18px}.line-form{padding:10px}.line-form input{width:100%}.line-form button{width:100%}.grand-total strong{font-size:22px}.photo-filters{grid-template-columns:1fr}.classeur-actions{gap:7px}.classeur-actions button{font-size:11px}.action-bientot{min-width:0}.photos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.card:hover{transform:none!important}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.application-header,.navigation-main{background:var(--surface);backdrop-filter:none}.card,.panel,.stats>div,button.secondary,.button.secondary{background:var(--surface);box-shadow:none;border-color:var(--line)}}
.print-view .application-shell{display:block}.print-view .application-main{max-width:1280px;margin:auto}
}

/* Identité et barre latérale reprises de la maquette SpaceData. */
@media screen {
  .spacedata-wordmark { display:block; width:202px; max-width:100%; height:auto; color:var(--ink); flex-shrink:0; }
  .brand { flex-direction:column; align-items:flex-start; gap:14px; }
  .brand-copy { display:block; font-size:14px; letter-spacing:-.2px; }
  .brand-copy small { font-size:11px; margin-top:5px; }
  .application-shell:has(.navigation-main) {
    grid-template-columns:254px minmax(0,1fr);
    grid-template-rows:auto 1fr auto;
    grid-template-areas:'nav header' 'nav main' 'nav footer';
  }
  .application-header { min-height:78px; padding:16px 32px; background:color-mix(in srgb,var(--sidebar) 92%,transparent); }
  .application-location { display:flex; align-items:center; gap:12px; font-size:13px; min-width:0; }
  .application-location span { color:var(--muted); font-size:11px; border-right:1px solid var(--line); padding-right:12px; }
  .application-location strong { font-weight:600; overflow-wrap:anywhere; }
  .header-actions { margin-left:auto; align-items:center; }
  .application-shell:not(:has(.navigation-main)) .application-header { justify-content:space-between; }
  .navigation-main {
    position:sticky; top:0; height:100vh; max-height:100vh; align-self:start;
    padding:26px 18px 18px; overflow:auto;
    scrollbar-width:thin; scrollbar-color:var(--line) transparent;
    background:linear-gradient(160deg,var(--glass-glow),transparent 45%),var(--sidebar);
    box-shadow:inset -1px 0 0 color-mix(in srgb,var(--glass-rim) 30%,transparent);
  }
  .navigation-brandbar { padding:0 10px 24px; }
  .navigation-main .brand { align-items:flex-start; min-height:0; padding:0; border:0; border-radius:0; color:var(--ink); }
  .navigation-main .brand:hover { background:none; }
  .navigation-sections { display:flex; flex-direction:column; gap:6px; }
  .navigation-group { margin-bottom:14px; }
  .navigation-group h2 { margin:0 10px 8px; font-size:9px; letter-spacing:1.5px; }
  .navigation-main a[data-nav-key] { min-height:44px; font-size:13px; gap:11px; padding:10px; position:relative; }
  .navigation-icon { width:18px; height:18px; flex-shrink:0; stroke-width:1.6; color:var(--muted); }
  .navigation-main a.active { background:linear-gradient(130deg,var(--glass-glow),transparent 85%),var(--accent-soft); border-color:color-mix(in srgb,var(--violet) 45%,var(--line)); box-shadow:inset 0 1px 0 var(--glass-rim),0 4px 16px -12px var(--violet); }
  .navigation-main a.active .navigation-icon { color:var(--link); }
  .navigation-main a.active:after { content:''; width:4px; height:4px; border-radius:50%; background:var(--kpi); margin-left:auto; flex-shrink:0; }
  .navigation-footer { margin-top:auto; padding:18px 10px 0; border-top:1px solid var(--line); display:flex; align-items:center; gap:10px; }
  .workspace-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:var(--link); background:var(--accent-soft); border:1px solid var(--glass-rim); font-size:10px; font-weight:600; flex-shrink:0; }
  .navigation-footer strong { display:block; font-size:11px; font-weight:600; }
  .navigation-footer small { font-size:10px; margin-top:2px; }
  .navigation-toggle { display:none; }
  .application-main { padding:32px 32px 48px; }
  .application-main > .eyebrow { margin-top:0; }
  .stats { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .stats.compact { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .stats strong { font-size:27px; }
  .stats > div { padding:18px 14px; min-height:114px; }
  .stats > div:before { opacity:.85; }
  .card,.panel { box-shadow:inset 0 1px 0 color-mix(in srgb,var(--glass-rim) 42%,transparent),var(--shadow); }
  @media(max-width:1100px) {
    .application-shell:has(.navigation-main) { grid-template-columns:238px minmax(0,1fr); }
    .spacedata-wordmark { width:188px; }
    .application-header { padding:16px 24px; }
    .application-main { padding:28px 24px 40px; }
    .stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .stats.compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
  }
  @media(max-width:760px) {
    .application-shell:has(.navigation-main) { display:flex; flex-direction:column; }
    .navigation-main { display:block; position:static; order:0; width:100%; height:auto; max-height:none; padding:18px; overflow:visible; }
    .navigation-brandbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0; }
    .spacedata-wordmark { width:180px; }
    .brand { gap:9px; }
    .brand-copy { font-size:13px; }
    .brand-copy small { font-size:10px; margin-top:3px; }
    .navigation-toggle { display:inline-flex; min-width:54px; min-height:46px; gap:7px; font-size:12px; }
    .navigation-sections { display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; margin-top:24px; }
    .navigation-main:not(.is-expanded) .navigation-sections { display:none; }
    .navigation-group { margin-bottom:0; }
    .navigation-main a[data-nav-key] { font-size:12px; }
    .navigation-footer { display:none; }
    .application-header { order:1; min-height:64px; padding:12px 18px; gap:10px; }
    .application-location { font-size:12px; gap:8px; }
    .application-location span { display:none; }
    .header-actions button { min-width:44px; padding:9px; }
    .application-main { order:2; padding:26px 18px 38px; }
    .application-footer { order:3; }
    .stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .stats strong { font-size:25px; }
    .stats > div { min-height:106px; padding:16px 13px; }
    .navigation-main:not(.has-menu-toggle) .navigation-sections { display:grid; }
  }
  @media(prefers-reduced-transparency:reduce),(prefers-contrast:more) {
    .navigation-main,.application-header { background:var(--surface); box-shadow:none; backdrop-filter:none; }
    .card,.panel { box-shadow:none; }
  }
}

/* Logo de l’entreprise en tête, « SpaceData solutions » en dessous ; version claire ou sombre selon le thème. */
.brand-marks { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.batis-logo { display:block; width:170px; height:auto; }
.batis-logo-sombre { display:none; }
:root[data-theme=dark] .batis-logo-clair { display:none; }
:root[data-theme=dark] .batis-logo-sombre { display:block; }
@media(prefers-color-scheme:dark) { :root:not([data-theme=light]) .batis-logo-clair { display:none; } :root:not([data-theme=light]) .batis-logo-sombre { display:block; } }
.brand-marks .spacedata-wordmark { width:150px; }
@media(max-width:1100px) { .batis-logo { width:160px; } .brand-marks .spacedata-wordmark { width:140px; } }
@media(max-width:760px) { .batis-logo { width:110px; } .brand-marks .spacedata-wordmark { width:110px; } }
@media print { .brand-marks { display:none; } }

/* Réglages entreprise : champs et aperçus dans les deux thèmes. */
.entreprise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.entreprise-form label{margin:12px 0}.entreprise-form textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:9px;padding:11px 13px;background:var(--surface);color:var(--ink);font:inherit}.entreprise-form input[type=color]{height:48px;width:100%}.logo-preview{display:flex;align-items:center;justify-content:center;height:160px;border:1px solid var(--line);border-radius:12px;padding:16px}.logo-preview img{max-height:130px;max-width:100%;object-fit:contain}.logo-preview-clair{background:#fff}.logo-preview-sombre{background:#13233A}.checkbox-label{flex-direction:row;align-items:center}.notice{background:var(--valid-bg);color:var(--valid-ink);padding:16px;border-radius:9px}@media(max-width:700px){.entreprise-grid{grid-template-columns:1fr}}
