@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#24372e;background:#f4f5f0;font-size:14px}*{box-sizing:border-box}body{margin:0}header{height:84px;padding:0 5%;background:#fff;border-bottom:1px solid #e1e5dd;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;color:#243d2d;font-family:Manrope,sans-serif;font-size:20px;font-weight:800;letter-spacing:2px;display:flex;align-items:center;gap:10px}.brand small{font-size:11px;letter-spacing:3px;font-weight:600}.logo{background:#274c38;color:#fff;padding:8px 12px;border-radius:7px;font-size:27px}.saved{font-size:12px;color:#647a66}main{max-width:1500px;margin:auto;padding:34px 5%}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#6f826e;margin:0 0 10px}h1{font:800 34px Manrope,sans-serif;letter-spacing:-1px;margin:0 0 10px}p{line-height:1.65;color:#708074}h2{font:700 18px Manrope,sans-serif;margin:0}button,input,select,textarea{font:inherit;border:1px solid #dce2d8;border-radius:7px;background:white;color:#273e30;padding:12px;min-height:44px}button{font-weight:600;cursor:pointer}button:hover{background:#edf2e9;border-color:#99ad98}button:disabled{opacity:.5;cursor:not-allowed}input,select{width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #88aa76;outline-offset:1px}label{display:block;font-size:12px;font-weight:600;color:#596c5c;margin-bottom:14px}label input,label select{margin-top:7px;font-size:14px}label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px}input[type=checkbox]{width:18px;min-height:18px;accent-color:#315b3e}.projectbar{display:flex;align-items:end;gap:12px;padding:18px;background:#e9ede3;border-radius:10px;margin-bottom:26px}.projectbar label{font-size:9px;letter-spacing:1.5px;margin-bottom:5px}.projectbar>div{min-width:150px}.projectbar>input{flex:1}.layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px;align-items:start}.card{background:#fff;border:1px solid #e0e5dc;border-radius:12px;padding:24px;box-shadow:0 3px 5px #20302003}.sectionhead{display:flex;align-items:center;gap:11px;margin-bottom:23px}.step{font-size:10px;background:#eef2e7;border:1px solid #dce5d3;padding:6px;border-radius:5px;color:#668052}.pill{margin-left:auto;font-size:9px;font-weight:700;letter-spacing:1px;color:#7b8a74;background:#f3f5ef;padding:7px;border-radius:4px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.subhead{font-size:10px;letter-spacing:1.5px;border-top:1px solid #edf0e8;padding-top:19px;margin:9px 0 18px;color:#7a8873}.primary{background:#31563e;color:white;border-color:#31563e}.primary:hover{background:#24432e;color:white}.full{width:100%;margin-top:9px}.muted{color:#7b867b;font-size:12px}.dimensions{color:#7c8b7b;font-size:12px;margin:7px 0 20px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#788575;font-size:10px;letter-spacing:.4px;background:#f5f6f1;padding:12px 9px;white-space:nowrap}td{padding:13px 9px;border-bottom:1px solid #edf0e9;white-space:nowrap}td:first-child{font-weight:500}tr.group td{font-size:10px;letter-spacing:1px;color:#6e8265;background:#fbfcf8;padding-top:17px}.note{background:#fcf3dd;border:1px solid #ebdbaa;border-radius:7px;padding:15px;color:#81682c;line-height:1.6}.projectheading{display:flex;align-items:center;justify-content:space-between;margin:30px 0 18px}.projectheading h2 span{color:#87937f;font-size:14px}.actions{display:flex;gap:7px}.unit{margin-bottom:14px;padding:20px}.unithead{display:flex;align-items:center;justify-content:space-between;gap:8px}.unithead button{font-size:11px;padding:8px;min-height:34px}.summary{display:flex;gap:28px;padding:20px 0}.summary strong{font:700 27px Manrope;display:block}.summary span{font-size:11px;color:#819078}.empty{text-align:center;padding:38px 10px;color:#8a9584}.empty b{display:block;color:#53664f;margin-bottom:8px}#error,#templateError{color:#a2392b;line-height:1.5}footer{text-align:center;font-size:11px;color:#8b9784;padding:30px}dialog{width:min(850px,95vw);max-height:92vh;border:1px solid #cbd5c5;border-radius:14px;padding:28px;color:#273e30}dialog::backdrop{background:#17291f88}dialog textarea{width:100%;font-family:monospace;font-size:12px}dialog .sectionhead{justify-content:space-between}svg{max-width:100%;height:180px;display:block;margin:15px auto}.override{color:#a57b25;font-size:10px}.source{font-size:10px;color:#7b8974;white-space:normal}.printonly{display:none}@media(max-width:1050px){.layout{grid-template-columns:300px minmax(0,1fr)}main{padding:25px 3%}.card{padding:18px}.brand small{display:none}.projectbar{flex-wrap:wrap}}@media(max-width:760px){.layout{grid-template-columns:1fr}.intro{align-items:start;gap:15px}h1{font-size:27px}.intro button{font-size:12px}.projectbar>input{flex-basis:50%}.saved{font-size:10px}.projectheading{gap:12px;flex-wrap:wrap}header{padding:0 4%;height:70px}.brand{font-size:16px}.card{padding:17px}}@media print{header,.intro,.projectbar,aside,.preview,.actions,.unithead button,footer,dialog{display:none!important}body,main{background:white;padding:0}.layout{display:block}.card{border:0;box-shadow:none;padding:8px 0}.unit{break-inside:avoid}.printonly{display:block}.projectheading{margin-top:0}td,th{padding:7px}.note{color:black}svg{height:150px}}
#quickAdd{margin-left:auto;padding:9px;white-space:nowrap;font-size:12px}#templateEditor td input{min-width:95px}#templateEditor td:first-child input{min-width:170px}summary{cursor:pointer;padding:12px 0;color:#5c7153}

#boardPlanner { margin-top: 1rem; }
.board-settings { display: flex; align-items: center; gap: 0.75rem; }
.board-settings input { width: 6rem; }
.board-sheet { margin-bottom: 0.75rem; border: 1px solid #dce6d8; padding: 0.5rem 0.8rem; border-radius: 8px; }
.sheet-diagram { width: 100%; height: auto; border: 1px solid #6a8269; }
.board-pieces { font-size: 0.85rem; columns: 2 16rem; }
@media print {
  .board-settings { display: none; }
  .board-sheet[open] { break-inside: avoid; }
  .sheet-diagram { max-height: 220px; }
}
.board-jump { align-self: center; color: #365a3c; padding: 0.25rem; }
@media print { [data-edging] { display: none !important; } }
