/* FLOWHUB "Night Ops" theme, ported from hub.flowmtd.com (src/app/globals.css): black, heavy white type, one orange F. */
:root{--void:#030405;--abyss:#07090c;--panel:#0a0d12;--panel2:#0e1219;--line:#1a2029;--line2:#28313e;--ink:#e6ebf2;--ink2:#929fb2;--ink3:#58626f;--ice:#9ccbff;--iced:#3b5f86;--signal:#ff6a00;--win:#3ee0a1;--loss:#ff4f6d;--warn:#ffb84d;
--display:"Archivo","Arial Black","Helvetica Neue",system-ui,sans-serif;--hud:"Orbitron","Eurostile","Bank Gothic",system-ui,sans-serif;--sans:"Rajdhani","Barlow Semi Condensed",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace}
*{box-sizing:border-box}
html{color-scheme:dark;background:var(--void)}
body{margin:0;background:var(--void);color:var(--ink);font-family:var(--sans);font-size:15px;font-weight:500;line-height:1.45;-webkit-font-smoothing:antialiased;min-height:100dvh}
a{color:var(--ice);text-decoration:none}a:hover{color:#fff}
::selection{background:rgba(142,197,255,.3)}
:focus-visible{outline:1px solid var(--ice);outline-offset:2px}
h1,h2,h3{text-wrap:balance}
/* background layers */
.grid-bg{position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(to bottom,rgba(142,197,255,.045) 1px,transparent 1px),linear-gradient(to right,rgba(142,197,255,.045) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0,#000 30%,transparent 85%);mask-image:radial-gradient(ellipse 90% 70% at 50% 0,#000 30%,transparent 85%)}
.vignette{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(900px 400px at 15% -10%,rgba(59,95,134,.18),transparent 70%),radial-gradient(700px 500px at 110% 10%,rgba(156,203,255,.05),transparent 70%)}
/* brand */
.brand{font-family:var(--display);font-weight:900;font-stretch:112%;letter-spacing:-.01em;line-height:.9;text-transform:uppercase;color:#fff}
.brand-f{color:var(--signal)}
.brand-sub{font-family:var(--display);font-weight:800;font-style:italic;letter-spacing:.02em;text-transform:uppercase;color:var(--ink3);font-size:8.5px;text-align:right;margin-top:2px}
.logo{display:inline-block;line-height:1}.logo .brand{font-size:21px}
.logo.big .brand{font-size:clamp(40px,11vw,68px)}.logo.big .brand-sub{font-size:clamp(10px,2.4vw,14px);color:var(--ink2);margin-top:6px}
/* header */
.top{display:flex;align-items:center;gap:8px 24px;flex-wrap:wrap;padding:12px 24px;border-bottom:1px solid var(--line);background:rgba(3,4,5,.82);backdrop-filter:blur(8px);position:sticky;top:0;z-index:30}
.nav{display:flex;gap:4px;flex-wrap:wrap;flex:1}
.nav a{position:relative;padding:8px 12px;font-family:var(--hud);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3)}
.nav a:hover,.nav a.on{color:var(--ink)}
.nav a.on::after{content:"";position:absolute;left:12px;right:12px;bottom:-13px;height:2px;background:var(--ice)}
.who{font-size:.85rem;color:var(--ink2);text-align:right;line-height:1.2}.who b{display:block;color:var(--ink);font-weight:600}
.wrap{max-width:1500px;margin:0 auto;padding:20px 24px}
/* HUD panel */
.card{position:relative;background:linear-gradient(180deg,rgba(14,18,25,.92),rgba(10,13,18,.92));border:1px solid var(--line);padding:16px;margin:12px 0;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}
.card::before,.card::after{content:"";position:absolute;width:10px;height:10px;pointer-events:none;border:0 solid var(--iced)}
.card::before{top:5px;left:5px;border-width:1px 0 0 1px}.card::after{bottom:5px;right:5px;border-width:0 1px 1px 0}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid .card{margin:0}
h1{font-family:var(--display);font-weight:900;font-stretch:112%;text-transform:uppercase;font-size:1.5rem;letter-spacing:-.005em;margin:12px 0 4px;color:#fff}
h2{font-family:var(--hud);font-weight:700;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;color:var(--ink)}
h3{font-family:var(--hud);font-weight:500;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;margin:16px 0 6px;color:var(--ink3)}
.mute{color:var(--ink2)}.small{font-size:.85rem}
.num,td.n,.big{font-family:var(--mono);font-variant-numeric:tabular-nums}
/* chips */
.pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;font-family:var(--hud);font-size:9px;letter-spacing:.14em;text-transform:uppercase;border:1px solid currentColor;color:var(--ink3);background:rgba(255,255,255,.03);vertical-align:middle}
.pill.live{color:var(--loss)}.pill.paper{color:var(--ice)}.pill.off{color:var(--ink3)}.pill.ok{color:var(--win)}.pill.bad{color:var(--loss)}.pill.warn{color:var(--warn)}
.pill.live::before,.pill.ok::before{content:"";width:6px;height:6px;border-radius:99px;background:var(--signal);animation:pd 2s ease-in-out infinite}
@keyframes pd{0%,100%{box-shadow:0 0 0 0 rgba(255,106,0,.55)}50%{box-shadow:0 0 0 5px rgba(255,106,0,0)}}
.banner{padding:12px 16px;margin:12px 0;font-family:var(--hud);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line2);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.banner.kill{border-color:var(--loss);color:var(--loss);background:rgba(255,79,109,.08)}.banner.ok{border-color:var(--iced);color:var(--ink);background:rgba(156,203,255,.05)}
/* tables */
table{width:100%;border-collapse:collapse;font-size:.92rem}
th{font-family:var(--hud);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);text-align:left;font-weight:500;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:10px;border-bottom:1px solid rgba(26,36,52,.7);vertical-align:top}
tbody tr:hover,tr:hover td{background:rgba(142,197,255,.035)}
.scroll{overflow-x:auto}
.kv{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px dashed var(--line)}.kv:last-child{border:0}.kv span{color:var(--ink2)}.kv b{font-family:var(--mono);font-weight:500}
/* forms */
label{display:block;margin:10px 0 4px;font-family:var(--hud);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
input,select,textarea{width:100%;height:40px;padding:0 10px;background:var(--abyss);color:var(--ink);border:1px solid var(--line2);border-radius:0;font:inherit;outline:none;transition:border-color .15s,box-shadow .15s}
textarea{height:auto;padding:8px 10px}
input:focus,select:focus,textarea:focus{border-color:var(--ice);box-shadow:0 0 0 3px rgba(142,197,255,.12)}
input[type=checkbox]{width:auto;height:auto;margin-right:8px;accent-color:var(--signal)}
.row{display:flex;gap:12px;flex-wrap:wrap}.row>div{flex:1;min-width:min(100%,200px)}
.chk{display:inline-flex;align-items:center;margin:4px 14px 4px 0;color:var(--ink);font-family:var(--sans);font-size:.95rem;letter-spacing:0;text-transform:none}
fieldset{border:0;padding:0;margin:0;min-width:0}
/* buttons */
button,.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border:1px solid var(--iced);background:linear-gradient(180deg,#131c28,#0d131c);color:#f2f6fb;font-family:var(--hud);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:border-color .15s,background .15s,transform .1s}
button::after,.btn::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:28%;background:var(--signal)}
button:hover,.btn:hover{border-color:var(--ice);color:#fff}button:active{transform:translateY(1px)}
button.alt,.btn.alt{background:var(--panel2);border-color:var(--line2)}button.alt::after,.btn.alt::after{display:none}
button.danger{border-color:var(--loss);background:linear-gradient(180deg,#2a0f16,#1b0a0f);color:#ffd5db}button.danger::after{background:var(--loss);width:100%}
.center{max-width:440px;margin:6vh auto;padding:0 16px}.center .card{padding:24px}
.err{color:var(--loss);margin:8px 0}
.qr svg{max-width:220px;height:auto;background:#0b1020;padding:8px;border:1px solid var(--line2)}
.big{font-size:1.6rem;font-weight:500}.pos{color:var(--win)}.neg{color:var(--loss)}
code{font-family:var(--mono);background:var(--panel2);padding:2px 6px;border:1px solid var(--line);word-break:break-all;font-size:.85rem}
@media(max-width:700px){.wrap{padding:12px 12px}.top{padding:10px 12px;gap:8px}.nav{order:3;flex:1 0 100%;flex-wrap:nowrap;overflow-x:auto;gap:0}.nav a{white-space:nowrap;padding:8px 10px}.nav a.on::after{bottom:-1px}table{min-width:560px}.top form{margin-left:auto}.who{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}

.btnrow{display:flex;gap:8px;align-items:flex-end;flex:0 0 auto;min-width:0!important}.gap{margin-top:18px}.steps{margin:6px 0 10px 18px;padding:0;color:var(--ink2)}.steps li{margin:6px 0}.steps b{color:var(--ink)}
