:root{--ink:#222c25;--muted:#778078;--line:#e5e8e1;--paper:#f5f5f0;--white:#fff;--green:#35694d;--green2:#eaf1eb;--orange:#e4a768;--sans:Arial,"Segoe UI",sans-serif;--display:Arial,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:13px}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:800 17px var(--display);letter-spacing:-.6px}.brand-mark{background:var(--green);color:#fff;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font:700 18px var(--display)}.brand small{display:block;color:#7b827b;font:600 8px var(--sans);letter-spacing:1.5px;margin-top:1px}.top-actions,.heading-actions,.panel-tools{display:flex;align-items:center;gap:10px}.save-state{font-size:11px;color:#65736a;margin-right:8px}.save-state i{width:7px;height:7px;border-radius:50%;background:#67a37a;display:inline-block;margin-right:6px}.button{border:0;border-radius:7px;padding:9px 13px;font:600 12px var(--sans);cursor:pointer;transition:.15s}.button:hover{transform:translateY(-1px);filter:brightness(.97)}.button.primary{background:var(--green);color:white}.button.secondary{background:#fff;border:1px solid var(--line);color:#36423a}.button.text-button{background:transparent;color:#526259;padding:8px}.button:disabled{opacity:.35;cursor:default;transform:none}.shell{display:flex;max-width:1600px;margin:auto}.rail{width:220px;padding:29px 16px 22px 25px;min-height:calc(100vh - 68px);display:flex;flex-direction:column;flex-shrink:0}.rail-label,.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.25px;color:#8a938a}.rail-label{padding:0 10px 13px}.nav-item{border:0;background:none;text-align:left;padding:11px 10px;border-radius:7px;color:#677169;font:500 12px var(--sans);cursor:pointer;margin-bottom:4px}.nav-item span{font-size:16px;margin-right:9px;vertical-align:-1px}.nav-item.active{background:#e8eee7;color:#315d43;font-weight:700}.nav-item b{float:right;background:white;border:1px solid var(--line);border-radius:10px;padding:1px 6px;font-size:10px}.rail-note{margin:35px 4px 0;padding:14px 13px;border-radius:9px;background:#e9ede5;color:#4f6254}.rail-note>span{font-size:17px;color:var(--green)}.rail-note strong{display:block;font:700 11px var(--display);margin:8px 0 4px}.rail-note p{font-size:10px;line-height:1.6;margin:0;color:#718074}.rail-foot{margin-top:auto;padding:10px;color:#a0a69e;line-height:1.8;font-size:8px;letter-spacing:.6px}.content{max-width:1270px;width:100%;padding:32px 43px 25px 32px}.page-heading{display:flex;justify-content:space-between;align-items:end;margin:0 0 22px}.page-heading h1{font:700 27px var(--display);letter-spacing:-.9px;margin:6px 0}.page-heading p{font-size:12px;color:var(--muted);margin:0}.project-card,.panel{background:#fff;border:1px solid var(--line);border-radius:10px}.project-card{padding:17px 20px 18px;margin-bottom:14px}.project-top{display:flex;justify-content:space-between;align-items:start}.project-top h2,.panel h2{font:700 15px var(--display);margin:4px 0 0;letter-spacing:-.25px}.revision{font-size:10px;color:#929b92}.project-fields{display:grid;grid-template-columns:1.3fr 1.3fr .8fr;gap:14px;margin-top:15px}.project-fields label,.sheet-settings label{color:#818a81;font-size:10px;font-weight:600}.project-fields input{display:block;margin-top:5px;width:100%;height:32px;border:1px solid #e8eae5;border-radius:6px;padding:0 9px;background:#fbfcfa;font:500 11px var(--sans);color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #8fb19a;outline-offset:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:17px}.stat{background:white;border:1px solid var(--line);border-radius:9px;padding:13px 16px}.stat span{font-size:8px;letter-spacing:.85px;font-weight:700;color:#929990}.stat strong{font:700 21px var(--display);display:block;margin:7px 0 1px;letter-spacing:-.5px}.stat small{font-size:9px;color:#98a098}.panel{margin-bottom:15px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px}.panel-head h2{font-size:15px;margin-top:5px}.count-pill{font:600 10px var(--sans);color:#68756a;background:#f0f2ee;border-radius:11px;padding:3px 7px;vertical-align:2px;margin-left:4px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:920px}th{text-align:left;background:#f8f9f6;border-top:1px solid #edf0eb;border-bottom:1px solid #edf0eb;padding:9px 10px;color:#8b9389;font-size:8px;letter-spacing:.6px}th:first-child,td:first-child{padding-left:18px}th em,.sheet-settings em{font-style:normal;color:#a2aaa1;font-weight:400;letter-spacing:0}td{padding:6px 5px;border-bottom:1px solid #f0f1ed}td input,td select{width:100%;height:29px;padding:0 7px;border:1px solid transparent;border-radius:5px;background:transparent;font:500 10px var(--sans);color:#354038}td input:hover,td select:hover{border-color:#e3e7e0;background:white}td input:focus,td select:focus{background:white}td input[type=number]{text-align:right}td select{padding-right:1px}td .row-actions{display:flex;gap:2px}.icon-btn{border:0;background:transparent;color:#939b93;cursor:pointer;font-size:14px;padding:5px;border-radius:4px}.icon-btn:hover{background:#eff2ed;color:var(--green)}.table-foot{display:flex;justify-content:space-between;padding:10px 18px;color:#929a92;font-size:9px}.table-foot span:first-child{color:#68756a;font-weight:600}.empty-list{text-align:center;padding:34px 10px 38px;color:#8a938b}.empty-list>span{font-size:27px;color:#b9c5ba}.empty-list strong{display:block;color:#48564b;font:700 13px var(--display);margin:7px}.empty-list p{font-size:10px;margin:5px 0 15px}.paste-box{padding:14px 18px;background:#f8faf7;border-top:1px solid var(--line)}.paste-box strong{font:700 12px var(--display)}.paste-box p{font-size:10px;color:#758078;margin:4px 0 9px}.paste-box code{background:#edf1ec;border-radius:3px;padding:2px 4px}.paste-box textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:6px;padding:9px;font:11px var(--sans)}.paste-actions{display:flex;align-items:center;justify-content:space-between;margin-top:7px}.paste-actions span{font-size:10px;color:#8c958d}.section-hint{font-size:10px;color:#818b82;margin:5px 0 0}.layout-panel .panel-head{align-items:start}.sheet-settings{display:flex;gap:10px}.sheet-settings label{white-space:nowrap}.sheet-settings input{width:64px;padding:6px;border:1px solid var(--line);border-radius:5px;font:11px var(--sans);margin-left:3px}.layouts{padding:0 18px 18px}.layout-material{border-top:1px solid #edf0eb;padding:13px 0}.layout-title{display:flex;align-items:center;gap:8px;font:700 11px var(--display);margin-bottom:11px}.layout-title span{font:500 9px var(--sans);color:#7e897f}.board-grid{display:flex;gap:13px;flex-wrap:wrap}.board-card{background:#fafbf8;border:1px solid #e7ebe5;border-radius:7px;padding:8px;min-width:190px;max-width:270px;flex:1}.board-label{font-size:9px;color:#788379;margin-bottom:6px}.board{width:100%;aspect-ratio:1220/2440;background:#eff3eb;border:1px solid #ccd7c9;position:relative;overflow:hidden}.piece{position:absolute;display:flex;justify-content:center;align-items:center;text-align:center;border:1px solid rgba(255,255,255,.75);font-size:clamp(6px,.65vw,9px);line-height:1.15;padding:1px;overflow:hidden;color:#294632;font-weight:600}.offcut{position:absolute;font-size:7px;color:#95a196;display:grid;place-items:center}.empty-layout{padding:19px 0;color:#969f96;font-size:10px}.material-list{padding:0 18px 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.material-item{display:flex;align-items:center;gap:8px;border:1px solid #edf0eb;border-radius:7px;padding:9px 10px}.swatch{width:10px;height:27px;border-radius:4px;flex-shrink:0}.material-item strong{font-size:10px;display:block}.material-item small{display:block;color:#8c958d;font-size:9px;margin-top:2px}.material-price{margin-left:auto;width:95px;border:1px solid #e9ece7;border-radius:5px;padding:5px;font:10px var(--sans);text-align:right}.material-add{border:1px dashed #cfd7ce;background:#fbfcfa;border-radius:7px;color:#607164;text-align:left;padding:9px 10px;cursor:pointer;font:600 10px var(--sans)}.page-foot{text-align:center;color:#9ba39a;font-size:8px;letter-spacing:.65px;padding:12px}.page-foot span{margin:0 8px}.hidden{display:none!important}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#24382b;color:white;border-radius:7px;padding:10px 16px;font-size:11px;opacity:0;pointer-events:none;transition:.2s;z-index:9}.toast.show{opacity:1}.project-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-card-small{background:white;border:1px solid var(--line);border-radius:9px;padding:16px}.project-card-small h3{font:700 14px var(--display);margin:0 0 4px}.project-card-small p{font-size:10px;color:#7e887f;margin:0}.project-card-small .card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.empty-projects{color:#8c958d;background:white;padding:28px;border:1px solid var(--line);border-radius:9px;text-align:center}.photo-label{cursor:pointer}.no-layout{font-size:10px;color:#8a938b;padding:10px 0}
@media(max-width:1000px){.rail{width:175px;padding-left:14px}.content{padding:27px 22px}.stats{gap:7px}.stat{padding:11px}.sheet-settings{gap:5px}.sheet-settings input{width:53px}}@media(max-width:720px){.topbar{height:58px;padding:0 14px}.top-actions{gap:6px}.save-state{display:none}.top-actions .button{padding:8px 9px;font-size:10px}.brand{font-size:15px}.rail{width:auto;min-height:0;padding:8px 12px;display:flex;flex-direction:row;align-items:center;gap:4px;background:#f5f5f0;position:sticky;top:58px;z-index:4}.rail-label,.rail-note,.rail-foot{display:none}.nav-item{padding:9px 11px;margin:0;font-size:10px}.nav-item span{font-size:13px;margin-right:4px}.content{padding:20px 12px}.page-heading{align-items:flex-start;gap:10px}.page-heading h1{font-size:23px}.page-heading p{font-size:10px;line-height:1.5;max-width:330px}.heading-actions{flex-direction:column;align-items:stretch}.heading-actions .button{font-size:9px;padding:7px}.project-fields{grid-template-columns:1fr 1fr}.project-fields label:last-child{grid-column:1/-1}.stats{grid-template-columns:1fr 1fr}.panel-head{padding:13px}.panel-tools{gap:3px}.panel-tools .button{padding:8px 9px;font-size:10px}.panel-tools #undoBtn{display:none}.layout-panel .panel-head{display:block}.sheet-settings{margin-top:12px;flex-wrap:wrap}.material-list{grid-template-columns:1fr}.project-cards{grid-template-columns:1fr}.table-foot span:last-child{display:none}}
@media print{body{background:white}.topbar,.rail,.heading-actions,.panel-tools,.material-panel,.page-foot,.save-state,.project-fields input,.sheet-settings,.toast{display:none!important}.shell{display:block}.content{max-width:none;padding:0}.page-heading{margin-bottom:12px}.project-card,.panel,.stat{break-inside:avoid;border-color:#ccc}.stats{grid-template-columns:repeat(4,1fr)}.panel{margin-bottom:10px}.table-scroll{overflow:visible}table{min-width:0}td input,td select{border:0;height:auto;padding:0;font-size:9px}th{font-size:7px}.layouts{display:flex;flex-wrap:wrap}.board-card{max-width:160px;min-width:130px}.project-card{padding:10px}}
.project-search{width:min(100%,440px);margin:0 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:white;font:12px var(--sans)}.accessory-table{min-width:500px}.accessory-table td input{border:1px solid #e8eae5;background:#fff}.accessory-subtotal{font-size:10px;font-weight:600;white-space:nowrap}.cost-total{border-top:1px solid var(--line);padding:12px 18px;display:flex;justify-content:space-between;color:#68756a;font-size:10px}.cost-total strong{font:700 13px var(--display);color:var(--ink)}.page-foot a{color:#35694d;font-weight:700;margin-left:6px;text-decoration:none}.page-foot a:hover{text-decoration:underline}
@media(max-width:720px){.top-actions #backupBtn,.top-actions #restoreBtn{display:none}.project-search{width:100%}}
@media print{.accessories-panel{break-inside:avoid}.accessory-table td input{border:0;background:transparent;padding:0}.cost-total{padding:8px 10px}}
