@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');
:root{font-family:Montserrat,Arial,sans-serif;color:#f4f4f3;background:#111;--bronze:#b28a52;--panel:#1a1a1a;--muted:#9d9d9d}*{box-sizing:border-box}body{margin:0}.app{display:grid;grid-template-columns:270px 1fr;min-height:100vh}aside{background:#0c0c0d;border-right:1px solid #292929;padding:22px 14px;position:fixed;width:270px;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:13px;padding:3px 10px 24px;border-bottom:1px solid #282828}.brand img{width:46px;height:46px;object-fit:contain}.brand b{display:block;letter-spacing:3px;font-size:20px}.brand span{display:block;color:var(--bronze);font-size:10px;letter-spacing:4px;margin-top:3px}nav{display:flex;flex-direction:column;gap:3px;margin-top:18px}nav button{border:0;background:transparent;color:#aaa;padding:11px 12px;border-radius:9px;display:flex;align-items:center;gap:12px;text-align:left;font-family:inherit;cursor:pointer}nav button:hover{background:#171717;color:#fff}nav button.active{background:linear-gradient(90deg,#2a2218,#1b1814);color:#e9d0aa;border:1px solid #4a3821}nav em{font-style:normal;font-size:8px;letter-spacing:1px;margin-left:auto;background:#604a2c;padding:3px 5px;border-radius:4px}.version{color:#666;font-size:11px;padding:20px 12px}main{grid-column:2;padding:0 35px 40px;min-width:0}header{height:105px;border-bottom:1px solid #292929;display:flex;align-items:center;justify-content:space-between}header p{color:var(--bronze);font-size:11px;letter-spacing:2px;text-transform:uppercase;margin:0 0 5px}header h1{margin:0;font-size:28px}.status{font-size:12px;color:#aaa;background:#171717;border:1px solid #292929;padding:10px 14px;border-radius:99px}.status span{display:inline-block;width:8px;height:8px;background:#6bc78b;border-radius:50%;margin-right:8px}.hero{margin-top:28px;background:linear-gradient(135deg,#1e1b17,#171717 50%,#141414);border:1px solid #34302a;border-radius:14px;padding:30px;display:flex;justify-content:space-between;align-items:center}.hero>div>span,.modal>span{color:var(--bronze);font-size:10px;letter-spacing:3px}.hero h2{font-size:26px;margin:8px 0}.hero p{color:#aaa;margin:0}.stats{display:flex!important;gap:35px}.stats div{text-align:center}.stats b{font-size:30px;display:block}.stats span{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:1px}.toolbar{display:flex;gap:12px;margin:22px 0}.toolbar label{background:#181818;border:1px solid #303030;border-radius:9px;display:flex;align-items:center;gap:10px;padding:0 13px;flex:1}.toolbar input{width:100%;background:transparent;border:0;color:#fff;padding:13px 0;outline:none;font-family:inherit}.primary{background:var(--bronze);border:0;color:#111;font-weight:700;border-radius:9px;padding:0 18px;display:flex;align-items:center;gap:8px;font-family:inherit}.primary:disabled{opacity:.5}.tablewrap{background:#171717;border:1px solid #2c2c2c;border-radius:12px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:800px}th{text-align:left;color:#8e8e8e;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;padding:14px 17px;background:#141414}td{padding:14px 17px;border-top:1px solid #282828;font-size:13px}td strong{display:block}td small{display:block;color:#737373;margin-top:4px;font-size:10px}.money{font-weight:700}.badge{padding:5px 8px;border-radius:99px;font-size:10px}.badge.on{background:#173122;color:#86d7a5}.badge.off{background:#342121;color:#dc8d8d}.icon{border:1px solid #3a3a3a;background:#202020;color:#ddd;border-radius:7px;padding:7px;cursor:pointer}.coming{height:70vh;display:grid;place-items:center;text-align:center;color:#888}.coming h2{color:#fff}.coming div{max-width:480px}.overlay{position:fixed;inset:0;background:#000b;display:grid;place-items:center;z-index:20}.modal{width:min(460px,90vw);background:#181818;border:1px solid #413729;border-radius:14px;padding:28px;position:relative;box-shadow:0 25px 80px #000}.modal h2{margin:8px 0 25px}.modal label{display:block;color:#aaa;font-size:12px;margin:15px 0}.modal input[type=text],.modal input[type=number],.modal label>input:not([type=checkbox]){display:block;width:100%;margin-top:7px;padding:12px;background:#111;border:1px solid #333;border-radius:8px;color:#fff;font:inherit}.check{display:flex!important;align-items:center;gap:8px}.close{position:absolute;right:16px;top:16px;border:0;background:transparent;color:#aaa}.save{width:100%;justify-content:center;padding:13px;margin-top:18px}.note{font-size:10px;color:#777;text-align:center}.empty{padding:50px;text-align:center;color:#777}@media(max-width:850px){.app{grid-template-columns:76px 1fr}aside{width:76px;padding:14px 8px}.brand div,nav span,nav em,.version{display:none}.brand{padding:5px 7px 18px}.brand img{width:42px}nav button{justify-content:center;padding:12px}main{grid-column:2;padding:0 16px 30px}.hero{display:block}.stats{margin-top:25px}.toolbar{flex-direction:column}.primary{padding:13px;justify-content:center}header .status{display:none}}
.subnav{display:flex;gap:8px;margin:22px 0}.subnav button,.mode-buttons button,.secondary{background:#181818;border:1px solid #303030;color:#aaa;border-radius:8px;padding:10px 14px;font-family:inherit;display:flex;align-items:center;gap:8px;cursor:pointer}.subnav button.active,.mode-buttons button.active{color:#ead0aa;border-color:#6a5131;background:#2a2117}.calculator-grid{display:grid;grid-template-columns:minmax(390px,1fr) minmax(360px,1fr);gap:18px}.calc-card{background:#171717;border:1px solid #2d2d2d;border-radius:12px;padding:24px}.calc-card h3{margin:8px 0 18px}.eyebrow{color:var(--bronze);font-size:10px;letter-spacing:2.5px}.eyebrow.second{display:block;margin-top:24px}.mode-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.calc-card label{display:block;color:#aaa;font-size:12px;margin:13px 0}.calc-card input,.modal select{display:block;width:100%;margin-top:7px;padding:11px;background:#111;border:1px solid #333;border-radius:8px;color:#fff;font:inherit}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.form-grid label{margin:5px 0}.calculate{padding:13px 18px;margin-top:18px;width:100%;justify-content:center}.sections{display:flex;flex-direction:column;gap:8px}.section-row{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:8px}.section-row button{border:1px solid #3b2d2d;background:#241919;color:#d98989;border-radius:7px;padding:8px}.result-placeholder{height:430px;display:grid;place-content:center;text-align:center;color:#666}.result-main{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.result-main div{background:#201b16;border:1px solid #403321;border-radius:10px;padding:18px}.result-main span,.result-list span{display:block;color:#999;font-size:11px}.result-main b{font-size:24px;margin-top:5px;display:block}.result-list{border:1px solid #2d2d2d;border-radius:10px;overflow:hidden}.result-list div{display:flex;justify-content:space-between;padding:13px 15px;border-top:1px solid #292929}.result-list div:first-child{border-top:0}.warnings{margin-top:14px;background:#332616;border:1px solid #6c4d24;border-radius:9px;padding:10px 14px;color:#efc98c;font-size:12px}.rule-note{font-size:10px;color:#777;margin-top:15px;line-height:1.6}.error{margin-top:12px;color:#f09c9c;background:#321d1d;padding:10px;border-radius:8px}.modal select{margin-top:7px}.secondary{width:max-content}.check input{width:auto!important;margin:0!important}@media(max-width:1100px){.calculator-grid{grid-template-columns:1fr}}@media(max-width:650px){.form-grid,.result-main{grid-template-columns:1fr}.mode-buttons{flex-direction:column}}

.builder-layout{display:grid;grid-template-columns:230px minmax(0,1fr) 300px;gap:18px;align-items:start}.blueprint-picker,.builder-form,.builder-summary{background:var(--panel,#17191d);border:1px solid #2c2f35;border-radius:18px;padding:20px}.blueprint-picker{display:flex;flex-direction:column;gap:10px}.blueprint-picker h3{margin:0 0 8px}.blueprint-picker button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:13px;border-radius:12px;border:1px solid #343840;background:#202329;color:#fff}.blueprint-picker button.active{border-color:#b08a52;background:#2b261f}.blueprint-picker button small{color:#aeb2ba;margin-top:4px}.blueprint-picker button em{font-style:normal;color:#b99764;font-size:12px;margin-top:7px}.builder-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #30333a;padding-bottom:16px;margin-bottom:16px}.builder-title h2{margin:4px 0}.builder-title p{margin:0;color:#aeb2ba}.builder-module{border-bottom:1px solid #2e3137;padding:8px 0 18px;margin-bottom:14px}.builder-module h3{margin:5px 0 12px}.builder-summary{position:sticky;top:18px}.builder-summary .result-placeholder{min-height:260px}.builder-form select{width:100%;background:#111317;color:#fff;border:1px solid #3a3e46;border-radius:10px;padding:11px;margin-top:7px}@media(max-width:1100px){.builder-layout{grid-template-columns:210px 1fr}.builder-summary{grid-column:1/-1;position:static}}@media(max-width:760px){.builder-layout{grid-template-columns:1fr}.builder-summary{grid-column:auto}.blueprint-picker{display:grid;grid-template-columns:1fr 1fr}.blueprint-picker>span,.blueprint-picker>h3{grid-column:1/-1}}
select,textarea{display:block;width:100%;margin-top:7px;padding:11px;background:#111;border:1px solid #333;border-radius:8px;color:#fff;font:inherit}textarea{min-height:110px;resize:vertical}.project-list{display:grid;gap:10px}.project-row{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;background:#171717;border:1px solid #2c2c2c;border-radius:12px;padding:19px 22px;color:#fff;cursor:pointer;font:inherit}.project-row:hover{border-color:#6a5131;background:#1b1916}.project-row h3{margin:6px 0}.project-row p{margin:0;color:#888}.project-metrics{text-align:right;display:grid;gap:7px;justify-items:end}.project-metrics small{color:#888}.badge.draft{background:#362b19;color:#e3bd7d}.empty.big{background:#171717;border:1px dashed #333;border-radius:12px}.project-modal{width:min(760px,94vw)}.project-modal textarea{width:100%}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.workspace-main{min-width:0}.project-head{display:flex;justify-content:space-between;align-items:flex-start;margin:20px 0}.project-head h2{font-size:27px;margin:7px 0}.project-head p{display:flex;gap:7px;color:#999;margin:0}.status-select{width:auto;min-width:150px;margin:0}.client-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#171717;border:1px solid #2d2d2d;border-radius:12px;padding:15px}.client-strip>div{display:flex;gap:10px;align-items:center}.client-strip small{display:block;color:#777;margin-bottom:4px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:25px 0 12px}.section-title h3{margin:5px 0}.element-cards{display:grid;gap:10px}.element-card{display:flex;justify-content:space-between;align-items:center;background:#171717;border:1px solid #2d2d2d;border-radius:12px;padding:18px}.element-card h3{margin:5px 0}.element-card p{margin:0;color:#888}.element-actions{display:flex;gap:7px}.element-actions button{background:#202020;border:1px solid #363636;border-radius:7px;color:#bbb;padding:8px}.project-side{position:static;width:auto;height:auto;padding:0;background:transparent;border:0;overflow:visible}.summary-card,.notes-card,.timeline-card{background:#171717;border:1px solid #2d2d2d;border-radius:12px;padding:20px;margin-bottom:12px}.summary-card>div{display:flex;justify-content:space-between;border-top:1px solid #292929;padding:13px 0}.summary-card>div:first-of-type{margin-top:13px}.summary-card small{color:#888}.summary-card p{color:#777;font-size:11px;line-height:1.5}.notes-card .eyebrow,.timeline-card .eyebrow{display:flex;gap:7px;align-items:center}.notes-card button{margin-top:10px;width:100%;justify-content:center}.timeline-item{display:flex;gap:10px;margin-top:16px}.timeline-item i{width:9px;height:9px;background:var(--bronze);border-radius:50%;margin-top:4px}.timeline-item b,.timeline-item small{display:block}.timeline-item small{color:#777;margin-top:4px}.element-modal{width:min(1320px,98vw);max-height:92vh;overflow:auto;overflow-x:hidden}.blueprint-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.blueprint-grid button{position:relative;text-align:left;background:#151515;border:1px solid #313131;border-radius:10px;padding:18px;color:#fff;font:inherit}.blueprint-grid button:hover{border-color:#6a5131}.blueprint-grid strong,.blueprint-grid small{display:block}.blueprint-grid small{color:#888;margin-top:6px}.blueprint-grid em{position:absolute;right:12px;top:12px;color:var(--bronze);font-size:10px}.back-mini{margin-bottom:12px}.error{background:#3a1f1f;border:1px solid #713b3b;color:#efaaaa;padding:10px;border-radius:8px;margin-top:10px}@media(max-width:1050px){.workspace{grid-template-columns:1fr}.client-strip{grid-template-columns:1fr}.project-side{display:grid;grid-template-columns:1fr 1fr;gap:12px}.timeline-card{grid-column:1/-1}}@media(max-width:700px){.project-row,.project-head,.section-title{align-items:flex-start;flex-direction:column;gap:12px}.project-metrics{justify-items:start;text-align:left}.project-side{display:block}.blueprint-grid{grid-template-columns:1fr}}
.formwork-box,.slab-builder{grid-column:1/-1;margin-top:14px;border:1px solid #403522;background:#151412;border-radius:14px;padding:18px}.formwork-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.formwork-head p{margin:5px 0;color:#888;font-size:12px}.formwork-head>b{font-size:24px;color:#e3c492}.formwork-visual{width:min(430px,100%);margin:18px auto;display:grid;grid-template-columns:1fr;gap:8px}.formwork-visual>button,.formwork-middle>button,.edge-picker button{border:2px solid #4a4a4a;background:#1b1b1b;color:#aaa;border-radius:8px;padding:9px;cursor:pointer;font:inherit}.formwork-visual button.selected,.edge-picker button.selected{border-color:var(--bronze);background:#382a19;color:#f1d2a5}.formwork-visual button span,.formwork-visual button b{display:block}.formwork-visual button span{font-size:10px}.formwork-middle{display:grid;grid-template-columns:88px 1fr 88px;gap:8px;align-items:stretch}.shape{min-height:105px;border:3px solid #666;display:grid;place-items:center;background:#191919}.shape small{color:#888}.profile-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;border-top:1px solid #302a21;padding-top:14px}.profile-controls label{margin:0!important;min-width:175px}.profile-result{background:#2b241b;border:1px solid #574329;border-radius:9px;padding:10px 16px}.profile-result small,.profile-result b{display:block}.profile-result b{font-size:22px}.formwork-result,.slab-total{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;padding:12px;background:#1d1b18;border-radius:9px;color:#aaa}.formwork-result b,.slab-total b{color:#fff}.slab-row{border-top:1px solid #302d28;padding:16px 0}.slab-fields{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:9px;align-items:end}.slab-fields label{margin:0!important}.danger{color:#dc8d8d!important}.edge-picker{display:grid;grid-template-columns:70px 70px 1fr 70px 70px;gap:7px;align-items:center;margin-top:12px}.mini-slab{height:64px;border:3px solid #666;display:grid;place-items:center;color:#aaa}.slab-total{justify-content:space-between}@media(max-width:650px){.formwork-middle{grid-template-columns:70px 1fr 70px}.slab-fields{grid-template-columns:1fr 1fr}.edge-picker{grid-template-columns:1fr 1fr}.mini-slab{grid-column:1/-1;order:-1}.formwork-head{flex-direction:column}}

.global-settings{display:grid;gap:18px;margin-top:18px}.settings-intro,.settings-section{background:#171b21;border:1px solid #2f3540;border-radius:18px;padding:22px}.settings-intro h3,.settings-section h3{margin:7px 0 14px}.settings-intro p,.settings-note{color:#aeb5c0}.settings-section textarea{min-height:82px}.span-2{grid-column:1/-1}.checks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.section-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px}.mode-choice{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:16px}.settings-actions{display:flex;justify-content:flex-end;gap:12px}.project-steps{display:flex;gap:10px;margin:18px 0}.project-steps button{display:flex;align-items:center;gap:9px;border:1px solid #363c47;background:#171b21;color:#c6ccd5;border-radius:12px;padding:11px 16px}.project-steps button b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#2b3039}.project-steps button.active{border-color:#b98e52;color:#fff}.project-steps button.active b{background:#b98e52;color:#111}@media(max-width:800px){.checks-grid{grid-template-columns:1fr}.settings-actions{flex-direction:column}.span-2{grid-column:auto}}

.payment-terms{margin-top:22px;border-top:1px solid #303641;padding-top:20px}.payment-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.payment-choice{display:flex;gap:12px;align-items:flex-start;border:1px solid #363c47;border-radius:14px;padding:16px;background:#14171c;cursor:pointer}.payment-choice.selected{border-color:#b98e52;background:#211c15}.payment-choice input{width:auto;margin:3px 0 0}.payment-choice b,.payment-choice small{display:block}.payment-choice small{color:#aeb5c0;margin-top:6px;line-height:1.45}.custom-payment{display:block;margin-top:16px}.custom-payment.hidden{display:none}.custom-payment textarea{min-height:100px}@media(max-width:760px){.payment-choice-grid{grid-template-columns:1fr}}

/* v0.8.6-dev — gestion sécurisée des soumissions */
.project-folders{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px}.project-folders button{border:1px solid #3b3b3b;background:#191919;color:#ddd;padding:10px 14px;border-radius:10px;cursor:pointer}.project-folders button.active{border-color:#d4a35f;background:#2b241a;color:#fff}.project-folders b{display:inline-flex;min-width:22px;justify-content:center;margin-left:6px;padding:2px 6px;border-radius:999px;background:#333}.project-row-actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;padding:0!important;overflow:hidden}.project-open{display:flex;width:100%;justify-content:space-between;align-items:center;text-align:left;background:transparent;border:0;color:inherit;padding:18px;cursor:pointer}.project-actions{display:flex;align-items:center;gap:8px;padding:12px;border-left:1px solid #333}.project-actions button{white-space:nowrap}.project-actions .danger{background:#32191a;color:#ffb4b4;border:1px solid #6a3032;border-radius:8px;padding:9px 11px;cursor:pointer}.badge.completed{background:#173b27;color:#8ff0b3}.badge.refused{background:#401f22;color:#ffb0b5}.badge.sent,.badge.accepted{background:#312812;color:#f1cf83}@media(max-width:900px){.project-row-actions{grid-template-columns:1fr}.project-actions{border-left:0;border-top:1px solid #333;justify-content:flex-end;flex-wrap:wrap}}

/* Construction / Rénovation — bibliothèque v0.8.6.1-dev */
.reno-landing{display:flex;flex-direction:column;gap:22px}.reno-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#161b1e,#2b3439);color:#fff;border-radius:18px;padding:28px}.reno-hero h3{font-size:28px;margin:6px 0}.reno-hero p{max-width:680px;color:#c5cdd1}.reno-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.reno-overview>div{background:#fff;border:1px solid #dfe3e5;border-radius:14px;padding:18px;display:flex;flex-direction:column}.reno-overview b{font-size:26px}.reno-overview span{color:#68757d;font-size:12px;text-transform:uppercase;font-weight:700}.reno-strip{background:#fff;border:1px solid #dfe3e5;border-radius:16px;padding:20px}.reno-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.reno-category-grid button{background:#f8f8f6;border:1px solid #dfe3e5;border-radius:12px;padding:17px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:5px}.reno-category-grid button:hover{border-color:#b88a48;transform:translateY(-1px)}.reno-category-grid button span{font-size:24px}.reno-category-grid button small{color:#748087}.reno-library-modal{width:min(1180px,94vw)!important;max-height:92vh;overflow:auto}.reno-search-row label{display:flex;align-items:center;gap:8px;background:#f5f5f2;border:1px solid #d7dcdf;border-radius:12px;padding:4px 14px}.reno-search-row input{border:0!important;background:transparent!important;font-size:16px!important;padding:13px 4px!important;outline:none!important}.reno-category-tabs{display:flex;gap:8px;overflow:auto;padding:14px 0}.reno-category-tabs button{white-space:nowrap;border:1px solid #d6dcdf;background:#fff;border-radius:999px;padding:8px 12px;cursor:pointer}.reno-category-tabs button.active{background:#20272b;color:#fff;border-color:#20272b}.reno-results-head{display:flex;justify-content:space-between;align-items:center;padding:8px 0 14px;color:#65727a}.reno-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.reno-card-grid.compact{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.reno-card{position:relative;border:1px solid #dfe3e5;border-radius:13px;background:#fff;overflow:hidden;min-height:135px}.reno-card:hover{border-color:#b88a48;box-shadow:0 8px 24px rgba(20,30,35,.08)}.reno-open{border:0;background:transparent;width:100%;height:100%;padding:17px;display:flex;gap:13px;text-align:left;cursor:pointer}.reno-icon{font-size:24px;line-height:1}.reno-open small{font-size:10px;text-transform:uppercase;color:#75828a;font-weight:800}.reno-open h4{margin:5px 0 7px;font-size:16px}.reno-open p{margin:0;color:#65727a;font-size:12px;line-height:1.45}.reno-fav{position:absolute;right:8px;top:8px;z-index:2;border:0;background:#f1f2ef;color:#a6afb3;border-radius:50%;width:28px;height:28px;cursor:pointer}.reno-fav.active{color:#c58e2c;background:#fff3d5}.reno-preview-desc{font-size:16px;color:#59666d;line-height:1.6}.reno-preview-note{background:#f5f2eb;border-left:4px solid #b88a48;border-radius:8px;padding:16px;margin:20px 0}.reno-preview-note p{margin-bottom:0;color:#5f6b72}.reno-keywords{display:flex;gap:7px;flex-wrap:wrap}.reno-keywords span{background:#eef1f2;border-radius:999px;padding:5px 9px;font-size:11px;color:#56636a}@media(max-width:760px){.reno-hero{align-items:flex-start;flex-direction:column}.reno-overview{grid-template-columns:1fr}.reno-results-head{align-items:flex-start;flex-direction:column;gap:4px}}

/* v0.8.6.3-dev — bibliothèque rénovation agrandie et grille réellement responsive */
#modal-overlay:has(.reno-library-modal){padding:2vh 2vw;align-items:center;justify-content:center}
.reno-library-modal{
  width:96vw!important;
  max-width:1600px!important;
  height:92vh;
  max-height:92vh!important;
  box-sizing:border-box;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:24px!important;
}
.reno-library-modal .reno-search-row,
.reno-library-modal .reno-category-tabs,
.reno-library-modal .reno-results-head{
  position:sticky;
  z-index:5;
  background:#171717;
}
.reno-library-modal .reno-search-row{top:-24px;padding-top:8px}
.reno-library-modal .reno-category-tabs{top:55px;padding-top:12px;padding-bottom:10px}
.reno-library-modal .reno-results-head{top:109px;padding-top:10px}
.reno-library-modal .reno-card-grid{
  width:100%;
  min-width:0;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.reno-library-modal .reno-card{min-width:0;min-height:122px}
.reno-library-modal .reno-open{padding:14px;gap:10px;min-width:0}
.reno-library-modal .reno-icon{font-size:20px;flex:0 0 auto}
.reno-library-modal .reno-open>div{min-width:0}
.reno-library-modal .reno-open h4{font-size:15px;overflow-wrap:anywhere}
.reno-library-modal .reno-open p{font-size:11.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:1450px){.reno-library-modal .reno-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){
  .reno-library-modal{width:96vw!important;padding:18px!important}
  .reno-library-modal .reno-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reno-library-modal .reno-search-row{top:-18px}
  .reno-library-modal .reno-category-tabs{top:55px}
  .reno-library-modal .reno-results-head{top:109px}
}
@media(max-width:620px){
  #modal-overlay:has(.reno-library-modal){padding:0}
  .reno-library-modal{width:100vw!important;height:100vh;max-height:100vh!important;border-radius:0!important;padding:14px!important}
  .reno-library-modal .reno-card-grid{grid-template-columns:1fr}
  .reno-library-modal .reno-search-row{top:-14px}
  .reno-library-modal .reno-category-tabs{top:53px}
  .reno-library-modal .reno-results-head{top:106px}
  .reno-library-modal .reno-open p{-webkit-line-clamp:2}
}


/* v0.8.6.4-dev — corrige le vrai conteneur modal qui limitait la largeur à 460 px */
#modal-overlay > .modal.reno-library-shell{
  width:96vw !important;
  max-width:1600px !important;
  height:92vh !important;
  max-height:92vh !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#171717 !important;
}
#modal-overlay > .modal.reno-library-shell > .reno-library-modal{
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  max-height:none !important;
  margin:0 !important;
  border:0 !important;
  border-radius:inherit !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}
@media(max-width:620px){
  #modal-overlay > .modal.reno-library-shell{
    width:100vw !important;
    max-width:100vw !important;
    height:100vh !important;
    max-height:100vh !important;
    border-radius:0 !important;
  }
}
/* v0.8.6.4-dev — configurateur rénovation générique */
.reno-recipe-shell{width:96vw!important;max-width:1500px!important;height:92vh!important;max-height:92vh!important;padding:0!important;overflow:hidden!important}
.reno-recipe-modal{height:100%;padding:26px 30px;overflow:hidden;display:flex;flex-direction:column}
.reno-recipe-head{padding-right:40px;border-bottom:1px solid var(--line);padding-bottom:14px}.reno-recipe-head h2{margin:4px 0}.reno-recipe-head p{margin:0;color:var(--muted)}
.reno-recipe-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);gap:22px;min-height:0;flex:1;padding-top:18px}
.reno-recipe-form,.reno-recipe-results{overflow:auto;padding-right:8px}.reno-recipe-form section{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px}.reno-recipe-form section h3{margin:0 0 12px}
.reno-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reno-form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:12px}.reno-form-grid input,.reno-form-grid select{width:100%}.reno-check{flex-direction:row!important;align-items:center;padding:12px;border:1px solid var(--line);border-radius:9px}.reno-check input{width:auto!important}
.reno-recipe-actions{position:sticky;bottom:0;background:linear-gradient(transparent,#f4f2ee 24%);padding:24px 0 4px;display:flex;justify-content:space-between;gap:10px}
.reno-recipe-results{background:#171b1e;color:#fff;border-radius:14px;padding:20px}.reno-preview-placeholder{border:1px dashed #596169;border-radius:10px;padding:24px;text-align:center;color:#b9c0c5;margin-top:15px}
.reno-result-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0}.reno-result-summary>div,.reno-calculated-grid>div{background:#252b2f;border:1px solid #3a4248;border-radius:9px;padding:11px}.reno-result-summary small,.reno-calculated-grid small{display:block;color:#aab3b9;text-transform:capitalize}.reno-result-summary b,.reno-calculated-grid b{display:block;margin-top:4px}.reno-calculated-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.reno-recipe-results h3{margin:20px 0 9px}.reno-result-table{display:flex;flex-direction:column}.reno-result-table>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #343c41}.reno-result-table span small{display:block;color:#9ea8ae}.reno-result-table strong{white-space:nowrap}.reno-result-table em{font-style:normal;color:#a9d7bd}.reno-result-table em.warning{color:#ffd166}.reno-warning-box{background:#3b3019;border:1px solid #76602b;border-radius:9px;padding:12px;margin-top:14px}.reno-warning-box p{margin:4px 0;color:#ffe4a0}
@media(max-width:900px){.reno-recipe-layout{grid-template-columns:1fr}.reno-recipe-results{min-height:350px}.reno-form-grid{grid-template-columns:1fr}.reno-recipe-shell{height:96vh!important;max-height:96vh!important}}

/* v0.8.6.4.3-dev — séparation des moteurs de soumission */
.estimate-type-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.estimate-type-switch>button{display:flex;align-items:center;gap:13px;text-align:left;background:#fff;border:1px solid #d9dfe2;border-radius:14px;padding:16px 18px;cursor:pointer}.estimate-type-switch>button>span{font-size:28px}.estimate-type-switch>button div{display:flex;flex-direction:column;gap:3px}.estimate-type-switch>button b{font-size:15px}.estimate-type-switch>button small{color:#6e7a81}.estimate-type-switch>button.active{border-color:#b88a48;background:#fffaf1;box-shadow:0 0 0 2px rgba(184,138,72,.12)}
.project-type-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 24px}.project-type-card{position:relative;display:flex!important;align-items:flex-start;gap:13px;border:1px solid #d8dee1;border-radius:14px;padding:18px;background:#fff;cursor:pointer;text-transform:none!important}.project-type-card>input{position:absolute;right:14px;top:14px;width:auto!important}.project-type-card>span{font-size:30px}.project-type-card>div{display:flex;flex-direction:column;gap:6px;padding-right:24px}.project-type-card b{font-size:16px;color:#20272b}.project-type-card small{font-size:12px;line-height:1.45;color:#68757d}.project-type-card:has(input:checked){border-color:#b88a48;background:#fffaf1;box-shadow:0 0 0 2px rgba(184,138,72,.12)}.modal-section-title{margin:22px 0 12px;font-size:15px}
@media(max-width:760px){.estimate-type-switch,.project-type-choice{grid-template-columns:1fr}}

/* v0.8.6.5.16.18-dev — la restauration JS contrôle seule l'ancrage */
#modal-overlay > .modal{overflow-anchor:none}

/* v0.8.6.5.16.19-dev — contenu des dalles contenu dans la fenêtre existante */
#modal-overlay > .modal.element-modal > .element-modal{
  width:100%!important;max-width:100%!important;min-width:0!important;
  max-height:none!important;overflow:visible!important;box-sizing:border-box;
}
#modal-overlay > .modal.element-modal .slab-builder,
#modal-overlay > .modal.element-modal .slab-row,
#modal-overlay > .modal.element-modal .slab-fields,
#modal-overlay > .modal.element-modal .edge-picker,
#modal-overlay > .modal.element-modal .slab-total{
  width:100%;max-width:100%;min-width:0;box-sizing:border-box;
}
.slab-builder .formwork-head{min-width:0}
.slab-builder .formwork-head>div{min-width:0}
.slab-builder .formwork-head>.secondary{
  flex:0 0 auto;justify-content:center;text-align:center;white-space:nowrap;
}
.slab-fields{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) auto}
.slab-fields label,.slab-fields input{min-width:0;max-width:100%}
.edge-picker{grid-template-columns:minmax(54px,70px) minmax(62px,70px) minmax(100px,1fr) minmax(58px,70px) minmax(48px,70px)}
.edge-picker button{
  width:100%;min-width:0;justify-content:center;text-align:center;white-space:nowrap;padding:9px 6px;
}
.mini-slab{min-width:0;text-align:center}
.slab-total>span{min-width:0}
.slab-total>span:last-child{text-align:right}
@media(max-width:650px){.slab-total{align-items:flex-start;flex-direction:column}.slab-total>span:last-child{text-align:left}}

/* v0.9.1-dev — allocations de finition et demande fournisseur */
.supplier-quantity-preview{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:14px;padding:13px 15px;border:1px solid #b78a4a;border-radius:10px;background:#241e16;color:#d9dce0}
.supplier-quantity-preview b{color:#f0c98b;font-size:16px;margin-left:6px}
.supplier-quote-button{border-color:#b78a4a!important;color:#f0c98b!important;justify-content:center;text-align:center}
@media(max-width:700px){.reno-recipe-actions{flex-wrap:wrap}.supplier-quote-button{order:2;width:100%}}


/* v0.8.6.4.4-dev — sous-traitants et fournisseurs génériques */
.reno-partner-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.reno-partner-row{display:grid;grid-template-columns:1.25fr 1fr .7fr .9fr .9fr 1.2fr auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.reno-partner-row label{margin:0;color:#171b1f!important;font-weight:700}.reno-partner-row label input{color:#171b1f!important;background:#fff!important}.reno-partner-row .danger{height:40px}
@media(max-width:1200px){.reno-partner-row{grid-template-columns:repeat(3,1fr)}.reno-partner-row .partner-note{grid-column:span 2}}
@media(max-width:720px){.reno-partner-row{grid-template-columns:1fr}.reno-partner-row .partner-note{grid-column:auto}}

/* v0.8.6.4.6-dev — contraste cartes rénovation et linteau optionnel */
.reno-zone-shell{width:min(1320px,96vw)!important;max-height:94vh;overflow:auto}.reno-zone-editor{width:100%!important}.zone-editor-head,.composition-card-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.zone-compositions{display:flex;flex-direction:column;gap:12px;margin:14px 0 22px}.composition-card{border:1px solid #dce1e3;background:#fff;border-radius:14px;padding:16px}.composition-card h4{margin:4px 0}.composition-card p{margin:0;color:#65727a}.composition-card-head>div:last-child{display:flex;gap:6px}.composition-card-head button,.layer-actions button{border:1px solid #d6dcdf;background:#fff;border-radius:7px;padding:7px;cursor:pointer}.layer-mini{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:12px}.layer-mini span,.zone-composition-tags span{background:#f0f2f1;border-radius:999px;padding:5px 9px;font-size:11px}.zone-composition-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.composition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.composition-grid button{min-height:110px;border:1px solid #dce1e3;border-radius:12px;background:#fff;text-align:left;padding:16px;display:flex;flex-direction:column;gap:7px;cursor:pointer}.composition-grid button:not(:disabled):hover{border-color:#b88a48}.composition-grid button:disabled{opacity:.48}.wall-editor{width:100%!important}.wall-ab{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:16px;background:#20272b;color:#fff;border-radius:14px;padding:16px;margin:14px 0}.wall-ab>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px}.wall-ab b{font-size:26px;color:#d5ad6d}.wall-ab input{margin:0}.wall-editor section{background:#f8f8f6;border:1px solid #e0e3e4;border-radius:14px;padding:17px;margin:14px 0}.openings-list,.layers-editor{display:flex;flex-direction:column;gap:9px}.opening-row,.layer-row{display:grid;grid-template-columns:auto repeat(3,minmax(120px,1fr)) auto;gap:8px;align-items:end;background:#fff;border:1px solid #dce1e3;border-radius:10px;padding:10px}.layer-row{grid-template-columns:35px minmax(130px,.8fr) minmax(220px,1.6fr) minmax(90px,.6fr) auto}.layer-row.disabled{opacity:.55}.layer-actions{display:flex;gap:4px}.checks-grid{align-items:end}.danger{color:#a63d32!important}.reno-zone-card{border-left:4px solid #b88a48}@media(max-width:900px){.composition-grid{grid-template-columns:1fr}.wall-ab{grid-template-columns:1fr}.opening-row,.layer-row{grid-template-columns:1fr}.zone-editor-head,.composition-card-head{align-items:flex-start;flex-direction:column}}

/* v0.8.6.4.6-dev — contraste des cartes blanches du modal rénovation */
.composition-card,.composition-card h4,.composition-card p,.composition-card b,.composition-card small,.composition-card-head,.composition-card-head *{color:#20272b!important}
.composition-card-head>div:first-child>span{color:#a06f2e!important}
.composition-card .layer-mini span,.zone-composition-tags span{color:#20272b!important;background:#eef1f2!important;border:1px solid #d9dfe2}
/* v0.8.6.5.3-dev — composition Plancher universelle */
.floor-card{border-left:4px solid #6f8e7b}.floor-direction>div{display:flex;flex-direction:column;gap:4px}.floor-direction>div span{font-size:12px;color:#d8dee1}.floor-layer-row{grid-template-columns:35px minmax(120px,.75fr) minmax(190px,1.25fr) repeat(3,minmax(100px,.65fr)) auto}.floor-editor .settings-note{margin-top:10px}.floor-editor input[readonly]{background:#edf0ee;color:#273136;font-weight:700}@media(max-width:1100px){.floor-layer-row{grid-template-columns:1fr 1fr}.floor-layer-row .layer-actions{grid-column:1/-1}}@media(max-width:700px){.floor-layer-row{grid-template-columns:1fr}}
/* v0.8.6.5.5 — quantités rénovation */
.reno-qty-summary{margin-top:10px;display:grid;gap:3px;padding:8px 10px;border:1px solid rgba(183,138,74,.28);border-radius:10px;background:rgba(183,138,74,.06)}
.reno-qty-summary>b{font-size:12px;color:#b78a4a;text-transform:uppercase;letter-spacing:.08em}
.reno-qty-summary small{display:block;color:#4b5563;font-size:12px;line-height:1.35}
.reno-qty-summary strong{color:#111827}

/* v0.8.6.5.6 — longueurs commerciales du bois rénovation */
/* v0.8.6.5.14 — Catalogue Rénovation */
.reno-catalog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:20px 0}.reno-catalog-head h2{margin:5px 0}.reno-catalog-head p{margin:0;color:var(--muted);max-width:760px}.reno-catalog-toolbar{grid-template-columns:minmax(320px,1fr) auto auto}.catalog-filters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.catalog-filters button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 11px;cursor:pointer}.catalog-filters button.active{background:#20272b;color:#fff;border-color:#20272b}.tablewrap td small{display:block;color:#7a858b;margin-top:3px}.tablewrap td.money{font-weight:700}@media(max-width:850px){.reno-catalog-head{flex-direction:column}.reno-catalog-toolbar{grid-template-columns:1fr}.reno-catalog-toolbar button{width:100%}}

/* v0.9.2-pilote - demandes de prix fournisseurs */
.supplier-rfq-panel{margin-top:22px;padding:18px;border:1px solid #3b3529;border-radius:14px;background:#151515}.supplier-rfq-panel .section-title{margin:0 0 12px}.supplier-rfq-group{border:1px solid #303030;border-radius:10px;margin-top:12px;overflow:hidden;background:#111}.supplier-rfq-head,.supplier-rfq-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px}.supplier-rfq-head{background:#1d1b17;border-bottom:1px solid #3b3529}.supplier-rfq-head div,.supplier-rfq-row span{display:flex;flex-direction:column;gap:3px}.supplier-rfq-head small,.supplier-rfq-row small{color:#999}.supplier-rfq-row+.supplier-rfq-row{border-top:1px solid #292929}.supplier-rfq-row .danger{min-width:34px;height:34px;padding:0;font-size:20px}.supplier-quote-button{border-color:#9b7136!important;color:#e0b674!important}@media(max-width:760px){.supplier-rfq-head,.supplier-rfq-row{align-items:flex-start;flex-wrap:wrap}.supplier-rfq-head button{width:100%}}
.configure-finish{width:auto!important;min-width:84px!important;padding:0 10px!important;border-color:#9b7136!important;color:#e0b674!important}.linked-finish-source{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;padding:12px;border:1px solid #6f532d;border-radius:10px;background:#1e1b16}.linked-finish-source span{display:flex;flex-direction:column;gap:4px;color:#aaa}.linked-finish-source b{color:#fff}.linked-rfq-badge{font-size:11px;color:#d4aa6a;border:1px solid #6f532d;border-radius:999px;padding:5px 9px;white-space:nowrap}@media(max-width:760px){.linked-finish-source{grid-template-columns:1fr}.configure-finish{min-width:72px!important}}
.deck-finish-sheet-button{float:right;margin:-32px 0 10px}
.supplier-rfq-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.supplier-approval-warning{margin:14px 0;padding:13px 15px;border:1px solid #b67b38;border-radius:10px;background:#fff4df;color:#54350e}.supplier-approval-warning p{margin:4px 0 0}.supplier-message-items{display:flex;flex-direction:column}.supplier-message-items>div,.supplier-message-history>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #ddd}.supplier-message-items span,.supplier-message-history span{display:flex;flex-direction:column}.supplier-message-items small,.supplier-message-history small{color:#777}.supplier-message-history{margin-top:18px;padding-top:15px;border-top:1px solid #3b3529}.supplier-message-history>div{border-color:#2f2f2f}.supplier-message-history em{color:#d4aa6a}@media(max-width:760px){.supplier-rfq-actions{width:100%;justify-content:stretch}.supplier-rfq-actions button{flex:1}}
.manual-supplier-request{max-width:1180px}.manual-rfq-line{display:grid;grid-template-columns:minmax(220px,2fr) 100px 110px minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr) 38px;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid #ddd}.manual-rfq-line label{margin:0}.manual-rfq-line .danger{height:42px}.supplier-request-card{border-color:#9b7136}.supplier-request-total{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#211e19;color:#aaa}.supplier-request-total.received{background:#193024;color:#b9e4c7}.supplier-request-total b{font-size:17px;color:inherit}@media(max-width:1050px){.manual-rfq-line{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-rfq-line .danger{width:100%}}@media(max-width:650px){.manual-rfq-line{grid-template-columns:1fr}}
.supplier-request-document{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-top:1px solid #3b3529;background:#171b20}.supplier-request-document>span{display:flex;flex-direction:column;gap:3px}.supplier-request-document small{color:#9da4ad}.supplier-request-document.missing{background:#191919;color:#bbb}.supplier-request-document .danger{min-height:38px}@media(max-width:760px){.supplier-request-document{align-items:flex-start;flex-direction:column}.supplier-request-document>button,.supplier-request-document .supplier-rfq-actions{width:100%}}
.catalog-layer-product{grid-column:2/-2;min-width:0}.catalog-layer-product select{width:100%;max-width:100%}@media(max-width:1100px){.catalog-layer-product{grid-column:1/-1}}
.catalog-layer-product small{display:block;margin-top:5px;color:#777;line-height:1.35}.catalog-item-facts,.catalog-integration-audit{display:flex;flex-direction:column;gap:5px;margin-top:12px;padding:13px 15px;border:1px solid #6f532d;border-radius:10px;background:#1e1b16;color:#eee}.catalog-item-facts small,.catalog-integration-audit span{color:#c6b99f}.catalog-integration-audit{margin:12px 0}.catalog-integration-audit b{color:#e0b674}.catalog-composition-card{border-left:4px solid #b88a48}
.prefab-picker-button{border:2px solid #b88a48!important;background:linear-gradient(135deg,#2a2116,#171717)!important}.prefab-library{max-width:1100px}.prefab-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.prefab-blueprint-card{display:flex;justify-content:space-between;gap:16px;padding:16px;border:1px solid #6f532d;border-radius:12px;background:#181611}.prefab-blueprint-card h3,.prefab-blueprint-card p{margin:5px 0}.prefab-blueprint-card p,.prefab-blueprint-card small{color:#999}.prefab-card-actions{display:flex;align-items:flex-start;gap:7px}.prefab-card-actions .danger{min-width:38px}.prefab-save-summary{display:flex;justify-content:space-between;gap:12px;margin:16px 0;padding:14px;border:1px solid #6f532d;border-radius:10px;background:#1e1b16}.prefab-save-summary span{color:#c6b99f}#save-zone-prefab{margin-left:auto}@media(max-width:760px){.prefab-library-grid{grid-template-columns:1fr}.prefab-blueprint-card{flex-direction:column}.prefab-card-actions button{flex:1}}

/* v0.9.6-pilote - atelier autonome de Blueprints Rénovation */

/* v0.9.7-pilote - tarification centrale et champs protégés */
.tariff-locked{background:#17191c!important;border-color:#4b4f55!important;color:#d4ad6f!important;cursor:not-allowed}
.pricing-admin{max-width:1180px;margin:24px auto}
.locked-price-input{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}
.locked-price-input span{color:#c99a55;font-size:.82rem;font-weight:700;white-space:nowrap}
.prefab-manager{max-width:1240px}.prefab-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.prefab-manager-head h2{margin:5px 0}.prefab-manager-stats{min-width:150px;padding:15px;border:1px solid #6f532d;border-radius:12px;background:#1e1b16;text-align:center}.prefab-manager-stats b{display:block;font-size:28px;color:#e0b674}.prefab-manager-stats span{font-size:12px;color:#c6b99f}.prefab-manager-toolbar{grid-template-columns:minmax(280px,1fr) auto auto}.prefab-manager-launch{white-space:nowrap}.prefab-manager .prefab-blueprint-card.inactive{opacity:.56;border-style:dashed}.prefab-manager-actions{flex-wrap:wrap;justify-content:flex-end}.prefab-editor-meta{margin-top:12px}.prefab-editor-meta label{margin:0}@media(max-width:850px){.prefab-manager-head{flex-direction:column}.prefab-manager-toolbar{grid-template-columns:1fr}.prefab-manager-toolbar button{width:100%}.prefab-manager-actions{justify-content:stretch}}

/* v0.9.8-pilote - fenêtre d'édition du catalogue adaptée au navigateur */
#modal-overlay:has(.catalog-modal){padding:16px;overflow:hidden}
.catalog-modal{
  width:min(760px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 32px);
  max-height:calc(100dvh - 32px);
  display:flex;
  flex-direction:column;
  overflow-y:hidden;
  overflow-x:hidden;
  overscroll-behavior:contain;
}
.catalog-modal .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:8px;scrollbar-gutter:stable}
.catalog-modal .span-2{grid-column:1/-1}
.catalog-modal>.save{flex:0 0 auto;box-shadow:0 -10px 18px #181818}
@media(max-width:700px){
  #modal-overlay:has(.catalog-modal){padding:8px}
  .catalog-modal{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:20px}
  .catalog-modal .form-grid{grid-template-columns:1fr}
  .catalog-modal .span-2{grid-column:auto}
}


/* v0.9.8-pilote — structure du futur module Santé et sécurité */
.sst-page{display:flex;flex-direction:column;gap:18px;padding:28px 0 10px}
.sst-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 30px;border:1px solid #34302a;border-radius:16px;background:linear-gradient(135deg,#1e1b17,#171717 58%,#131819)}
.sst-hero h2{font-size:28px;margin:8px 0}.sst-hero p{max-width:760px;margin:0;color:#a8a8a8;line-height:1.55}
.sst-status,.sst-planned{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid #6a5131;border-radius:999px;background:#2a2117;color:#ead0aa;font-size:11px;font-weight:800;letter-spacing:.06em;padding:9px 13px;text-transform:uppercase}
.sst-notice{display:flex;justify-content:space-between;gap:18px;padding:15px 18px;border-left:4px solid var(--bronze);border-radius:9px;background:#211c16;color:#ddd}.sst-notice span{color:#a8a8a8;text-align:right}
.sst-workflow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:13px;align-items:center}.sst-workflow>div{min-height:105px;padding:18px;border:1px solid #303030;border-radius:13px;background:#171717}.sst-workflow small{display:grid;place-items:center;width:26px;height:26px;margin-bottom:10px;border-radius:50%;background:#b28a52;color:#111;font-weight:900}.sst-workflow b,.sst-workflow span{display:block}.sst-workflow span{margin-top:5px;color:#8f8f8f;font-size:12px;line-height:1.4}.sst-workflow i{color:#765b37;font-style:normal;font-size:22px}
.sst-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sst-card{display:flex;gap:15px;min-width:0;padding:21px;border:1px solid #2e2e2e;border-radius:14px;background:#171717}.sst-card-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #624a2d;border-radius:10px;background:#282017;color:#e4bd80;font-size:18px;font-weight:900}.sst-card small{color:var(--bronze);font-size:9px;font-weight:800;letter-spacing:.15em}.sst-card h3{margin:7px 0 13px;font-size:17px}.sst-card ul{margin:0;padding-left:17px;color:#a2a2a2;font-size:12px;line-height:1.65}
.sst-access{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 21px;border:1px solid #2f3834;border-radius:14px;background:#151a18}.sst-access>div{display:flex;align-items:flex-start;gap:13px}.sst-access>div>span{font-size:21px}.sst-access b{display:block;margin-bottom:5px}.sst-access p{max-width:800px;margin:0;color:#9da6a1;font-size:12px;line-height:1.5}
@media(max-width:1100px){.sst-grid{grid-template-columns:1fr}.sst-notice,.sst-access{align-items:flex-start;flex-direction:column}.sst-notice span{text-align:left}}
@media(max-width:760px){.sst-hero{align-items:flex-start;flex-direction:column}.sst-workflow{grid-template-columns:1fr}.sst-workflow i{display:none}}

/* v0.9.8-pilote — Administration : coûts employés et frais fixes */
.admin-cost-page{padding:28px 0 10px}.admin-cost-page .hero{align-items:center}.admin-hero-result{min-width:210px;padding:17px 20px;border:1px solid #6a5131;border-radius:13px;background:#211c16;text-align:right}.admin-hero-result small,.admin-hero-result b{display:block}.admin-hero-result small{color:#a99a84;font-size:11px;text-transform:uppercase}.admin-hero-result b{margin-top:5px;color:#e0b674;font-size:25px}.admin-cost-tabs{margin:18px 0 0}.admin-cost-shell{margin-top:14px}.admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.admin-section-head h3{margin:0 0 5px}.admin-section-head>label{min-width:190px;margin:0}.admin-regime-switch{display:flex;gap:8px;margin:12px 0}.admin-regime-switch button{border:1px solid #40392f;border-radius:999px;background:#171717;color:#bbb;padding:9px 16px;cursor:pointer}.admin-regime-switch button.active{border-color:#b78a4a;background:#2a2117;color:#f0d4aa}.admin-table{overflow-x:auto;border:1px solid #303030;border-radius:12px}.admin-table-head,.admin-charge-row{display:grid;grid-template-columns:62px minmax(270px,1.8fr) 115px minmax(130px,.65fr);gap:10px;align-items:center;padding:10px 12px}.admin-table-head{background:#211e19;color:#bda98a;font-size:11px;font-weight:800;text-transform:uppercase}.admin-charge-row{border-top:1px solid #2b2b2b;background:#171717}.admin-charge-row:has(.danger){grid-template-columns:62px minmax(250px,1.8fr) 110px minmax(130px,.65fr) 42px}.admin-charge-row input[readonly]{background:#151515;color:#aaa}.admin-unit-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.admin-unit-input span{color:#c99a55;font-size:12px;font-weight:800;white-space:nowrap}.admin-total-line{display:flex;justify-content:space-between;gap:20px;margin:12px 0;padding:12px 15px;border-radius:9px;background:#211c16}.admin-total-line b{color:#e0b674}.admin-add{margin-top:8px}.admin-empty{padding:20px;border:1px dashed #4a4032;border-radius:12px;background:#191816;text-align:center}.admin-empty p{color:#999}.employee-cost-list{display:flex;flex-direction:column;gap:13px}.employee-cost-card{overflow:hidden;border:1px solid #34302a;border-radius:13px;background:#171717}.employee-cost-card.inactive,.fixed-cost-row.inactive{opacity:.58}.employee-cost-fields{display:grid;grid-template-columns:minmax(170px,1.2fr) 130px 145px 160px 120px auto;gap:10px;align-items:end;padding:15px}.employee-cost-fields label{margin:0}.admin-active{align-self:center}.employee-cost-results{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));border-top:1px solid #302c27;background:#141414}.employee-cost-results span{display:flex;flex-direction:column;gap:5px;padding:12px;border-right:1px solid #282828;color:#929292;font-size:11px}.employee-cost-results b{color:#ddd;font-size:14px}.employee-cost-results .highlight{background:#211c16}.employee-cost-results .highlight b{color:#e0b674}.admin-warning{margin:12px 0;padding:12px 15px;border-left:4px solid #c28b3e;border-radius:8px;background:#2a2117;color:#e4c79e}.employee-cost-card>.admin-warning{margin:0;border-radius:0}.admin-summary-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;margin:15px 0}.admin-summary-grid>label,.admin-summary-grid>div{margin:0;padding:15px;border:1px solid #333;border-radius:11px;background:#171717}.admin-summary-grid>div{display:flex;flex-direction:column;justify-content:center}.admin-summary-grid small{color:#929292}.admin-summary-grid b{margin-top:5px;color:#e0b674;font-size:22px}.fixed-cost-list{display:flex;flex-direction:column;gap:9px;margin-top:14px}.fixed-cost-row{display:grid;grid-template-columns:40px minmax(180px,1.3fr) minmax(140px,1fr) 125px 112px minmax(150px,1fr) 120px 42px;gap:9px;align-items:end;padding:12px;border:1px solid #303030;border-radius:11px;background:#171717}.fixed-cost-row label{margin:0}.fixed-cost-row input:not([type="checkbox"]),.fixed-cost-row select{width:100%;height:30px;min-height:30px;box-sizing:border-box;padding:4px 7px;border:1px solid #363636;border-radius:7px;background:#111;color:#eee;font-size:12px}.fixed-cost-row select{padding-right:24px}.fixed-cost-name{align-self:end}.fixed-annual{display:flex;min-height:30px;flex-direction:column;justify-content:center}.fixed-annual small{color:#8f8f8f}.fixed-annual b{color:#e0b674}.fixed-cost-row .danger,.admin-charge-row .danger{height:30px;padding:0}
@media(max-width:1250px){.employee-cost-fields{grid-template-columns:repeat(3,1fr)}.employee-cost-results{grid-template-columns:repeat(3,1fr)}.fixed-cost-row{grid-template-columns:40px repeat(3,minmax(140px,1fr))}.fixed-cost-row .fixed-annual{grid-column:auto}.fixed-cost-row .danger{width:100%}}
@media(max-width:760px){.admin-cost-page .hero,.admin-section-head{align-items:flex-start;flex-direction:column}.admin-hero-result{width:100%;text-align:left}.admin-section-head>label{width:100%}.admin-table-head{display:none}.admin-charge-row,.admin-charge-row:has(.danger),.employee-cost-fields,.employee-cost-results,.admin-summary-grid,.fixed-cost-row{grid-template-columns:1fr}.admin-charge-row .check{justify-self:start}.fixed-cost-row .check{justify-self:start}.fixed-cost-row .danger{width:100%}}

/* Flotte et équipements */
.asset-page{padding:0 0 20px}.asset-mobile-note{display:flex;align-items:center;gap:14px;margin:16px 0;padding:12px 15px;border:1px solid #544225;border-radius:10px;background:#211c16}.asset-mobile-note b{color:#e0b674}.asset-mobile-note span{color:#aaa;font-size:12px}.asset-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-7px 0 18px}.asset-filters button{padding:8px 13px;border:1px solid #333;border-radius:999px;background:#181818;color:#aaa;cursor:pointer}.asset-filters button.active{border-color:#806139;background:#2a2117;color:#efd3a7}.asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.asset-grid>.empty{grid-column:1/-1}.asset-card{border:1px solid #34302a;border-radius:13px;background:#171717;overflow:hidden}.asset-card-head{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:start;padding:16px;border-bottom:1px solid #2c2924}.asset-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:11px;background:#292118;font-size:24px}.asset-card-head small{color:#b28a52;font-size:10px;letter-spacing:1.2px;text-transform:uppercase}.asset-card-head h3{margin:4px 0;font-size:18px}.asset-card-head p{margin:0;color:#858585;font-size:12px}.asset-status{padding:5px 8px;border-radius:999px;background:#1b3323;color:#8dd8a8;font-size:10px;white-space:nowrap}.asset-status.maintenance{background:#3a2e17;color:#e7bd70}.asset-status.out_of_service{background:#3a2020;color:#e28b8b}.asset-status.sold,.asset-status.archived{background:#292929;color:#aaa}.asset-card-body{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:15px}.asset-card-body>img{width:110px;height:110px;padding:6px;border-radius:9px;background:#fff}.asset-card-body>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.asset-card-body span{display:flex;flex-direction:column;justify-content:center;padding:9px;border-radius:8px;background:#141414}.asset-card-body small{color:#7f7f7f;font-size:10px}.asset-card-body b{margin-top:4px;color:#ddd;font-size:12px}.asset-card-actions{display:flex;gap:8px;padding:0 15px 15px}.asset-card-actions .danger{margin-left:auto}.asset-card-actions a{text-decoration:none}.asset-type-choice{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.asset-type-choice button{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid #38332b;border-radius:11px;background:#171717;color:#ddd;cursor:pointer}.asset-type-choice button:hover{border-color:#87683e;background:#241e16}.asset-type-choice b{font-size:25px}.asset-type-choice span{font-weight:700}.asset-modal-note{margin:16px 0 0;color:#888;font-size:12px}#modal-overlay:has(.asset-modal){padding:16px;overflow:hidden}#modal-overlay:has(.asset-modal)>.modal{width:min(920px,96vw);max-height:95vh;overflow-y:auto}.asset-modal>h2{margin-bottom:16px}.asset-form-section{margin:12px 0;padding:15px;border:1px solid #302d28;border-radius:11px;background:#151515}.asset-form-section h3{margin:0 0 12px;color:#e1c79f;font-size:14px}.asset-form-section label{margin:5px 0}.asset-form-section textarea{display:block;width:100%;min-height:80px;margin-top:7px;padding:11px;border:1px solid #333;border-radius:8px;background:#111;color:#fff;font:inherit}.asset-qr-panel{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;padding:15px;border:1px solid #554326;border-radius:11px;background:#211c16}.asset-qr-panel img{width:150px;height:150px;padding:7px;border-radius:8px;background:#fff}.asset-qr-panel div{display:flex;align-items:flex-start;flex-direction:column;gap:7px}.asset-qr-panel b{font-size:23px}.asset-qr-panel small{color:#a99d8d}.asset-qr-panel a{text-decoration:none;margin-top:5px}
@media(max-width:1050px){.asset-grid{grid-template-columns:1fr}}
@media(max-width:650px){.asset-mobile-note{align-items:flex-start;flex-direction:column}.asset-card-head{grid-template-columns:44px 1fr}.asset-status{grid-column:2}.asset-card-body{grid-template-columns:80px 1fr}.asset-card-body>img{width:80px;height:80px}.asset-card-body>div{grid-template-columns:1fr}.asset-card-actions{flex-wrap:wrap}.asset-card-actions .danger{margin-left:0}.asset-type-choice{grid-template-columns:1fr}.asset-qr-panel{grid-template-columns:1fr}.asset-qr-panel img{width:130px;height:130px}}
