*{box-sizing:border-box} :root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#17283e;background:#f4f7fb;font-synthesis:none}body{margin:0;min-height:100vh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.shell{max-width:900px;margin:auto}.top{height:68px;background:#10243d;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.3px}.brandmark{width:38px;height:38px;border-radius:12px;background:#fff;color:#10243d;display:grid;place-items:center;font-weight:900}.brand small{display:block;font-size:10px;font-weight:500;opacity:.72;letter-spacing:.2px}.ghost{background:transparent;color:white;border:1px solid #ffffff66;border-radius:10px;padding:9px 13px}.hidden{display:none!important}main{padding:18px;max-width:780px;margin:auto}.card{background:#fff;border:1px solid #e4eaf2;border-radius:18px;padding:17px;margin:0 0 14px;box-shadow:0 5px 20px #17283e08}.hero{background:linear-gradient(135deg,#10243d,#194b78);color:white;border:0}.hero p{color:#d9e8f8}.muted{color:#718096;font-size:13px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric{background:#f5f8fc;border-radius:14px;padding:14px}.metric strong{font-size:25px;display:block}.metric span{font-size:12px;color:#718096}.btn{border:0;background:#1769aa;color:#fff;padding:12px 16px;border-radius:12px;font-weight:700;cursor:pointer}.btn.secondary{background:#eaf2fa;color:#164c79}.btn.danger{background:#a93443}.btn.block{width:100%}.field{display:grid;gap:6px;margin:12px 0}.field label{font-size:13px;font-weight:650}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #d6e0eb;border-radius:11px;font:inherit;background:white}.row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.qr-item{display:flex;justify-content:space-between;align-items:center;gap:10px}.qr-item h3{font-size:15px;margin:0 0 4px}.pill{display:inline-block;border-radius:99px;background:#eaf2fa;color:#24577e;padding:4px 8px;font-size:11px}.pill.paused{background:#fff2d9;color:#855a00}.bottom-nav{position:fixed;z-index:6;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e3e9f0;display:flex;justify-content:space-around;padding:8px 4px calc(8px + env(safe-area-inset-bottom));max-width:900px;margin:auto}.bottom-nav button{border:0;background:none;color:#708096;display:grid;gap:3px;justify-items:center;font-size:20px;min-width:54px}.bottom-nav small{font-size:10px}.bottom-nav button.active{color:#1769aa;font-weight:800}.center{text-align:center;padding:35px 12px}.loading{color:#718096}.spinner{width:26px;height:26px;border:3px solid #dbe5ef;border-top-color:#1769aa;border-radius:50%;margin:auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{padding:24px;text-align:center;color:#718096}.bar{height:9px;background:#e8eef5;border-radius:20px;overflow:hidden}.bar span{display:block;height:100%;background:#2586c8;border-radius:20px}.list{display:grid;gap:10px}.chartrow{display:grid;grid-template-columns:65px 1fr 36px;gap:8px;align-items:center;font-size:12px;margin:9px 0}.chartrow .bar{height:8px}.video{width:100%;border-radius:14px;background:#0c1826;max-height:360px}.scanbox{background:#101f32;border-radius:16px;padding:10px}.scan-result{overflow-wrap:anywhere}.notice{background:#fff7e7;border:1px solid #f1dfb5;color:#72500a;padding:12px;border-radius:12px;font-size:13px}a{color:#1769aa}@media(min-width:700px){main{padding:26px}.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
#toast{position:fixed;left:50%;bottom:calc(86px + env(safe-area-inset-bottom));transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#10243d;color:#fff;padding:11px 16px;border-radius:12px;max-width:90%;z-index:20;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}
.update-banner{margin:14px 18px 0;padding:13px 14px;background:#eaf4ff;border:1px solid #b9d8f3;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#173d5d}.update-banner.hidden{display:none!important}.update-banner p{margin:4px 0 0;font-size:12px;color:#526b80}.update-banner .btn{white-space:nowrap;padding:10px 13px}@media(max-width:420px){.update-banner{align-items:flex-start;flex-direction:column}.update-banner .btn{width:100%}}
