*{box-sizing:border-box}body{margin:0;font:14px 'Segoe UI',sans-serif;color:#203537;background:#f4f6f5}button,input,select,textarea,.button{font:inherit}button,.button{cursor:pointer;border:1px solid #d5dfdc;background:white;color:#264341;padding:9px 12px;border-radius:7px;display:inline-block}button:hover,.button:hover{background:#edf6f2}input,select,textarea{border:1px solid #d6dfdc;border-radius:6px;padding:9px;background:white;color:inherit;max-width:100%}input[type=file]{display:none}header{height:76px;background:#fff;display:flex;gap:12px;align-items:center;padding:16px 24px;border-bottom:1px solid #dce4e1}.brand{font-size:30px;font-weight:750;letter-spacing:-1.5px;margin-right:30px}.brand span{display:block;font-size:9px;letter-spacing:3px;color:#708580}#projectName{font-weight:600;font-size:16px;width:220px}#saved{font-size:12px;color:#648079;margin-right:auto}main{display:grid;grid-template-columns:290px minmax(400px,1fr) 280px;height:calc(100vh - 76px)}aside{padding:24px;background:#fff;overflow:auto;border-right:1px solid #dce4e1}.eyebrow{font-size:10px;letter-spacing:2px;color:#6b8580;font-weight:700}h1{font-size:31px;line-height:1.13;letter-spacing:-1px;margin:18px 0}h2{font-size:17px}.muted{color:#758883;line-height:1.6}.primary{background:#155c50!important;color:white!important;border-color:#155c50}.row{display:flex;align-items:center;justify-content:space-between;gap:8px}hr{border:0;border-top:1px solid #e3eae7;margin:24px 0}#plans button{display:block;width:100%;text-align:left;margin-top:10px;overflow:hidden;text-overflow:ellipsis}#search,#filter{width:100%;margin-top:12px}#stats{font-size:12px;color:#718780;margin:15px 0}.asset{border:1px solid #dce4e0;border-radius:8px;padding:12px;margin:9px 0;cursor:pointer}.asset.active{border-color:#15846d;background:#eff8f3}.asset b{display:block;margin-bottom:7px}.badge{font-size:11px;padding:3px 6px;border-radius:4px;background:#edf3ef}.exports{display:flex;gap:8px;margin-top:20px}.workspace{min-width:0;display:flex;flex-direction:column}nav{padding:14px;display:flex;flex-wrap:wrap;gap:8px;background:#fff;border-bottom:1px solid #dce4e1;align-items:center}#tools{display:flex;gap:4px;flex-wrap:wrap}nav button{font-size:12px}nav input{width:48px;padding:3px}nav label{font-size:11px;display:flex;align-items:center;gap:5px}button.active{background:#155c50;color:white}.planbar{display:flex;align-items:center;gap:8px;padding:12px 20px;font-size:12px}#planTitle{margin-right:auto;font-weight:600}#viewport{flex:1;overflow:auto;padding:30px;background-color:#eaf0ed;background-image:radial-gradient(#cbd8d1 1px,transparent 1px);background-size:18px 18px}#empty{text-align:center;margin:10vh auto;max-width:420px}#empty h2{font-size:24px}.plan-icon{font-size:64px;color:#2a7566}#sheet{position:relative;margin:auto;background:white;box-shadow:0 10px 40px #254d3c20;touch-action:none}canvas{display:block}#overlay{position:absolute;inset:0;width:100%;height:100%;touch-action:none}footer{padding:12px 18px;display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#668079;background:white}#details{border-left:1px solid #dce4e1}#editor label{display:block;font-size:12px;margin:15px 0 5px}#editor input,#editor select,#editor textarea{width:100%}#editor .button{margin-top:14px}dialog{border:0;border-radius:14px;padding:28px;width:520px;max-width:95vw;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#17392c66}textarea{width:100%;resize:vertical}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#173f35;color:white;padding:12px 20px;border-radius:8px;display:none;z-index:20}@media(max-width:1100px){main{grid-template-columns:240px minmax(350px,1fr)}#details{grid-column:1/-1;max-height:380px}header{height:auto;flex-wrap:wrap}main{height:calc(100vh - 110px)}}
main>.workspace{min-height:0}#viewport{min-height:0}#sheet[hidden],#empty[hidden]{display:none} @media(max-width:750px){main{display:flex;flex-direction:column;height:auto}aside{max-height:400px}.workspace{height:700px}header .brand{margin-right:0}footer{flex-wrap:wrap}}
.asset.active{border:2px solid #155c50;background:#d8f0e4;box-shadow:0 0 0 2px #155c5020;padding:11px}.selected-label{display:block;font-size:12px;font-weight:800;color:#104c3e;margin-bottom:8px}.asset:focus-visible{outline:3px solid #155c50;outline-offset:3px}#selectionBar{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 20px;background:#f3f5f3;border-top:2px solid #cedbd4}#selectionBar.has-selection{background:#155c50;color:white;border-color:#0c3d33}.selection-caption{display:block;font-size:10px;font-weight:800;letter-spacing:1px;margin-bottom:4px}#selectionName{display:block;font-size:14px;overflow-wrap:anywhere}#selectionBar>div{min-width:0}#placeSelected{flex-shrink:0;font-weight:700;min-height:44px}button:disabled{opacity:.5;cursor:default}@media(min-width:751px){main{height:calc(100vh - 158px)}}@media(max-width:750px){body{padding-bottom:110px}#selectionBar{position:fixed;bottom:0;left:0;right:0;z-index:15;padding:12px 14px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #17392c20}#selectionBar strong{font-size:13px}#toast{bottom:120px;max-width:90vw;width:max-content}nav button{min-height:44px}.asset{min-height:72px}.workspace{scroll-margin-top:8px}}

#planSelection{padding:12px 16px;background:#f5f6fa;color:#53606f;font-size:13px;border-bottom:1px solid #d9dfe8}#planSelection.selected{background:#164fff;color:white;font-weight:750}#remove:not(:disabled){background:#fff0ee;border:2px solid #ae3025;color:#8d2119;font-weight:750}@media(max-width:750px){.workspace nav{position:sticky;top:0;z-index:11}#planSelection{position:sticky;top:0;z-index:12;min-height:44px}}
@media(max-width:750px){.workspace nav{position:static}}

#config{max-height:88vh;overflow-y:auto}.field-config{padding:14px;margin:12px 0;border:1px solid #d5dfdc;border-radius:8px;background:#f7faf8}.field-config label{display:block;margin-top:10px;font-size:12px}.field-config select{display:block;width:100%;margin-top:5px}.choices[hidden]{display:none}#editor .check-field{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px;background:#f3f7f4;border-radius:6px}#editor .check-field input{width:24px;height:24px;accent-color:#155c50;margin:0;flex-shrink:0}
