@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#182333;--muted:#647284;--orange:#e77b25;--line:#e3e7eb;--bg:#f5f6f8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px 'DM Sans',sans-serif}h1,h2,h3,.logo{font-family:Manrope,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:11px 16px;font-weight:600;min-height:44px}button:hover{filter:brightness(.97)}button:focus-visible,a:focus-visible{outline:3px solid #e77b2580;outline-offset:3px}.primary{background:var(--orange);border-color:var(--orange);color:white}.secondary{background:#edf1f5}.danger{color:#a83434}a{color:inherit}aside{position:fixed;width:250px;height:100vh;background:#142332;color:#b8c3cd;padding:34px 22px;display:flex;flex-direction:column}.logo{display:flex;align-items:center;gap:11px;text-decoration:none;color:white;font-size:19px;font-weight:800}.logo b{color:#ffae65}.mark{background:var(--orange);padding:12px 8px;border-radius:10px;font-size:18px}.logo small{display:block;font:8px 'DM Sans';letter-spacing:1.6px;margin-top:7px;color:#9aa8b7}nav{display:grid;gap:7px;margin-top:52px}nav a{text-decoration:none;padding:14px;border-radius:9px;display:flex;gap:13px;align-items:center}nav a.active{background:#293746;color:white;border-left:3px solid var(--orange)}nav a span{font-size:19px;width:22px}.aside-foot{margin-top:auto;font-size:12px;line-height:2}.aside-foot small{color:#8999a8;font-size:11px}.dot{display:inline-block;background:#78b89b;width:7px;height:7px;border-radius:50%;margin-right:6px}.shell{margin-left:250px}header{height:86px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;background:white}#crumb{font-size:13px;color:var(--muted)}main{max-width:1250px;padding:38px 42px;margin:auto}h1{font-size:32px;letter-spacing:-1.2px;margin:7px 0 9px;font-weight:800}h2{font-size:18px;margin:0}h3{font-size:16px}p{line-height:1.6}.muted{color:var(--muted)}.eyebrow{color:var(--orange);font-size:11px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase}.top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.pill{font-size:11px;border-radius:30px;padding:7px 11px;background:#edf2ee;color:#387257;white-space:nowrap}.notice{background:#fff5e8;border:1px solid #f0daba;padding:13px 18px;border-radius:10px;color:#77512f;font-size:12px;line-height:1.6;margin-bottom:24px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.stat,.card{background:white;border:1px solid var(--line);border-radius:13px;padding:24px}.stat label{color:var(--muted);font-size:12px;display:block}.stat strong{display:block;font:800 30px Manrope;margin:14px 0 7px;letter-spacing:-1px}.stat small{color:var(--muted);font-size:11px}.grid{display:grid;grid-template-columns:1.65fr 1fr;gap:22px;margin-top:24px}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.link{color:#b9601b;font-size:12px;text-decoration:none}.empty{padding:35px 15px;text-align:center;color:var(--muted)}.empty .empty-icon{font-size:30px;color:var(--orange)}.empty h3{color:var(--ink);margin-bottom:5px}.empty p{font-size:13px;margin:0 0 20px}.steps{display:grid;gap:20px;margin:20px 0}.step{display:flex;gap:13px}.number{border-radius:9px;background:#fff2e6;color:#bd661e;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.step b{font-size:13px}.step p{font-size:12px;margin:5px 0;color:var(--muted)}.row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:17px 0}.row:first-child{border-top:0}.row small{display:block;color:var(--muted);margin-top:5px;font-size:11px}.row-actions{display:flex;gap:7px;flex-wrap:wrap}.row-actions button{font-size:12px;padding:8px 12px}.tag{font-size:10px;padding:5px 8px;border-radius:5px;background:#edf1f6;color:#536680}.tag.accepté{color:#25704e;background:#e9f5ed}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}input,select,textarea{border:1px solid #cfd6dd;border-radius:8px;padding:12px;background:white;width:100%;color:var(--ink)}textarea{min-height:80px}label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}.field{margin:15px 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.toolbar input{max-width:380px}.toolbar select{width:auto}.list{display:grid;gap:12px}.list .card{padding:18px 22px}.price{font-weight:700;white-space:nowrap}footer{font-size:11px;color:var(--muted);padding:20px 42px 30px}dialog{border:0;border-radius:15px;width:620px;max-width:calc(100% - 24px);padding:26px;max-height:90vh;overflow:auto;box-shadow:0 24px 100px #14233240}dialog::backdrop{background:#14233288}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head button{border:0;padding:5px 12px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.quote-line{border:1px solid var(--line);border-radius:10px;padding:14px;margin:12px 0;background:var(--bg)}.line-grid{display:grid;grid-template-columns:1fr 1fr 1fr 42px;gap:10px;margin-top:12px}.line-grid label{font-size:10px}.line-grid input,.line-grid select{padding:9px}.totals{margin:22px 0 0 auto;max-width:280px}.totals div{display:flex;justify-content:space-between;padding:7px 0}.totals .grand{font-size:20px;font-weight:800;border-top:1px solid var(--line);margin-top:5px;padding-top:15px}.doc{padding:32px;border:1px solid var(--line);background:white;border-radius:12px}.doc-top{display:flex;justify-content:space-between;gap:15px}.doc table{width:100%;border-collapse:collapse;margin-top:30px;font-size:13px}.doc th,.doc td{padding:14px 5px;text-align:right;border-bottom:1px solid var(--line)}.doc th:first-child,.doc td:first-child{text-align:left}.doc-note{font-size:11px;color:var(--muted);margin-top:32px}.backup-actions{display:flex;gap:10px;flex-wrap:wrap}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#142332;color:white;padding:13px 22px;border-radius:9px;display:none;z-index:100;font-size:13px}.status-note{font-size:12px;color:var(--muted)}@media(max-width:1000px){aside{width:210px;padding:28px 15px}.shell{margin-left:210px}main{padding:28px}.grid{grid-template-columns:1fr}.logo{font-size:16px}header{padding:0 28px}}@media(max-width:650px){aside{width:100%;height:66px;bottom:0;padding:0;z-index:30;background:white;border-top:1px solid var(--line)}.logo,.aside-foot{display:none}nav{display:flex;justify-content:space-around;margin:0;gap:0}nav a{flex:1;flex-direction:column;gap:3px;padding:9px 2px;font-size:9px;color:var(--muted);border-radius:0}nav a span{font-size:19px;text-align:center}nav a.active{border-left:0;background:#fff7ee;color:#b45c19}.shell{margin:0 0 65px}header{height:70px;padding:0 20px}header:before{content:'ChantierFacile';font:800 17px Manrope}#crumb{display:none}header button{font-size:12px;padding:10px}main{padding:24px 18px}h1{font-size:27px}.top{gap:8px}.top p{font-size:12px}.top .pill{display:none}.stats{gap:8px}.stat{padding:15px 11px}.stat label{font-size:10px}.stat strong{font-size:22px}.stat small{font-size:9px}.card{padding:20px}.two{grid-template-columns:1fr;gap:0}.row{align-items:flex-start;flex-wrap:wrap}.row-actions{margin-left:auto}.doc{padding:18px}.doc-top{flex-direction:column}.doc table{font-size:11px}.line-grid{gap:6px}.line-grid input{min-width:0}footer{padding:16px 20px}#toast{bottom:78px;width:max-content;max-width:90%;text-align:center}}
@media print{aside,header,footer,.no-print,.notice,.top{display:none!important}.shell{margin:0}main{padding:0}.doc{border:0;padding:10px}.doc-note{display:block}body{background:white}}
.catalog-picker{display:flex;gap:10px;align-items:stretch}.catalog-picker select{flex:1;min-width:0}.catalog-picker button{flex-shrink:0}button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:650px){.catalog-picker{flex-direction:column}.catalog-picker button{width:100%}}

/* Atelier connecté : contrôles accessibles et six onglets sur mobile. */
.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid var(--line);border-radius:12px;font-weight:700;text-decoration:none;color:inherit;min-height:44px;gap:6px}
.button.primary{background:var(--orange,#ed7e22);color:white;border-color:transparent}
.extension-card{margin-top:24px}.extension-card h2{margin:12px 0}.extension-card p{margin:16px 0}
#share-text{width:100%;margin:12px 0;min-height:220px}
.row-actions,.toolbar,.backup-actions{flex-wrap:wrap}
@media(max-width:900px){nav{grid-template-columns:repeat(6,minmax(0,1fr))!important}nav a{min-width:0!important;font-size:11px!important;padding:12px 2px!important}.shell{padding-bottom:105px}.doc{padding:18px;overflow-x:auto}.doc-top{gap:20px;flex-wrap:wrap}.backup-actions .button,.backup-actions button{width:100%}}
@media print{.extension-card,footer{display:none!important}.doc{overflow:visible}}
