
    :root{--ink:#07111f;--navy:#0a1424;--panel:#111e30;--panel2:#16253a;--lime:#c7ff32;--white:#f7fafc;--muted:#96a5b8;--line:rgba(255,255,255,.11);--red:#ff6b73}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--white);font:16px/1.45 "DM Sans",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.side{background:var(--navy);border-right:1px solid var(--line);padding:26px 18px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;font:700 22px "Oswald";text-transform:uppercase;margin:0 10px 36px}.mark{width:36px;height:36px;border-radius:10px;background:var(--lime);color:var(--navy);display:grid;place-items:center}.label{color:#637288;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;margin:20px 11px 8px}.nav{display:grid;gap:5px}.nav button,.site-link{border:0;background:transparent;color:#aeb9c7;text-align:left;padding:11px 12px;border-radius:10px;font-weight:700;display:flex;align-items:center;gap:10px}.nav button:hover,.nav button.active{background:rgba(199,255,50,.1);color:var(--lime)}.site-link{text-decoration:none;position:absolute;bottom:24px;left:18px;right:18px;border:1px solid var(--line);justify-content:center}.main{padding:30px 34px 60px;min-width:0}.top{display:flex;align-items:center;justify-content:space-between;gap:20px}.top h1{font:600 clamp(32px,5vw,46px)/1 "Oswald";text-transform:uppercase;margin:0}.top p{color:var(--muted);margin:8px 0 0}.avatar{width:43px;height:43px;border-radius:50%;background:var(--lime);color:var(--navy);display:grid;place-items:center;font-weight:800}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}.stat{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:19px}.stat small{color:var(--muted);font-weight:700}.stat strong{display:block;font:600 34px "Oswald";margin-top:6px}.toolbar{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:30px 0 15px}.toolbar h2{font:600 28px "Oswald";text-transform:uppercase;margin:0}.toolbar p{color:var(--muted);margin:4px 0 0}.add{border:0;background:var(--lime);color:var(--navy);border-radius:10px;padding:12px 16px;font-weight:800}.table-wrap{border:1px solid var(--line);border-radius:17px;overflow:auto;background:var(--panel)}table{width:100%;border-collapse:collapse;min-width:760px}th{text-align:left;color:#718197;font-size:12px;text-transform:uppercase;letter-spacing:.08em;padding:14px 18px;background:#0d1929}td{padding:15px 18px;border-top:1px solid var(--line)}td strong{display:block}.sub{color:var(--muted);font-size:13px}.pill{display:inline-flex;padding:5px 8px;border-radius:7px;background:rgba(199,255,50,.1);color:var(--lime);font-size:12px;font-weight:700}.action{border:1px solid var(--line);background:transparent;color:#d7dee8;border-radius:8px;padding:7px 10px;margin-right:5px}.action.delete{color:#ff949a}.empty{text-align:center;color:var(--muted);padding:50px}.empty strong{display:block;color:white;font-size:18px;margin-bottom:5px}.class-rows-toggle{margin-right:5px}.attendees-row td{padding:0;border-top:0}.mini-attendees{background:#0d1929;padding:16px 18px;border-top:1px dashed var(--line)}.mini-wrap{overflow-x:auto;max-width:100%}table.mini{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}table.mini th{text-align:left;color:#718197;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:6px;background:transparent}table.mini th:last-child{width:64px}table.mini td{padding:8px 6px;border-top:1px solid rgba(255,255,255,.07);vertical-align:top;overflow-wrap:anywhere;word-break:break-word}table.mini .action{padding:5px 7px;font-size:12px;white-space:nowrap}.panel{display:none}.panel.active{display:block}.notice{background:rgba(199,255,50,.08);border:1px solid rgba(199,255,50,.25);color:#dfffa0;padding:12px 15px;border-radius:11px;margin-top:20px;font-size:14px}.modal{border:0;border-radius:20px;background:var(--panel2);color:white;padding:0;width:min(520px,calc(100% - 24px));box-shadow:0 30px 90px #0009}.modal::backdrop{background:#020713cc;backdrop-filter:blur(5px)}.modal-inner{padding:25px}.modal-head{display:flex;justify-content:space-between;align-items:start}.modal h3{font:600 28px "Oswald";text-transform:uppercase;margin:0}.close{border:1px solid var(--line);background:transparent;color:white;width:36px;height:36px;border-radius:9px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:700}.field input,.field select{background:var(--navy);border:1px solid #35445a;color:white;border-radius:9px;padding:11px} .field select{color:#f7fafc;color-scheme:dark}.field select option{background:#0a1424;color:#f7fafc}.save{width:100%;margin-top:20px}.toast{position:fixed;right:24px;bottom:24px;background:var(--lime);color:var(--navy);font-weight:800;padding:13px 17px;border-radius:11px;transform:translateY(100px);opacity:0;transition:.25s;z-index:10}.toast.show{transform:none;opacity:1}
    .date-field{grid-column:1/-1}.date-value{background:var(--navy);border:1px solid #35445a;color:white;border-radius:9px;padding:11px 13px;text-align:left;width:100%;display:flex;justify-content:space-between}.calendar{margin-top:8px;background:var(--navy);border:1px solid var(--line);border-radius:12px;padding:12px}.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.cal-head strong{font-size:14px}.cal-nav{border:1px solid var(--line);background:transparent;color:white;border-radius:7px;width:32px;height:30px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.cal-grid span{color:#718197;font-size:11px;padding:5px 0}.cal-day{border:0;background:transparent;color:#dce3eb;border-radius:7px;padding:7px 2px}.cal-day:hover{background:#26374d}.cal-day.selected{background:var(--lime);color:var(--navy);font-weight:800}.cal-day.blank{pointer-events:none}.time-row{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}.time-row select{width:100%;font-variant-numeric:tabular-nums}.time-row b{font-size:20px}.hint{font-size:12px;color:var(--muted)}.week-builder{grid-column:1/-1;display:grid;gap:7px}.week-builder>label{font-size:13px;font-weight:700}.schedule-row{display:grid;grid-template-columns:26px 105px 1fr;gap:8px;align-items:start;background:var(--navy);border:1px solid var(--line);border-radius:10px;padding:10px 11px}.schedule-row:has(>input[type="checkbox"]:not(:checked)){opacity:.55}.schedule-row>input[type="checkbox"]{width:17px;height:17px;margin-top:9px;accent-color:var(--lime)}.schedule-row>strong{font-size:14px;margin-top:7px}.schedule-row strong span{display:block;color:var(--muted);font-size:11px;font-weight:500}.day-sessions{display:grid;gap:7px}.session-slot{display:grid;grid-template-columns:minmax(110px,1fr) 70px auto 70px auto;gap:7px;align-items:center}.session-slot select,.day-coach{background:#14243a;border:1px solid #35445a;color:white;border-radius:7px;padding:7px;font-variant-numeric:tabular-nums;min-width:0}.add-session,.remove-session{border:1px solid var(--line);background:transparent;color:var(--lime);border-radius:7px;padding:6px 9px;font-size:12px;font-weight:800}.add-session{justify-self:start}.remove-session{color:#ff949a}.range-badge{display:inline-flex;margin-top:8px;padding:6px 9px;border-radius:8px;background:rgba(199,255,50,.1);color:var(--lime);font-size:12px;font-weight:700}
    .modal{width:min(720px,calc(100% - 24px))}.date-filters{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.date-filters label{display:grid;gap:4px;color:var(--muted);font-size:12px;font-weight:700}.date-filters input{background:var(--panel);border:1px solid var(--line);color:white;border-radius:9px;padding:9px 10px;color-scheme:dark}.date-filters button{padding:10px 13px}
    @media(max-width:760px){.app{display:block}.side{position:static;height:auto;padding:15px}.brand{margin:0 0 13px}.nav{display:flex;overflow:auto}.label,.site-link{display:none}.main{padding:22px 14px 50px}.stats{grid-template-columns:1fr}.toolbar{align-items:center}.grid{grid-template-columns:1fr}.field.full,.date-field{grid-column:auto}.schedule-row{grid-template-columns:26px 1fr}.schedule-row>strong,.day-sessions{grid-column:2}.session-slot{grid-template-columns:60px auto 60px 30px}.session-slot .day-coach{grid-column:1/-1}}

    /* Seasons + promotions */
    textarea{font:inherit}.field textarea{background:var(--navy);border:1px solid #35445a;color:white;border-radius:9px;padding:11px;min-height:92px;resize:vertical}.image-field{grid-column:1/-1}.image-upload-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.image-field input[type="file"]{padding:9px;background:#0a1424}.image-preview{margin-top:8px;min-height:150px;border:1px dashed #35445a;border-radius:12px;background:#0a1424;display:grid;place-items:center;overflow:hidden;color:var(--muted);font-size:13px}.image-preview img{width:100%;height:220px;object-fit:contain;background:#07111f;display:block}.image-actions{display:flex;gap:8px;margin-top:8px}.thumb{width:58px;height:42px;border-radius:8px;object-fit:cover;border:1px solid var(--line);margin-right:9px;vertical-align:middle}.pill.dim{color:#aab5c2;background:rgba(255,255,255,.06)}.pill.warn{color:#ffd28a;background:rgba(255,183,76,.10)}.two-toolbar{display:grid;grid-template-columns:1fr auto;align-items:end;gap:16px}.section-gap{margin-top:34px}.price-note{color:var(--lime);font-size:12px;font-weight:800}.linked{color:#b8c6d6;font-size:12px}.extra-modal{width:min(650px,calc(100% - 24px))}.extra-modal .grid{grid-template-columns:1fr 1fr}.extra-modal .full{grid-column:1/-1}.extra-modal input[type="checkbox"]{width:18px;height:18px;accent-color:var(--lime)}.theme-picker{display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:center}.theme-picker input[type="color"]{width:54px;height:42px;padding:4px;border-radius:9px;cursor:pointer}.theme-code{color:var(--muted);font-size:12px}.image-preview img{max-width:100%;max-height:220px;object-fit:contain}
    /* Preview the complete upload without cropping or stretching it. */
    .image-preview{padding:10px}
    .image-preview img{width:auto;height:auto;max-width:100%;max-height:440px;object-fit:contain}
    .thumb{object-fit:contain;background:#07111f}
    .directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
    .directory-card{padding:19px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
    .directory-card h3{font-size:21px;margin-bottom:7px}.directory-card p{margin:0;color:var(--muted);font-size:13px}.directory-card .card-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.directory-card .card-actions{display:flex;gap:7px;margin-top:15px}
    .status-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--lime)}.status-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status-dot.inactive{color:var(--muted)}
    @media(max-width:980px){.directory-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:600px){.directory-grid{grid-template-columns:1fr}}
    @media(max-width:760px){.extra-modal .grid{grid-template-columns:1fr}.extra-modal .full{grid-column:auto}.two-toolbar{grid-template-columns:1fr}}

    @media(max-width:600px){.coach-image-row{grid-template-columns:1fr}}
  .notification-item{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.notification-item.unread{border-color:rgba(199,255,50,.45);background:rgba(199,255,50,.06)}.notification-item strong{display:block}.notification-item .sub{display:block;margin-top:3px;color:var(--muted);font-size:12px}.notification-item small{display:block;margin-top:7px;color:var(--muted)}



/* Simplified coach admin: basic scheduling directory only. */
.coach-admin-photo,.coach-admin-meta,.coach-image-row,.coach-image-preview,#coachPhotoPreview{display:none!important}



.member-management{margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}.member-warning{display:none;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:15px 17px;border:1px solid rgba(255,187,82,.35);border-radius:13px;background:rgba(255,187,82,.09);color:#ffd28a}.member-warning.show{display:flex}.member-warning button,.member-actions button{border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;padding:7px 9px;font-weight:800}.member-name small{display:block;color:var(--muted);font-weight:500}.member-actions{display:flex;gap:7px;flex-wrap:wrap}.member-actions .resume{color:var(--lime)}.status-active{color:var(--lime)}.status-expiring{color:#ffd28a}.status-expired{color:#ff8d94}.status-frozen{color:#8db6ff}@media(max-width:760px){.member-warning{align-items:flex-start;flex-direction:column}.member-management .table-wrap{overflow-x:auto}.member-management table{min-width:900px}}


.member-id-code{font:800 12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;color:var(--lime);white-space:nowrap}
.status-pending{color:#ffd28a}.status-approved,.status-active,.status-confirmed{color:var(--lime)}
.status-rejected,.status-cancelled,.status-expired{color:#ff8d94}.status-frozen{color:#8db6ff}
.api-state{margin-top:20px}.api-state.error{border-color:rgba(255,107,115,.45);color:#ffb2b7;background:rgba(255,107,115,.08)}
.member-id-code{font:800 12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;color:var(--lime);white-space:nowrap}
.member-management{margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}
.member-actions{display:flex;gap:7px;flex-wrap:wrap}
