:root{
      --bg:#111820; --panel:#1d2631; --panel2:#242f3c; --line:#3b4655;
      --text:#f6f8fb; --muted:#b9c4d1; --yellow:#ffd60a; --blue:#1e90ff; --green:#8cff00;
      --danger:#ff6b6b; --shadow:0 12px 32px rgba(0,0,0,.35); --radius:18px;
    }
    *{box-sizing:border-box}
    body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#0b1016,var(--bg));color:var(--text)}
    .wrap{width:min(100%,980px);margin:0 auto;padding:14px}
    header{position:sticky;top:0;z-index:5;background:rgba(17,24,32,.94);backdrop-filter:blur(10px)}
    .top{display:flex;align-items:center;gap:12px;padding:10px 0}.logo{width:72px;height:72px;object-fit:contain;flex:0 0 auto}
    h1{font-size:1.15rem;margin:0;color:var(--yellow);line-height:1.05}.sub{font-size:.78rem;color:var(--muted);margin-top:4px}
    .tabs{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:2px 0 6px;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}.tabs::-webkit-scrollbar{width:0;height:0;display:none;background:transparent}.tab{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:999px;padding:9px 14px;font-weight:700;white-space:nowrap;flex:0 0 auto}.tab.active{background:var(--yellow);color:#111}.tab.disabled{opacity:.45}
    .subtabs{display:flex;gap:8px;margin:0 0 14px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}.subtabs::-webkit-scrollbar{width:0;height:0;display:none;background:transparent}.subtab{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:12px;padding:10px 12px;font-weight:800;white-space:nowrap}.subtab.active{background:var(--yellow);color:#111;border-color:var(--yellow)}.page{display:none}.page.active{display:block}
    main{padding:16px 0 50px}.card{background:var(--panel);border:1px solid rgba(255,214,10,.25);border-radius:var(--radius);padding:16px;margin-bottom:14px;box-shadow:var(--shadow)}
    .card h2{font-size:1.05rem;margin:0 0 4px;color:var(--yellow)}.hint{color:var(--muted);font-size:.86rem;margin:0 0 14px}.muted{color:var(--muted)}
    .portal-section{display:block}.portal-section.hidden{display:none}.profile-list{display:grid;gap:10px;margin-top:12px}.profile-row{border:1px solid var(--line);background:#19212b;border-radius:12px;padding:12px}.profile-row strong{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.profile-row span{display:block;color:var(--text);font-weight:700;line-height:1.35}.profile-row .subtext{color:var(--muted);font-weight:600;font-size:.88rem;margin-top:3px}.profile-competitions{display:grid;gap:10px;margin-top:12px}.competition-profile{border:1px solid var(--line);background:#19212b;border-radius:12px;padding:12px}.competition-profile strong{display:block;color:var(--yellow);font-size:1rem;margin-bottom:8px}.competition-profile .line{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(148,163,184,.14);padding-top:8px;margin-top:8px}.competition-profile .label{color:var(--muted);font-weight:700;font-size:.82rem}.competition-profile .value{font-weight:800;text-align:right}.payment-list{display:grid;gap:10px;margin-top:12px}.payment-card{border:1px solid var(--line);background:#19212b;border-radius:12px;padding:12px}.payment-card.owe{border-color:rgba(248,113,113,.45);background:rgba(127,29,29,.18)}.payment-card.credit{border-color:rgba(74,222,128,.4);background:rgba(20,83,45,.18)}.payment-card.clear{border-color:rgba(148,163,184,.22)}.payment-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.payment-title{font-weight:900}.payment-status{font-weight:900;text-align:right}.payment-card.owe .payment-status{color:#fecaca}.payment-card.credit .payment-status{color:#86efac}.payment-card.clear .payment-status{color:var(--text)}.payment-kind{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}.availability-list{display:grid;gap:12px;margin-top:12px}.availability-card{border:1px solid var(--line);background:#19212b;border-radius:12px;padding:12px}.availability-card h3{margin:0 0 4px;color:var(--yellow);font-size:1rem}.availability-meta{color:var(--muted);font-weight:700;font-size:.84rem;line-height:1.4;margin-bottom:10px}.availability-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.availability-btn{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:12px;padding:10px 8px;font-weight:900;cursor:pointer}.availability-btn:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.35)}.availability-btn.active-available{background:rgba(34,197,94,.22);border-color:rgba(34,197,94,.45);color:#bbf7d0}.availability-btn.active-if-required{background:rgba(245,158,11,.22);border-color:rgba(245,158,11,.45);color:#fde68a}.availability-btn.active-unavailable{background:rgba(239,68,68,.22);border-color:rgba(239,68,68,.45);color:#fecaca}.availability-message{margin-top:10px;color:var(--muted);font-size:.82rem;font-weight:700}.availability-message.warning{color:#fde68a}.availability-submit-row{display:flex;align-items:center;gap:10px;margin-top:10px}.availability-submit-btn{border:1px solid var(--yellow);background:var(--yellow);color:#111;border-radius:12px;padding:10px 12px;font-weight:950;cursor:pointer;width:100%}.availability-submit-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.25);background:var(--panel2);color:var(--muted);border-color:var(--line)}.availability-published{margin-top:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.12);color:#fde68a;font-size:.82rem;font-weight:700}.availability-error{border:1px solid rgba(248,113,113,.45);background:rgba(127,29,29,.18);border-radius:12px;padding:14px}.availability-error strong{display:block;color:#fecaca;margin-bottom:6px}.captain-list{display:grid;gap:14px;margin-top:12px}.captain-card{border:1px solid var(--line);background:#19212b;border-radius:14px;padding:14px}.captain-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.captain-toggle{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:8px 10px;font-weight:900;cursor:pointer;white-space:nowrap}.captain-details{display:none;margin-top:12px}.captain-card.expanded .captain-details{display:block}.captain-card h3{margin:0 0 4px;color:var(--yellow);font-size:1rem}.captain-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.captain-stat{border:1px solid var(--line);background:var(--panel2);border-radius:11px;padding:7px 8px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px}.captain-stat strong{display:block;font-size:1rem;color:var(--yellow);line-height:1}.captain-stat span{display:block;color:var(--muted);font-size:.72rem;font-weight:900;margin:0}.captain-stat.available{background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.38)}.captain-stat.available strong,.captain-stat.available span{color:#bbf7d0}.captain-stat.if-required{background:rgba(245,158,11,.16);border-color:rgba(245,158,11,.38)}.captain-stat.if-required strong,.captain-stat.if-required span{color:#fde68a}.captain-stat.unavailable{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.38)}.captain-stat.unavailable strong,.captain-stat.unavailable span{color:#fecaca}.captain-stat.no-response{background:rgba(148,163,184,.14);border-color:rgba(148,163,184,.34)}.captain-stat.no-response strong,.captain-stat.no-response span{color:#dbe3ec}.captain-groups{display:grid;gap:10px}.captain-group{border:1px solid rgba(148,163,184,.16);border-radius:12px;overflow:hidden}.captain-group-title{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 11px;background:rgba(15,23,42,.35);font-weight:900;color:#f8e08a}.captain-player{display:flex;justify-content:space-between;gap:10px;padding:9px 11px;border-top:1px solid rgba(148,163,184,.1);font-weight:750}.captain-player-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.captain-override-btn{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:900;cursor:pointer}.captain-override-btn:hover{border-color:var(--yellow);color:var(--yellow)}.captain-override-panel{display:none;grid-column:1/-1;margin:8px 0 2px;padding:10px;border:1px solid rgba(255,214,10,.28);background:rgba(255,214,10,.06);border-radius:10px}.captain-player.override-open{display:grid;grid-template-columns:1fr auto}.captain-player.override-open .captain-override-panel{display:block}.captain-override-title{font-size:.82rem;color:var(--muted);font-weight:800;margin-bottom:8px}.captain-override-options{display:flex;gap:8px;flex-wrap:wrap}.captain-override-option{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:999px;padding:8px 10px;font-weight:900;cursor:pointer}.captain-override-option.available{background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.38);color:#bbf7d0}.captain-override-option.if_required{background:rgba(245,158,11,.16);border-color:rgba(245,158,11,.38);color:#fde68a}.captain-override-option.unavailable{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.38);color:#fecaca}.captain-override-option.no_response{background:rgba(148,163,184,.14);border-color:rgba(148,163,184,.34);color:#dbe3ec}.captain-override-cancel{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:8px 10px;font-weight:900;cursor:pointer}.captain-player small{display:block;color:var(--muted);font-weight:650;margin-top:2px}.captain-status-available{background:rgba(34,197,94,.07)}.captain-status-if_required{background:rgba(245,158,11,.08)}.captain-status-unavailable{background:rgba(239,68,68,.07)}.captain-status-no_response{background:rgba(148,163,184,.05)}.captain-role{color:var(--yellow);font-weight:900}.captain-squad-role{color:var(--yellow);font-size:.82rem;font-weight:900;margin-left:6px}.captain-note{color:var(--muted);font-size:.84rem;font-weight:700;margin-top:8px}.captain-empty{border:1px solid var(--line);border-radius:12px;padding:12px;background:#19212b;color:var(--muted);font-weight:800}.captain-actions-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.captain-action-btn{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:11px;padding:9px 10px;font-weight:900;cursor:pointer}.captain-action-btn.primary{background:var(--yellow);border-color:var(--yellow);color:#111}.captain-action-btn.success{background:rgba(34,197,94,.20);border-color:rgba(34,197,94,.50);color:#bbf7d0}.captain-action-btn.danger{background:rgba(239,68,68,.16);border-color:rgba(239,68,68,.45);color:#fecaca}.captain-action-btn:disabled{opacity:.45;cursor:not-allowed}.captain-action-note{margin-top:10px;color:var(--muted);font-size:.82rem;font-weight:700}.team-picker{display:none;margin-top:12px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(15,23,42,.3)}.captain-card.selecting .team-picker{display:block}.team-picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.16);font-weight:900;color:var(--yellow)}.team-picker-list{display:grid}.team-picker-player{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 12px;border-top:1px solid rgba(148,163,184,.1);font-weight:800}.team-picker-player:first-child{border-top:0}.team-picker-player small{display:block;color:var(--muted);font-weight:700;margin-top:2px}.team-picker-actions{display:flex;gap:8px;justify-content:flex-end;padding:10px 12px;border-top:1px solid rgba(148,163,184,.16)}.team-status-chip{font-size:.74rem;font-weight:900;border-radius:999px;padding:4px 8px;background:rgba(148,163,184,.14);color:#dbe3ec}.team-status-chip.available{background:rgba(34,197,94,.16);color:#bbf7d0}.team-status-chip.if_required{background:rgba(245,158,11,.16);color:#fde68a}.team-status-chip.unavailable{background:rgba(239,68,68,.15);color:#fecaca}.captain-message{margin-top:10px;font-weight:800;font-size:.84rem;color:#fde68a}.future-actions-panel{margin-top:16px;border:1px solid var(--line);border-radius:14px;background:rgba(15,23,42,.24);overflow:hidden}.future-actions-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px}.future-actions-head h3{margin:0;color:var(--yellow);font-size:1rem}.future-actions-body{display:none;padding:0 12px 12px}.future-actions-panel.expanded .future-actions-body{display:grid;gap:12px}.future-actions-toggle{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:8px 10px;font-weight:900;cursor:pointer;white-space:nowrap}@media(max-width:620px){.captain-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.captain-actions-row{grid-template-columns:1fr 1fr}.captain-player{display:block}.captain-player>span:last-child{display:block;margin-top:5px;color:var(--muted)}.captain-player-actions{justify-content:flex-start;margin-top:6px}.team-picker-player{grid-template-columns:auto 1fr}.team-status-chip{grid-column:2}}@media(max-width:520px){.availability-actions{grid-template-columns:1fr}}.payment-error{border:1px solid rgba(248,113,113,.45);background:rgba(127,29,29,.18);border-radius:12px;padding:14px}.payment-error strong{display:block;color:#fecaca;margin-bottom:6px}.payment-error span{color:var(--muted);font-weight:700}
    .stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stat{background:#19212b;border:1px solid var(--line);border-radius:14px;padding:12px}.stat strong{display:block;font-size:1.35rem;color:var(--yellow);line-height:1}.stat span{display:block;color:var(--muted);font-size:.82rem;margin-top:5px}
    .nextbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0}.btn{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:10px 12px;font-weight:700}.btn:disabled{opacity:.45}.date-title{text-align:center;font-weight:800}.date-title small{display:block;color:var(--muted);font-weight:600;margin-top:3px}
    .day-group{margin-top:14px}.day-heading{font-weight:900;color:var(--yellow);border-bottom:1px solid rgba(255,214,10,.25);padding:0 0 8px;margin:8px 0 8px}
    .game{display:grid;grid-template-columns:1fr;gap:8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#19212b;margin-top:10px}.game-head{display:flex;justify-content:space-between;gap:8px}.grade{font-weight:800}.badge{font-size:.72rem;border-radius:999px;padding:4px 8px;background:#203e34;color:#8dffcd;border:1px solid #2e6b54;align-self:flex-start}.meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;color:var(--muted);font-size:.9rem}.meta strong{display:block;color:var(--text);font-size:.96rem;margin-top:2px}
    .toolbar{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:10px}select,input,textarea{width:100%;background:#111821;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px;font-weight:700}textarea{min-height:86px;resize:vertical;line-height:1.4}.list-row{display:grid;grid-template-columns:1fr;gap:4px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.list-row:last-child{border-bottom:0}.row-top{display:flex;justify-content:space-between;gap:10px}
    .committee{display:grid;gap:10px}.person{display:flex;justify-content:space-between;gap:10px;background:#19212b;border:1px solid var(--line);border-radius:12px;padding:12px}.position{color:var(--yellow);font-weight:800}.empty{text-align:center;color:var(--muted);padding:18px}

    .hidden{display:none!important}
    .auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(180deg,#0b1016,var(--bg))}
    .auth-card{width:min(100%,430px);background:var(--panel);border:1px solid rgba(255,214,10,.28);border-radius:24px;padding:22px;box-shadow:var(--shadow)}
    .auth-logo{display:block;width:116px;height:116px;object-fit:contain;margin:0 auto 12px}
    .auth-card h1{font-size:1.45rem;text-align:center;margin:0;color:var(--yellow)}
    .auth-card .sub{text-align:center;margin-bottom:18px}
    .auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
    .auth-tab{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:12px;padding:10px;font-weight:800}
    .auth-tab.active{background:var(--yellow);color:#111;border-color:var(--yellow)}
    .field{margin:12px 0}.field label{display:block;font-size:.82rem;color:var(--muted);font-weight:800;margin-bottom:6px}
    .primary-btn{width:100%;border:0;background:var(--yellow);color:#111;border-radius:12px;padding:12px;font-weight:900;margin-top:10px}

    .notification-panel{border:1px solid rgba(255,214,10,.28);background:#19212b;border-radius:14px;padding:14px;margin:0 0 14px}
    .notification-panel h3{margin:0 0 6px;color:var(--yellow);font-size:1rem}
    .notification-panel p{margin:0 0 10px;color:var(--muted);font-size:.86rem;font-weight:700;line-height:1.35}
    .notification-status{margin-top:10px;color:var(--muted);font-size:.84rem;font-weight:800;line-height:1.35}
    .notification-status.success{color:#bbf7d0}.notification-status.error{color:#fecaca}
    .notification-actions{display:flex;gap:8px;flex-wrap:wrap}
    .secondary-btn{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer}
    .secondary-btn:disabled{opacity:.45;cursor:not-allowed}
    .link-btn{border:0;background:transparent;color:var(--yellow);font-weight:800;padding:10px 4px}
    .auth-msg{min-height:20px;color:var(--muted);font-size:.88rem;margin-top:10px;line-height:1.35}.auth-msg.error{color:var(--danger)}.auth-msg.success{color:#86efac}
    .picker-user{margin:14px 0 6px;color:var(--text);font-weight:900;font-size:1rem}.picker-user small{display:block;color:var(--muted);font-weight:600;font-size:.78rem;margin-top:3px}
    .club-select{display:grid;gap:12px;margin-top:16px;width:100%}.club-option-row{display:grid;grid-template-columns:minmax(0,1fr) 136px;gap:10px;align-items:stretch;width:100%}
    .club-option{text-align:left;border:1px solid var(--line);background:#19212b;color:var(--text);border-radius:14px;padding:13px;min-height:64px;width:100%;cursor:pointer}
    .club-option:hover{border-color:rgba(255,214,10,.75)}.club-option strong{display:block;color:var(--yellow)}.club-option span{display:block;color:var(--muted);font-size:.84rem;margin-top:3px}
    .default-action{border:1px solid var(--line);background:linear-gradient(180deg,#253241,#1b2531);color:var(--text);border-radius:14px;padding:10px 12px;font-weight:900;min-height:64px;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.18)}
    .default-action:hover{border-color:var(--yellow);color:var(--yellow)}.default-action.current{background:rgba(140,255,0,.12);border-color:rgba(140,255,0,.45);color:#b9ff66;cursor:default}.default-action:disabled{opacity:1}
    .userbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 0 8px;color:var(--muted);font-size:.84rem}.user-actions{position:relative;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
    .userbar button{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:8px 10px;font-weight:800}.userbar button:hover{border-color:var(--yellow);color:var(--yellow)}.account-menu-btn{font-size:.82rem;padding:7px 9px!important}.account-menu-panel{position:absolute;right:0;top:calc(100% + 8px);display:grid;gap:8px;width:170px;background:var(--panel);border:1px solid rgba(255,214,10,.35);border-radius:14px;padding:10px;box-shadow:var(--shadow);z-index:25}.account-menu-panel button{width:100%;text-align:left}.action-placeholder{border:1px dashed rgba(255,214,10,.35);background:rgba(255,214,10,.06);border-radius:14px;padding:14px}.action-placeholder strong{display:block;color:var(--yellow);margin-bottom:4px}.action-placeholder span{display:block;color:var(--muted);font-weight:700;line-height:1.35}
    .quick-club-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(320px,calc(100vw - 28px));background:var(--panel);border:1px solid rgba(255,214,10,.35);border-radius:16px;padding:10px;box-shadow:var(--shadow);z-index:20}
    .quick-club-panel h3{margin:2px 4px 8px;color:var(--yellow);font-size:.95rem}.quick-club-option{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#19212b;color:var(--text);border-radius:12px;padding:11px;margin-top:8px;cursor:pointer}
    .quick-club-option:hover{border-color:var(--yellow)}.quick-club-option strong{display:block;color:var(--yellow)}.quick-club-option span{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}

    @media (max-width:520px){.club-option-row{grid-template-columns:1fr}.default-action{min-height:auto}.userbar{align-items:center;flex-direction:row}.user-actions{justify-content:flex-end}.quick-club-panel{left:auto;right:0}.account-menu-panel{right:0}}

    @media (min-width:700px){.top{padding:14px 0}.logo{width:86px;height:86px}h1{font-size:1.45rem}.stats{grid-template-columns:repeat(4,1fr)}.toolbar{grid-template-columns:1fr 1fr}.game{grid-template-columns:1.2fr 2fr;align-items:center}.meta{grid-template-columns:repeat(4,1fr)}.list-row{grid-template-columns:1.5fr 1fr 1.5fr 1.5fr;align-items:center}.row-top{display:contents}.mobile-label{display:none}}

    .action-items-list{display:grid;gap:12px;margin-top:12px}.action-item-card{border:1px solid var(--line);background:#19212b;border-radius:14px;overflow:hidden}.action-item-head{width:100%;border:0;background:transparent;color:var(--text);display:flex;justify-content:space-between;gap:12px;align-items:flex-start;text-align:left;padding:14px;cursor:pointer}.action-item-title{font-weight:950;color:var(--yellow);font-size:1rem}.action-item-summary{color:var(--muted);font-size:.84rem;font-weight:750;margin-top:4px;line-height:1.35}.action-item-chevron{color:var(--muted);font-weight:950;white-space:nowrap}.action-item-body{display:none;border-top:1px solid rgba(148,163,184,.14);padding:14px}.action-item-card.expanded .action-item-body{display:block}.action-item-detail{color:var(--muted);font-weight:750;font-size:.88rem;line-height:1.45;margin-bottom:12px}.notification-panel{border:1px solid var(--line);background:#19212b;border-radius:14px;padding:14px;margin-bottom:14px}.notification-panel h3{margin:0 0 6px;color:var(--yellow)}.notification-actions{margin:10px 0}.notification-status{color:var(--muted);font-size:.84rem;font-weight:750}.notification-list{display:grid;gap:10px;margin-top:12px}.notification-card{border:1px solid var(--line);background:#19212b;border-radius:12px;padding:12px}.notification-card h3{margin:0 0 5px;color:var(--yellow);font-size:1rem}.notification-time{color:var(--muted);font-size:.78rem;font-weight:800;margin-bottom:8px}.notification-message{color:var(--text);font-weight:700;line-height:1.4}.team-list{display:grid;gap:7px;margin-top:10px}.team-list-row{display:flex;justify-content:space-between;gap:10px;border-top:1px solid rgba(148,163,184,.12);padding-top:7px;font-weight:800}.team-list-row:first-child{border-top:0;padding-top:0}.team-list-empty{color:var(--muted);font-weight:750;margin-top:10px}.section-note{color:var(--muted);font-size:.86rem;font-weight:750;line-height:1.45}.
    .advanced-actions-list{display:grid;gap:10px;margin-top:12px}.advanced-action-section{border:1px solid var(--line);background:#19212b;border-radius:12px;overflow:hidden}.advanced-action-section summary{list-style:none;cursor:pointer;padding:12px 14px;font-weight:900;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:10px}.advanced-action-section summary::-webkit-details-marker{display:none}.advanced-action-section summary::after{content:'▾';color:var(--yellow);font-size:.9rem;transition:transform .15s ease}.advanced-action-section[open] summary::after{transform:rotate(180deg)}.advanced-action-body{border-top:1px solid rgba(148,163,184,.14);display:grid;gap:8px;padding:10px 12px}.advanced-team-row{border:1px solid rgba(148,163,184,.16);background:rgba(15,23,42,.28);border-radius:10px;padding:10px 11px;font-weight:850;color:var(--muted)}
  
.match-fee-list{display:grid;gap:10px}.match-fee-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid rgba(148,163,184,.12)}.match-fee-row:first-child{border-top:0}.match-fee-name{font-weight:900}.match-fee-current{font-weight:900;color:var(--muted);white-space:nowrap}.match-fee-input{width:96px;border:1px solid var(--line);background:#0f1720;color:var(--text);border-radius:9px;padding:8px 9px;font-weight:900}.match-fee-save{border:1px solid var(--line);background:var(--yellow);color:#111;border-radius:9px;padding:8px 10px;font-weight:900;cursor:pointer}.match-fee-save:disabled{opacity:.45;cursor:not-allowed}.match-fee-message{margin-top:8px;font-size:.82rem;font-weight:800;color:#fde68a}.match-fee-message.error{color:#fecaca}.match-fee-card{border:1px solid var(--line);background:#19212b;border-radius:12px;padding:12px;margin-bottom:10px}.match-fee-card h3{margin:0 0 4px;color:var(--yellow);font-size:1rem}.match-fee-meta{color:var(--muted);font-weight:700;font-size:.84rem;line-height:1.4;margin-bottom:10px}

    .availability-comment-wrap{margin-top:10px}.availability-comment-label{display:flex;justify-content:space-between;gap:10px;align-items:center;color:var(--muted);font-size:.82rem;font-weight:900;margin-bottom:6px}.availability-comment{width:100%;box-sizing:border-box;min-height:58px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);padding:10px;font:inherit;font-size:.9rem;resize:vertical}.availability-comment:focus{outline:none;border-color:rgba(255,214,10,.65);box-shadow:0 0 0 3px rgba(255,214,10,.12)}.availability-comment-count{white-space:nowrap;color:var(--muted);font-weight:900}.captain-player-note{display:block;color:#dbe3ec;font-weight:650;margin-top:5px;line-height:1.35}.captain-player-note::before{content:'Comment: ';color:var(--muted);font-weight:900}

.payment-actions{margin-top:10px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.payment-pay-btn{border:1px solid var(--yellow);background:var(--yellow);color:#111;border-radius:11px;padding:9px 12px;font-weight:950;cursor:pointer}.payment-pay-btn:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.25)}.payment-reset-btn{border:1px solid #64748b;background:#334155;color:#f8fafc;border-radius:11px;padding:9px 12px;font-weight:900;cursor:pointer}.payment-reset-btn:hover,.payment-reset-btn:focus-visible{border-color:var(--yellow);color:var(--yellow)}.payment-note{margin-top:10px;color:var(--muted);font-size:.82rem;font-weight:800;text-align:right}.payment-note.warning{color:#fde68a}.payment-message{margin-top:10px;font-size:.82rem;font-weight:800;color:#dbe3ec;text-align:right}.payment-message.error{color:#fecaca}

.event-selection-status{display:block;margin-top:4px;font-weight:950;font-size:.84rem}.event-selection-status.selected{color:#86efac}.event-selection-status.not-selected{color:#fca5a5}
.extended-unavailability-form{display:grid;gap:12px;margin-top:12px;border:1px solid var(--line);background:#19212b;border-radius:12px;padding:12px}.extended-unavailability-form label{display:grid;gap:6px;color:var(--muted);font-weight:900;font-size:.82rem}.extended-unavailability-form input,.extended-unavailability-form select,.extended-unavailability-form textarea{width:100%;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:10px 11px;font:inherit;font-weight:750}.extended-unavailability-form textarea{resize:vertical}.extended-unavailability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.extended-unavailability-list{display:grid;gap:10px;margin-top:14px}.extended-unavailability-card{border:1px solid var(--line);background:#19212b;border-radius:12px;padding:12px}.extended-unavailability-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.extended-unavailability-card h3{margin:0 0 4px;color:#fecaca;font-size:1rem}.extended-unavailability-comment{margin-top:8px;color:var(--text);font-weight:700;font-size:.9rem;line-height:1.4}@media(max-width:520px){.extended-unavailability-grid{grid-template-columns:1fr}.extended-unavailability-head{display:grid}.extended-unavailability-head .captain-action-btn{width:100%}}

.player-loan-card {
  background: rgba(15, 23, 32, 0.72);
  border: 1px solid rgba(255, 214, 10, 0.28);
  border-radius: 14px;
  padding: 14px;
  margin-bottom: 14px;
  box-shadow: inset 3px 0 0 rgba(255, 214, 10, 0.75);
}

.player-loan-card h3 {
  margin: 0 0 5px;
  color: var(--text);
  font-size: 1rem;
  line-height: 1.25;
}

.player-loan-card .match-fee-meta {
  color: var(--muted);
}

.player-loan-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.player-loan-row {
  border-radius: 12px;
  background: rgba(25, 33, 43, 0.94);
  border: 1px solid rgba(148, 163, 184, 0.16);
  overflow: hidden;
}

.player-loan-row summary {
  list-style: none;
}

.player-loan-row summary::marker {
  content: "";
}

.player-loan-row summary::-webkit-details-marker {
  display: none;
}

.player-loan-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  cursor: pointer;
}

.player-loan-summary > div:first-child {
  flex: 1 1 auto;
  min-width: 0;
}

.player-loan-summary::after {
  content: "▾";
  color: var(--accent);
  flex: 0 0 18px;
  width: 18px;
  text-align: center;
  font-size: .9rem;
  line-height: 1;
}

.player-loan-row[open] .player-loan-summary::after {
  content: "▴";
}

.player-loan-row[open] .player-loan-summary {
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}

.player-loan-name {
  color: var(--text);
  font-weight: 900;
}

.player-loan-note {
  margin-top: 3px;
  font-size: 0.84rem;
  color: var(--muted);
  font-weight: 750;
}


.player-loan-panel {
  display: grid;
  gap: 10px;
  padding: 12px;
  background: rgba(15, 23, 32, 0.5);
}

.player-loan-date-label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 900;
}

.player-loan-date-label input {
  width: min(210px, 100%);
  border: 1px solid var(--line);
  background: #0f1720;
  color: var(--text);
  border-radius: 10px;
  padding: 9px 10px;
  font: inherit;
  font-weight: 850;
}

.player-loan-existing {
  color: #fde68a;
  font-size: 0.82rem;
  font-weight: 850;
}

.player-loan-destinations {
  display: grid;
  gap: 8px;
}

.player-loan-destination-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(25, 33, 43, 0.85);
  border-radius: 10px;
  padding: 9px 10px;
  font-weight: 900;
}

.player-loan-action {
  border: 1px solid var(--yellow);
  background: var(--yellow);
  color: #111;
  border-radius: 9px;
  padding: 7px 10px;
  font-weight: 950;
  cursor: pointer;
  white-space: nowrap;
}

.player-loan-action:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  filter: grayscale(0.25);
}

.player-loan-status {
  flex: 0 0 116px;
  width: 116px;
  justify-self: auto;
  margin-left: auto;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 0.78rem;
  font-weight: 900;
  white-space: nowrap;
  border: 1px solid transparent;
  text-align: center;
  box-sizing: border-box;
}

.player-loan-status.available {
  background: rgba(34, 197, 94, 0.14);
  border-color: rgba(34, 197, 94, 0.35);
  color: #86efac;
}

.player-loan-status.if-required {
  background: rgba(245, 158, 11, 0.14);
  border-color: rgba(245, 158, 11, 0.35);
  color: #fde68a;
}

@media (max-width: 560px) {
  .player-loan-summary {
    grid-template-columns: minmax(0, 1fr) 104px 18px;
    column-gap: 8px;
  }

  .player-loan-destination-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .player-loan-action {
    width: 100%;
  }
}

.player-loan-subsection {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.player-loan-subsection h4 {
  margin: 0;
  color: var(--yellow);
  font-size: 0.88rem;
  font-weight: 950;
}

.player-loan-status-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(25, 33, 43, 0.9);
  border-radius: 12px;
  padding: 10px 12px;
}

.player-loan-row-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.player-loan-action.secondary {
  border-color: rgba(148, 163, 184, 0.28);
  background: rgba(15, 23, 32, 0.8);
  color: var(--text);
}

@media (max-width: 560px) {
  .player-loan-status-row {
    align-items: stretch;
    flex-direction: column;
  }

  .player-loan-row-actions {
    justify-content: stretch;
  }
}

/* Derived player-loan status in captain availability summaries. */
.captain-stat.loaned{background:rgba(59,130,246,.16);border-color:rgba(59,130,246,.42)}
.captain-stat.loaned strong,.captain-stat.loaned span{color:#bfdbfe}
.captain-status-loaned{background:rgba(59,130,246,.08)}


/* Account-level manual linking */
.account-link-modal{position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.72);display:flex;align-items:flex-start;justify-content:center;padding:24px 14px;overflow:auto}
.account-link-modal.hidden{display:none}
.account-link-dialog{width:min(720px,100%);background:#202a37;border:1px solid rgba(250,204,21,.35);border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.5);padding:18px;color:var(--text)}
.account-link-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(148,163,184,.18);padding-bottom:12px}
.account-link-header h2{margin:0;color:var(--yellow)}
.account-link-header p{margin:5px 0 0;color:var(--muted)}
.account-link-close{border:0;background:transparent;color:var(--text);font-size:2rem;line-height:1;cursor:pointer;padding:0 4px}
.account-link-section{margin-top:18px}
.account-link-section h3{margin:0 0 8px;color:var(--yellow);font-size:1rem}
.account-link-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.account-link-form input{min-width:0}
.account-link-list{display:grid;gap:9px}
.account-link-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:rgba(15,23,32,.62)}
.account-link-card strong{display:block}
.account-link-card small{display:block;color:var(--muted);margin-top:3px}
.account-link-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.account-link-actions button{min-width:86px}
@media(max-width:560px){.account-link-form{grid-template-columns:1fr}.account-link-card{align-items:stretch;flex-direction:column}.account-link-actions{justify-content:stretch}.account-link-actions button{flex:1}}


/* Admin portal first pass */
.admin-mirror-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:end; margin-top:16px; }
.admin-mirror-controls label { grid-column:1 / -1; font-weight:700; }
.admin-mirror-controls select { min-height:44px; width:100%; }
.admin-mirror-controls .primary-btn { width:auto; min-width:170px; margin:0; }
.admin-note { margin-top:16px; padding:12px 14px; border:1px solid rgba(255,196,0,.35); border-radius:10px; background:rgba(255,196,0,.08); color:var(--muted, #b9c0ca); }
@media (max-width:640px){ .admin-mirror-controls{grid-template-columns:1fr;} .admin-mirror-controls label{grid-column:auto;} .admin-mirror-controls .primary-btn{width:100%;} }


.admin-communication-form {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}
.admin-communication-form label,
.admin-delivery-options legend {
  font-weight: 700;
}
.admin-communication-form input[type="text"],
.admin-communication-form select,
.admin-communication-form textarea {
  width: 100%;
  box-sizing: border-box;
}
.admin-communication-form textarea {
  resize: vertical;
  min-height: 130px;
}
.admin-communication-dependent {
  display: grid;
  gap: 8px;
}
.admin-delivery-options {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  border: 1px solid var(--border, #d7dce3);
  border-radius: 10px;
  padding: 12px;
}
.admin-delivery-options label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 600;
}
.admin-communication-card .auth-msg.success {
  color: #166534;
}
