:root{--bg: #f4f6f8;--card: #ffffff;--text: #1a2430;--muted: #64748b;--accent: #1769ff;--accent-dark: #0f4fd4;--danger: #d92d20;--ok: #12b76a;--warn: #f79009;--border: #e2e8f0;--radius: 10px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:16px}.layout{display:flex;flex-direction:column;min-height:100vh}.topbar{background:#10213f;color:#fff;display:flex;align-items:center;gap:16px;padding:10px 16px;flex-wrap:wrap}.topbar .brand{font-weight:700;font-size:18px;letter-spacing:.3px}.topbar .brand span{color:#7db4ff}.topbar nav{display:flex;gap:4px;flex-wrap:wrap}.topbar nav a{color:#c8d6ee;text-decoration:none;padding:8px 12px;border-radius:8px;font-size:15px}.topbar nav a.active,.topbar nav a:hover{background:#1d3a6e;color:#fff}.topbar .spacer{flex:1}.topbar .who{font-size:14px;color:#9fb4d8}.page{max-width:1100px;width:100%;margin:0 auto;padding:20px 16px 60px}.page h1{font-size:24px;margin:8px 0 16px}.page h2{font-size:18px;margin:20px 0 10px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}input,select,textarea{font:inherit;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);min-width:0}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}label{font-size:13px;color:var(--muted);display:block;margin-bottom:4px}.field{display:flex;flex-direction:column}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.row .field{flex:1;min-width:140px}button{font:inherit;font-weight:600;border:none;border-radius:8px;padding:10px 18px;cursor:pointer;background:var(--accent);color:#fff;min-height:44px}button:hover{background:var(--accent-dark)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#eef2f7;color:var(--text)}button.secondary:hover{background:#dfe7f0}button.danger{background:var(--danger)}button.big{font-size:18px;padding:14px 26px;min-height:54px}.searchbar{display:flex;gap:10px}.searchbar input{flex:1;font-size:20px;padding:14px 16px}table{width:100%;border-collapse:collapse;background:var(--card)}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}th{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}tr:hover td{background:#f8fafc}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:600}.badge.ok{background:#e7f8f0;color:#067647}.badge.off{background:#f1f5f9;color:var(--muted)}.badge.warn{background:#fef0c7;color:#b54708}.badge.lit{background:#fff3c4;color:#7a5900;animation:badgePulse 1s infinite}@keyframes badgePulse{50%{opacity:.55}}.error{color:var(--danger);font-weight:600;margin:8px 0}.success{color:var(--ok);font-weight:600;margin:8px 0}.muted{color:var(--muted)}.login-wrap{display:grid;place-items:center;min-height:100vh;padding:16px;background:linear-gradient(#091022b8,#091022db),url(/hero-warehouse.png) center / cover no-repeat fixed}.login-card{width:100%;max-width:380px;background:#fffffff7;border:none;box-shadow:0 24px 70px #0000008c}.login-card h1{text-align:center}.login-card .tagline{text-align:center;color:var(--muted);margin:-6px 0 14px;font-size:14px}.login-card form{display:flex;flex-direction:column;gap:12px}.page-bg{position:fixed;inset:0;z-index:-1;background:linear-gradient(#091022a8,#091022d1),url(/find-banner.png) center / cover no-repeat}.find-hero{color:#fff;padding:26px 4px 4px;margin:0 0 16px;text-shadow:0 2px 14px rgba(0,0,0,.6)}.find-hero h1{margin:0 0 6px;font-size:30px;color:#fff}.find-hero p{margin:0;color:#d7e2f5;max-width:560px}.find-page .card,.find-page .result-item{box-shadow:0 14px 40px #00000059;border:none}.result-item{border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:12px;background:#fff}.result-item .head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}.result-item .head .code{font-size:22px;font-weight:700}.loc-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px dashed var(--border);flex-wrap:wrap}.loc-row .loc-code{font-family:Consolas,monospace;font-size:18px;font-weight:700}.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.sim-tag{border:2px solid var(--border);border-radius:12px;padding:12px;background:#fff;text-align:center;transition:box-shadow .2s}.sim-tag .led{width:34px;height:34px;border-radius:50%;margin:6px auto 8px;background:#d8dee6;border:3px solid #c3ccd6}.sim-tag.lit .led{animation:ledFlash .5s infinite}@keyframes ledFlash{0%,to{filter:brightness(1.25);box-shadow:0 0 22px 6px var(--led-color, #ffd400)}50%{filter:brightness(.5);box-shadow:none}}.sim-tag.lit{box-shadow:0 0 0 3px var(--led-color, #ffd400)}.sim-tag .tagid{font-family:Consolas,monospace;font-size:13px}.sim-tag .loc{font-weight:700}.sim-tag .beep{font-size:12px;color:var(--warn);font-weight:700;visibility:hidden}.sim-tag.lit.beeping .beep{visibility:visible;animation:badgePulse .5s infinite}.scanner-video{width:100%;max-width:480px;border-radius:var(--radius);background:#000}@media(max-width:640px){.topbar nav a{padding:8px 9px;font-size:14px}.page{padding:12px 10px 40px}}
