:root{--ink: #1f2933;--muted: #6b7785;--line: #d9dee4;--accent: #1c3faa;--bg: #f5f7f9;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}.page{padding:12px 16px}header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:10px}h1{font-size:20px;margin:0}h2{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px}.floors{display:flex;gap:6px;flex-wrap:wrap}button{font:inherit;padding:6px 10px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer}button.on{background:var(--accent);color:#fff;border-color:var(--accent)}button.link{border:none;background:none;color:#b42318;padding:0 4px}.body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}@media(max-width:900px){.body{grid-template-columns:1fr}}main{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px}.canvas-box{width:100%}canvas{display:block;width:100%;touch-action:none;cursor:default}canvas.adding{cursor:crosshair}canvas.dragging{cursor:grabbing}.legend{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12px;margin-top:8px}.legend span{display:inline-flex;align-items:center;gap:4px}.legend i{width:22px;height:12px;display:inline-block;border-radius:2px}aside{display:flex;flex-direction:column;gap:12px}aside section{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px}label{display:flex;align-items:center;gap:6px;font-size:13px}aside>section>label{justify-content:space-between}select,input[type=number]{font:inherit;font-size:13px;padding:4px 6px;border:1px solid var(--line);border-radius:5px}input[type=number]{width:64px}label.check{justify-content:flex-start}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stats p{margin:0;font-size:13px}.stats p b{font-size:18px}.ap{border:1px solid var(--line);border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:6px}.ap.selected{border-color:#e8590c}.ap-head{display:flex;align-items:center;gap:8px}.ap-head b{flex:1}.ap select{width:100%}.muted{color:var(--muted);font-size:12px;margin:0}.problem{color:#b42318}.page.narrow{max-width:1000px;margin:0 auto}.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px}input[type=text]{font:inherit;font-size:13px;padding:4px 6px;border:1px solid var(--line);border-radius:5px;min-width:220px}table.pages{border-collapse:collapse;font-size:13px;width:100%}table.pages th{text-align:left;color:var(--muted);font-weight:600;padding:4px 6px;border-bottom:1px solid var(--line)}table.pages td{padding:4px 6px;border-bottom:1px solid var(--line)}table.pages tr.off td{color:var(--muted)}table.pages input[type=text]{min-width:120px}details summary{cursor:pointer;font-size:13px}details label{margin-top:8px}.floor-check{flex-direction:row;align-items:flex-start}.floor-check img{width:360px;max-width:45%;border:1px solid var(--line);border-radius:4px}.floor-check p{margin:0 0 4px;font-size:13px}.warn{color:#9a5b00}.design-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.design-row .muted{flex:1}button.link-open{border:none;background:none;color:var(--accent);padding:0;font-weight:600}button:disabled{opacity:.5;cursor:default}.update-banner{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:12px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;box-shadow:0 4px 16px #00000040;font-size:14px;max-width:calc(100vw - 32px)}@media(max-width:700px){.floor-check{flex-direction:column}.floor-check img{max-width:100%;width:100%}}
