*{box-sizing:border-box}body{margin:0;background:#f1f5f9;color:#172b42;font:16px system-ui,-apple-system,sans-serif}header{background:#102c3e;color:white;padding:16px 4%}header a{color:white}main{max-width:1320px;margin:auto;padding:22px 16px}.brand{font-weight:800;font-size:22px}.nav{display:flex;gap:13px;flex-wrap:wrap;margin-top:9px}.nav a{font-size:14px}.panel{background:white;border:1px solid #d9e3ea;border-radius:18px;padding:20px;box-shadow:0 2px 8px #0b27300b}h1{margin:0 0 8px;font-size:clamp(25px,4vw,36px)}h2{font-size:20px;margin:0 0 15px}.muted{color:#526b80}.layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;align-items:start}.stack{display:grid;gap:16px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:650}.field input,.field select{width:100%;border:1px solid #c6d4de;border-radius:9px;font-size:16px;padding:10px;background:white;color:#162e41;min-width:0}button,.linkbtn{border:0;background:#087f69;color:white;padding:11px 13px;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer}button.secondary{background:#e8f2ef;color:#086f5d}button.blue{background:#1765b6}button:disabled{opacity:.5}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.canvas{background:#eaf0f7;border:1px solid #cddae4;border-radius:12px;overflow:hidden;padding:9px}svg{width:100%;height:auto;min-height:260px;max-height:650px;touch-action:none;display:block}svg .room{cursor:move}.room.selected{stroke:#e27416;stroke-width:3}.handle{cursor:nwse-resize}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:10px;border-bottom:1px solid #e1e8ed;text-align:start}th{background:#e9f2f5}.notice{padding:12px;background:#fff8e3;border-left:4px solid #dfa934;border-radius:8px;margin-top:12px}.error{color:#b42318;min-height:20px}footer{padding:24px;text-align:center;color:#667d8e}@media(max-width:850px){.layout{grid-template-columns:1fr}.fields{grid-template-columns:1fr 1fr}.panel{padding:15px}}