
:root{--bg:#07111e;--deep:#050c15;--panel:#0d1a2b;--panel2:#122238;--text:#f5f7fb;--muted:#9aaec2;--line:rgba(158,183,211,.16);--lime:#caff28;--danger:#ff8181;--shadow:0 22px 60px rgba(0,0,0,.3)}
*{box-sizing:border-box}html{background:var(--deep)}body{margin:0;min-width:0;background:radial-gradient(circle at 90% 5%,rgba(202,255,40,.10),transparent 25%),linear-gradient(180deg,#07111e,#06101b);color:var(--text);font:15px/1.5 Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}header{min-height:76px;padding:0 clamp(18px,4vw,46px);background:rgba(4,11,19,.88);backdrop-filter:blur(18px);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(158,183,211,.09);position:sticky;top:0;z-index:20}.logo{font-size:26px;font-weight:1000;letter-spacing:-.06em}.logo b{color:var(--lime)}main{width:min(1080px,calc(100% - 32px));margin:auto;padding:42px 0 68px}.box{background:linear-gradient(145deg,rgba(18,34,56,.98),rgba(10,23,39,.98));border:1px solid var(--line);border-radius:22px;padding:24px;margin:14px 0;box-shadow:var(--shadow)}h1{font-size:clamp(36px,6vw,54px);line-height:.98;letter-spacing:-.055em;margin:0 0 12px}h2{font-size:clamp(22px,3vw,29px);letter-spacing:-.035em;margin:0 0 10px}.muted{color:var(--muted)}.field{display:grid;gap:7px;margin:13px 0}.field label{font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:900;color:#9fb1c4}input,select,textarea{width:100%;padding:14px 15px;color:#f4f7fb;background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:14px;outline:none}input:focus,select:focus,textarea:focus{border-color:rgba(202,255,40,.5);box-shadow:0 0 0 4px rgba(202,255,40,.07)}textarea{min-height:90px}.btn{min-height:48px;border:1px solid rgba(202,255,40,.7);border-radius:15px;padding:12px 18px;background:linear-gradient(180deg,#dfff74,var(--lime) 55%,#b8ee12);color:#09111a;font-weight:950;box-shadow:0 12px 28px rgba(202,255,40,.13)}.alt{background:rgba(255,255,255,.045);border-color:var(--line);color:#eef4fb;box-shadow:none}.row{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid rgba(158,183,211,.10);padding:18px 0}.row:first-child{border-top:0}.row b{font-size:17px}.actions{display:flex;gap:8px;flex-wrap:wrap}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:rgba(255,255,255,.04);padding:6px;border-radius:17px;margin:22px 0;border:1px solid rgba(158,183,211,.08)}.tabs button{border:0;padding:14px;border-radius:12px;font-weight:900;background:transparent;color:#94a8bb}.tabs .on{background:#f3f6fa;color:#0a1420;box-shadow:0 8px 20px rgba(0,0,0,.16)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats div{background:linear-gradient(145deg,rgba(18,34,56,.98),rgba(10,23,39,.98));border-radius:18px;padding:20px;border:1px solid var(--line);color:var(--muted)}.stats b{font-size:35px;line-height:1;display:block;color:#fff;margin-bottom:8px}.login{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:24px}.login .box{width:min(470px,100%);padding:30px}.err{color:var(--danger)}.kiosk{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 0,rgba(63,140,255,.12),transparent 28%),linear-gradient(180deg,#07111e,#091523)}.kiosk main{width:min(720px,100%);padding:0}.kiosk .box{padding:30px}.choice{width:100%;padding:16px 18px;text-align:left;color:#f4f7fb;background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:16px;margin:7px 0;font-weight:850}.choice:active{border-color:rgba(202,255,40,.35);background:rgba(202,255,40,.05)}.qr{width:175px;max-width:70%;display:block;margin:14px auto;background:#fff;border-radius:18px;padding:8px}.match-review-head{margin-bottom:18px}.match-review-head h2{margin-bottom:4px}.match-review-head p{margin:0;color:var(--muted)}.match-review-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(190px,.8fr);gap:14px;margin:18px 0 14px}.match-court{padding:25px 26px;border-radius:20px;background:linear-gradient(135deg,rgba(202,255,40,.10),rgba(202,255,40,.025));border:1px solid rgba(202,255,40,.30);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.match-kicker{font-size:11px;line-height:1.15;letter-spacing:.14em;text-transform:uppercase;font-weight:950;color:#b9c9d8;margin-bottom:12px}.match-court-value{font-size:clamp(46px,8vw,74px);line-height:.9;letter-spacing:-.065em;font-weight:1000;color:var(--lime);overflow-wrap:anywhere}.match-court-sub{margin-top:12px;color:#f3f7fb;font-size:clamp(19px,3vw,22px);line-height:1.15;font-weight:900;letter-spacing:-.015em;overflow-wrap:anywhere}.match-time{padding:23px 24px;border-radius:20px;background:rgba(255,255,255,.035);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.match-time-value{font-size:clamp(40px,7vw,60px);line-height:.92;letter-spacing:-.06em;font-weight:1000;color:#fff;margin-top:5px}.match-warning{position:relative;margin:14px 0 22px;padding:17px 18px 17px 56px;border-radius:17px;background:linear-gradient(135deg,rgba(202,255,40,.10),rgba(202,255,40,.035));border:1px solid rgba(202,255,40,.28);color:#eaf3df}.match-warning:before{content:'!';position:absolute;left:17px;top:16px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:#07111e;font-weight:1000}.match-warning strong{display:block;color:#fff;font-size:14px;letter-spacing:.02em;margin-bottom:3px}.match-warning span{display:block;color:#b9c9b0;font-size:13px;line-height:1.45}.center-tabs{max-width:520px}.court-admin-list{display:grid;gap:12px;margin-top:18px}.court-admin-card{background:linear-gradient(145deg,rgba(18,34,56,.98),rgba(10,23,39,.98));border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.court-admin-main{min-width:0}.court-admin-main .field{margin:0}.court-admin-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:9px}.court-index{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:950;color:#9fb1c4}.court-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;border:1px solid var(--line);color:#9fb1c4;background:rgba(255,255,255,.035)}.court-chip.active{color:var(--lime);border-color:rgba(202,255,40,.22);background:rgba(202,255,40,.06)}.court-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.court-admin-actions{display:flex;gap:8px;align-items:center}.court-admin-actions .btn{min-height:44px}.court-add{margin-top:18px}.court-help{margin:0;color:var(--muted);font-size:14px}.division-nav{display:flex;align-items:center;justify-content:flex-start;gap:7px;flex-wrap:wrap;margin:14px 0 12px;padding:0 2px}.division-btn{min-height:38px;padding:7px 11px;border-radius:11px;border:1px solid var(--line);background:rgba(255,255,255,.025);color:#aebfd0;font-size:11px;letter-spacing:.055em;font-weight:950;display:inline-flex;align-items:center;gap:7px;transition:.16s ease}.division-btn small{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:rgba(255,255,255,.055);color:#8196aa;font-size:10px;font-weight:950;letter-spacing:0}.division-btn:hover{border-color:rgba(202,255,40,.25);color:#eef5fb}.division-btn.on{background:rgba(202,255,40,.11);border-color:rgba(202,255,40,.42);color:var(--lime);box-shadow:0 7px 18px rgba(202,255,40,.07)}.division-btn.on small{background:rgba(202,255,40,.12);color:var(--lime)}.division-btn.empty{opacity:.42}.participant-box{margin-top:0}.pair-group+.pair-group{margin-top:24px;padding-top:22px;border-top:1px solid rgba(158,183,211,.12)}.pair-group-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:0 0 7px}.pair-group-label{display:block;color:#7890a6;font-size:9px;letter-spacing:.15em;font-weight:950;margin-bottom:2px}.pair-group-head h3{margin:0;font-size:17px;letter-spacing:-.02em;color:#f4f7fb}.pair-group-count{flex:0 0 auto;color:#7f95aa;font-size:11px;font-weight:850}.pair-group-rows .row:first-child{border-top:0}.division-nav::-webkit-scrollbar{display:none}.row-filter-nav{display:flex;align-items:center;justify-content:flex-start;gap:6px;flex-wrap:wrap;margin:-4px 0 13px;padding:0 2px}.row-filter-btn{min-height:34px;padding:6px 10px;border-radius:10px;border:1px solid rgba(158,183,211,.13);background:rgba(255,255,255,.018);color:#8fa4b8;font-size:11px;font-weight:850;display:inline-flex;align-items:center;gap:7px}.row-filter-btn small{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:rgba(255,255,255,.05);color:#71889e;font-size:9px;font-weight:950}.row-filter-btn:hover{border-color:rgba(202,255,40,.20);color:#dce6ef}.row-filter-btn.on{background:#eef3f7;border-color:#eef3f7;color:#09131f;box-shadow:0 6px 14px rgba(0,0,0,.12)}.row-filter-btn.on small{background:rgba(7,17,30,.09);color:#22303d}.row-filter-nav::-webkit-scrollbar{display:none}.checkin-success{text-align:center;padding:8px 0 2px}.success-mark,.already-mark{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-size:38px;font-weight:950;color:#09111a;background:linear-gradient(180deg,#dfff74 0%,var(--lime) 55%,#b8ee12 100%);box-shadow:0 14px 34px rgba(202,255,40,.18)}.already-mark{background:rgba(202,255,40,.10);border:1px solid rgba(202,255,40,.30);color:var(--lime);box-shadow:none}.checkin-success h2{font-size:clamp(27px,5vw,38px);margin-bottom:20px}.success-info{max-width:560px;margin:10px auto;padding:14px 16px;border-radius:15px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:#eaf1f8;text-align:left}.return-copy{margin-top:24px;color:var(--muted);font-size:14px}.return-copy #returnCount{display:inline-grid;place-items:center;min-width:34px;height:34px;margin:0 3px;border-radius:999px;background:rgba(202,255,40,.09);border:1px solid rgba(202,255,40,.18);color:var(--lime);font-weight:950}.return-track{width:min(380px,100%);height:7px;margin:14px auto 0;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.return-track span{display:block;width:100%;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--lime),#85ffba);box-shadow:0 0 16px rgba(202,255,40,.25);transition:width .1s linear}@media(max-width:650px){.division-nav{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;margin-left:-2px;margin-right:-2px;padding-bottom:3px}.division-btn{flex:0 0 auto;min-height:36px;padding:7px 10px}.pair-group-head{align-items:center}.participant-box{padding-top:16px}header{padding:14px 16px;align-items:flex-start;flex-direction:column;gap:3px}.logo{font-size:24px}main{width:min(100% - 26px,1080px);padding:28px 0 54px}.box{padding:19px;border-radius:19px}.row{align-items:stretch;flex-direction:column}.actions{display:grid}.actions .btn{width:100%}.stats{grid-template-columns:1fr;gap:9px}.kiosk{padding:15px}.kiosk .box{padding:22px}.match-review-grid{grid-template-columns:1fr}.match-court,.match-time{padding:20px}.match-court-value{font-size:clamp(44px,14vw,62px)}.match-court-sub{font-size:clamp(19px,5.5vw,22px)}.match-time-value{font-size:clamp(40px,13vw,54px)}.court-admin-card{grid-template-columns:1fr}.division-nav{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.division-btn{flex:0 0 auto}.court-admin-actions{display:grid}.court-admin-actions .btn{width:100%}.row-filter-nav{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:3px}.row-filter-btn{flex:0 0 auto}}

.center-super-actions{display:flex;justify-content:flex-start;margin:-2px 0 12px}.center-super-actions .btn{min-height:42px;padding:9px 14px}.center-edit-card{max-width:720px}.center-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.center-edit-help{font-size:12px;margin-top:5px}.tournament-sponsor-admin{padding:20px 22px}.tournament-sponsor-head{display:flex;align-items:center;justify-content:space-between;gap:22px}.tournament-sponsor-head h2{margin-bottom:3px}.tournament-sponsor-head p{margin:0}.sponsor-admin-preview{width:150px;height:78px;flex:0 0 150px;border-radius:14px;background:#fff;padding:10px;display:grid;place-items:center;overflow:hidden}.sponsor-admin-preview img{display:block;max-width:100%;max-height:100%;object-fit:contain}.sponsor-admin-actions{margin-top:16px}.sponsor-admin-help{font-size:12px;margin-top:8px}.kiosk-sponsor-block{text-align:center;margin:0 auto 24px}.kiosk-sponsor-block .match-kicker{margin-bottom:8px}.kiosk-sponsor-logo{width:min(360px,92%);height:132px;margin:0 auto;padding:6px 8px;border-radius:18px;background:#fff;display:grid;place-items:center;box-shadow:0 14px 32px rgba(0,0,0,.18);overflow:hidden}.kiosk-sponsor-logo img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center}.sponsor-admin-preview img{width:100%;height:100%;object-fit:contain;object-position:center}@media(max-width:650px){.center-edit-grid{grid-template-columns:1fr}.tournament-sponsor-head{align-items:flex-start;flex-direction:column}.sponsor-admin-preview{width:100%;height:92px;flex-basis:auto}.kiosk-sponsor-logo{width:min(330px,96%);height:118px;padding:6px 8px}.kiosk-sponsor-logo img{width:100%;height:100%;max-height:none}}
.logo-crop-overlay{position:fixed;inset:0;z-index:2000;background:rgba(2,8,15,.88);backdrop-filter:blur(12px);display:grid;place-items:center;padding:22px;overflow:auto}.logo-crop-modal{width:min(820px,100%);max-height:calc(100vh - 44px);overflow:auto;background:linear-gradient(145deg,#122238,#091727);border:1px solid rgba(158,183,211,.22);border-radius:22px;padding:22px;box-shadow:0 32px 90px rgba(0,0,0,.55)}.logo-crop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.logo-crop-head h2{margin-bottom:4px}.logo-crop-head p{margin:0;max-width:610px}.logo-crop-close{min-height:40px;padding:8px 12px;flex:0 0 auto}.logo-crop-stage{width:100%;aspect-ratio:30/11;background:#fff;border-radius:18px;overflow:hidden;border:2px solid rgba(202,255,40,.55);box-shadow:0 16px 36px rgba(0,0,0,.28);touch-action:none;user-select:none}.logo-crop-stage canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.logo-crop-stage.dragging canvas{cursor:grabbing}.logo-crop-tools{margin-top:18px}.logo-zoom-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;color:#b9c9d8;font-size:11px;letter-spacing:.13em;font-weight:950}.logo-zoom-row input[type=range]{padding:0;background:transparent;border:0;box-shadow:none;accent-color:var(--lime)}#logoCropNote{margin:10px 0 15px;font-size:13px}.logo-crop-tools .actions{justify-content:flex-end}@media(max-width:650px){.logo-crop-overlay{padding:10px}.logo-crop-modal{padding:16px;border-radius:18px;max-height:calc(100vh - 20px)}.logo-crop-head{gap:10px}.logo-crop-head .logo-crop-close{min-width:auto}.logo-crop-tools .actions{display:grid}.logo-crop-tools .actions .btn{width:100%}}

/* v34 portal navigation */
.portal-main{width:min(1320px,calc(100% - 28px));padding-top:28px}
.portal-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;align-items:start}
.portal-sidebar{position:sticky;top:104px}
.portal-nav{display:flex;flex-direction:column;gap:7px;padding:12px;background:rgba(6,16,27,.72);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 44px rgba(0,0,0,.18)}
.portal-nav-label{padding:8px 10px 5px;color:#71889e;font-size:9px;letter-spacing:.16em;font-weight:950}
.portal-nav-item{width:100%;min-height:42px;padding:9px 11px;border:1px solid transparent;border-radius:11px;background:transparent;color:#aebfd0;text-align:left;font-size:12px;font-weight:950;letter-spacing:.035em}
.portal-nav-item:hover{background:rgba(255,255,255,.035);color:#fff}
.portal-nav-item.on{background:rgba(202,255,40,.11);border-color:rgba(202,255,40,.28);color:var(--lime)}
.portal-nav-spacer{height:7px;border-top:1px solid var(--line);margin-top:5px}
.portal-content{min-width:0}
.portal-page-head{margin:4px 0 22px}.portal-page-head h1{margin-bottom:7px}.portal-page-head p{margin:0;max-width:760px}
.portal-eyebrow{color:#8fa5ba;font-size:10px;letter-spacing:.16em;font-weight:950;margin-bottom:5px}
.portal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.portal-stats button{min-height:108px;padding:19px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(18,34,56,.98),rgba(10,23,39,.98));color:var(--muted);text-align:left;box-shadow:var(--shadow)}
.portal-stats button:hover{border-color:rgba(202,255,40,.25)}
.portal-stats b{display:block;color:#fff;font-size:34px;line-height:1;margin-bottom:9px}.portal-stats span{font-size:13px;font-weight:800}
.portal-section{background:linear-gradient(145deg,rgba(18,34,56,.98),rgba(10,23,39,.98));border:1px solid var(--line);border-radius:20px;padding:22px;margin:14px 0;box-shadow:var(--shadow)}
.portal-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.portal-section-head h2{margin:0}.portal-section-head .muted{margin-top:4px}
.portal-list-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-top:1px solid rgba(158,183,211,.1)}.portal-list-row:first-child{border-top:0}.portal-list-row b{font-size:16px}.portal-list-row .muted{margin-top:3px;font-size:13px}
.portal-empty{padding:18px 0;color:var(--muted)}
.portal-toolbar{display:flex;gap:10px;margin-bottom:12px}.portal-toolbar input,.portal-toolbar select{max-width:360px}
.portal-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-action-card{min-height:105px;padding:18px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.025);color:#fff;text-align:left}.portal-action-card:hover{border-color:rgba(202,255,40,.25);background:rgba(202,255,40,.04)}.portal-action-card b{display:block;font-size:18px;margin-bottom:6px}.portal-action-card span{display:block;color:var(--muted);font-size:13px;line-height:1.45}
.portal-info-line{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid rgba(158,183,211,.1)}.portal-info-line:first-child{border-top:0}.portal-info-line span{color:var(--muted)}
.tournament-back{margin-bottom:12px}.tournament-nav{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px;padding:6px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025);width:max-content;max-width:100%}.tournament-nav button{min-height:40px;padding:8px 14px;border:0;border-radius:10px;background:transparent;color:#94a8bb;font-size:11px;font-weight:950;letter-spacing:.055em}.tournament-nav button.on{background:#f3f6fa;color:#09131f}
.portal-content .participant-box{margin-top:0}
@media(max-width:850px){.portal-main{width:min(100% - 22px,1080px);padding-top:18px}.portal-layout{grid-template-columns:1fr;gap:14px}.portal-sidebar{position:static;overflow:hidden}.portal-nav{flex-direction:row;overflow-x:auto;scrollbar-width:none;padding:7px}.portal-nav::-webkit-scrollbar{display:none}.portal-nav-label,.portal-nav-spacer{display:none}.portal-nav-item{flex:0 0 auto;width:auto;min-height:38px;padding:8px 11px;text-align:center}.portal-page-head{margin-top:3px}.portal-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.portal-stats{grid-template-columns:1fr;gap:8px}.portal-stats button{min-height:82px}.portal-section{padding:17px;border-radius:17px}.portal-section-head{align-items:flex-start;flex-direction:column}.portal-list-row{align-items:stretch;flex-direction:column}.portal-list-row .actions{display:grid}.portal-card-grid{grid-template-columns:1fr}.portal-info-line{flex-direction:column;gap:4px}.tournament-nav{width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.tournament-nav button{flex:1 0 auto}.portal-toolbar input,.portal-toolbar select{max-width:none}}

/* v34 focused portal navigation */
.portal-app{min-height:100vh;background:radial-gradient(circle at 92% 0,rgba(202,255,40,.07),transparent 24%),linear-gradient(180deg,#07111e,#06101b)}
.portal-topbar{height:72px;min-height:72px;padding:0 24px;position:sticky;top:0;z-index:80;background:rgba(4,11,19,.94);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;border-bottom:1px solid rgba(158,183,211,.10)}
.portal-brand{border:0;background:transparent;color:#fff;font-size:25px;font-weight:1000;letter-spacing:-.06em;padding:0}.portal-brand b{color:var(--lime)}
.portal-role{min-width:0;display:flex;align-items:center;gap:10px;color:#8fa4b8}.portal-role span{font-size:10px;font-weight:950;letter-spacing:.13em}.portal-role b{color:#eaf0f6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.portal-logout{border:1px solid var(--line);background:rgba(255,255,255,.035);color:#cbd7e2;border-radius:11px;padding:8px 11px;font-size:10px;font-weight:950;letter-spacing:.08em}
.portal-layout{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 72px)}
.portal-nav{padding:24px 16px;border-right:1px solid rgba(158,183,211,.10);background:rgba(5,14,24,.46);position:sticky;top:72px;height:calc(100vh - 72px);align-self:start}
.portal-back{width:100%;text-align:left;border:0;background:transparent;color:#8196aa;padding:10px 11px 17px;font-size:10px;font-weight:950;letter-spacing:.075em}
.portal-nav-list{display:grid;gap:5px}.portal-nav-btn{min-height:43px;text-align:left;padding:10px 12px;border-radius:11px;border:1px solid transparent;background:transparent;color:#9db0c2;font-size:11px;font-weight:950;letter-spacing:.055em}.portal-nav-btn:hover{background:rgba(255,255,255,.035);color:#fff}.portal-nav-btn.on{background:rgba(202,255,40,.10);border-color:rgba(202,255,40,.24);color:var(--lime)}
.portal-main{width:min(1120px,100%);padding:34px clamp(24px,4vw,50px) 70px;margin:0}.portal-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:8px 0 25px}.portal-page-head h1{font-size:clamp(34px,5vw,50px);margin:3px 0 7px}.portal-page-head p{margin:0;color:var(--muted)}.portal-eyebrow{font-size:10px;letter-spacing:.15em;font-weight:950;color:var(--lime)}
.portal-crumbs{display:flex;align-items:center;gap:7px;color:#71879c;font-size:11px;margin-bottom:6px}.portal-crumbs button{border:0;background:transparent;color:#8fa6ba;padding:0;font-weight:800}.portal-crumbs button:hover{color:var(--lime)}
.portal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.portal-stats>button,.portal-stats>div{min-height:132px;text-align:left;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(18,34,56,.96),rgba(10,23,39,.96));padding:20px;color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;box-shadow:0 18px 42px rgba(0,0,0,.18)}.portal-stats>button{cursor:pointer}.portal-stats>button:hover{border-color:rgba(202,255,40,.28)}.portal-stats b{font-size:34px;line-height:1;margin-bottom:9px}.portal-stats span{font-size:13px;font-weight:900}.portal-stats small{color:#7f95aa;margin-top:3px}
.portal-card{background:linear-gradient(145deg,rgba(18,34,56,.96),rgba(10,23,39,.96));border:1px solid var(--line);border-radius:20px;padding:22px;margin:14px 0;box-shadow:0 20px 50px rgba(0,0,0,.22)}
.portal-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.portal-section-head>div:first-child{min-width:0}.portal-section-head span{display:block;color:#7890a6;font-size:9px;letter-spacing:.15em;font-weight:950;margin-bottom:3px}.portal-section-head h2{margin:0;font-size:22px}.portal-section-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.portal-link{border:0;background:transparent;color:var(--lime);font-size:10px;font-weight:950;letter-spacing:.08em;padding:8px}
.portal-list-card{padding-top:8px;padding-bottom:8px}.portal-list-row{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid rgba(158,183,211,.10);padding:14px 0}.portal-list-row:first-of-type{border-top:0}.portal-list-row>div:first-child{min-width:0}.portal-list-row b{display:block;font-size:15px;color:#f4f7fb}.portal-list-row span{display:block;color:#8298ad;font-size:12px;margin-top:3px}.portal-list-row .btn{min-height:42px;padding:9px 14px}.portal-empty{padding:26px 2px;color:var(--muted)}
.portal-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-action-grid button{min-height:105px;text-align:left;border:1px solid var(--line);border-radius:15px;padding:17px;background:rgba(255,255,255,.025);color:#fff}.portal-action-grid button:hover{border-color:rgba(202,255,40,.28);background:rgba(202,255,40,.04)}.portal-action-grid b{display:block;font-size:16px;margin-bottom:5px}.portal-action-grid span{display:block;color:#8398ac;font-size:12px;line-height:1.4}
.portal-focusbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:14px 16px;border:1px solid rgba(202,255,40,.18);border-radius:15px;background:rgba(202,255,40,.045)}.portal-focusbar>div span{display:block;color:#7890a6;font-size:9px;letter-spacing:.13em;font-weight:950}.portal-focusbar>div b{display:block;margin-top:2px}.portal-focusbar .btn{min-height:40px;padding:8px 13px}.portal-live{display:inline-flex!important;align-items:center;padding:6px 10px!important;border-radius:999px;background:rgba(202,255,40,.10);color:var(--lime)!important;font-size:10px!important}
.portal-info-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;margin-bottom:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#8fa4b8}.portal-info-row b{color:#eef4f9;text-align:right}.sponsor-focus{max-width:760px}
@media(max-width:820px){.portal-topbar{height:64px;min-height:64px;padding:0 15px;gap:12px}.portal-role span{display:none}.portal-role b{font-size:11px}.portal-layout{display:block;min-height:calc(100vh - 64px)}.portal-nav{position:sticky;top:64px;z-index:70;height:auto;padding:8px 12px;border-right:0;border-bottom:1px solid rgba(158,183,211,.10);background:rgba(5,14,24,.96);overflow-x:auto;display:flex;align-items:center;gap:6px;scrollbar-width:none}.portal-nav::-webkit-scrollbar{display:none}.portal-back{width:auto;flex:0 0 auto;padding:9px 10px;border:1px solid var(--line);border-radius:10px}.portal-nav-list{display:flex;gap:5px}.portal-nav-btn{flex:0 0 auto;min-height:38px;padding:8px 10px}.portal-main{padding:24px 15px 54px}.portal-page-head{margin-bottom:18px}.portal-stats{grid-template-columns:1fr 1fr}.portal-stats>button,.portal-stats>div{min-height:112px;padding:16px}.portal-stats b{font-size:28px}.portal-section-head{align-items:flex-start}.portal-action-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.portal-brand{font-size:22px}.portal-logout{padding:7px 9px}.portal-role{display:none}.portal-topbar{grid-template-columns:1fr auto}.portal-stats{grid-template-columns:1fr}.portal-list-row{align-items:stretch;flex-direction:column}.portal-list-row>.btn,.portal-list-row>.actions{width:100%}.portal-list-row .actions{display:grid}.portal-list-row .actions .btn{width:100%}.portal-action-grid{grid-template-columns:1fr}.portal-section-head{flex-direction:column}.portal-section-head>.btn{width:100%}.portal-info-row{align-items:flex-start;flex-direction:column}.portal-info-row b{text-align:left}}
