/* Club area theme. Shared by trainer, member, setup and import screens. */
:root{
 color-scheme:dark;
 --page:#111416;--surface:#1b1f22;--raised:#23282d;--field:#15191c;
 --line:#30373c;--line-soft:#292f34;--text:#edf0ed;--muted:#a1aaa8;
 --accent:#d5f76a;--accent-soft:#2c3622;--success:#79c15a;--error:#ff8174;
}
body{background:var(--page);color:var(--text)}
::selection{background:#d5f76a40;color:#fff}
.sidebar{background:#101314;border-right:1px solid var(--line-soft);color:var(--muted)}
.sidebar-label{color:#89948b}.nav-item{color:#a7b2ad}.nav-item.active{background:var(--accent-soft);color:var(--accent)}
.nav-item:hover{background:#242c26;color:var(--accent)}
.sidebar-bottom{border-color:var(--line)}.sidebar-bottom>a,.account-actions button,.profile-role{color:#a0ada3}
.profile-name{color:var(--text)}.app-topbar{background:#161a1d;border-color:var(--line-soft);color:var(--muted)}
.app-topbar strong,.mobile-brand{color:#d6dfd0}.mobile-account button{color:#bcc9b6}
.panel,.summary-card,.side-card{background:var(--surface);border-color:var(--line);box-shadow:0 5px 20px #0000000c}
.panel-header,.training-details,.modal-header,.training-table-heading{border-color:var(--line)}
.page-heading p,.summary-card .label,.training-info p,.training-info small,.date-block span,.row-time small,.attendance-count,.attendance-count small,.empty p,.loading-screen,.table-wrap td small,td small,.roster-name small,.roster-heading,.training-table-heading,.training-date-heading,.training-meta,.detail-title,.muted,.form-help,.help-inline,.save-hint,.member-profile dt,.member-profile-help{color:var(--muted)}
.summary-card .number{color:var(--text)}.summary-icon{background:var(--accent-soft);color:var(--accent)}
.training-row,td,.roster-row{border-color:var(--line-soft)}
.training-list .training-row:hover{background:#ffffff02}
.training-row .date-block strong{color:var(--accent)}
.training-row.is-cancelled .training-info h3{color:#949c98}
label{color:#c7cfca}
input,select,textarea{background-color:var(--field);border-color:var(--line);color:var(--text)}
textarea{border:1px solid var(--line);border-radius:8px;padding:12px}
input::placeholder,textarea::placeholder{color:#88928e;opacity:1}
input:focus,textarea:focus{outline:2px solid #a4c84d;outline-offset:1px}
input[type=checkbox]{accent-color:var(--accent)}
input[type=file]::file-selector-button{background:var(--raised);color:var(--text);border:1px solid #414a50;border-radius:6px;padding:8px 12px;margin-right:12px;cursor:pointer}
input:-webkit-autofill{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--field) inset;caret-color:var(--text)}
button.primary,.primary{background:var(--accent);color:#202912;box-shadow:0 2px 12px #b4df3e0c}
.primary:hover{background:#e2ff91}
.secondary,.month-nav button,.period-tabs button{background:var(--raised);border-color:var(--line);color:#d6ded8}
.secondary:hover,.month-nav button:hover{background:#30383b;border-color:#52604e}
.period-tabs button{background:transparent;color:var(--muted)}
.period-tabs button.selected{background:#30392b;color:var(--accent);border-color:#4c5d39}
.period-tabs button:hover{border-color:#6e8454}
.danger,.secondary.danger{color:#ff998d;border-color:#72433e}
.secondary.danger:hover{background:#422925;border-color:#b7685b}
.primary.danger{background:#ad4437;color:#fff}.primary.danger:hover{background:#c45545}
.table-actions button{color:#c4d6ad}.table-actions button:hover{background:#30392a}
th{background:#171b1e;color:#a2b09e}
.badge{background:#2d3922;color:#c9e98e}.badge.cal{background:#2a3045;color:#b9c6ff}
.badge.private{background:#30363a;color:#b6c0bd}.badge.cancelled{background:#462b26;color:#ffa397}
.consistency-badge{background:#30363a;color:#b2bcb6}
.consistency-badge.regular{background:#2b3923;color:#badf90}
.consistency-badge.occasional{background:#403725;color:#e0c48a}
.attendance-chip.unset{background:#343b40;color:#c6ceca}
.attendance-chip.present{background:#69ad4e;color:#fff}.attendance-chip.absent{background:#ef4a36;color:#fff}
.roster-person .member-avatar,td .member-avatar,.profile-avatar{background:#303a2c;color:#c0d6ac}
.instagram-link{color:#c4e88d}
.attendance-roster .status-group button{background:transparent;border-color:#3c454b}
.attendance-roster .status-group button.present{color:#80c65e}
.attendance-roster .status-group button.absent{color:#ff6654}
.attendance-roster .status-group button.chosen.present{background:#69ad4e;border-color:#69ad4e;color:#fff}
.attendance-roster .status-group button.chosen.absent{background:#ef4a36;border-color:#ef4a36;color:#fff}
.attendance-roster .status-group button:hover{box-shadow:0 0 0 3px #ffffff06;border-color:currentColor}
.attendance-roster .status-group .clear-attendance{background:transparent;border-color:transparent;color:#9ba89f}
.attendance-summary{color:var(--muted)}.attendance-summary.present strong{color:#95d174}.attendance-summary.absent strong{color:#ff8575}.attendance-summary.unset strong{color:#bdc7bf}
.attendance-status-tabs button{background:var(--raised);border-color:var(--line);color:var(--muted)}
.attendance-status-tabs button span{background:#374039;color:var(--text)}
.attendance-status-tabs button.selected{background:var(--accent-soft);border-color:#6e8454;color:var(--accent)}
dialog{background:var(--surface);color:var(--text);border-color:#424b50;box-shadow:0 24px 100px #0009}
dialog::backdrop{background:#070a0cc2;backdrop-filter:blur(6px)}
.modal-header button{background:var(--raised);color:#bdc7c1}.modal-header button:hover{background:#343d42;color:#fff}
.repeat-fields,.import-summary{background:#252f21}.repeat-preview{color:#b5ce9e}
.form-error,.cancel-notice,.autosave-status.save-error,.autosave-inline .save-error{background:#3c2523;color:#ffada2}
.delete-warning{color:#ffc0b2}.autosave-status{background:#293723;color:#c2dfa9}.autosave-status.save-pending{background:#3b3322;color:#e5cc91}
#toast{background:#d5f76a;color:#263316;box-shadow:0 8px 32px #0006}#toast.error{background:#76372f;color:#ffe6e1}
.login-main{background:var(--page)}.login-card>p,.login-note,.login-back{color:var(--muted)}.overline{color:#a4b48e}
.login-back:hover{color:var(--accent)}.import-card p{color:var(--muted)}
select{background-color:var(--surface);border-color:#394147;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239aa6a0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")}
select:hover:not(:disabled){border-color:#65735d;background-color:#252c2e}
select:focus-visible{border-color:#a4c84d;box-shadow:0 0 0 3px #a7c65b22}
select:disabled{background-color:#202528;opacity:.6}
select option{background:var(--surface);color:var(--text)}
@supports(appearance:base-select){
 select{background-image:none}
 select::picker-icon{border-color:#9aa6a0}
 select:open{background:#252c2e;border-color:#65735d}
 select::picker(select){background:#14181b;border-color:#3c454b;box-shadow:0 12px 36px #0007;color:var(--muted)}
 select option{background:transparent;color:#bac3bd}
 select option:hover,select option:focus{background:#2a3228;color:#edf7df}
 select option:checked{background:#303c25;color:var(--accent)}
}
@media(prefers-reduced-motion:reduce){select,select::picker-icon{transition:none}}
.payment-option{color:#b5c1bb;border-color:#3c454b;background:transparent}
.payment-option:hover:not(:disabled){border-color:#9ebc72;background:#293025}
.payment-option.chosen{background:#303e25;color:#d5f76a;border-color:#76984d}
.payment-option.free:disabled{background:#303e25;border-color:#465b35;color:#c3df9e}
.payment-confirm{background:#3b3322;border-color:#73603a;color:#e6c888}
.payment-confirm:hover{border-color:#ba9c58}
.payment-confirm.confirmed{background:#293b25;border-color:#4e7843;color:#b8e29e}
.payment-mobile-label{color:var(--muted)}

.attendance-indicator.unset{background:#30373c;color:#a1aaa8}
.money-card{background:#20272a;border-color:#394348}
.money-label{color:#a6b5ac}.money-card strong{color:#e3ebe5}
.money-card.total{background:#293322;border-color:#526742}.money-card.total strong{color:var(--accent)}
