:root{--bg: #f5f6f8;--bg-elev: #ffffff;--surface: #ffffff;--surface-2: #f9fafb;--border: #e2e5ea;--border-strong: #cbd0d8;--text: #111827;--text-soft: #374151;--muted: #6b7280;--primary: #2563eb;--primary-h: #1d4ed8;--primary-soft: #dbeafe;--danger: #dc2626;--warning: #d97706;--success: #16a34a;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 3px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.04);--shadow-lg: 0 8px 28px rgba(0,0,0,.1), 0 2px 6px rgba(0,0,0,.06);color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme]){--bg: #0b0d12;--bg-elev: #14171f;--surface: #14171f;--surface-2: #1c2029;--border: #262b36;--border-strong: #353c4a;--text: #f3f4f6;--text-soft: #d1d5db;--muted: #9ca3af;--primary: #3b82f6;--primary-h: #60a5fa;--primary-soft: rgba(59,130,246,.16);--danger: #ef4444;--warning: #f59e0b;--success: #22c55e;--shadow: 0 1px 3px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.35);--shadow-lg: 0 12px 32px rgba(0,0,0,.6), 0 4px 12px rgba(0,0,0,.4);color-scheme:dark}}:root[data-theme=dark]{--bg: #0b0d12;--bg-elev: #14171f;--surface: #14171f;--surface-2: #1c2029;--border: #262b36;--border-strong: #353c4a;--text: #f3f4f6;--text-soft: #d1d5db;--muted: #9ca3af;--primary: #3b82f6;--primary-h: #60a5fa;--primary-soft: rgba(59,130,246,.16);--danger: #ef4444;--warning: #f59e0b;--success: #22c55e;--shadow: 0 1px 3px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.35);--shadow-lg: 0 12px 32px rgba(0,0,0,.6), 0 4px 12px rgba(0,0,0,.4);color-scheme:dark}:root[data-theme=light]{--bg: #f5f6f8;--bg-elev: #ffffff;--surface: #ffffff;--surface-2: #f9fafb;--border: #e2e5ea;--border-strong: #cbd0d8;--text: #111827;--text-soft: #374151;--muted: #6b7280;--primary: #2563eb;--primary-h: #1d4ed8;--primary-soft: #dbeafe;--danger: #dc2626;--warning: #d97706;--success: #16a34a;--shadow: 0 1px 3px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.04);--shadow-lg: 0 8px 28px rgba(0,0,0,.1), 0 2px 6px rgba(0,0,0,.06);color-scheme:light}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1{font-size:22px;font-weight:700;margin:0 0 20px}h2{font-size:17px;font-weight:600;margin:0 0 14px}h3{font-size:15px;font-weight:600;margin:0 0 10px}.page{padding:24px 20px;max-width:920px;margin:0 auto}.page-sm{padding:24px 20px;max-width:620px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card+.card{margin-top:16px}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:6px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:background .12s,opacity .12s;white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-h)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--bg)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 85%,#000)}.btn-sm{padding:4px 10px;font-size:12px}.btn-icon{padding:6px;border-radius:6px}.input,.select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;width:100%;background:var(--surface);color:var(--text);transition:border-color .12s,box-shadow .12s;font-family:inherit}.input:focus,.select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input::placeholder{color:var(--muted)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;letter-spacing:.02em}.badge-blue{background:#dbeafe;color:#1d4ed8}.badge-green{background:#dcfce7;color:#15803d}.badge-yellow{background:#fef3c7;color:#b45309}.badge-red{background:#fee2e2;color:#b91c1c}.badge-gray{background:#f3f4f6;color:#6b7280}.badge-purple{background:#ede9fe;color:#7c3aed}:root[data-theme=dark] .badge-blue{background:#3b82f62e;color:#93c5fd}:root[data-theme=dark] .badge-green{background:#22c55e2e;color:#86efac}:root[data-theme=dark] .badge-yellow{background:#f59e0b2e;color:#fcd34d}:root[data-theme=dark] .badge-red{background:#ef44442e;color:#fca5a5}:root[data-theme=dark] .badge-gray{background:#9ca3af2e;color:#d1d5db}:root[data-theme=dark] .badge-purple{background:#a78bfa2e;color:#c4b5fd}@media (prefers-color-scheme: dark){:root:not([data-theme]) .badge-blue{background:#3b82f62e;color:#93c5fd}:root:not([data-theme]) .badge-green{background:#22c55e2e;color:#86efac}:root:not([data-theme]) .badge-yellow{background:#f59e0b2e;color:#fcd34d}:root:not([data-theme]) .badge-red{background:#ef44442e;color:#fca5a5}:root:not([data-theme]) .badge-gray{background:#9ca3af2e;color:#d1d5db}:root:not([data-theme]) .badge-purple{background:#a78bfa2e;color:#c4b5fd}}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{padding:8px 10px;text-align:left;border-bottom:2px solid var(--border);color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.table td{padding:10px;border-bottom:1px solid var(--border)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--surface-2)}.field{display:grid;gap:4px;margin-bottom:12px}.field label{font-size:13px;font-weight:500;color:var(--muted)}.field-row{display:flex;gap:8px;align-items:flex-end}.tabs{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:20px}.tab{padding:8px 14px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .12s,border-color .12s}.tab.active{color:var(--primary);border-color:var(--primary)}.tab:hover:not(.active){color:var(--text)}.copy-row{display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 12px}.copy-val{flex:1;font-family:monospace;font-size:13px;word-break:break-all}.copy-btn{flex-shrink:0;padding:4px 8px;background:var(--surface);border:1px solid var(--border);border-radius:5px;cursor:pointer;font-size:12px;color:var(--muted);transition:color .12s}.copy-btn:hover{color:var(--primary)}.copy-btn.copied{color:var(--success)}.net-pills{display:flex;gap:8px;flex-wrap:wrap}.net-pill{padding:6px 16px;border-radius:99px;border:2px solid var(--border);background:var(--surface);cursor:pointer;font-size:13px;font-weight:600;transition:border-color .12s,background .12s,color .12s}.net-pill.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.alert{padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:12px}.alert-error{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.alert-warn{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.alert-info{background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}:root[data-theme=dark] .alert-error{background:#ef444424;color:#fca5a5;border-color:#ef444459}:root[data-theme=dark] .alert-warn{background:#f59e0b24;color:#fcd34d;border-color:#f59e0b59}:root[data-theme=dark] .alert-info{background:#3b82f624;color:#93c5fd;border-color:#3b82f659}@media (prefers-color-scheme: dark){:root:not([data-theme]) .alert-error{background:#ef444424;color:#fca5a5;border-color:#ef444459}:root:not([data-theme]) .alert-warn{background:#f59e0b24;color:#fcd34d;border-color:#f59e0b59}:root:not([data-theme]) .alert-info{background:#3b82f624;color:#93c5fd;border-color:#3b82f659}}.stats{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px}.stat{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:12px;color:var(--muted);font-weight:500}.stat-val{font-size:20px;font-weight:700}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.sep{border:none;border-top:1px solid var(--border);margin:16px 0}.lot-card{transition:transform .15s,border-color .15s,box-shadow .15s}.lot-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-pop-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.97)}}.modal-backdrop{animation:modal-backdrop-in .18s ease-out both}.modal-backdrop.out{animation:modal-backdrop-out .16s ease-in both}.modal-panel{animation:modal-pop-in .22s cubic-bezier(.16,1,.3,1) both}.modal-panel.out{animation:modal-pop-out .16s ease-in both}.empty{padding:32px;text-align:center;color:var(--muted);font-size:13px}.countdown{font-family:monospace;font-size:15px;font-weight:600;color:var(--warning)}.countdown.urgent{color:var(--danger)}.pvz-pin{width:16px;height:16px;border-radius:50%;background:var(--primary);border:2.5px solid #fff;box-shadow:0 2px 6px #0006;transform:translate(-50%,-50%);cursor:pointer;transition:background .15s,transform .15s}.pvz-pin:hover{transform:translate(-50%,-50%) scale(1.3)}.pvz-pin.selected{background:var(--danger);transform:translate(-50%,-50%) scale(1.4)}.pvz-cluster{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2.5px solid #fff;box-shadow:0 2px 8px #2563eb66;transform:translate(-50%,-50%);cursor:pointer;transition:transform .15s}.pvz-cluster:hover{transform:translate(-50%,-50%) scale(1.15)}
