@charset "UTF-8";:root{--navy: #0C1D54;--blue: #4267FF;--orange: #FF711A;--cloud: #F7F7F8;--white: #FFFFFF;--midnight: #060F2B;--gray: #475467;--meta: #98A2B3;--line: #D0D5DD;--pale-orange: #FFF1E6;--font-head: "Barlow Condensed", "Arial Narrow", sans-serif;--font-body: "Roboto", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:var(--midnight);background:var(--white);line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;line-height:1.1}h1{font-family:var(--font-head);font-weight:700;font-size:2.4rem;text-transform:uppercase;letter-spacing:.01em}h2{font-family:var(--font-head);font-weight:700;font-size:1.6rem;text-transform:uppercase}h3{font-size:1rem;font-weight:700}code,.mono{font-family:var(--font-mono);font-size:.9em}.container{max-width:1280px;margin:0 auto;padding:0 20px 48px}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}.muted{color:var(--gray)}.meta{color:var(--meta);font-size:.85rem}.card{background:var(--cloud);padding:16px 18px}.card.dark{background:var(--navy);color:var(--white)}.card.dark .meta{color:#ffffffa6}.card.warn{background:var(--pale-orange)}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}table.tbl{width:100%;border-collapse:collapse;font-size:.93rem}table.tbl th{background:var(--navy);color:var(--white);text-align:left;font-weight:700;padding:8px 10px;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}table.tbl td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}table.tbl tr:nth-child(2n) td{background:var(--cloud)}table.tbl td.num,table.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}table.tbl tr.top td{font-weight:700}.btn{font-family:var(--font-body);font-weight:700;font-size:.9rem;border:0;cursor:pointer;padding:10px 16px;background:var(--navy);color:var(--white);text-transform:none;line-height:1}.btn:hover{filter:brightness(1.15)}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.btn.orange{background:var(--orange)}.btn.blue{background:var(--blue)}.btn.ghost{background:transparent;color:var(--navy);border:2px solid var(--navy);padding:8px 14px}.btn.sm{padding:6px 10px;font-size:.8rem}input,select,textarea{font-family:var(--font-body);font-size:.95rem;padding:9px 11px;border:1px solid var(--line);background:var(--white);color:var(--midnight)}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}label{display:block;font-size:.8rem;font-weight:700;color:var(--gray);margin-bottom:4px}.field{display:flex;flex-direction:column;gap:2px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.badge{display:inline-block;padding:3px 8px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--cloud);color:var(--gray)}.badge.navy{background:var(--navy);color:var(--white)}.badge.orange{background:var(--orange);color:var(--white)}.badge.blue{background:var(--blue);color:var(--white)}.badge.green{background:#ddf5e7;color:#14532d}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-1px;margin-right:6px}.dot.p1{background:var(--orange)}.dot.p2{background:var(--blue)}.alert{padding:10px 14px;font-size:.9rem}.alert.error{background:#fde8ec;color:#7a1020}.alert.ok{background:#ddf5e7;color:#14532d}.alert.info{background:var(--cloud);color:var(--midnight)}.section{margin-top:32px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:10px}.between{display:flex;justify-content:space-between;align-items:center;gap:12px}.empty{padding:28px;text-align:center;color:var(--meta);background:var(--cloud)}.pulse{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media(max-width:640px){h1{font-size:1.9rem}.container{padding:0 14px 32px}}
