:root{--primary:#009080;--primary-hover:#00A890;--background:#080808;--surface:#181818;--surface-2:#242424;--border:#303030;--text:#F8F8F8;--text-muted:#A8A8A8;--danger:#ef6b6b;--warning:#e7bd65;--font-heading:'Syne',sans-serif;--font-body:'Plus Jakarta Sans',sans-serif;--font-mono:'Space Grotesk',monospace}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--text);font-family:var(--font-body)}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--text-muted)}.error{color:var(--danger);min-height:20px;font-size:13px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 10%,rgba(0,144,128,.13),transparent 40%)}.login-card{width:min(440px,100%);background:rgba(24,24,24,.96);border:1px solid var(--border);padding:40px;border-radius:20px;box-shadow:0 30px 90px #000}.brand{display:flex;align-items:center;gap:12px;margin-bottom:45px}.brand b{display:block;font-family:var(--font-heading);letter-spacing:.12em}.brand small{display:block;color:var(--primary);font-size:9px;letter-spacing:.2em}.mark{width:38px;height:38px;border:1px solid var(--primary);display:grid;place-items:center;color:var(--primary);font-family:var(--font-heading);font-weight:800}.eyebrow{font:600 11px var(--font-mono);letter-spacing:.16em;color:var(--primary)}h1,h2,h3{font-family:var(--font-heading);margin:0}.login-card h1{font-size:42px;margin:8px 0}.login-card form{margin-top:28px}label{display:block;color:var(--text-muted);font-size:13px;margin:18px 0}input,select{width:100%;margin-top:8px;background:#101010;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:13px 14px;outline:none}input:focus,select:focus{border-color:var(--primary)}.btn{border:0;border-radius:10px;padding:12px 17px;font-weight:700}.btn.primary{background:var(--primary);color:white}.btn.primary:hover{background:var(--primary-hover)}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;background:#0d0d0d;border-right:1px solid var(--border);padding:26px 18px;display:flex;flex-direction:column}.sidebar .brand{margin:0 10px 35px}.sidebar nav{display:grid;gap:6px}.nav-btn{border:1px solid transparent;background:transparent;color:var(--text-muted);text-align:left;padding:12px 13px;border-radius:9px}.nav-btn:hover,.nav-btn.active{background:var(--surface);color:var(--text);border-color:var(--border)}.nav-btn.active{box-shadow:inset 3px 0 var(--primary)}.side-bottom{margin-top:auto;border-top:1px solid var(--border);padding-top:18px}.user-mini{display:flex;gap:10px;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;background:var(--primary);display:grid;place-items:center;font-weight:800}.user-mini b,.user-mini small{display:block}.user-mini small{font-size:11px;color:var(--text-muted);text-transform:capitalize}.logout{margin-top:14px;background:none;border:0;color:var(--text-muted);padding:8px 0}.main{margin-left:255px;min-height:100vh;padding:34px 40px}.topbar{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--border);padding-bottom:25px;margin-bottom:28px}.topbar h1{font-size:38px}.top-actions{display:flex;align-items:center;gap:10px}.date{font:12px var(--font-mono);color:var(--text-muted)}.icon-btn{width:38px;height:38px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}.stat .label{color:var(--text-muted);font-size:12px}.stat .value{font:700 32px var(--font-mono);margin-top:8px}.stat .accent{color:var(--primary)}.two{grid-template-columns:1.5fr 1fr;margin-top:16px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel h2{font-size:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--border);white-space:nowrap}th{font:600 10px var(--font-mono);letter-spacing:.08em;color:var(--text-muted)}.badge{display:inline-block;padding:5px 8px;border-radius:20px;background:rgba(0,144,128,.12);color:#5ee0d0;font-size:10px;text-transform:capitalize}.badge.warn{background:rgba(231,189,101,.12);color:var(--warning)}.badge.danger{background:rgba(239,107,107,.12);color:var(--danger)}.cards{grid-template-columns:repeat(3,1fr)}.class-card{padding:17px;border:1px solid var(--border);border-radius:12px;background:#121212}.class-card .time{font:700 18px var(--font-mono);color:var(--primary)}.class-card h3{font-size:18px;margin:8px 0}.class-card small{color:var(--text-muted)}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px}.toolbar input{margin:0;max-width:320px}.chart{display:flex;align-items:flex-end;gap:14px;height:190px;padding:20px 5px 0}.bar-wrap{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}.bar{width:100%;max-width:42px;background:var(--primary);border-radius:5px 5px 0 0;min-height:4px}.bar-label{font:10px var(--font-mono);color:var(--text-muted)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.form-grid label{margin:4px 0}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px;z-index:5}.modal-box{width:min(600px,100%);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px}.modal-head{display:flex;justify-content:space-between}.close{background:none;border:0;color:var(--text-muted);font-size:24px}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.btn.ghost{background:var(--surface-2);color:var(--text)}@media(max-width:1000px){.sidebar{width:76px}.sidebar .brand div,.sidebar .brand small,.nav-btn span,.side-bottom .user-mini div:not(.avatar),.logout{display:none}.sidebar .brand{margin:0 0 35px;justify-content:center}.nav-btn{text-align:center}.main{margin-left:76px;padding:24px}.stats{grid-template-columns:repeat(2,1fr)}.two,.cards{grid-template-columns:1fr}}@media(max-width:600px){.main{padding:18px}.topbar{align-items:flex-start}.date{display:none}.stats{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}

/* Membership health / live expiry system */
:root{--danger:#ff4d5f;--danger-glow:rgba(255,77,95,.42);--warning:#f0c34e;--warning-glow:rgba(240,195,78,.28)}
.expiry-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.055)}
.expiry-row:last-child{border-bottom:0}
.expiry-indicator{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font:600 10px var(--font-mono);letter-spacing:.03em;text-transform:uppercase}
.expiry-indicator i{width:7px;height:7px;border-radius:50%;display:inline-block;background:#6f7676}
.expiry-indicator.normal{color:#7dd8ce}.expiry-indicator.normal i{background:var(--primary);box-shadow:0 0 8px rgba(0,168,144,.55)}
.expiry-indicator.warning{color:var(--warning)}.expiry-indicator.warning i{background:var(--warning);box-shadow:0 0 8px var(--warning-glow);animation:ledPulseWarning 1.8s ease-in-out infinite}
.expiry-indicator.critical{color:#ff7886}.expiry-indicator.critical i{background:var(--danger);box-shadow:0 0 7px var(--danger-glow),0 0 15px var(--danger-glow);animation:ledPulseDanger 1s ease-in-out infinite}
.expiry-indicator.expired{color:#ff5d6d}.expiry-indicator.expired i{background:#ff3349;box-shadow:0 0 8px rgba(255,51,73,.55)}
.membership-row.warning{background:linear-gradient(90deg,rgba(240,195,78,.035),transparent)}
.membership-row.critical{background:linear-gradient(90deg,rgba(255,77,95,.075),transparent)}
.membership-row.critical td:first-child{border-left:2px solid var(--danger);padding-left:10px}
.membership-row.warning td:first-child{border-left:2px solid var(--warning);padding-left:10px}
.membership-health .stat{position:relative;overflow:hidden}
.membership-health .danger-value{color:var(--danger)}
.membership-health .warning-value{color:var(--warning)}
.membership-health .attention-value{color:#e9a66a}
.legend{display:flex;align-items:center;gap:20px;margin:-4px 0 17px;padding:10px 12px;background:#121212;border:1px solid rgba(255,255,255,.055);border-radius:10px;width:max-content;max-width:100%}
@keyframes ledPulseDanger{0%,100%{opacity:.62;transform:scale(.9);box-shadow:0 0 5px var(--danger-glow)}50%{opacity:1;transform:scale(1.12);box-shadow:0 0 8px var(--danger-glow),0 0 18px var(--danger-glow)}}
@keyframes ledPulseWarning{0%,100%{opacity:.65}50%{opacity:1;box-shadow:0 0 10px var(--warning-glow)}}
@media(max-width:600px){.legend{width:100%;justify-content:space-between;gap:8px}.expiry-row{align-items:flex-start;flex-direction:column}.expiry-indicator{margin-top:2px}}

/* ===== LIVE / ALIVE MEMBERSHIP UI ===== */
.health-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;margin-bottom:16px;border:1px solid rgba(0,144,128,.28);border-radius:16px;background:radial-gradient(circle at 0% 50%,rgba(0,144,128,.16),transparent 42%),linear-gradient(135deg,#171717,#101010);box-shadow:0 18px 50px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.03)}
.health-hero h2{font-size:27px;margin:3px 0 4px}.health-pulse{display:flex;align-items:center;gap:9px;font:700 10px var(--font-mono);letter-spacing:.16em;color:#63e5d7}.health-pulse i,.live-dot i{width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 7px rgba(0,168,144,.7),0 0 18px rgba(0,168,144,.35);animation:livePulse 1.25s ease-in-out infinite}
.membership-health{margin-bottom:16px}.membership-health .stat{overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.membership-health .stat:hover{transform:translateY(-2px);border-color:#3a3a3a}.membership-health .stat:nth-child(2){border-color:rgba(255,77,95,.24);box-shadow:inset 0 0 28px rgba(255,77,95,.025)}.membership-health .stat:nth-child(3){border-color:rgba(240,195,78,.22)}.membership-health .stat:nth-child(4){border-color:rgba(0,144,128,.22)}.membership-health .healthy-value{color:#63e5d7}
.membership-alert-strip{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:15px 18px;border-radius:13px;border:1px solid var(--border);background:#111;position:relative;overflow:hidden}.membership-alert-strip:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--primary);box-shadow:0 0 16px rgba(0,144,128,.5)}.membership-alert-strip.has-critical:before{background:var(--danger);box-shadow:0 0 18px var(--danger-glow)}.membership-alert-strip.has-warning:before{background:var(--warning);box-shadow:0 0 16px var(--warning-glow)}.membership-alert-strip b,.membership-alert-strip span{display:block}.membership-alert-strip b{font-size:13px}.membership-alert-strip span{font-size:11px;color:var(--text-muted);margin-top:3px}.alert-led{width:12px;height:12px;border-radius:50%;flex:0 0 auto}.alert-led.red{background:var(--danger);box-shadow:0 0 7px var(--danger-glow),0 0 22px var(--danger-glow);animation:ledPulseDanger 1s ease-in-out infinite}.alert-led.yellow{background:var(--warning);box-shadow:0 0 7px var(--warning-glow),0 0 18px var(--warning-glow);animation:ledPulseWarning 1.6s ease-in-out infinite}.alert-led.green{background:var(--primary);box-shadow:0 0 7px rgba(0,168,144,.55),0 0 18px rgba(0,168,144,.25)}
.live-dot{display:inline-flex;align-items:center;gap:7px;color:#63e5d7;font:600 9px var(--font-mono);letter-spacing:.12em}.live-dot i{width:6px;height:6px}
.membership-row{transition:background .2s,transform .2s}.membership-row:hover{background:rgba(255,255,255,.025)!important}.membership-row.warning{background:linear-gradient(90deg,rgba(240,195,78,.07),transparent 72%)}.membership-row.critical{background:linear-gradient(90deg,rgba(255,77,95,.12),transparent 72%)}.membership-row.warning td:first-child{border-left:3px solid var(--warning);padding-left:11px;box-shadow:inset 12px 0 18px rgba(240,195,78,.035)}.membership-row.critical td:first-child{border-left:3px solid var(--danger);padding-left:11px;box-shadow:inset 14px 0 20px rgba(255,77,95,.045)}.membership-row.expired{opacity:.7}
.member-cell{display:flex;align-items:center;gap:10px}.member-cell small{display:block;color:var(--text-muted);font-size:10px;margin-top:2px}.member-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#242424;color:#d8fffa;font:700 13px var(--font-heading);border:1px solid #353535}.membership-row.critical .member-avatar{border-color:rgba(255,77,95,.55);color:#ff8994;box-shadow:0 0 14px rgba(255,77,95,.1)}.membership-row.warning .member-avatar{border-color:rgba(240,195,78,.45);color:#f3d879}
.expiry-indicator{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06)}.expiry-indicator.warning{background:rgba(240,195,78,.07);border-color:rgba(240,195,78,.22)}.expiry-indicator.critical{background:rgba(255,77,95,.08);border-color:rgba(255,77,95,.28)}
@keyframes livePulse{0%,100%{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
@media(max-width:600px){.health-hero{padding:20px;align-items:flex-start}.health-pulse{margin-top:4px}.membership-alert-strip{align-items:flex-start}.membership-health .stat .value{font-size:27px}}

/* ===== MOBILE + LIVE OPERATIONS UI ===== */
.nav-icon{display:inline-grid;width:22px;place-items:center;margin-right:7px;color:var(--primary);font-size:15px}.mobile-menu{display:none}.quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.quick{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:linear-gradient(180deg,#1b1b1b,#121212);color:var(--text);padding:11px 14px;border-radius:10px;font-weight:700;box-shadow:0 8px 25px rgba(0,0,0,.12);transition:.2s}.quick:hover{border-color:rgba(0,144,128,.55);transform:translateY(-1px)}.quick.primary{background:var(--primary);border-color:var(--primary);box-shadow:0 0 22px rgba(0,144,128,.18)}.status-row{grid-template-columns:1.25fr 1fr;margin-bottom:16px}.gym-status{display:flex;align-items:center;gap:15px;background:#111;border:1px solid var(--border);border-radius:14px;padding:16px 18px}.gym-status.open{border-color:rgba(0,144,128,.3);box-shadow:inset 0 0 35px rgba(0,144,128,.025)}.gym-status.closed{border-color:rgba(255,77,95,.2)}.status-led{width:14px;height:14px;border-radius:50%;background:var(--danger);flex:0 0 auto}.gym-status.open .status-led{background:var(--primary);box-shadow:0 0 8px rgba(0,168,144,.8),0 0 22px rgba(0,168,144,.3);animation:livePulse 1.4s infinite}.gym-status.closed .status-led{box-shadow:0 0 8px var(--danger-glow)}.gym-status span,.gym-status b,.gym-status small{display:block}.gym-status span{font:600 9px var(--font-mono);letter-spacing:.13em;color:var(--text-muted)}.gym-status b{font:800 20px var(--font-heading);margin:1px 0}.gym-status small{font-size:11px;color:var(--text-muted)}.mini-alerts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini-alert{display:flex;align-items:center;gap:10px;background:#111;border:1px solid var(--border);border-radius:12px;padding:12px}.mini-alert>i{width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 7px rgba(0,168,144,.5)}.mini-alert.critical>i{background:var(--danger);box-shadow:0 0 9px var(--danger-glow)}.mini-alert.warning>i{background:var(--warning);box-shadow:0 0 9px var(--warning-glow)}.mini-alert b,.mini-alert small{display:block}.mini-alert b{font:700 18px var(--font-mono)}.mini-alert small{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.notification-panel{margin-top:16px}.notification-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.notification{display:flex;gap:11px;padding:13px;background:#111;border:1px solid rgba(255,255,255,.055);border-radius:11px}.notification.unread{border-color:rgba(0,144,128,.18);background:linear-gradient(90deg,rgba(0,144,128,.035),#111)}.notification-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);margin-top:5px;flex:0 0 auto}.notification-dot.warning{background:var(--warning);box-shadow:0 0 8px var(--warning-glow)}.notification-dot.danger{background:var(--danger);box-shadow:0 0 8px var(--danger-glow)}.notification-dot.success{background:var(--primary)}.notification b{font-size:12px}.notification p{margin:4px 0;color:var(--text-muted);font-size:11px;line-height:1.5}.notification small{font-size:9px;color:#777}.filter-pills{display:flex;gap:7px;flex-wrap:wrap;margin:-2px 0 15px}.filter{border:1px solid var(--border);background:#111;color:var(--text-muted);border-radius:999px;padding:7px 11px;font-size:11px}.filter.active,.filter:hover{color:var(--text);border-color:rgba(0,144,128,.45);background:rgba(0,144,128,.08)}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.calendar-toolbar b,.calendar-toolbar small{display:block}.calendar-toolbar small{color:var(--text-muted);font-size:11px;margin-top:3px}.calendar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.day-column{background:#111;border:1px solid var(--border);border-radius:13px;padding:10px;min-height:180px}.day-head{display:flex;align-items:baseline;gap:7px;padding:4px 5px 10px;border-bottom:1px solid var(--border);margin-bottom:9px}.day-head span{font:600 10px var(--font-mono);color:var(--primary);text-transform:uppercase}.day-head b{font:800 22px var(--font-mono)}.day-head small{color:var(--text-muted);font-size:10px}.calendar-card{padding:11px;margin-bottom:8px;border-radius:10px;background:#191919;border:1px solid #2b2b2b;display:grid;gap:4px}.calendar-card b{font-size:12px}.calendar-card small{color:var(--text-muted);font-size:10px}.calendar-time{font:700 13px var(--font-mono);color:var(--primary)}.growth-line{padding:8px 0;margin:0;border-bottom:1px solid var(--border)}.growth-line span{float:right;font-family:var(--font-mono);color:var(--primary)}.full{grid-column:1/-1}
@media(max-width:1100px){.calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.status-row{grid-template-columns:1fr}.notification-list{grid-template-columns:1fr}}
@media(max-width:760px){body{overflow-x:hidden}.sidebar{width:250px;transform:translateX(-100%);transition:transform .25s ease;z-index:20;box-shadow:20px 0 50px rgba(0,0,0,.35)}body.mobile-nav-open .sidebar{transform:translateX(0)}.sidebar .brand div,.sidebar .brand small,.nav-btn span,.side-bottom .user-mini div:not(.avatar),.logout{display:block}.sidebar .brand{margin:0 10px 35px;justify-content:flex-start}.nav-btn{text-align:left}.main{margin-left:0;padding:16px 14px}.topbar{padding-bottom:17px;margin-bottom:18px;align-items:center}.topbar h1{font-size:29px}.mobile-menu{display:block}.date{display:none}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:15px}.stat .value{font-size:25px}.cards{grid-template-columns:1fr}.two{grid-template-columns:1fr}.mini-alerts{grid-template-columns:repeat(3,1fr)}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr)}.quick{justify-content:center}.notification-list{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:15px}.panel-head{align-items:flex-start;gap:10px}.panel-head h2{font-size:18px}.toolbar{flex-direction:column;align-items:stretch}.toolbar input{max-width:none}.toolbar .btn{width:100%}.table-wrap{margin:0 -15px;padding:0 15px}table{font-size:12px}.modal-box{padding:18px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}}
@media(max-width:480px){.stats{grid-template-columns:1fr 1fr}.mini-alerts{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr}.quick{justify-content:flex-start}.calendar-grid{grid-template-columns:1fr}.health-hero{flex-direction:column}.health-pulse{align-self:flex-start}.membership-alert-strip{padding:13px}.membership-health .stat .value{font-size:23px}.topbar h1{font-size:25px}.two{margin-top:10px}}


/* ===== GYM FULL MOBILE RESPONSIVE ===== */
html,body{max-width:100%;overflow-x:hidden}
*{box-sizing:border-box}
img,video,canvas,svg{max-width:100%}
button,input,select,textarea{font:inherit}
.mobile-menu-btn{display:none;width:44px;height:44px;border:1px solid #303030;border-radius:12px;background:#181818;color:#F8F8F8;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;position:relative;z-index:1101}
.mobile-menu-btn span,.mobile-menu-btn span:before,.mobile-menu-btn span:after{width:20px;height:2px;background:#F8F8F8;border-radius:3px;display:block;content:"";position:relative}
.mobile-menu-btn span:before{position:absolute;top:-7px}.mobile-menu-btn span:after{position:absolute;top:7px}
.sidebar-overlay{display:none}
@media(max-width:900px){
 .mobile-menu-btn{display:inline-flex}
 .sidebar{position:fixed!important;z-index:1000;left:0;top:0;bottom:0;width:min(82vw,300px)!important;max-width:300px;transform:translateX(-105%);transition:transform .25s ease;box-shadow:20px 0 60px rgba(0,0,0,.45);overflow-y:auto}
 body.sidebar-open .sidebar{transform:translateX(0)}
 .sidebar-overlay{display:block;position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.62);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .25s ease}
 body.sidebar-open .sidebar-overlay{opacity:1;pointer-events:auto}
 .main,.main-content,.content,.dashboard-content{width:100%!important;min-width:0!important;margin-left:0!important}
 .topbar,.header,.dashboard-header{width:100%;min-width:0}
 .topbar-inner,.header-inner{padding:10px 14px!important;gap:10px}
 .dashboard-container,.content-inner,.main-content{padding:16px!important}
 .stats-grid,.stat-grid,.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .card-grid,.cards-grid,.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 .quick-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .quick-actions>*{width:100%;min-width:0}
 .table-wrapper,.table-responsive,.data-table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
 table{min-width:650px}
 .calendar{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .calendar-grid{min-width:700px}
 .modal{padding:12px!important;align-items:flex-end!important}
 .modal-content,.modal-card{width:100%!important;max-width:100%!important;max-height:90vh;overflow-y:auto;border-radius:18px 18px 0 0}
 .form-grid{grid-template-columns:1fr!important}
 input,select,textarea{min-height:46px;width:100%}
}
@media(max-width:600px){
 .stats-grid,.stat-grid,.dashboard-stats,.card-grid,.cards-grid,.feature-grid{grid-template-columns:1fr!important}
 .quick-actions{grid-template-columns:1fr 1fr}
 .quick-actions button,.quick-actions a{min-height:48px}
 .section-header{align-items:flex-start!important;flex-direction:column!important;gap:10px}
 .page-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
 .page-actions>*{width:100%}
 .topbar .user-name,.header .user-name{display:none}
 .toast{left:12px!important;right:12px!important;width:auto!important}
 .modal-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
 .modal-actions button{width:100%;min-height:46px}
}
@media(max-width:380px){
 .dashboard-container,.content-inner,.main-content{padding:12px!important}
 .quick-actions{grid-template-columns:1fr}
}

.attendance-list{display:grid;gap:10px;max-height:55vh;overflow:auto}.attendance-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border,#ddd);border-radius:12px}.attendance-row small{display:block;color:var(--muted,#777)}.attendance-row select{min-width:130px}.class-card{border:0;text-align:left;cursor:pointer}.class-card:focus-visible{outline:2px solid currentColor;outline-offset:2px}
