*{box-sizing:border-box} :root{font-family:Inter,Arial,sans-serif;--bg:#101112;--panel:#1d1f21;--panel2:#25282b;--text:#f7f7f7;--muted:#a9afb5;--orange:#f47c20;--green:#1f8a45;--red:#b72e22;--line:#363a3e} body{margin:0;background:radial-gradient(circle at top right,rgba(244,124,32,.15),transparent 30rem),var(--bg);color:var(--text)} a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit} button{cursor:pointer}.topbar{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:rgba(15,16,17,.97);border-bottom:3px solid var(--orange)}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;border:3px solid var(--orange);border-radius:50%;display:grid;place-items:center;font-weight:900}.brand-mark.large{width:74px;height:74px;font-size:1.8rem}.brand-title strong,.brand-title span{display:block}.brand-title span{font-size:.78rem;color:var(--muted)}.top-actions{display:flex;gap:14px;align-items:center}.user-chip{background:var(--panel);padding:8px 12px;border-radius:999px}.app-nav{display:flex;gap:4px;padding:10px 18px;background:#171819;overflow-x:auto;border-bottom:1px solid var(--line)}.app-nav a{padding:10px 13px;border-radius:8px;white-space:nowrap;color:var(--muted)}.app-nav a.active,.app-nav a:hover{background:var(--panel2);color:white}.page{max-width:1450px;margin:auto;padding:22px}.page.wide{max-width:none}.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px;background:linear-gradient(135deg,#25282a,#18191a);border:1px solid var(--line);border-left:6px solid var(--orange);border-radius:16px;margin-bottom:18px}.hero.compact{padding:19px 22px}.hero h1{margin:.2rem 0}.hero p{margin:.2rem 0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#ffc295!important;font-size:.76rem;font-weight:800}.primary,.action-button{background:var(--orange);color:#121212;border:0;border-radius:9px;padding:12px 16px;font-weight:900}.status-pill{background:#163d22;color:#cbf5d2;border:1px solid #347c48;border-radius:999px;padding:9px 13px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.metric-card,.panel,.table-card{background:var(--panel);border:1px solid var(--line);border-radius:14px}.metric-card{padding:18px}.metric-card span{display:block;color:var(--muted);font-size:.85rem}.metric-card strong{font-size:1.7rem;display:block;margin-top:6px}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.panel{padding:18px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel h2{margin-top:0}.list-item{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.list-item p,.muted{color:var(--muted);margin:.25rem 0}.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:.78rem}.badge.success{background:#163d22;color:#c6f2cf}.badge.warning{background:#5a3518;color:#ffd6ad}.badge.danger{background:#5a1c18;color:#ffc6c1}.week-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin:18px 0}.week-nav a:last-child{text-align:right}.week-nav a{color:#ffc295;font-weight:700}.availability-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:12px;overflow-x:auto}.day-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;min-width:150px}.day-card h3,.day-card p{text-align:center;margin:.2rem}.day-card p{color:var(--muted);margin-bottom:10px}.slot{width:100%;min-height:66px;border:0;border-radius:9px;color:white;margin:5px 0}.slot span,.slot strong{display:block}.slot span{font-size:.8rem}.slot.available{background:var(--green)}.slot.unavailable{background:var(--red)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.event-card{display:flex;gap:16px}.event-date{min-width:64px;height:64px;border-radius:12px;background:var(--orange);color:#111;display:grid;place-items:center;align-content:center}.event-date strong{font-size:1.5rem}.event-date span{text-transform:uppercase;font-size:.75rem}.event-body{flex:1}.response-row{display:flex;gap:8px}.response-row button{background:#2a2d2f;color:white;border:1px solid #444;border-radius:8px;padding:9px 11px}.response-row button.selected{background:var(--orange);color:#111}.qualification-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.qualification-row p{margin:.2rem 0;color:var(--muted)}.table-card{overflow:hidden}.table-card.scroll{overflow:auto}.data-table,.availability-table{border-collapse:collapse;width:100%}.availability-table{min-width:1700px}.data-table th,.data-table td,.availability-table th,.availability-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.availability-table th,.availability-table td{text-align:center;border:1px solid #4b4f52}.data-table thead th,.availability-table thead th{background:#25282a}.data-table small,.sticky-member small{display:block;color:var(--muted)}.sticky-member{position:sticky;left:0;background:#202224!important;text-align:left!important;z-index:3;min-width:170px}.cell-available{background:#bfe8c5;color:#111}.cell-unavailable{background:#efc1bd;color:#111}.document-card{display:flex;gap:14px;align-items:center}.doc-icon{width:52px;height:52px;border-radius:10px;background:var(--orange);color:#111;display:grid;place-items:center;font-weight:900}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:14px;margin-bottom:16px}.stack-form{display:grid;gap:10px}.stack-form label{display:grid;gap:6px;color:var(--muted)}input,select,textarea{width:100%;background:#111;color:white;border:1px solid #45494d;border-radius:8px;padding:11px}textarea{min-height:90px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.alert{padding:12px;border-radius:9px;margin-bottom:14px}.alert.danger{background:#5a1c18}.alert.info{background:#173a48}.empty-state{text-align:center;padding:30px}.landing{min-height:100vh;display:grid;place-items:center;padding:24px}.login-shell{width:min(980px,100%);display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}.login-brand h1{font-size:3rem;margin:.5rem 0}.login-brand p{color:var(--muted);font-size:1.05rem}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px}.login-card form{display:grid;gap:10px}.trial-box{margin-top:16px;padding:12px;background:#151617;border-radius:8px;color:var(--muted)}.footer{text-align:center;color:var(--muted);padding:30px 18px;font-size:.82rem}@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-brand h1{font-size:2.2rem}.availability-grid{grid-template-columns:repeat(7,155px)}.hero{align-items:flex-start;flex-direction:column}}
.qualification-section{margin-bottom:14px}.qualification-row small,.check-label small{display:block;color:var(--muted);margin-top:3px}.badge.neutral{background:#303438;color:#c4c9ce}.badge.success{background:#163d22;color:#c6f2cf}.badge.warning{background:#5a3518;color:#ffd6ad}.badge.danger{background:#5a1c18;color:#ffc6c1}.capability-table{border-collapse:collapse;min-width:1500px;width:100%}.capability-table th,.capability-table td{padding:10px;border:1px solid #4b4f52;text-align:center}.capability-table thead th{background:#25282a}.matrix-current{background:#bfe8c5;color:#111;font-weight:900}.matrix-expiring{background:#ffd59a;color:#111;font-weight:900}.matrix-expired{background:#efc1bd;color:#111;font-weight:900}.matrix-not-held{background:#e0e3e5;color:#555}.matrix-legend{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);padding:14px}.qualification-editor{margin-bottom:14px}.qualification-edit-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,1fr) minmax(180px,1fr);gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.check-label{display:flex;align-items:center;gap:10px}.check-label input{width:auto}.qualification-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.notes-input{margin:0}.save-button{position:sticky;bottom:16px;box-shadow:0 8px 25px rgba(0,0,0,.45)}.small-button{background:#303438;border:1px solid #50555a;border-radius:8px;padding:8px 11px}.primary-button{display:block;text-align:center;margin-top:14px;padding:14px;border-radius:9px;background:var(--orange);color:#111;font-weight:900}
@media(max-width:850px){.qualification-edit-row{grid-template-columns:1fr}.qualification-dates{grid-template-columns:1fr 1fr}}

.member-admin-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}
.member-admin-row p{margin:.22rem 0;color:var(--muted)}
.member-admin-row small{color:var(--muted)}
.member-name-line{display:flex;align-items:center;gap:9px}
.member-actions{display:flex;gap:8px;flex-wrap:wrap}
.inactive-member{opacity:.62}
.danger-zone{border-color:#6b2924;margin-top:16px}
.danger-button{background:#b72e22;color:white;border:0;border-radius:9px;padding:12px 16px;font-weight:900}
.training-response-row{margin-top:14px;flex-wrap:wrap}
.training-response-row button{min-width:145px;font-weight:800}
.training-response-row .attending-button.selected{background:#1f8a45;color:white;border-color:#55ac70}
.training-response-row .not-attending-button.selected{background:#b72e22;color:white;border-color:#dd6259}
.response-confirm{font-size:.86rem;margin:.65rem 0 0}
.success-text{color:#8de3a4}
.danger-text{color:#ff958d}
.training-admin-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem}
.training-admin-summary .small-button{margin-left:auto;color:white}
.training-response-table{min-width:720px}
@media(max-width:700px){
.member-admin-row{align-items:flex-start;flex-direction:column}
.member-actions{width:100%}
.member-actions a{flex:1;text-align:center}
.training-admin-summary .small-button{margin-left:0;width:100%;text-align:center}
}
