:root{color-scheme:light;--paper: #e8e2d6;--panel: #f7f4ee;--ink: #1c1a16;--muted: #5f594f;--line: #d5cec1;--accent: #1d4a42;--accent-soft: #e5f0eb;--danger: #8d2f2a;--danger-soft: #f8e8e4;--sheet: #fbf9f4;font-family:Segoe UI,Liberation Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.35}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink)}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{min-width:960px;height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.steps{display:flex;gap:4px;padding:0 12px;background:#f8f6f1;border-bottom:1px solid var(--line)}.steps button{background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 12px}.steps button[aria-current=step]{color:var(--ink);font-weight:650;border-bottom-color:var(--accent)}.stage{min-height:0;display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:12px;padding:12px}.stage.liste{grid-template-columns:minmax(0,1.15fr) minmax(420px,.9fr)}.stage-side,.stage-side .panel,.stage-main,.list-draw,.stage.liste .cutlist{min-height:0;height:100%}.stage-main{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.lead{margin:0 0 14px;color:var(--muted)}.door-lines{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:13px}.door-lines li+li{margin-top:4px}.picker{display:flex;gap:8px;margin-bottom:14px}.picker button{flex:1;display:grid;gap:2px;justify-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 4px}.picker button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.picker small{font-size:12px}.step-footer{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;background:#f8f6f1;border-top:1px solid var(--line)}.list-draw{display:flex;flex-direction:column;overflow:auto}.list-draw .elevation{border-top:0;flex:1}.toolbar{display:flex;align-items:center;gap:16px;padding:10px 14px;background:#f8f6f1;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;min-width:140px}.brand strong{font-size:18px;letter-spacing:.04em}.brand span,.status,.hint,.field small,.cutlist p,.elevation figcaption,.summary{color:var(--muted);font-size:12px}.status{flex:1;min-height:1.2em}.status.error{color:var(--danger);background:var(--danger-soft);border-radius:8px;padding:6px 10px}.toolbar-actions,.row-actions,.segment,.stepper,.swatches{display:flex;align-items:center;gap:8px}.toolbar-actions,.row-actions,.segment{flex-wrap:wrap}button.primary,button.secondary,button.ghost{border-radius:8px;padding:8px 12px;border:1px solid transparent}button.primary{background:var(--accent);color:#fff}button.secondary,button.ghost{background:transparent;border-color:var(--line)}button:disabled{opacity:.45;cursor:not-allowed}.workspace{min-height:0;display:grid;grid-template-columns:minmax(230px,260px) minmax(240px,280px) minmax(260px,310px) minmax(360px,1fr);gap:10px;padding:10px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-height:0;overflow:auto;padding:14px}.panel h2{margin:0 0 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.fields{display:grid;gap:10px}.catalog{display:grid;gap:6px;margin:0 0 12px}.catalog-row{display:grid;grid-template-columns:1fr 40px;gap:6px}.field{display:grid;gap:4px}.field-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.field-head small{text-align:right}.field span{font-size:13px}.rule-live{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:flex;flex-direction:column;gap:4px}.rule-live span{color:var(--muted);font-size:13px}.rule-card{border-radius:10px;padding:4px 8px 2px}.rule-card.on{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.rule-parts{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0;list-style:none}.rule-parts li{background:#fff;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:2px 8px;font-size:12px}.field input{width:100%;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 10px}.mm{display:flex;gap:6px}.mm input{flex:1;min-width:0;width:auto}.mm button{width:36px;height:36px;flex:none;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:18px;line-height:1}.mm button:disabled{opacity:.4}.readout{margin:12px 0;padding:10px;border-radius:8px;background:var(--accent-soft)}.readout strong{display:block;font-size:18px}.rules{margin-top:8px}.rules summary{cursor:pointer;font-weight:650}.rules ul{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:13px}.rules li+li{margin-top:6px}.bays{display:flex;height:148px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.bay{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;border:0;border-right:1px solid rgba(0,0,0,.12);padding:8px 4px;text-align:left}.bay:last-child{border-right:0}.bay[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--accent)}.bay small,.bay strong{font-size:12px}.segment{gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.segment button{flex:1;border:0;border-right:1px solid var(--line);border-radius:0;background:#fff;padding:8px 6px}.segment button:last-child{border-right:0}.segment button[aria-pressed=true]{background:var(--accent);color:#fff}.segment button .dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;border:1px solid rgba(0,0,0,.2);vertical-align:1px}.stepper button{width:36px;height:36px;border-radius:8px;border:1px solid var(--line);background:#fff}.stepper strong{min-width:1.5ch;text-align:center;font-size:18px}.block{display:grid;gap:8px;margin-bottom:16px}.block h3{margin:0;font-size:14px}.warnings{margin:0 0 16px;padding-left:18px;color:var(--danger);font-size:13px}.swatch{flex:1;display:grid;justify-items:center;gap:6px;border:1px solid transparent;border-radius:10px;background:transparent;padding:8px 4px}.swatch[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.swatch i{width:42px;height:42px;border-radius:50%;border:1px solid rgba(0,0,0,.16)}.summary{margin:0}.viewport{display:grid;grid-template-rows:auto minmax(200px,1fr) 280px;padding:0;overflow:hidden}.viewport-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line)}.viewport-bar h2{margin-right:auto}.viewport-bar h2{margin:0}.viewport-3d{min-height:0;height:100%}.elevation{min-height:0;overflow:auto;border-top:1px solid var(--line);background:var(--sheet);padding:4px 8px 8px}.elevation svg{width:100%;height:auto;display:block}.elevation .bay-hit{cursor:pointer}.elevation .dim line,.elevation .drawing{stroke:#3c342b;fill:none}.elevation .dim text,.elevation .label{fill:#3c342b;font-size:16px}.cotes{display:grid;gap:8px;margin:8px 0 0;padding:0 4px;color:var(--ink);font-size:13px}.cotes h3{margin:0;font-size:13px}.cotes ul{margin:2px 0 0;padding-left:18px}.cotes li+li{margin-top:2px}.cotes p{margin:0}.elevation .fill{stroke:#3c342b;stroke-width:1.25}.cutlist{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;min-height:0;overflow:auto}.cutlist header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 12px 6px;background:var(--panel)}.cutlist h2{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.cutlist p{margin:0}.cut-note{padding:8px 12px 12px}.cutlist table{width:100%;border-collapse:collapse}.cutlist th,.cutlist td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;white-space:nowrap}.cutlist th{position:sticky;top:38px;background:#efeae1;font-weight:650}.cutlist td.num,.cutlist th.num{text-align:right;font-variant-numeric:tabular-nums}.print-sheet{display:none}@media print{@page{size:A4 landscape;margin:10mm}html,body,#root{height:auto;background:#fff}.app{display:none!important}.print-sheet{display:block;color:#1c1a16}.print-sheet h1{margin:0;font-size:18px}.print-sheet header p{margin:2px 0 8px;font-size:12px}.print-sheet .elevation,.print-sheet .cutlist{overflow:visible;height:auto;max-height:none;border:0;background:#fff;border-radius:0;break-inside:auto;page-break-inside:auto}.print-sheet .elevation svg,.print-sheet .kitchen-plan svg{width:100%;height:auto;max-height:95mm}.print-sheet .kitchen-plan{display:block;overflow:visible;padding:0}.print-sheet .kitchen-plan figure{break-inside:avoid;page-break-inside:avoid;border:0;padding:0 0 8px}.print-sheet .cutlist header,.print-sheet .cutlist th{position:static}.print-sheet tr,.print-sheet .cotes section{break-inside:avoid;page-break-inside:avoid}.print-sheet thead{display:table-header-group}}.stage.kitchen-draw{grid-template-columns:minmax(0,1fr)}.kitchen-plan{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:0;overflow:auto;padding:16px}.kitchen-plan figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px}.kitchen-plan figcaption{margin-bottom:8px;font-size:13px}.kitchen-plan svg{width:100%;height:auto}.rule-card header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.kitchen-plan.single{grid-template-columns:1fr}.kitchen-app{grid-template-rows:auto auto auto minmax(0,1fr) auto}.kitchen-app .stage:not(.liste):not(.kitchen-draw):not(.kitchen-studio){grid-template-columns:minmax(360px,440px) minmax(0,1fr)}.kitchen-app .stage.kitchen-studio{position:relative;grid-template-columns:minmax(0,1fr);gap:0;padding:0}.kitchen-studio .stage-main{position:relative;border:0;border-radius:0}.kitchen-studio .viewport-bar{position:absolute;top:12px;right:12px;z-index:2;width:max-content;max-width:calc(100% - 72px);border:1px solid var(--line);border-radius:10px;background:#fffcf7f0;box-shadow:0 8px 24px #28201814}.kitchen-studio .viewport-bar .hint{display:none}.studio-drawer{position:absolute;top:0;left:0;bottom:0;z-index:3;display:flex;align-items:stretch;max-width:min(460px,100%)}.studio-rail{width:44px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px 0;border:0;border-right:1px solid var(--line);border-radius:0;background:#f4f0e8;color:var(--ink)}.studio-rail-mark{font-size:20px;line-height:1}.studio-rail-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:13px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.studio-sheet{width:min(400px,calc(100vw - 56px));min-height:0;overflow:auto;background:var(--panel);box-shadow:12px 0 32px #2820181f}.studio-sheet .panel{border:0;border-radius:0;overflow:visible;min-height:100%}.job-name{display:block;width:140px;margin-top:2px;border:0;background:transparent;font-size:13px;color:var(--muted)}.kitchen-check{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:8px 14px;background:var(--sheet);border-bottom:1px solid var(--line);font-size:13px}.kitchen-check button{border:0;background:transparent;padding:0;text-align:left}.kitchen-check .ok{color:var(--accent)}.kitchen-check .bad{color:var(--danger)}.kitchen-check .warn{color:#6d5420}.runs{display:grid;grid-template-rows:52px 78px;gap:6px;margin-bottom:12px}.runs button{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:4px 6px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left}.runs button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.runs button[data-flag=refus]{box-shadow:inset 3px 0 0 var(--danger)}.runs button[aria-pressed=true][data-flag=refus]{box-shadow:inset 0 0 0 1px var(--accent),inset 3px 0 0 var(--danger)}.runs small,.runs em{color:var(--muted);font-size:11px;font-style:normal}.runs strong{max-width:100%;overflow:hidden;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.piece{margin-top:14px}.piece h3{margin:0 0 8px;font-size:14px;font-weight:650}.choices{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.choices button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 10px}.choices button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.problems{margin-top:16px}.problems h3{margin:0 0 8px;font-size:13px;letter-spacing:.04em;text-transform:uppercase}.problems article{border-radius:8px;padding:8px 10px;margin-top:8px}.problems article.refus{background:var(--danger-soft)}.problems article.attention{background:#f8f1dc}.problems article p{margin:4px 0 8px}.cutlist tbody tr{cursor:pointer}.cutlist tbody tr:hover{background:#1d4a420d}.cutlist tbody tr[aria-selected=true]{background:var(--accent-soft)}.copilot{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:8px 16px;border-top:1px solid var(--line);background:var(--panel)}.copilot label{font-size:12px;letter-spacing:.04em;text-transform:uppercase}.copilot input{min-width:0}.copilot-preview{grid-column:1 / -1;display:grid;gap:4px 16px;max-height:168px;overflow:auto}.copilot-preview.split{grid-template-columns:1fr 1fr}.copilot-preview h3{margin:0 0 2px;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.copilot-preview p{margin:0;font-size:13px}.copilot-question{grid-column:1 / -1}.copilot-error{color:var(--danger)}
