:root{--bg: #f1f5f9;--card: #ffffff;--ink: #0f172a;--muted: #64748b;--brand: #ea580c;--brand-dark: #c2410c;--line: #e2e8f0;--green: #16a34a;--red: #dc2626;--amber: #d97706}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:220px;background:#0f172a;color:#e2e8f0;padding:18px 0;flex-shrink:0}.brand{font-weight:800;font-size:20px;padding:0 20px 18px;color:#fff}.brand span{color:var(--brand)}.nav a{display:block;padding:11px 20px;color:#cbd5e1;font-size:14px;border-left:3px solid transparent}.nav a.active{background:#1e293b;color:#fff;border-left-color:var(--brand)}.nav a:hover{background:#1e293b}.main{flex:1;padding:26px 32px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{font-size:22px;margin:0}.btn{background:var(--brand);color:#fff;border:0;padding:9px 16px;border-radius:8px;font-weight:600;cursor:pointer;font-size:14px}.btn:hover{background:var(--brand-dark)}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:18px}.card h2{font-size:15px;margin:0 0 12px}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px}.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}.stat .n{font-size:28px;font-weight:800}.stat .l{color:var(--muted);font-size:13px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase}.badge{padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600}.b-expected{background:#fef3c7;color:var(--amber)}.b-deposited{background:#dbeafe;color:#2563eb}.b-reserved{background:#ede9fe;color:#6d28d9}.b-claimed{background:#dcfce7;color:var(--green)}.b-admin{background:#e0e7ff;color:#4338ca}.b-removed{background:#e2e8f0;color:#475569}.lockgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.lock{aspect-ratio:1;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;color:#fff;cursor:pointer}.lock.available{background:var(--green)}.lock.occupied{background:var(--red)}.lock small{font-weight:500;font-size:10px;opacity:.9}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%}.login-card{background:#fff;border-radius:16px;padding:34px;width:360px;box-shadow:0 10px 40px #00000014}.login-card .brand{color:var(--ink);padding:0 0 6px;font-size:26px;text-align:center}input,select{background-color:#fff;color:inherit;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;margin-bottom:12px}label{font-size:13px;font-weight:600;display:block;margin-bottom:5px}.err{color:var(--red);font-size:13px;margin-bottom:10px}.muted{color:var(--muted);font-size:13px}.row{display:flex;gap:10px}.banner{background:#fffbeb;border:1px solid #fde68a;color:#92400e;padding:8px 12px;border-radius:8px;font-size:13px;margin-bottom:16px}.nav a{display:flex;align-items:center;gap:10px}.nav .ico{flex-shrink:0;opacity:.85}.nav .lbl-short{display:none}@media (max-width: 760px){.app{display:block}.sidebar{position:fixed;left:0;right:0;bottom:0;z-index:50;width:auto;padding:0 0 env(safe-area-inset-bottom);border-top:1px solid #1e293b}.sidebar .brand{display:none}.nav{display:flex}.nav a{flex:1;flex-direction:column;gap:3px;justify-content:center;padding:8px 2px 7px;font-size:11px;text-align:center;border-left:0;border-top:3px solid transparent;min-height:58px}.nav a.active{background:#1e293b;border-top-color:var(--brand)}.nav .ico{width:22px;height:22px}.nav .lbl{display:none}.nav .lbl-short{display:block}.main{padding:14px 14px calc(84px + env(safe-area-inset-bottom))}.topbar{align-items:flex-start;gap:10px;margin-bottom:14px}.topbar h1{font-size:19px;line-height:1.25}.topbar h1 .muted{display:block;font-size:13px;font-weight:500}.topbar .who,.topbar h1 .sep{display:none}.topbar-actions .btn{padding:8px 12px}.card{padding:14px;border-radius:12px;margin-bottom:14px}.grid-stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:12px}.stat .n{font-size:24px}.row{flex-wrap:wrap}.row>div[style*="flex: 1"]{flex:1 1 100%!important}input,select{font-size:16px;padding:11px 12px}.btn{min-height:42px}table.stack thead{display:none}table.stack,table.stack tbody{display:block}table.stack tr{display:block;border:1px solid var(--line);border-radius:10px;padding:6px 12px;margin-bottom:10px;background:#fff}table.stack td{display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;padding:7px 0;text-align:right;word-break:break-word;white-space:normal!important}table.stack td+td{border-top:1px solid #f1f5f9}table.stack td:before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:600;text-align:left;flex-shrink:0}table.stack td[data-label=""]:before,table.stack td:not([data-label]):before{display:none}table.stack td[data-label=""]{justify-content:flex-start;flex-wrap:wrap}table.stack td[colspan]{display:block;text-align:left}table.stack td .row{justify-content:flex-start}table.stack td input{min-width:0!important}.lockgrid{grid-template-columns:repeat(4,1fr);gap:8px}.lock{font-size:15px}.login-wrap{padding:16px;align-items:flex-start;padding-top:8vh}.login-card{width:100%;max-width:380px;padding:24px 20px}}@media (max-width: 380px){.lockgrid{grid-template-columns:repeat(3,1fr)}}
