@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base: #0f172a;--bg-surface: #1e293b;--bg-elevated: #273549;--border: #334155;--accent: #63CAB7;--accent-hi: #93E6D8;--danger: #F87171;--text-1: #F1F5F9;--text-2: #94A3B8;--text-3: #64748B;--node-room: #60A5FA;--node-stair: #FBBF24;--node-entry: #4ADE80;--node-junc: #A78BFA;font-family:Inter,sans-serif;font-size:14px;color:var(--text-1)}body{background:var(--bg-base);min-height:100vh}#root{display:flex;flex-direction:column;height:100vh;overflow:hidden}.admin-layout{display:flex;flex:1;overflow:hidden}.topbar{height:52px;background:var(--bg-surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:16px;flex-shrink:0}.topbar h1{font-size:16px;font-weight:700;color:var(--accent)}.topbar-spacer{flex:1}.topbar-btn{padding:6px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-1);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s ease}.topbar-btn:hover{background:var(--accent);color:#000}.topbar-btn--accent{background:var(--accent);color:#000;border-color:var(--accent)}.topbar-btn--danger{border-color:var(--danger);color:var(--danger)}.topbar-btn--danger:hover{background:var(--danger);color:#fff}.sidebar{width:280px;background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}.sidebar-section{padding:16px;border-bottom:1px solid var(--border)}.sidebar-section h2{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--text-3);text-transform:uppercase;margin-bottom:10px}.map-canvas-wrap{flex:1;position:relative;overflow:hidden;background:repeating-conic-gradient(var(--bg-elevated) 0% 25%,var(--bg-base) 0% 50%) 0 0 / 24px 24px;cursor:crosshair}.map-canvas{position:absolute;top:0;left:0;-webkit-user-select:none;user-select:none}.map-node-dot{cursor:pointer;transition:r .1s ease}.map-node-dot:hover{r:12}.form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.form-label{font-size:11px;font-weight:600;color:var(--text-3)}.form-input,.form-select{background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;color:var(--text-1);padding:6px 10px;font-size:13px;font-family:inherit;width:100%}.form-input:focus,.form-select:focus{outline:2px solid var(--accent);border-color:var(--accent)}.form-row{display:flex;gap:8px}.form-row .form-group{flex:1}.checkbox-row{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:8px}.checkbox-row input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}.qr-grid{display:flex;flex-wrap:wrap;gap:16px;padding:24px;overflow-y:auto;flex:1}.qr-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;width:180px}.qr-card svg{border-radius:6px;background:#fff;padding:6px}.qr-card-label{font-size:12px;font-weight:600;color:var(--text-1);text-align:center}.qr-card-meta{font-size:11px;color:var(--text-3)}.tool-group{display:flex;gap:4px}.tool-btn{padding:5px 12px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-2);font-size:12px;cursor:pointer;transition:all .1s ease}.tool-btn.active,.tool-btn:hover{background:var(--accent);color:#000;border-color:var(--accent)}.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.tag--green{background:#4ade8026;color:#4ade80}.tag--yellow{background:#fbbf2426;color:#fbbf24}.tag--red{background:#f8717126;color:var(--danger)}.tier-btn{padding:4px 10px;border-radius:6px;font-size:12px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-2);cursor:pointer}.tier-btn.active{background:var(--accent);color:#000;border-color:var(--accent)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:9px}
