:root{--bg:#0f1115;--panel:#171a21;--panel2:#202633;--text:#f4f6f8;--muted:#9aa4b2;--border:#2a3140;--accent:#6ea8fe;--danger:#ef6b73}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.page{place-items:center;min-height:100vh;padding:24px;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:18px;width:min(430px,100%);padding:24px;box-shadow:0 20px 70px #00000040}.brand{align-items:center;gap:12px;margin-bottom:22px;display:flex}.logo{background:linear-gradient(135deg,#6ea8fe,#8b5cf6);border-radius:12px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.brand h1{margin:0;font-size:21px}.muted{color:var(--muted)}.form{gap:14px;display:grid}.field{gap:6px;display:grid}.field label{color:#cbd2dc;font-size:13px}.field input,.field select,.inlineEditor input,.boxCreator input,.boxCreator select,.rowNameInput,.itemEditor input,.memberControls select{border:1px solid var(--border);width:100%;color:var(--text);background:#11151d;border-radius:10px;outline:none;padding:11px 12px}.field input:focus,.field select:focus,.inlineEditor input:focus,.boxCreator input:focus,.boxCreator select:focus,.rowNameInput:focus,.itemEditor input:focus,.memberControls select:focus{border-color:var(--accent)}.btn{border:1px solid var(--border);background:var(--panel2);color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:11px 14px;display:inline-flex}.btn.primary{background:var(--accent);color:#08111f;border-color:#0000;font-weight:800}.btn.danger{color:#ffd9dd;background:#32181d;border-color:#6d2c34}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.google{color:#202124;background:#fff;border-color:#dadce0;justify-content:center;align-items:center;gap:10px;width:100%;margin-bottom:14px;font-weight:700;display:flex}.googleMark{font-size:17px;font-weight:900}.authDivider{color:var(--muted);align-items:center;gap:10px;margin:0 0 14px;font-size:12px;display:flex}.authDivider:before,.authDivider:after{content:"";background:var(--border);flex:1;height:1px}.error{color:#ffd5da;background:#351d22;border:1px solid #67303a;border-radius:10px;padding:10px 12px;font-size:13px}.success{color:#c8f7d6;background:#163321;border:1px solid #285d3a;border-radius:10px;padding:10px 12px;font-size:13px}.links{text-align:center;color:var(--muted);margin-top:18px;font-size:14px}.links a{color:#d8e8ff;text-decoration:underline}.shell{max-width:1500px;margin:0 auto;padding:18px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.topbar .brand{margin:0}.actions{flex-wrap:wrap;gap:8px;display:flex}.dashboard{grid-template-columns:250px minmax(0,1fr) 340px;gap:16px;display:grid}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:14px}.panel h2{text-transform:uppercase;letter-spacing:.06em;color:#cfd6e4;margin:0 0 12px;font-size:13px}.empty{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:12px;padding:26px}.empty.compact{padding:12px}.rack{border:1px solid var(--border);background:#11151d;border-radius:14px;align-items:flex-end;gap:14px;min-height:260px;padding:16px;display:flex;overflow-x:auto}.column{background:#171c25;border:1px solid #343d4f;border-radius:12px;width:190px;min-width:190px;padding:10px}.column-title{color:#d8e0ec;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;overflow:hidden}.rowHeader{align-items:center;gap:6px;min-height:34px;margin-bottom:6px;display:flex}.rowHeader .column-title{flex:1}.rowNameInput{padding:7px 8px;font-size:12px}.box{border:2px solid var(--box-color,#6ea8fe);background:#232a36;border-radius:11px;flex-direction:column;justify-content:space-between;gap:4px;min-height:84px;margin-top:8px;padding:10px;display:flex}.boxButton{width:100%;color:var(--text);text-align:left;cursor:pointer;transition:transform .12s,box-shadow .12s,background .12s,border-color .12s}.boxButton:hover{background:#293242;transform:translateY(-1px)}.boxButton.selected{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--box-color),0 12px 30px #00000061;background:#344156;transform:translateY(-2px)}.boxTop{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.boxTop b{white-space:normal;text-overflow:clip;word-break:break-word;font-size:14px;line-height:1.25;overflow:visible}.boxCode{letter-spacing:.04em;white-space:nowrap;color:#dce7f7;background:#11151d;border:1px solid #39445a;border-radius:7px;padding:3px 5px;font-size:10px;font-weight:800}.boxMeta{color:#c4cedd;font-size:11px;line-height:1.25}.h12,.h22,.h34{height:auto;min-height:84px}.addBoxButton,.miniBtn{color:#c9d4e4;cursor:pointer;background:#151b25;border:1px dashed #47536a;border-radius:9px}.addBoxButton{width:100%;margin-top:10px;padding:9px}.miniBtn{margin-left:auto;padding:5px 8px;font-size:11px}.inlineEditor{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin:8px 0 10px;display:grid}.boxCreator{background:#111722;border:1px dashed #435069;border-radius:10px;gap:7px;margin-top:10px;padding:9px;display:grid}.boxCreator input,.boxCreator select{padding:8px 9px;font-size:12px}.toolbar{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.toolbar input{border:1px solid var(--border);min-width:220px;color:var(--text);background:#11151d;border-radius:10px;flex:1;padding:10px 12px}.badge{background:#222a37;border-radius:8px;align-items:center;padding:4px 8px;font-size:12px;display:inline-flex}.detail{gap:10px;display:grid}.detail h3{margin:10px 0 4px}.photo,.detail .photo{aspect-ratio:16/9;color:var(--muted);background:#121720;border:1px dashed #4a556c;border-radius:12px;place-items:center;display:grid;overflow:hidden}.photo img,.detail .photo img{object-fit:cover;width:100%;height:100%}.photoUpload{position:relative;overflow:hidden}.photoUpload input{opacity:0;cursor:pointer;position:absolute;inset:0}.notice{border:1px solid var(--border);color:#dbe7f6;background:#17202c;border-radius:12px;max-width:760px;margin:20px auto;padding:14px}.compactNotice{max-width:none;margin:12px 0 0}.areaList{gap:8px;display:grid}.areaCard{border:1px solid var(--border);background:#121720;border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.areaCard small{color:var(--muted);margin-top:2px;display:block}.areaMain{flex:1;min-width:0}.areaDot{background:var(--area-color,#6ea8fe);border-radius:999px;width:10px;min-width:10px;height:10px}.iconBtn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#202633;border-radius:9px;width:34px;height:34px}.dangerIcon{color:#ffd9dd;background:#32181d;border-color:#6d2c34}.areaEdit{gap:10px;width:100%;display:grid}.areaEditActions{gap:8px;display:flex}.colorInput{height:42px;padding:4px!important}.areaSection+.areaSection{margin-top:18px}.areaHeading{align-items:center;gap:8px;margin-bottom:8px;display:flex}.detailSectionHeader{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.itemList{gap:6px;display:grid}.itemRow{border:1px solid var(--border);background:#121720;border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.itemRow b{color:#dce8f8}.itemActions{gap:5px;display:flex}.itemActions .iconBtn{width:30px;height:30px}.itemEditor{background:#111722;border:1px dashed #435069;border-radius:10px;grid-template-columns:minmax(0,1fr) 78px;gap:7px;padding:9px;display:grid}.itemEditor .btn{padding:8px 10px}.accessLayout{grid-template-columns:minmax(280px,.8fr) minmax(380px,1.2fr);align-items:start;gap:16px;display:grid}.accessLayout .panel:last-child{grid-column:1/-1}.accessInvite{grid-template-columns:minmax(0,1fr) 170px auto;align-items:end;gap:10px;display:grid}.memberList{gap:8px;display:grid}.memberRow{border:1px solid var(--border);background:#121720;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.memberIdentity{min-width:0}.memberIdentity b,.memberIdentity small{display:block}.memberIdentity small{color:var(--muted);text-overflow:ellipsis;margin-top:3px;overflow:hidden}.memberControls{align-items:center;gap:8px;display:flex}.memberControls select{min-width:130px;padding:8px 9px}.qrPublicCard{gap:14px;width:min(560px,100%);display:grid}.qrPublicCard .brand{margin-bottom:0}.labelPage{color:#10141a;background:#eef1f5;min-height:100vh;padding:20px}.printToolbar{flex-wrap:wrap;align-items:center;gap:10px;max-width:1100px;margin:0 auto 18px;display:flex}.labelSheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:1100px;margin:0 auto;display:grid}.qrLabel{page-break-inside:avoid;break-inside:avoid;background:#fff;border:1px solid #cfd5df;border-radius:10px;grid-template-columns:42mm minmax(0,1fr);align-items:center;gap:7mm;min-height:58mm;padding:7mm;display:grid}.qrLabelCode{object-fit:contain;width:42mm;height:42mm}.qrLabelInfo{min-width:0}.qrLabelName{white-space:nowrap;text-overflow:ellipsis;margin-bottom:8px;font-size:22px;font-weight:900;line-height:1.05;overflow:hidden}.qrLabelId{letter-spacing:.08em;margin-bottom:8px;font-size:14px;font-weight:800}.qrLabelLocation{white-space:nowrap;text-overflow:ellipsis;margin-bottom:5px;font-size:13px;font-weight:650;overflow:hidden}.qrLabelMeta{color:#4d5665;font-size:12px}@media (max-width:1100px){.dashboard{grid-template-columns:220px 1fr}.right{grid-column:1/-1}.accessLayout{grid-template-columns:1fr}}@media (max-width:760px){.dashboard{grid-template-columns:1fr}.shell{padding:12px}.right{grid-column:auto}.rack{min-height:220px;padding:12px}.column{width:170px;min-width:170px}.boxTop b{font-size:13px}.boxMeta{font-size:10px}.inlineEditor{grid-template-columns:1fr}.miniBtn{margin-left:auto}.itemEditor{grid-template-columns:1fr 74px}.itemEditor .btn{grid-column:auto}.accessInvite{grid-template-columns:1fr}.memberRow{flex-direction:column;align-items:flex-start}.memberControls{width:100%}.memberControls select{flex:1}.labelSheet{grid-template-columns:1fr}.qrLabel{grid-template-columns:34mm minmax(0,1fr);gap:5mm;min-height:48mm;padding:5mm}.qrLabelCode{width:34mm;height:34mm}.qrLabelName{font-size:18px}}@media print{html,body{color:#000!important;background:#fff!important}.noPrint{display:none!important}.labelPage{background:#fff;padding:0}.labelSheet{grid-template-columns:repeat(2,1fr);gap:4mm;max-width:none}.qrLabel{border:.3mm solid #aaa;border-radius:0;grid-template-columns:38mm minmax(0,1fr);gap:5mm;min-height:58mm;padding:5mm}.qrLabelCode{width:38mm;height:38mm}.qrLabelName{color:#000;font-size:17pt}.qrLabelId{color:#000;font-size:11pt}.qrLabelLocation{color:#000;font-size:10pt}.qrLabelMeta{color:#333;font-size:9pt}}
