*{box-sizing:border-box}body{margin:0;background:#f2f5f7;color:#172b42;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px}header{height:86px;display:flex;align-items:center;gap:14px;background:white;border-bottom:1px solid #dce3ea;padding:0 5vw}header img{display:block}header strong{font-size:18px}header span{display:block;font-size:13px;color:#74818d;margin-top:5px}header button{margin-left:auto}main{max-width:1160px;margin:0 auto;padding:45px 28px;min-height:calc(100dvh - 146px)}h1{font-size:32px;letter-spacing:-.7px;margin:8px 0 12px}h2{font-size:20px;margin:0}p{line-height:1.55;color:#68798a}.eyebrow{font-size:12px;font-weight:650;letter-spacing:1.5px;color:#5b716e;margin:0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.page-heading p:last-child{margin:0}.primary{background:#253f50;color:white;border-color:#253f50}.primary:hover{background:#375768}button,.action-link{font:inherit;font-size:14px;border:1px solid #d2dbe3;border-radius:7px;padding:10px 16px;cursor:pointer;background:white;color:#223e50;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}button.primary{background:#253f50;color:white}button:disabled{opacity:.5;cursor:wait}button:hover,.action-link:hover{filter:brightness(.97)}button:focus-visible,a:focus-visible{outline:3px solid #529dcc;outline-offset:3px}input,select{display:block;width:100%;font:inherit;font-size:16px;border:1px solid #bdcbd5;border-radius:7px;padding:12px;margin-top:8px;color:#172b42;background:white}input:focus,select:focus{outline:2px solid #63a1c5;outline-offset:1px}input[type=file]{font-size:14px;padding:12px}label{display:block;font-size:14px;font-weight:550;margin-top:21px}.optional{font-weight:400;color:#81909d;font-size:12px;margin-left:7px}.hint{font-size:13px;margin:7px 0;color:#748392}.message{font-size:14px;color:#9f3232;white-space:pre-line}.message:empty{display:none}.panel,.project-card{background:white;border:1px solid #dce3ea;border-radius:12px}.auth{max-width:440px;margin:6vh auto;padding:34px}.auth .primary{width:100%;margin-top:22px}.auth p{font-size:14px}.project-card{margin-bottom:22px;overflow:hidden}.project-title{display:flex;gap:12px;align-items:baseline;padding:23px 25px;border-bottom:1px solid #e5ebef}.project-title span{color:#81909c;font-size:13px}.area-row{padding:23px 25px;display:grid;grid-template-columns:1fr auto;gap:18px;border-bottom:1px solid #e5ebef}.area-row:last-child{border:0}.area-name{font-weight:600;display:flex;gap:12px;align-items:center}.status{font-size:12px;font-weight:500;border-radius:5px;background:#edf2f5;color:#5f7486;padding:4px 8px}.status.ready{background:#eaf2ef;color:#3e6554}.status.failed{background:#fff0ee;color:#9b4335}.path{font-size:13px;color:#7b8a98;margin:9px 0 0;overflow-wrap:anywhere}.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.warnings{font-size:13px;margin:10px 0 0;color:#7c6a42;max-width:650px}.empty{padding:60px 25px;text-align:center;background:white;border:1px dashed #bccbd6;border-radius:12px}.empty h2{margin-bottom:10px}.empty p{margin:0}dialog{border:1px solid #d2dce4;border-radius:14px;padding:28px;max-width:620px;width:calc(100% - 32px);max-height:90dvh;box-shadow:0 20px 80px #12263830}dialog::backdrop{background:#12263860}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading button{border:0;padding:5px 9px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.url-preview{font-size:13px;overflow-wrap:anywhere;background:#f2f5f7;border-radius:5px;padding:10px;color:#597486}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}footer{height:60px;padding:20px;text-align:center;color:#7c8b98;font-size:12px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#253f50;color:white;padding:12px 22px;border-radius:8px;font-size:14px;box-shadow:0 8px 24px #12263820} [hidden]{display:none!important}@media(max-width:650px){main{padding:30px 18px}h1{font-size:26px}.page-heading{gap:16px}.page-heading .primary{white-space:nowrap}.area-row{grid-template-columns:1fr}.fields{grid-template-columns:1fr;gap:0}.project-title,.area-row{padding:20px}.auth{padding:26px}.page-heading p:last-child{font-size:14px}}
dialog.plan-editor{max-width:none;width:100vw;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;display:none;flex-direction:column;background:#f2f5f7}dialog.plan-editor[open]{display:flex}
.pe-top{display:flex;align-items:center;gap:14px;padding:12px 20px;background:#fff;border-bottom:1px solid #dce3ea;flex-wrap:wrap}.pe-tabs{display:flex;gap:4px}.pe-tabs button.active{background:#253f50;color:#fff;border-color:#253f50}.pe-spacer{flex:1}.pe-status{font-size:13px;color:#68798a}
.pe-body{flex:1;min-height:0;display:flex}.pe-stage{position:relative;flex:1;min-width:0;overflow:hidden;background:#e4e9ee;cursor:crosshair;touch-action:none}.pe-stage svg{background:#fff;box-shadow:0 6px 30px #263d5025}
.pe-zoom{position:absolute;z-index:2;right:16px;top:16px;display:flex;flex-direction:column;gap:6px}.pe-zoom button{min-width:42px;padding:7px}.pe-hint{position:absolute;z-index:2;left:16px;bottom:16px;font-size:14px;background:#fff;border-radius:8px;padding:8px 12px;box-shadow:0 4px 18px #263d5018}.pe-hint:empty{display:none}
.pe-side{width:340px;flex-shrink:0;background:#fff;border-left:1px solid #dce3ea;overflow:auto;padding:18px 20px}.pe-side h3{font-size:14px;margin:0 0 10px}.pe-side section{border-top:1px solid #e6ebef;margin-top:18px;padding-top:16px}.pe-field{margin-top:0}.pe-field input{padding:9px 10px;font-size:15px}
.pe-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.pe-tools button{flex:1;padding:9px 8px}.pe-tools button.active{background:#253f50;color:#fff;border-color:#253f50}
.pe-ceiling{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;font-size:14px;font-weight:550}.pe-ceil-inputs{display:flex;align-items:center;gap:5px;font-weight:400}.pe-ceil-inputs input{width:68px;margin:0;padding:8px}.pe-ceil-inputs i{font-style:normal;color:#74818d;font-size:13px}
.pe-check{display:flex;align-items:center;gap:9px;margin-top:14px;font-weight:400}.pe-check input{width:16px;height:16px;margin:0}.pe-reset{margin-top:14px;font-size:13px;padding:8px 12px}
.pe-room-item{display:block;width:100%;text-align:left;margin-bottom:6px;padding:8px 10px;font-size:13px}.pe-room-item.active{background:#e8f1fb;border-color:#2f80ed}.pe-div-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;margin-bottom:6px}.pe-div-row button{padding:5px 10px;font-size:12px}
@media(max-width:800px){.pe-body{flex-direction:column}.pe-side{width:auto;height:44%;border-left:0;border-top:1px solid #dce3ea}}
