@charset "UTF-8";:root{--bat-dark-blue: #0e2b63;--bat-mid-blue: #004f9f;--bat-cyan: #00b1eb;--bat-orange: #ef7d00;--bat-yellow: #ffbb00;--bat-green: #50af47;--bat-light-green: #afca0b;--bat-purple: #5a328a;--bat-magenta: #e72582;--ink: #111827;--ink-muted: #6b7280;--ink-faint: #9ca3af;--line: #e5e7eb;--surface: #ffffff;--canvas: #f7f8fa;--radius-lg: 24px;--radius: 16px;--radius-sm: 12px;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .06)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--canvas);color:var(--ink);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-family:Montserrat,Segoe UI,system-ui,sans-serif;letter-spacing:-.02em}.bat-logo{font-family:Montserrat,sans-serif;font-weight:900;font-style:italic;letter-spacing:.15em}.card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:24px}.card--flat{box-shadow:none}.card__title{font-size:18px;font-weight:800;color:var(--ink);margin-bottom:4px}.card__subtitle{color:var(--ink-muted);margin-bottom:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid transparent;border-radius:var(--radius-sm);padding:12px 20px;font:inherit;font-weight:700;cursor:pointer;transition:background .15s,transform .1s,border-color .15s,color .15s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--bat-dark-blue);color:#fff}.btn--primary:hover:not(:disabled){background:#0a1e4a}.btn--accent{background:var(--bat-cyan);color:#fff}.btn--accent:hover:not(:disabled){background:#09c}.btn--ghost{background:#fff;border-color:var(--bat-dark-blue);color:var(--bat-dark-blue)}.btn--ghost:hover:not(:disabled){background:#f3f4f6}.btn--subtle{background:transparent;color:var(--ink-muted);padding:8px 12px;font-weight:600}.btn--subtle:hover:not(:disabled){background:#f3f4f6;color:var(--ink)}.btn--danger{background:var(--bat-magenta);color:#fff}.btn--block{width:100%}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.input,.select{width:100%;border:2px solid var(--line);border-radius:var(--radius-sm);padding:11px 14px;font:inherit;color:var(--ink);background:#fff;transition:border-color .15s}.input:focus,.select:focus{outline:none;border-color:var(--bat-dark-blue)}.input--mono{font-family:Roboto Mono,ui-monospace,monospace;font-weight:700}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.badge--green{background:#e8f5e7;color:#33812c}.badge--orange{background:#fdf0e0;color:#b35f00}.badge--blue{background:#e6f6fd;color:#0079a1}.badge--gray{background:#f3f4f6;color:var(--ink-muted)}.badge--magenta{background:#fde8f2;color:#b81a67}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:12px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.table tbody tr:hover{background:#fafbfc}.table tr.is-clickable{cursor:pointer}.table tr.is-inactive td{color:var(--ink-faint)}.muted{color:var(--ink-muted)}.mono{font-family:Roboto Mono,ui-monospace,monospace}.alert{display:flex;gap:10px;padding:14px 16px;border-radius:var(--radius-sm);font-weight:600;margin-bottom:16px}.alert--error{background:#fef2f2;border:1px solid #fee2e2;color:#c02626}.alert--info{background:#eff8ff;border:1px solid #d8ecfb;color:var(--bat-mid-blue)}.empty{padding:48px 24px;text-align:center;color:var(--ink-faint)}.skeleton{background:linear-gradient(90deg,#f3f4f6 25%,#eceef1 37%,#f3f4f6 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.grid{display:grid;gap:24px}.row{display:flex;align-items:center;gap:12px}.spread{display:flex;align-items:center;justify-content:space-between;gap:16px}:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur: .22s;--dur-slow: .32s}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}}@keyframes fade-in{0%{opacity:0}}@keyframes drawer-in{0%{transform:translate(100%)}}@keyframes drawer-out{to{transform:translate(100%)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.35}}.page-enter{animation:page-in var(--dur-slow) var(--ease-out) both}.rise{animation:fade-up var(--dur) var(--ease-out) both}.card{transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.card:hover{border-color:#dfe3e8;box-shadow:0 2px 4px #1018280d,0 18px 44px #1018281f}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:scale(.97)}.spinner{width:16px;height:16px;flex:none;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.is-pulsing{animation:pulse 1.2s var(--ease-in-out) infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.card:hover,.btn:hover:not(:disabled){transform:none}}
