/* A Â· Club Noir â€” charcoal, champagne gold and quiet glass surfaces. */
:root{
  --noir-bg:#101112;--noir-surface:#1a1b1d;--noir-raised:#232426;
  --accent:#d6bd8b;--muted:#aaa69e;--line:rgba(214,189,139,.15);
  --panel:rgba(28,29,31,.84);--toast-bg:#d6bd8b;--toast-text:#211d15;
  --toast-error:#efb0a2;color:#f3efe7;background:var(--noir-bg);
}
body{background:radial-gradient(ellipse at 15% 0,rgba(214,189,139,.035),transparent 45%),var(--noir-bg);background-attachment:fixed}
.appbar{background:rgba(16,17,18,.86);border-bottom:1px solid var(--line);height:72px}.appbar-brand{color:#e4cfaa;font-weight:650;letter-spacing:.3px}.appbar-section{font-size:11px;text-transform:uppercase;letter-spacing:1.8px}.menu-toggle span{background:#d6bd8b}
.content{padding-top:34px}h1,h2,h3{color:#f3efe7}h1{font-weight:600;letter-spacing:-.7px}h2{font-weight:600}.eyebrow{color:var(--accent);letter-spacing:2.4px;font-weight:600}.brand{font-weight:650;color:#e4cfaa}.brand-dot{background:var(--accent);width:8px;height:25px;transform:none;border-radius:1px}
.card{background:linear-gradient(145deg,rgba(38,38,39,.76),rgba(25,26,28,.92));border:1px solid var(--line);border-radius:16px;box-shadow:inset 0 1px 0 rgba(255,248,230,.025),0 8px 28px #00000018}.session-card:hover{border-color:rgba(214,189,139,.44)}.section-title h2{font-size:16px}.big,.stat{font-weight:600;font-variant-numeric:tabular-nums}.stat small{letter-spacing:.25px}.empty{border-color:rgba(214,189,139,.16);color:var(--muted);background:rgba(16,17,18,.2)}
button,.csv-export{background:rgba(255,250,236,.035);border:1px solid rgba(214,189,139,.16);color:#e4dfd4;font-weight:500;border-radius:10px}button:hover,.csv-export:hover{border-color:rgba(214,189,139,.48);background-color:rgba(214,189,139,.07)}button.primary{background:linear-gradient(120deg,#ddc79f,#c9ab74);color:#211d15;border-color:transparent;font-weight:700;box-shadow:0 2px 12px #d6bd8b0a}button.primary:hover{background:#e2cba1;border-color:transparent}button.quiet{background:transparent}button.danger{color:#e9a493}button:disabled{opacity:.4}a{color:#d6bd8b}
input,select,textarea{background:#141517;border-color:rgba(214,189,139,.2);color:#eee9de}input::placeholder,textarea::placeholder{color:#827f78}select option{background:#1a1b1d;color:#eee9de}label{color:#c0b9ad}input[type=checkbox]{accent-color:#d6bd8b}button:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid #d6bd8b;outline-offset:3px}
.tabs{background:#151618;border:1px solid rgba(214,189,139,.08);border-radius:12px;padding:5px}.tabs button{border:0;color:#a9a398;font-size:12px}.tabs button.active{background:rgba(214,189,139,.14);color:#ead6b2;box-shadow:inset 0 0 0 1px rgba(214,189,139,.18);font-weight:650}.tabs button:hover{color:#e4cfaa}
.avatar{background:rgba(214,189,139,.08);color:#d6bd8b;border:1px solid rgba(214,189,139,.1);border-radius:10px;font-weight:600}.player-name{font-weight:600}.player,.list-line{border-color:rgba(214,189,139,.09)}.badge{background:#292a2b;color:#bcb6aa;font-weight:500;border:1px solid #ffffff05}.badge.green{background:rgba(214,189,139,.1);color:#dfca9f;border-color:rgba(214,189,139,.09)}.badge.orange{background:#b99b5c14;color:#d5bd8f}.badge.red{background:#c9827417;color:#e5a79b}.success{color:#d6bd8b}.error{color:#efb0a2}.notice{background:rgba(214,189,139,.045);border-color:rgba(214,189,139,.14);color:#bfb5a3}
.team,.scoreboard{background:rgba(16,17,18,.6);border-color:rgba(214,189,139,.1)}.team{padding:14px;border-radius:12px}.vs{font-size:10px;letter-spacing:2px;color:#a28c65}.scoreboard{padding:22px;border-radius:16px}.score-side input{background:transparent;color:#e4cfaa;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-2px}.score-side .muted{color:#aaa397;letter-spacing:.8px;font-weight:500}.score-controls button{border-color:rgba(214,189,139,.12)}.score-summary strong{color:#e0cfad;font-weight:600}.score-summary small{color:#958d7e;letter-spacing:1.4px}.score-tabs{margin-top:20px}
.availability{background:transparent;border:0}.switch-track{background:#3a3b3c}.switch-track span{background:#aaa69e}.is-on{color:#d6bd8b}.is-on .switch-track{background:rgba(214,189,139,.24)}.is-on .switch-track span{background:#d6bd8b}.paid-action{background:rgba(214,189,139,.11);color:#dfc695;border:1px solid rgba(214,189,139,.14);letter-spacing:.6px;font-weight:650}.cashier-line{border-color:rgba(214,189,139,.1)}.cashier-line>span:first-child{color:#a9a398}.cashier-line strong{color:#eee5d3;font-weight:600}.cashier-card> .row strong{font-weight:600}
dialog.navigation-drawer{background:rgba(24,25,27,.96);border-right:1px solid rgba(214,189,139,.2);box-shadow:20px 0 90px #0009}.navigation-drawer::backdrop{background:#08090ab3;backdrop-filter:none;}.navigation-drawer .sidebar{background:transparent}.navigation-drawer .nav{color:#aaa69e;border:1px solid transparent}.navigation-drawer .nav.active{background:rgba(214,189,139,.09);color:#e4cfaa;border-color:rgba(214,189,139,.12);box-shadow:inset 2px 0 0 #d6bd8b}.navigation-drawer .nav:hover{background:rgba(214,189,139,.06);color:#e4cfaa}.navigation-drawer footer{border-top:1px solid var(--line)}
dialog:not(.navigation-drawer){background:linear-gradient(140deg,rgba(36,36,37,.97),rgba(22,23,25,.96));border:1px solid rgba(214,189,139,.24);border-radius:20px;box-shadow:0 30px 100px #000a,inset 0 1px 0 #fff4de08}dialog::backdrop{background:#08090aa8;backdrop-filter:none;}.modal-head,.modal-actions{background:rgba(28,29,31,.95);border-color:var(--line)}.modal-head h2{font-size:19px;font-weight:550}.login{background:var(--panel);border-color:var(--line);box-shadow:0 20px 80px #0003}#toast{background:var(--toast-bg);color:var(--toast-text);border-radius:12px}
@media(max-width:700px){.appbar{height:64px}.appbar-section{font-size:10px;letter-spacing:1.2px}.content{padding-top:24px}.card{border-radius:14px}.scoreboard{padding:14px}.score-side input{font-size:48px}.tabs button{font-size:11px;padding:10px}.navigation-drawer .brand{font-size:23px}}
@supports not (backdrop-filter:blur(1px)){.card,.appbar,.login{background:#1a1b1d}dialog.navigation-drawer,dialog:not(.navigation-drawer){background:#1a1b1d}}

/* Flat overlays keep popup opening inexpensive on phones. */
dialog::backdrop,.navigation-drawer::backdrop{background:rgba(0,0,0,.62);backdrop-filter:none;-webkit-backdrop-filter:none}

dialog>.modal-head,dialog>form .modal-actions{background:#1c1d1f;border-color:rgba(214,189,139,.15)}
dialog input,dialog select,dialog textarea{background:#141517;border-color:rgba(214,189,139,.2)}
dialog .card{background:rgba(28,29,31,.94);border-color:rgba(214,189,139,.15)}
dialog .notice{background:rgba(214,189,139,.045);border-color:rgba(214,189,139,.14)}

.profile-launch{text-align:left;border:0;display:grid;gap:4px;padding:10px;min-width:0}.profile-launch .player-meta{display:block}.profile-launch:hover{background:rgba(214,189,139,.06)}.profile-info{display:flex;align-items:center;gap:14px;margin:20px 24px}.profile-stats,.profile-actions{margin:18px 24px}.profile-history{margin:18px 24px;max-height:48dvh;overflow:auto;overscroll-behavior:contain}.profile-history .card{margin-bottom:12px}.monthly-totals{margin-top:18px}.monthly-totals .total{margin-bottom:0}.profile-history .list-line{flex-wrap:wrap}
@media(max-width:700px){.profile-info,.profile-stats,.profile-actions,.profile-history{margin-left:18px;margin-right:18px}.monthly-totals{grid-template-columns:1fr 1fr}.monthly-totals .total{font-size:16px}}

.qris-panel{text-align:center;max-width:480px;margin:20px auto}.qris-image{background:#fff;padding:16px;border-radius:14px;margin:20px auto;width:100%;max-width:360px}.qris-image img{display:block;width:100%;height:auto;max-height:60dvh;object-fit:contain}.qris-amounts{justify-content:center}.cashier-card{-webkit-touch-callout:none}.cashier-card> .row>strong{user-select:none}

.court-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.court-grid>.card+.card{margin-top:0}.court-card{padding:0;overflow:hidden}.court-head{padding:20px 20px 14px;border-bottom:1px solid var(--line)}.court-head h2{margin:6px 0 0;font-size:17px}.court-head .eyebrow{font-size:9px;letter-spacing:2px}.court-active{border-color:rgba(214,189,139,.34)}.court-score-launch{display:block;width:100%;border:0;border-radius:0;text-align:center;padding:8px 18px 20px}.court-score-launch:hover{background:rgba(214,189,139,.035)}.court-score-launch .teams{text-align:left;grid-template-columns:1fr 22px 1fr;gap:8px}.court-score-launch .team{border:0;background:transparent;padding:8px 0;font-size:13px}.court-score-launch .team:last-child{text-align:right}.court-score-launch .score-summary{padding:12px 0;margin:8px 0 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.court-score-launch .score-summary strong{font-size:26px}.court-foot{padding:14px 20px;border-top:1px solid var(--line);font-size:11px}.court-card>.empty{margin:22px 18px;border:0;padding:35px 12px}.court-menu-actions{display:grid;gap:10px;margin:22px 24px}.scoreboard-dialog{max-width:680px}.scoreboard-dialog .scoreboard{padding:28px 20px}.scoreboard-dialog .score-side input{font-size:76px;min-height:110px}.scoreboard-dialog .score-controls button{min-height:58px;font-size:28px}.scoreboard-dialog .score-side .muted{font-size:12px}.live-score-toolbar{padding:8px 0 18px}.live-score-toolbar label{font-size:13px;color:var(--accent)}
@media(max-width:1100px){.court-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.court-grid{grid-template-columns:1fr;gap:14px}.court-score-launch .score-summary strong{font-size:30px}.scoreboard-dialog .scoreboard{padding:22px 12px}.scoreboard-dialog .score-side input{font-size:64px}.scoreboard-dialog .score-controls button{min-height:54px}.court-menu-actions{margin:18px}}

/* One continuous 1px edge; no stacked rings or hover movement. */
.card,button,.csv-export{transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
@media(hover:hover){
 .card:hover{border-color:#8f7e5d;box-shadow:inset 0 1px 0 rgba(255,248,230,.035),0 8px 28px #00000018}
 .session-card:hover{border-color:#8f7e5d;transform:none}
 button:hover,.csv-export:hover,.navigation-drawer .nav:hover{border-color:#9b8761;box-shadow:none}
 .profile-launch:hover{box-shadow:inset 0 0 0 1px rgba(214,189,139,.38)}
 .court-score-launch:hover{box-shadow:none}
 .navigation-drawer .nav.active:hover{box-shadow:inset 2px 0 0 #d6bd8b}
}
@media(prefers-reduced-motion:reduce){.card,button,.csv-export{transition:none}}
button:focus-visible,a:focus-visible{outline:3px solid #d6bd8b;outline-offset:3px}.profile-hero{padding:10px 0 18px;border-bottom:1px solid var(--line)}.profile-hero .avatar{width:58px;height:58px;font-size:22px;border-radius:16px}.profile-hero h2{font-size:21px;margin:0 0 8px}.profile-grade{display:grid;place-items:center;min-width:48px;height:48px;padding:8px;font-size:23px;font-weight:650;color:#d6bd8b;border:1px solid #d6bd8b55;border-radius:14px;background:#d6bd8b09}.profile-tabs{margin:20px 24px}.profile-summary h3{margin:0}.profile-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.profile-metric{display:flex;flex-direction:column;gap:8px;min-width:0;background:#ffffff03;border:1px solid var(--line);border-radius:14px;padding:18px 14px}.profile-metric:first-child{background:#d6bd8b0a;border-color:#d6bd8b44;grid-row:span 2;justify-content:center}.profile-metric strong{font-size:27px;color:#e4cfaa;font-weight:600;font-variant-numeric:tabular-nums}.profile-metric:first-child strong{font-size:40px}.profile-metric span{font-size:11px;color:var(--muted)}.profile-balance{display:flex;gap:18px;justify-content:space-between;padding:18px 0;border-top:1px solid var(--line);font-size:12px}.profile-balance span{display:grid;gap:8px;color:var(--muted)}.profile-balance strong{font-size:16px;color:#f3efe7}.profile-filters{margin:16px 24px;align-items:end}.profile-filters input[type=search]{min-width:160px}.profile-filters label{min-width:140px}.profile-history{max-height:54dvh}.profile-actions{padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:700px){.profile-tabs,.profile-filters{margin-left:18px;margin-right:18px}.profile-hero h2{font-size:18px}.profile-metrics{gap:8px}.profile-metric{padding:14px 9px}.profile-metric strong{font-size:23px}.profile-metric:first-child strong{font-size:32px}.profile-metric span{font-size:10px}.profile-filters input[type=search]{flex-basis:100%}}

.cashier-name{border:0;padding:4px 0;text-align:left;font-size:14px;font-weight:650;min-height:36px}.cashier-card[data-bill-player]{cursor:pointer}.bill-breakdown{margin:20px 24px}.bill-breakdown>h3{margin-top:24px}.bill-breakdown details{margin-top:18px;border:1px solid var(--line);border-radius:12px;padding:14px}.bill-breakdown summary{cursor:pointer;color:var(--accent);font-size:13px}.bill-breakdown details[open] summary{margin-bottom:15px}
@media(max-width:700px){.bill-breakdown{margin:18px}.cashier-name{max-width:55%;overflow-wrap:anywhere}}

.qris-panel{max-width:680px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.qris-image{width:min(100%,560px);max-width:560px;display:flex;align-items:center;justify-content:center;padding:18px;margin:24px auto}.qris-image img{width:100%;height:auto;max-height:none;object-fit:contain}dialog>.qris-panel{width:calc(100% - 40px);margin:20px auto}.qris-amounts{justify-content:center;width:100%}.bill-breakdown>.card+.card{margin-top:16px}#app[aria-busy=true]::after{content:'Menyimpan…';position:fixed;bottom:22px;right:22px;z-index:40;padding:10px 16px;border:1px solid var(--line);background:#1a1b1d;color:var(--accent);border-radius:12px;font-size:12px;pointer-events:none}
@media(max-width:700px){.qris-panel{padding:14px}.qris-image{padding:12px;width:100%;margin:18px auto}dialog>.qris-panel{width:calc(100% - 24px);margin:12px auto}}

#account-form{max-width:620px}#online-panel>.row{margin-top:20px}#online-panel .player .grow{overflow-wrap:anywhere}

.arrange-teams{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.arrange-team{display:grid;gap:16px;min-width:0;margin:0;padding:16px;border:1px solid var(--line);border-radius:14px}.arrange-team legend{padding:0 8px;color:var(--accent);font-size:13px;font-weight:650}.arrange-team label{min-width:0}.arrange-team select{min-width:0;max-width:100%;text-overflow:ellipsis}
@media(max-width:700px){.arrange-teams{gap:10px}.arrange-team{padding:12px 8px;gap:14px}.arrange-team select{padding:10px 6px;font-size:12px}}

.court-ready{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:210px;padding:26px 24px;color:var(--accent)}.court-sketch{display:block;width:min(100%,250px);height:auto;fill:none;stroke:#d6bd8b80;stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke}.court-sketch .court-net{stroke:#e4cfaa;stroke-width:2;stroke-dasharray:4 3}.court-ready>span{font-size:12px;letter-spacing:2px;font-weight:550}.court-foot>[data-cmd=court-entry]{width:100%;display:block;text-align:center;flex:1}

dialog.qris-fullscreen{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;box-sizing:border-box}dialog.qris-fullscreen .qris-fullscreen-image{display:block;width:100%;height:calc(100dvh - 110px);object-fit:contain;background:#fff}.qris-image[data-cmd]{cursor:zoom-in}

.account-dropdown{position:relative;margin-left:auto;flex-shrink:0}.account-dropdown summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:24px;padding:5px 10px 5px 5px;min-height:40px}.account-dropdown summary::-webkit-details-marker{display:none}.account-dropdown summary:hover{border-color:var(--accent)}.account-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#d6bd8b18;color:var(--accent);font-weight:650}.account-menu-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.account-dropdown-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:100;min-width:180px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#1a1b1d;box-shadow:0 12px 35px #0006}.account-dropdown-panel button{display:block;width:100%;text-align:left}.nav-group{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.nav-group h2{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin:0 0 10px 12px}.appbar-section{min-width:0}.account-dropdown summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:700px){.account-menu-name{display:none}.account-dropdown summary{padding-right:8px}.appbar-section{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* Workspace navigation: fixed header, scrollable groups, quiet access footer. */
dialog.navigation-drawer{width:min(340px,calc(100vw - 28px));max-width:340px;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-right:1px solid #d6bd8b24;border-radius:0 22px 22px 0;background:#17181a;overflow:hidden;box-shadow:18px 0 55px #0005}
.navigation-drawer .sidebar{display:flex;flex-direction:column;position:static;width:100%;height:100%;padding:0;gap:0;overflow:hidden;border:0;background:transparent;box-sizing:border-box}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:26px 22px 22px;border-bottom:1px solid #d6bd8b12;flex-shrink:0}.drawer-identity{display:flex;align-items:center;gap:12px;min-width:0}.drawer-identity img,.drawer-monogram{width:44px;height:44px;object-fit:contain;flex-shrink:0}.drawer-monogram{display:grid;place-items:center;border-radius:14px;background:#d6bd8b12;color:var(--accent);font-size:21px}.drawer-identity strong{display:block;font-size:16px;font-weight:600;overflow-wrap:anywhere}.drawer-identity div>span{display:block;margin-top:5px;font-size:11px;color:#938f86}.navigation-drawer .drawer-close{position:static;width:34px;height:34px;padding:0;flex-shrink:0;font-size:24px;line-height:1;border:1px solid #d6bd8b1c;border-radius:50%;color:#aaa69e}.drawer-links{flex:1;min-height:0;overflow-y:auto;padding:10px 14px 24px;scrollbar-width:thin;scrollbar-color:#d6bd8b30 transparent}.navigation-drawer .nav-group{margin:0;padding:20px 0 14px;border-top:1px solid #d6bd8b14}.navigation-drawer .nav-group:first-child{border-top:0}.nav-group-heading{padding:0 12px 12px}.navigation-drawer .nav-group h2{margin:0;color:#d6bd8b;font-size:10px;font-weight:650;letter-spacing:1.7px}.nav-group-heading p{margin:6px 0 0;color:#817d75;font-size:10px;line-height:1.4}.navigation-drawer .nav{display:flex;align-items:center;gap:13px;width:100%;min-height:49px;margin:3px 0;padding:12px;border:1px solid transparent;border-radius:12px;background:transparent;color:#b7b3aa;box-shadow:none;text-align:left;font-size:14px;white-space:normal}.nav-icon{display:grid;place-items:center;width:23px;height:23px;flex-shrink:0;color:#8c887f}.nav-icon svg{display:block;width:21px;height:21px}.nav-label{flex:1}.nav-indicator{font-size:20px;color:#6d685d}.navigation-drawer .nav:hover{background:#ffffff04;border-color:#d6bd8b28;box-shadow:none}.navigation-drawer .nav.active{background:#d6bd8b12;border-color:#d6bd8b30;color:#f0dfbc;box-shadow:none}.nav.active .nav-icon,.nav.active .nav-indicator{color:#d6bd8b}.navigation-drawer footer{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:18px 22px;margin:0;border-top:1px solid #d6bd8b16;font-size:10px;color:#a59b89}.drawer-role-dot{width:5px;height:5px;border-radius:50%;background:#d6bd8b}.navigation-drawer footer small{margin-left:auto;font-size:9px;color:#69665f}@media(max-width:700px){.drawer-header{padding:22px 18px 18px}.drawer-links{padding-left:12px;padding-right:12px}.navigation-drawer footer{display:flex}}

.attendance-toolbar{display:grid;gap:12px;margin:18px 0;padding:14px;background:#17181a;border:1px solid #d6bd8b18;border-radius:14px}.attendance-search-row{display:flex;align-items:stretch;gap:10px;min-width:0}.attendance-search{position:relative;flex:1;min-width:0}.attendance-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#8f887b;pointer-events:none}.attendance-search input{width:100%;height:44px;padding-left:40px;box-sizing:border-box}.attendance-action{height:44px;white-space:nowrap;padding:0 18px;flex-shrink:0}.attendance-filter-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.attendance-filter-row label{display:grid;gap:6px;min-width:0}.attendance-filter-row label>span{font-size:10px;letter-spacing:.6px;color:#938e83}.attendance-filter-row select{width:100%;min-width:0;height:42px;padding:8px 12px;font-size:12px;box-sizing:border-box}@media(max-width:700px){.attendance-toolbar{padding:12px;gap:12px}.attendance-search-row{gap:8px}.attendance-action{padding:0 12px;font-size:12px}.attendance-filter-row{gap:8px}.attendance-filter-row select{padding-left:10px}}

.player-grade-range{display:flex;gap:10px;flex:1 1 220px}.player-grade-range label{flex:1;min-width:0;font-size:11px}.player-grade-range select{width:100%;max-width:none}.prediction-new>summary{cursor:pointer;color:var(--accent);font-weight:600}.prediction-new form{margin-top:18px}.prediction-round small{font-size:10px;letter-spacing:.6px}.prediction-pick-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.prediction-chips{display:grid;grid-template-columns:1fr 1fr;gap:10px}.prediction-chips label:first-child{color:#8cb5ed}.prediction-chips label:last-child{color:#e6a193}.prediction-stake{font-weight:650;color:var(--accent)}.prediction-confirm{display:flex;justify-content:flex-end;padding-top:18px}.prediction-audit{padding:14px 0;border-bottom:1px solid var(--line)}.prediction-audit summary{cursor:pointer;font-size:12px}.prediction-audit pre{max-height:260px;overflow:auto}.prediction-picks .list-line{align-items:center;flex-wrap:wrap}.prediction-picks .list-line>span{flex:1}#predictions-panel>.toolbar label{flex:1;max-width:320px}#predictions-panel .prediction-new{margin-bottom:18px}#predictions-panel[aria-busy=true]{opacity:.7}@media(max-width:700px){.player-grade-range{flex-basis:100%}.prediction-round .row.between{gap:12px}.prediction-round .team{padding:10px}.prediction-round .team div{font-size:12px}}

.prediction-manual-score{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:12px}.prediction-manual-score summary{cursor:pointer;color:var(--accent)}.prediction-manual-score form{margin-top:16px}#predictions-panel [data-pred-source][hidden]{display:none}

/* Consistent content gutters and responsive action placement. */
.modal-body{display:grid;gap:16px;padding:20px 24px 24px;min-width:0}.modal-body>p,.modal-body>.toolbar,.modal-body>.card,.modal-body>.notice,.modal-body>.stack,.modal-body>.profile-history{margin:0}.modal-body>h3{margin:4px 0 0}.modal-body>*{min-width:0}.modal-body .qris-panel{width:100%;margin:0 auto;box-sizing:border-box}.modal-body .qris-image{max-width:100%;box-sizing:border-box}.modal-body>.court-menu-actions{margin:0}.attendance-popup-tools{display:grid;grid-template-columns:minmax(160px,1fr) minmax(130px,170px) auto;gap:10px;align-items:stretch}.attendance-popup-tools input,.attendance-popup-tools select{width:100%;min-width:0;height:44px;box-sizing:border-box}.attendance-popup-tools button{height:44px;white-space:nowrap;padding:0 16px}.attendance-popup-player{flex-wrap:nowrap;align-items:center;gap:12px}.attendance-popup-player .grow{min-width:0}.attendance-popup-player .player-name{overflow-wrap:anywhere}.attendance-popup-player>button{flex-shrink:0;min-width:84px;min-height:40px}.player-row-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.directory-player .profile-launch{min-width:0}.directory-player .player-name,.directory-player .player-meta{overflow-wrap:anywhere}.form-grid>*{min-width:0}input,select,textarea{max-width:100%;box-sizing:border-box}.topline>.row{flex-wrap:wrap;gap:8px}.modal-actions{align-items:center;flex-wrap:wrap}.modal-actions>button{min-height:42px;white-space:normal}.cashier-name{min-width:0;overflow-wrap:anywhere}.cashier-card>.row.between{align-items:flex-start;gap:10px}.cashier-card>.row.between>.row{flex-shrink:0}.cashier-line strong{white-space:nowrap}.list-line>div{min-width:0;overflow-wrap:anywhere}.list-line>div:last-child>button{margin-left:8px}.court-menu-actions button{min-height:44px}.prediction-confirm{gap:10px;flex-wrap:wrap}.prediction-round .row.between>span{min-width:0;overflow-wrap:anywhere}.account-dropdown-panel{max-width:calc(100vw - 32px);box-sizing:border-box}.appbar-brand{min-width:0;flex-shrink:1}.appbar-brand img{max-width:min(145px,28vw)}
dialog.qris-fullscreen[open]{display:flex;flex-direction:column;overflow:hidden}dialog.qris-fullscreen>.modal-head{flex-shrink:0}dialog.qris-fullscreen>.modal-body{flex:1;min-height:0;padding:12px}dialog.qris-fullscreen .qris-fullscreen-image{height:100%;min-height:0}
@media(max-width:700px){.modal-body{padding:16px 18px 20px;gap:14px}.attendance-popup-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.attendance-popup-tools #checkin-search{grid-column:1/-1}.attendance-popup-tools button{width:100%;padding:0 10px}.attendance-popup-player{flex-wrap:nowrap}.attendance-popup-player .grow{min-width:0}.attendance-popup-player>button{min-width:78px;min-height:44px}.directory-player{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px}.directory-player>.avatar{grid-column:1;grid-row:1}.directory-player>.profile-launch{grid-column:2;text-align:left;width:100%}.directory-player>.player-row-actions{grid-column:2;justify-content:flex-end;flex-wrap:wrap}.player-row-actions>button{min-height:40px}.topline{gap:14px;flex-wrap:wrap}.topline>.row{width:100%;justify-content:flex-start}.topline>.row>button,.topline>.row>.csv-export{flex:1 1 auto;min-height:42px;text-align:center;justify-content:center}.modal-actions>button{flex:1 1 0;min-height:44px}.modal-head h2{min-width:0;overflow-wrap:anywhere}.modal-head>button{flex-shrink:0}.cashier-card .cashier-line{flex-wrap:wrap}.cashier-line>button{min-height:40px}.prediction-confirm>button{width:100%;min-height:44px}.prediction-round .row.between{align-items:flex-start}.prediction-pick-form>.row{flex-wrap:wrap;gap:12px}.prediction-pick-form>.row>.row{flex:1;justify-content:flex-end;flex-wrap:wrap}.prediction-pick-form button{min-height:42px}.tabs button{min-height:40px}.appbar{gap:10px}.appbar-section{margin-left:0;flex:1;text-align:right}.account-dropdown{margin-left:0}.appbar-brand img{max-width:100px}.appbar-brand{font-size:16px}.availability{min-height:44px}}
@media(max-width:380px){.appbar-brand img{max-width:80px}.appbar-section{font-size:9px;letter-spacing:.4px}.appbar{gap:7px;padding-left:12px;padding-right:12px}.attendance-popup-tools{gap:8px}.attendance-popup-tools button,.attendance-popup-tools select{font-size:12px}.cashier-card>.row.between{flex-wrap:wrap}}

.navigation-drawer .sidebar footer{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:18px 22px;margin:0}.navigation-drawer .sidebar footer small{margin-left:auto}@media(max-width:700px){.player-row-actions>button,.cashier-line>button{min-height:44px}}

.player-grade-range.grade-range-control{display:block;flex:1 1 100%;padding:16px 20px 12px;background:linear-gradient(120deg,#d6bd8b09,#17181a);border:1px solid #d6bd8b22;border-radius:14px;box-sizing:border-box}.grade-range-heading{gap:12px}.grade-range-heading>span{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#aaa397}.grade-range-heading>button{font-size:11px;padding:6px 10px;min-height:32px}.grade-range-labels{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.grade-range-labels button{display:flex;align-items:center;gap:10px;padding:6px 10px;font-size:11px;color:#9e978a;border-color:#d6bd8b14}.grade-range-labels strong{display:inline-grid;place-items:center;min-width:30px;min-height:26px;color:#e9d3ab;font-size:15px;font-weight:650}.grade-slider-track{position:relative;height:54px;margin:4px 13px 0}.grade-slider-rail{position:absolute;left:0;right:0;top:25px;height:4px;border-radius:4px;background:linear-gradient(to right,#36332e 0%,#36332e var(--grade-lo),#d6bd8b var(--grade-lo),#d6bd8b var(--grade-hi),#36332e var(--grade-hi),#36332e 100%)}.grade-slider-track input[type=range]{position:absolute;inset:0;width:100%;height:54px;margin:0;padding:0;border:0;border-radius:0;background:transparent;appearance:none;-webkit-appearance:none;pointer-events:none;outline:none;box-shadow:none}.grade-slider-track input::-webkit-slider-runnable-track{height:4px;background:transparent}.grade-slider-track input::-moz-range-track{height:4px;background:transparent}.grade-slider-track input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:24px;height:24px;margin-top:-10px;border-radius:50%;border:2px solid #e8d5b1;background:#282522;box-shadow:inset 0 0 0 5px #d6bd8b,0 0 0 6px #d6bd8b09;pointer-events:auto;cursor:ew-resize}.grade-slider-track input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;border:2px solid #e8d5b1;background:#282522;box-shadow:inset 0 0 0 5px #d6bd8b,0 0 0 6px #d6bd8b09;pointer-events:auto;cursor:ew-resize}.grade-slider-track input:focus-visible{z-index:3}.grade-slider-track input:focus-visible::-webkit-slider-thumb{box-shadow:inset 0 0 0 5px #d6bd8b,0 0 0 5px #d6bd8b40}.grade-slider-track input:focus-visible::-moz-range-thumb{box-shadow:inset 0 0 0 5px #d6bd8b,0 0 0 5px #d6bd8b40}.grade-scale{display:flex;justify-content:space-between;margin:0 13px;color:#746e63;font-size:10px;letter-spacing:.5px}.grade-range-hint{margin:10px 0 0;font-size:10px;color:#827b6e}.grade-range-labels button:hover{border-color:#d6bd8b60;color:#d6bd8b}@media(max-width:700px){.player-grade-range.grade-range-control{padding:12px 14px}.grade-range-labels button{gap:6px;padding:6px 8px;min-height:44px}.grade-range-heading>button{min-height:40px}.grade-slider-track{height:60px;margin-top:0}.grade-slider-track input[type=range]{height:60px}.grade-slider-rail{top:28px}.grade-range-hint{line-height:1.6}.grade-slider-track input::-webkit-slider-thumb{width:28px;height:28px;margin-top:-12px}.grade-slider-track input::-moz-range-thumb{width:24px;height:24px}}

.archive-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;background:transparent;border-color:transparent;font-size:12px;white-space:nowrap}.archive-toggle .switch-track{flex-shrink:0}.archive-toggle.is-on{color:var(--accent)}.archive-toggle:hover{background:#d6bd8b06;border-color:#d6bd8b24}@media(max-width:700px){.archive-toggle{justify-content:flex-start;white-space:normal}}

.grade-scale{display:block;position:relative;height:15px}.grade-scale span{position:absolute;top:0;transform:translateX(-50%)}

.player-management-actions{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;margin-top:4px}.player-management-actions button{min-height:44px}@media(max-width:700px){.player-management-actions button{flex:1}}

.prediction-chip-counter{display:grid;gap:8px;min-width:0}.prediction-chip-counter>span{font-size:11px;color:#aaa69e}.prediction-chip-counter.blue>span{color:#8cb5ed}.prediction-chip-counter.red>span{color:#e6a193}.prediction-chip-counter>div{display:grid;grid-template-columns:40px minmax(34px,1fr) 40px;gap:4px;align-items:center}.prediction-chip-counter button{height:44px;min-width:0;padding:0;font-size:20px}.prediction-chip-counter input{min-width:0;width:100%;height:44px;padding:6px;text-align:center;font-size:17px;appearance:textfield;-moz-appearance:textfield}.prediction-chip-counter input::-webkit-inner-spin-button,.prediction-chip-counter input::-webkit-outer-spin-button{appearance:none;margin:0}.prediction-pick-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin:12px 0}.prediction-side{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#141517}.prediction-side>header{display:grid;gap:5px;padding:14px;background:#d6bd8b08;border-bottom:1px solid var(--line)}.prediction-side>header strong{color:var(--accent);font-size:13px}.prediction-side>header span{font-size:10px;color:var(--muted)}.prediction-side>header b{font-size:20px;font-variant-numeric:tabular-nums}.prediction-person{padding:12px 14px;border-bottom:1px solid #d6bd8b12;display:grid;gap:7px;min-width:0}.prediction-person>strong{font-size:12px;overflow-wrap:anywhere}.prediction-person>span{font-size:11px;color:var(--muted)}.prediction-person .row{gap:6px;flex-wrap:wrap}.prediction-person button{font-size:10px;padding:6px 8px}.prediction-side>p{padding:12px;font-size:11px}.prediction-balance{padding:10px 12px;background:#d6bd8b08;border:1px solid var(--line);border-radius:9px;font-size:11px;margin-top:14px;color:#d6bd8b}.prediction-balance.balanced{color:#b6c9aa;background:#b6c9aa08}@media(max-width:700px){.prediction-pick-columns{gap:8px}.prediction-side>header,.prediction-person{padding:10px}.prediction-person button{min-height:38px}.prediction-chips{grid-column:1/-1}.prediction-chip-counter>div{grid-template-columns:40px minmax(34px,1fr) 40px}}

.prediction-current-session{display:grid;gap:4px;margin-right:auto}.prediction-current-session small{color:var(--muted)}.prediction-session-overlay{position:fixed;inset:0;z-index:1500;background:#000b;display:grid;place-items:center;padding:18px}.prediction-session-dialog{width:min(520px,100%);max-height:85dvh;overflow:auto;background:#1a1b1d;border:1px solid var(--line);border-radius:18px;padding:20px;box-sizing:border-box;box-shadow:0 20px 60px #0008}.prediction-session-dialog h2{margin:0}.prediction-session-dialog .tabs{display:flex;flex-wrap:wrap;margin:18px 0;gap:6px}.prediction-session-dialog .tabs button{flex:1;font-size:12px}.prediction-session-list{display:grid;gap:8px;margin-top:16px}.prediction-session-list button{text-align:left;min-height:48px}.prediction-session-dialog label{display:grid;gap:8px}
