:root { --navy:#031b2d; --panel:#0a2942; --line:#294960; --white:#f7f8f5; --muted:#9fb2c2; --turquoise:#12c8c4; --lime:#d8ff20; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:var(--navy); color:var(--white); font:16px/1.5 Inter,Arial,sans-serif; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
.admin-header { min-height:82px; padding:14px clamp(20px,5vw,70px); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:12px; color:white; text-decoration:none; font-weight:900; line-height:1.1; text-transform:uppercase; }
.brand img { width:54px; height:54px; border-radius:50%; object-fit:cover; }
.brand small { color:var(--turquoise); letter-spacing:.15em; }
main { width:min(1180px,calc(100% - 32px)); margin:0 auto; padding:56px 0 90px; }
.eyebrow { margin:0 0 10px; color:var(--turquoise); font-size:12px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
h1,h2 { margin:0; line-height:1; text-transform:uppercase; }
h1 { font-size:clamp(42px,7vw,78px); }
h2 { font-size:clamp(30px,4vw,48px); }
.login-panel { width:min(520px,100%); margin:6vh auto; padding:clamp(26px,6vw,58px); background:var(--panel); border:1px solid var(--line); }
.login-panel > p:not(.eyebrow) { color:var(--muted); }
label { display:grid; gap:7px; margin-top:18px; font-size:13px; font-weight:800; }
label span { color:var(--muted); font-weight:400; }
input,select,textarea { width:100%; border:1px solid var(--line); background:#0d314e; color:white; padding:13px 14px; border-radius:0; }
input:focus,select:focus,textarea:focus { outline:2px solid var(--turquoise); outline-offset:1px; }
button { min-height:46px; border:1px solid var(--lime); background:var(--lime); color:var(--navy); padding:11px 18px; font-weight:900; text-transform:uppercase; }
form > button[type=submit] { margin-top:24px; }
.text-button,.secondary { color:white; background:transparent; border-color:var(--turquoise); }
.status { min-height:24px; color:var(--lime); }
.dashboard-intro { display:flex; gap:24px; align-items:end; justify-content:space-between; }
.operations-overview { margin-bottom:72px; padding-bottom:56px; border-bottom:1px solid var(--line); }
.operations-overview h1 { font-size:clamp(40px,6vw,72px); }
.overview-date { color:var(--muted); text-transform:capitalize; }
.overview-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(165px,1fr)); gap:10px; margin:30px 0 18px; }
.overview-metric { min-height:132px; padding:20px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--line); background:var(--panel); }
.overview-metric strong { font-size:clamp(25px,3vw,40px); line-height:1; }
.overview-metric span { color:var(--muted); font-size:12px; font-weight:900; text-transform:uppercase; }
.overview-metric.success strong { color:var(--turquoise); }.overview-metric.attention strong { color:var(--lime); }.overview-metric.danger strong { color:#ffb39c; }
.overview-columns { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.overview-panel { padding:20px; border:1px solid var(--line); background:#062239; }
.overview-actions,.overview-events { display:grid; gap:8px; }
.overview-task,.overview-event { width:100%; min-height:58px; padding:11px 13px; display:grid; align-items:center; gap:12px; border-color:var(--line); background:var(--panel); color:var(--white); text-align:left; text-transform:none; }
.overview-task { grid-template-columns:1fr auto; }.overview-task strong { color:var(--lime); }.overview-task.danger strong { color:#ffb39c; }
.overview-event { grid-template-columns:105px 1fr auto; }.overview-event time { color:var(--turquoise); font-size:12px; font-weight:900; text-transform:capitalize; }.overview-event strong { color:var(--lime); }
.overview-task:hover,.overview-event:hover { border-color:var(--turquoise); }
.overview-empty { margin:8px 0; color:var(--muted); }
.header-actions { display:flex; flex-wrap:wrap; gap:10px; }
.events-intro { margin-top:72px; padding-top:48px; border-top:1px solid var(--line); }
.events-intro h2 { font-size:clamp(30px,5vw,58px); }
.registry-lead { max-width:760px; margin:14px 0 0; color:var(--muted); }
.admin-modules { display:grid; gap:12px; }
.admin-module { border:1px solid var(--line); background:#062239; }
.admin-module > summary { min-height:112px; padding:24px clamp(20px,4vw,38px); display:flex; align-items:center; justify-content:space-between; gap:24px; list-style:none; cursor:pointer; user-select:none; }
.admin-module > summary::-webkit-details-marker { display:none; }
.admin-module > summary:hover { background:var(--panel); }
.module-title { display:grid; gap:4px; }
.module-title small { color:var(--turquoise); font-size:11px; font-style:normal; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.module-title strong { color:var(--white); font-size:clamp(24px,3.7vw,45px); line-height:1; text-transform:uppercase; }
.module-title em { margin-top:5px; color:var(--muted); font-size:13px; font-style:normal; font-weight:500; }
.module-summary-end { display:flex; align-items:center; gap:20px; flex:0 0 auto; }
.module-badge { padding:8px 11px; border:1px solid var(--line); color:var(--white); background:transparent; font-size:11px; font-weight:900; letter-spacing:.04em; line-height:1.15; text-align:center; text-transform:uppercase; }
.module-badge.attention { color:var(--navy); background:var(--lime); border-color:var(--lime); }
.module-badge.danger { color:var(--navy); background:#ffb39c; border-color:#ff8a66; }
.module-badge.ok { color:var(--turquoise); border-color:var(--turquoise); }
.admin-module > summary i { width:18px; height:18px; flex:0 0 18px; border-right:3px solid var(--lime); border-bottom:3px solid var(--lime); transform:rotate(45deg) translate(-3px,-3px); transition:transform .2s ease; }
.admin-module[open] > summary { border-bottom:1px solid var(--line); }
.admin-module[open] > summary i { transform:rotate(225deg) translate(-3px,-3px); }
.admin-module-body { padding:clamp(20px,4vw,38px); }
.module-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; margin-bottom:18px; }
.filters { display:flex; flex-wrap:wrap; gap:8px; margin:34px 0 18px; }
.filters button { min-height:40px; background:transparent; color:var(--muted); border-color:var(--line); font-size:12px; }
.filters button.active { color:var(--navy); background:var(--turquoise); border-color:var(--turquoise); }
.catalog-list { display:grid; gap:10px; }
.catalog-row { display:grid; grid-template-columns:minmax(200px,1.5fr) 150px 150px 100px auto; align-items:center; gap:16px; padding:18px; background:var(--panel); border:1px solid var(--line); }
.catalog-row h3 { margin:0; font-size:19px; }
.catalog-row small { color:var(--muted); }
.pill { width:max-content; padding:5px 9px; border:1px solid var(--line); color:var(--muted); font-size:11px; font-weight:900; text-transform:uppercase; }
.pill.published { border-color:var(--turquoise); color:var(--turquoise); }
.pill.coming_soon { border-color:var(--lime); color:var(--lime); }
.pill.overdue { border-color:#ff8a66; color:#ffb39c; }
.catalog-row .edit { min-height:38px; padding:7px 13px; font-size:11px; }
.catalog-actions,.event-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.catalog-actions button,.event-actions button { min-height:36px; padding:7px 10px; font-size:10px; }
.catalog-actions button:disabled { cursor:not-allowed; opacity:.38; }
.inbox-list { display:grid; gap:10px; }
.inbox-controls { display:flex; flex-wrap:wrap; align-items:end; gap:14px; margin:8px 0 18px; }
.inbox-controls label { flex:1 1 190px; min-width:min(190px,100%); margin:0; }
.inbox-controls .inbox-summary { flex:1 1 100%; }
.inbox-summary { display:flex; flex-wrap:wrap; gap:8px; }
.inbox-summary span { padding:7px 10px; border:1px solid var(--line); color:var(--muted); font-size:12px; font-weight:800; }
.inbox-summary strong { color:var(--white); }
.inbox-row { display:grid; grid-template-columns:minmax(220px,1.4fr) minmax(200px,1fr) 150px minmax(190px,.8fr) auto; gap:18px; align-items:center; padding:18px; background:var(--panel); border:1px solid var(--line); }
.inbox-row h3,.inbox-row p { margin:0; }
.inbox-row p,.inbox-row small { color:var(--muted); }
.inbox-row a { color:var(--turquoise); text-decoration:none; }
.inbox-row select { margin:0; padding:9px 10px; }
.contact-actions { display:flex; flex-wrap:wrap; gap:7px; }
.contact-actions a { display:inline-flex; align-items:center; min-height:38px; padding:7px 11px; border:1px solid var(--turquoise); font-size:11px; font-weight:900; text-transform:uppercase; }
.payment-box { display:grid; gap:7px; }
.payment-box select,.payment-box input { padding:8px 9px; }
.payment-line { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.check-in { min-height:38px; padding:7px 10px; font-size:11px; background:transparent; color:var(--white); border-color:var(--turquoise); }
.check-in.checked { color:var(--navy); background:var(--turquoise); }
dialog { width:min(850px,calc(100% - 24px)); max-height:92vh; overflow:auto; border:1px solid var(--turquoise); padding:0; color:white; background:var(--navy); }
dialog::backdrop { background:rgba(0,10,20,.82); }
.dialog-close { position:sticky; float:right; top:12px; right:12px; z-index:2; width:44px; min-height:44px; padding:0; border-color:var(--line); background:var(--panel); color:white; font-size:28px; }
#editor-form { padding:clamp(26px,5vw,52px); }
#event-form { padding:clamp(26px,5vw,52px); }
#invoice-form { padding:clamp(26px,5vw,52px); }
#batch-invoice-form { padding:clamp(26px,5vw,52px); }
#payment-import-form { padding:clamp(26px,5vw,52px); }
#season-form { padding:clamp(26px,5vw,52px); }
.batch-players { margin-top:22px; padding:15px; border:1px solid var(--line); }
.batch-players legend { padding:0 8px; color:var(--turquoise); font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
#batch-player-list { display:grid; gap:7px; max-height:310px; overflow:auto; }
.batch-player { margin:0; padding:11px; grid-template-columns:22px 1fr auto; align-items:center; gap:10px; border:1px solid var(--line); background:var(--panel); }
.batch-player input { width:18px; height:18px; }.batch-player small { color:var(--muted); }
.batch-summary { margin-top:14px; padding:16px; display:grid; gap:5px; border-left:4px solid var(--lime); background:var(--panel); }
.batch-summary strong { font-size:18px; }.batch-summary span { color:#ffcfb8; font-size:13px; }
.bank-import-summary { margin-top:20px; padding:16px; display:grid; gap:4px; border-left:4px solid var(--turquoise); background:var(--panel); }
.bank-import-summary strong { font-size:18px; }.bank-import-summary span { color:var(--muted); }
.bank-match-fieldset { margin-top:18px; padding:15px; border:1px solid var(--line); }
.bank-match-fieldset legend { padding:0 8px; color:var(--turquoise); font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
#payment-import-list { display:grid; gap:7px; max-height:340px; overflow:auto; }
.bank-match { margin:0; padding:11px; display:grid; grid-template-columns:22px 1fr auto; align-items:center; gap:10px; border:1px solid var(--line); background:var(--panel); }
.bank-match.exact { border-left:4px solid var(--turquoise); }.bank-match.review { border-left:4px solid #ff8a66; }
.bank-match input { width:18px; height:18px; }.bank-match-details { display:grid; }.bank-match-details small { color:var(--muted); }
.form-lead { color:var(--muted); }
.bank-preview { display:grid; gap:5px; margin-top:24px; padding:18px; border:1px solid var(--line); background:var(--panel); color:var(--muted); }
.bank-preview strong { color:var(--white); }
.invoice-list { display:grid; gap:10px; margin-top:16px; }
.profile-list { display:grid; gap:10px; }
.profile-controls { display:grid; grid-template-columns:minmax(170px,.8fr) minmax(250px,1.4fr) minmax(180px,1fr) minmax(160px,.8fr); gap:10px; margin:26px 0 14px; }
.profile-controls label { margin:0; }
.profile-row { display:grid; grid-template-columns:minmax(190px,1.2fr) minmax(190px,1fr) minmax(190px,1fr) minmax(180px,.8fr); gap:16px; align-items:center; padding:18px; background:var(--panel); border:1px solid var(--line); }
.profile-row h3,.profile-row p { margin:0; }.profile-row p,.profile-row small { color:var(--muted); }.profile-row a{color:var(--turquoise);text-decoration:none}.media-permission{padding:7px 10px;border:1px solid var(--line);font-size:11px;font-weight:900;text-transform:uppercase}.media-permission.yes{border-color:var(--turquoise);color:var(--turquoise)}.media-permission.no{border-color:#e57b7b;color:#ffc3c3}
.profile-actions{display:flex;gap:8px;flex-wrap:wrap}.profile-actions button{padding:9px 12px;font-size:12px}.profile-payment{font-weight:900;color:var(--lime)!important}.profile-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.member-status{font-size:10px;text-transform:uppercase;font-weight:900;border:1px solid var(--line);padding:5px 7px}.member-status.active{color:var(--turquoise)}.member-status.inactive{color:var(--muted)}
.invoice-row { display:grid; grid-template-columns:minmax(180px,1.2fr) minmax(180px,1.2fr) 120px 120px auto; gap:16px; align-items:center; padding:18px; background:var(--panel); border:1px solid var(--line); }
.invoice-row h3,.invoice-row p { margin:0; }
.invoice-row p,.invoice-row small { color:var(--muted); }
.invoice-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.invoice-actions a,.invoice-actions button,.invoice-button { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:7px 11px; border:1px solid var(--turquoise); background:transparent; color:var(--white); text-decoration:none; font-size:11px; font-weight:900; text-transform:uppercase; }
.invoice-actions .paid { color:var(--navy); background:var(--turquoise); }
.invoice-actions .remind { border-color:var(--lime); color:var(--lime); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
.check { display:flex; align-items:center; gap:10px; }
.check input { width:20px; height:20px; }
.form-actions { display:flex; gap:10px; margin-top:25px; }
.profile-card { padding:clamp(26px,5vw,52px); }
.profile-card-head { display:flex; justify-content:space-between; align-items:start; gap:20px; margin-bottom:28px; }
.profile-card-head h2 { font-size:clamp(32px,5vw,58px); }
.profile-card-group { margin:8px 0 0; color:var(--turquoise); font-weight:900; }
.profile-card-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); }
.profile-card-grid section { min-height:145px; padding:20px; display:flex; flex-direction:column; gap:5px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.profile-card-grid section:nth-child(2n) { border-right:0; }
.profile-card-grid section:nth-last-child(-n+2) { border-bottom:0; }
.profile-card-grid small,.profile-card-note small { color:var(--turquoise); font-size:10px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.profile-card-grid strong { font-size:18px; }
.profile-card-grid span { color:var(--muted); }
.profile-card-grid a { color:white; text-decoration:none; }
.profile-card-note { margin-top:16px; padding:18px; border-left:4px solid var(--lime); background:var(--panel); }
.profile-card-note p { margin:6px 0 0; }
.profile-card-actions { display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 34px; }
.profile-history h3 { margin:0 0 12px; font-size:20px; text-transform:uppercase; }
.profile-history-list { display:grid; gap:7px; }
.profile-history-row { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:14px; padding:14px; border:1px solid var(--line); background:var(--panel); }
.profile-history-row div { display:grid; }
.profile-history-row small { color:var(--muted); }
.profile-history-row a { text-decoration:none; }
.season-list { display:grid; gap:8px; margin:22px 0; }
.season-row { display:grid; grid-template-columns:1fr auto auto; gap:12px; align-items:center; padding:14px; border:1px solid var(--line); background:var(--panel); }
.season-row strong,.season-row small { display:block; }
.season-row small { color:var(--muted); }
.season-row button { min-height:38px; padding:7px 12px; font-size:11px; }
@media(max-width:900px){.overview-metrics{grid-template-columns:1fr 1fr}.overview-columns{grid-template-columns:1fr}}
@media(max-width:760px){ main{width:min(100% - 20px,1180px);padding-top:30px}.dashboard-intro,.inbox-controls{align-items:flex-start;flex-direction:column}.catalog-row,.inbox-row,.invoice-row,.profile-row,.profile-controls{grid-template-columns:1fr}.catalog-row h3{grid-column:1/-1}.catalog-actions,.event-actions,.invoice-actions{justify-content:flex-start}.catalog-actions button,.event-actions button{flex:1}.form-grid{grid-template-columns:1fr}.admin-module>summary{min-height:92px;padding:19px 17px;align-items:flex-start;gap:14px}.module-title strong{font-size:clamp(22px,8vw,32px)}.module-summary-end{align-items:center;gap:12px}.module-badge{max-width:120px;padding:7px 8px;font-size:9px}.admin-module-body{padding:17px}.module-actions{justify-content:flex-start}.module-actions button{flex:1 1 auto} }
@media(max-width:520px){.overview-metrics{grid-template-columns:1fr}.overview-event{grid-template-columns:1fr auto}.overview-event time{grid-column:1/-1}}
@media(max-width:620px){.batch-player{grid-template-columns:22px 1fr}.batch-player small{grid-column:2}}
@media(max-width:620px){.profile-card-grid{grid-template-columns:1fr}.profile-card-grid section{border-right:0!important;border-bottom:1px solid var(--line)!important}.profile-card-grid section:last-child{border-bottom:0!important}.profile-card-head{flex-direction:column}.profile-history-row{grid-template-columns:1fr auto}.profile-history-row .pill{grid-column:1/-1}}
