@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
@media print{body{background:white!important}header,footer,#notice,.ticket .actions{display:none!important}main{padding:0!important;margin:0!important}.ticket{border:1px solid #aaa;break-inside:avoid}}
:root{font-family:'DM Sans',Arial,sans-serif;color:#eaf1f1;background:#0c151b;font-synthesis:none;--muted:#a0b5bb;--line:#2a3c46;--panel:#15232c;--mint:#a5f3cd;--orange:#ffbe83}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid transparent;border-radius:9px;background:var(--mint);color:#12372c;padding:12px 18px;font-weight:700;min-height:46px}button:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:wait}.quiet{background:transparent;border-color:var(--line);color:#eaf1f1}.danger{background:#ffc1bb;color:#601d1d}a{color:var(--mint)}header{max-width:1280px;margin:auto;display:flex;gap:28px;align-items:center;padding:25px 32px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:white;display:flex;align-items:center;gap:12px}.brand b{font:800 29px Outfit,sans-serif}.brand b span{color:var(--mint);font-size:17px;vertical-align:top}.brand small{max-width:105px;font-size:10px;letter-spacing:1.5px;line-height:1.6}.hub-label{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted);border-left:1px solid var(--line);padding-left:24px}#logout{margin-left:auto}main{max-width:1216px;margin:0 auto;padding:38px 0 65px;min-height:75vh}.eyebrow{color:var(--mint);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase}h1,h2,h3{font-family:Outfit,Arial,sans-serif;margin:0 0 12px;line-height:1.15}h1{font-size:clamp(30px,4vw,46px);font-weight:600;letter-spacing:-1.2px}h2{font-size:23px;font-weight:500}h3{font-size:18px}p{line-height:1.65;margin:0 0 16px}.muted,small{color:var(--muted)}.intro{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:30px}.intro p{color:var(--muted);max-width:650px;margin-bottom:0}.pill{display:inline-flex;border:1px solid #44604e;border-radius:30px;padding:7px 12px;font-size:11px;color:var(--mint);white-space:nowrap}.pill.warn{color:var(--orange);border-color:#6c503c}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:27px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px}.stat strong{font:500 32px Outfit;display:block;margin:8px 0 3px}.stat small{font-size:12px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:27px;overflow-x:auto}.tabs button{background:transparent;color:var(--muted);border-radius:0;padding:14px 20px;white-space:nowrap}.tabs button.active{color:var(--mint);border-bottom:2px solid var(--mint)}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.panel{padding:26px;border:1px solid var(--line);background:var(--panel);border-radius:12px;min-width:0}.panel+.panel{margin-top:20px}.grid>.panel{margin-top:0}.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:21px}.section-title h2{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}label{display:block;font-size:12px;font-weight:600;color:#d4e3e5;margin-bottom:6px}input,select,textarea{display:block;width:100%;border:1px solid #3b505d;border-radius:8px;background:#0e1b23;color:#eef6f7;padding:12px;min-height:46px}input[type=checkbox]{display:inline;width:auto;min-height:0;margin-right:8px}input[type=file]{font-size:12px}textarea{resize:vertical;min-height:87px}label small{display:block;font-weight:400;margin-top:4px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0 12px 14px}td{padding:17px 12px;border-top:1px solid var(--line);vertical-align:top}td:first-child,th:first-child{padding-left:0}td p{margin:3px 0 0;font-size:11px;color:var(--muted)}td button{font-size:11px;min-height:33px;padding:7px 11px}.empty{padding:28px 15px;border:1px dashed #3c525e;border-radius:9px;text-align:center;color:var(--muted);font-size:13px}.empty strong{display:block;color:#eaf1f1;margin-bottom:8px;font-weight:500}.timeline{padding:18px 0;border-top:1px solid var(--line)}.timeline h3{margin-bottom:6px}.timeline p{font-size:13px;color:var(--muted);margin:4px 0}.timeline .dates{color:var(--mint);font-size:12px}.bar{height:4px;background:#32454f;border-radius:4px;margin-top:12px;overflow:hidden}.bar span{height:100%;display:block;background:var(--mint)}.step{display:flex;gap:14px;padding:15px 0}.step b{background:#243f39;color:var(--mint);width:27px;height:27px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;font-size:12px}.step p{font-size:13px;color:var(--muted);margin:4px 0 0}.step h3{font-size:15px;margin:2px 0}.login{max-width:490px;margin:35px auto}.login h1{font-size:33px}.login p{color:var(--muted);font-size:14px}.login input{margin-bottom:14px}.login button{width:100%}.link-row{display:flex;gap:16px;justify-content:center;margin:22px 0}.link-row a{font-size:13px}.connections{display:grid;gap:0}.connection{padding:18px 0;border-bottom:1px solid var(--line);display:flex;gap:15px;justify-content:space-between}.connection:last-child{border-bottom:0}.connection p{font-size:12px;color:var(--muted);margin:6px 0 0;max-width:450px}.connection strong{font-size:14px}.connection .pill{align-self:start}.redeem{max-width:650px;margin:auto}.redeem input{font:500 22px monospace;text-transform:uppercase;letter-spacing:1px}.redeem .actions button{flex:1}.result{padding:24px;border-radius:10px;background:#203a31;border:1px solid #4c805f;margin-top:20px}.result.bad{background:#3b2928;border-color:#976056}.result h2{font-size:24px}.result p{font-size:14px}.result code{display:block;font-size:17px;overflow-wrap:anywhere;margin-bottom:12px}video{width:100%;max-height:320px;border-radius:10px;margin-top:16px}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);width:max-content;max-width:90vw;background:var(--mint);color:#143b2b;padding:14px 20px;border-radius:10px;box-shadow:0 6px 30px #0008;display:none;z-index:10}#notice.error{background:#ffc1bb;color:#601d1d}footer{max-width:1216px;margin:auto;padding:25px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.ticket{max-width:520px;margin:auto;background:#fff9ed;color:#1a302d;padding:35px;border-radius:14px}.ticket h1{font-size:34px}.ticket p{font-size:14px}.ticket .eyebrow{color:#356d55}.ticket small{color:#4c6761}.ticket canvas{display:block;max-width:100%;height:auto;margin:20px auto}.ticket code{display:block;text-align:center;font-size:19px;overflow-wrap:anywhere}.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.offer-card .price{font:600 30px Outfit;color:var(--mint);margin:17px 0}.offer-card form{margin-top:20px}.offer-card input{margin-bottom:12px}.loading{padding:40px;text-align:center;color:var(--muted)}[hidden]{display:none!important}@media(max-width:1280px){main,footer{margin-left:28px;margin-right:28px}}@media(max-width:760px){header{padding:18px 20px;gap:12px}.hub-label{font-size:9px;padding-left:12px;letter-spacing:1px}.brand small{display:none}#logout{font-size:11px;padding:8px;min-height:36px}main{padding-top:27px;margin-left:18px;margin-right:18px}.intro{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:15px}.stat strong{font-size:27px}.grid,.offers{grid-template-columns:1fr}.panel{padding:20px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.tabs button{padding:13px 14px}.section-title{align-items:flex-start}.section-title button{font-size:11px;padding:8px 10px}footer{margin:0 18px;flex-direction:column;gap:8px}.ticket{padding:23px}.connection{gap:10px}.connection .pill{font-size:9px}}

dialog{max-width:490px;width:calc(100% - 36px);border:1px solid var(--line);border-radius:14px;background:var(--panel);color:#eaf1f1;padding:26px}dialog::backdrop{background:#000b}.offline-notice{margin:0;padding:14px 20px;background:#ffbe83;color:#342515;text-align:center;font-size:14px}#install-app{font-size:12px;white-space:nowrap;min-height:38px;padding:8px 12px}
