:root{--bg: #0b0f19;--surface: #141a24;--surface-2: #1a2230;--surface-3: #242f40;--border: rgba(255,255,255,.08);--accent: #ff6b35;--accent-dim: #d9531e;--accent-2: #38e8a5;--accent-2-dim: #1e9f72;--danger: #ff4d4f;--warning: #ffb84d;--text: #f8fafc;--text-muted: #b6beca;--text-faint: #7d8796;--font-display: "Bebas Neue", "Impact", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 12px;--radius-md: 18px;--radius-lg: 28px;--max-width: 1280px;--shadow-card: 0 20px 50px rgba(0, 0, 0, .45);--shadow-orange: 0 15px 40px rgba(255, 107, 53, .25);--shadow-green: 0 15px 40px rgba(56, 232, 165, .2);--transition: all .3s ease}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden;background-image:radial-gradient(circle at top left,rgba(255,107,53,.12),transparent 35%),radial-gradient(circle at top right,rgba(56,232,165,.08),transparent 30%),radial-gradient(circle at bottom center,rgba(255,107,53,.06),transparent 45%);background-attachment:fixed}h1,h2,h3,h4,h5,h6,.display{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;line-height:1}h1{font-size:clamp(3rem,8vw,7rem)}h2{font-size:clamp(2rem,5vw,3.2rem)}h3{font-size:1.7rem}p{line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font-family:inherit}img{max-width:100%;display:block}.mono{font-family:var(--font-mono)}.text-accent{color:var(--accent)}.text-success{color:var(--accent-2)}.text-danger{color:var(--danger)}.text-muted{color:var(--text-muted)}.text-faint{color:var(--text-faint)}.glow-orange{box-shadow:var(--shadow-orange)}.glow-green{box-shadow:var(--shadow-green)}.fade-in{animation:fadeIn .6s ease forwards}.slide-up{animation:slideUp .6s ease forwards}.scale-in{animation:scaleIn .4s ease forwards}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ff845b}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (max-width: 992px){h1{font-size:4rem}h2{font-size:2.5rem}}@media (max-width: 768px){body{background-image:radial-gradient(circle at top,rgba(255,107,53,.12),transparent 40%)}h1{font-size:3.3rem}h2{font-size:2rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.navbar,.card,.stat-card,.auth-card .card,.auth-shell .card,.sidebar,.welcome-banner,.analytics-card,.quick-action,.modal,.toast,.member-row,.profile-card{backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}.navbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#141a24b8;border-bottom:1px solid var(--border);transition:var(--transition)}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:26px;letter-spacing:.04em;text-transform:uppercase}.brand .plate-mark{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--bg) 0 22%,var(--accent) 23% 60%,var(--bg) 61% 68%,var(--accent) 69% 100%);box-shadow:0 0 0 2px var(--border),var(--shadow-orange);transition:var(--transition)}.navbar:hover .brand .plate-mark{transform:rotate(15deg)}.brand span.rats{color:var(--accent)}.nav-links{display:flex;gap:10px;align-items:center}.nav-pill{padding:8px 14px;border-radius:999px;font-size:14px;font-weight:600;color:var(--text-muted);border:1px solid transparent;transition:var(--transition)}.nav-pill.active,.nav-pill:hover{color:var(--text);background:var(--surface-2);border-color:var(--accent-dim);box-shadow:0 4px 14px #ff6b3526}.sidebar{background:#141a2499;border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-card);height:fit-content}.sidebar .side-link{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--text-muted);font-weight:600;font-size:14px;transition:var(--transition)}.sidebar .side-link:hover{background:var(--surface-2);color:var(--text);transform:translate(4px)}.sidebar .side-link.active{background:linear-gradient(135deg,#ff6b3529,#38e8a514);color:var(--text);border:1px solid var(--accent-dim)}.sidebar .side-divider{height:1px;background:var(--border);margin:10px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--radius-sm);font-weight:700;font-size:14px;letter-spacing:.02em;border:1px solid transparent;cursor:pointer;transition:var(--transition);position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#0a0a0c;box-shadow:var(--shadow-orange)}.btn-primary:hover{background:#ff845b;transform:translateY(-2px);box-shadow:0 18px 44px #ff6b3559}.btn-lime{background:var(--accent-2);color:#06251c;box-shadow:var(--shadow-green)}.btn-lime:hover{background:#5cf0b8;transform:translateY(-2px);box-shadow:0 18px 44px #38e8a54d}.btn-ghost{background:#ffffff08;border-color:var(--border);color:var(--text)}.btn-ghost:hover{background:var(--surface-2);border-color:var(--accent-dim);transform:translateY(-1px)}.btn-outline{background:transparent;border-color:var(--border);color:var(--text-muted)}.btn-outline:hover{background:var(--surface-2);border-color:var(--accent-dim);color:var(--text);transform:translateY(-1px)}.btn-secondary{background:var(--surface-2);border-color:var(--border);color:var(--text)}.btn-secondary:hover{border-color:var(--accent-dim);transform:translateY(-1px)}.btn-secondary.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:#ff4d4f1f;box-shadow:0 10px 30px #ff4d4f33}.btn-block{width:100%}.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.card{background:#141a248c;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-card);transition:var(--transition)}.card:hover{border-color:#ff6b3540;transform:translateY(-3px);box-shadow:0 26px 60px #00000080}.card-tight{padding:18px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.welcome-banner{position:relative;overflow:hidden;background:linear-gradient(135deg,#ff6b3524,#38e8a50f 60%),#141a2499;border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 30px;margin-bottom:24px;box-shadow:var(--shadow-card)}.welcome-banner:after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;border:30px solid rgba(255,107,53,.08)}.welcome-banner h2{margin-bottom:6px}.welcome-banner p{color:var(--text-muted);font-family:var(--font-body);text-transform:none}.stat-card{position:relative;overflow:hidden;padding:22px 22px 18px;background:#141a248c;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:var(--transition)}.stat-card:hover{transform:translateY(-4px);border-color:#38e8a540}.stat-card .plate-ring{position:absolute;right:-18px;top:-18px;width:90px;height:90px;border-radius:50%;border:10px solid var(--surface-3);opacity:.6;transition:var(--transition)}.stat-card:hover .plate-ring{transform:rotate(25deg);opacity:.9}.stat-card .eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint);font-weight:700}.stat-card .value{font-family:var(--font-mono);font-size:40px;font-weight:700;margin-top:6px;color:var(--text)}.stat-card .value.accent{color:var(--accent)}.stat-card .value.lime{color:var(--accent-2)}.stat-card .sub{color:var(--text-muted);font-size:13px;margin-top:4px}.analytics-card{background:#141a248c;border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-card);transition:var(--transition)}.analytics-card:hover{border-color:#ff6b3533;box-shadow:0 22px 55px #00000080}.analytics-card .analytics-title{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);font-weight:700;margin-bottom:10px}.analytics-card .analytics-trend{font-family:var(--font-mono);font-size:13px;font-weight:600}.analytics-card .analytics-trend.up{color:var(--accent-2)}.analytics-card .analytics-trend.down{color:var(--danger)}.quick-action{display:flex;align-items:center;gap:14px;background:#141a2480;border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;cursor:pointer;transition:var(--transition)}.quick-action:hover{background:var(--surface-2);border-color:var(--accent-dim);transform:translateY(-3px) scale(1.01);box-shadow:var(--shadow-orange)}.quick-action .icon-plate{width:40px;height:40px;border-radius:50%;border:6px solid var(--accent-2);flex-shrink:0;transition:var(--transition)}.quick-action:hover .icon-plate{border-color:var(--accent);transform:rotate(20deg)}.quick-action .qa-title{font-weight:700;font-size:15px;color:var(--text)}.quick-action .qa-sub{font-size:12px;color:var(--text-faint);margin-top:2px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.label{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.input,select.input,textarea.input{background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;color:var(--text);font-size:15px;transition:var(--transition)}.input::placeholder{color:var(--text-faint)}.input:hover{border-color:#ff6b3559}.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #ff6b3526;background:#ffffff0d}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-faint) 50%),linear-gradient(135deg,var(--text-faint) 50%,transparent 50%);background-position:calc(100% - 20px) center,calc(100% - 15px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}textarea.input{resize:vertical;min-height:100px}.hint{font-size:12px;color:var(--text-faint)}.error-box{background:#ff4d4f14;border:1px solid rgba(255,77,79,.35);color:#ff8a8a;padding:10px 14px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:14px;animation:slideUp .3s ease}.success-box{background:#38e8a514;border:1px solid rgba(56,232,165,.35);color:var(--accent-2);padding:10px 14px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:14px;animation:slideUp .3s ease}.alert-error{background:#ff4d4f14;border:1px solid rgba(255,77,79,.35);color:#ff8a8a;padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;animation:slideUp .3s ease}.auth-shell{min-height:calc(100vh - 65px);display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-card{width:100%;max-width:440px;background:#141a2499;border:1px solid var(--border);border-radius:var(--radius-lg);padding:30px;box-shadow:var(--shadow-card);animation:scaleIn .4s ease}.auth-tabs{display:flex;gap:8px;margin-bottom:22px}.auth-tabs .tab{flex:1;text-align:center;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-muted);font-weight:700;font-size:13px;cursor:pointer;transition:var(--transition)}.auth-tabs .tab:hover{color:var(--text);border-color:var(--accent-dim)}.auth-tabs .tab.active{background:var(--accent);color:#0a0a0c;border-color:var(--accent);box-shadow:var(--shadow-orange)}.pill{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;transition:var(--transition)}.pill.pending{background:#ffb84d26;color:var(--warning);border:1px solid rgba(255,184,77,.3)}.pill.approved{background:#38e8a526;color:var(--accent-2);border:1px solid rgba(56,232,165,.3)}.pill.rejected{background:#ff4d4f26;color:var(--danger);border:1px solid rgba(255,77,79,.3)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding:14px 12px;border-bottom:1px solid var(--border)}.table td{padding:18px 12px;border-bottom:1px solid var(--border);font-size:14px;vertical-align:middle;transition:var(--transition)}.table tr:hover td{background:var(--surface-2)}.table tbody tr{height:72px}.table .avatar,.table-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#0a0a0c;background:linear-gradient(135deg,var(--accent),var(--accent-2));border:2px solid var(--border);transition:var(--transition)}.table tr:hover .table-avatar,.table tr:hover .table .avatar{border-color:var(--accent-dim);transform:scale(1.05)}.table .avatar img,.table-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.member-list{display:flex;flex-direction:column;gap:10px}.member-row{display:flex;align-items:center;gap:14px;background:#141a2480;border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 16px;transition:var(--transition)}.member-row:hover{border-color:#38e8a54d;transform:translate(4px);background:var(--surface-2)}.member-row .avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;font-weight:700;color:#0a0a0c;flex-shrink:0}.member-row .member-name{font-weight:700;font-size:14px}.member-row .member-meta{font-size:12px;color:var(--text-faint)}.profile-card{background:#141a248c;border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-card)}.profile-header{display:flex;align-items:center;gap:18px;margin-bottom:20px}.profile-header .avatar-lg{width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:var(--shadow-orange);flex-shrink:0}.profile-header .profile-name{font-family:var(--font-display);font-size:26px}.profile-header .profile-email{color:var(--text-faint);font-size:13px;text-transform:none}.profile-stats{display:flex;gap:24px;flex-wrap:wrap;margin-top:10px}.profile-stats .p-stat{text-align:center}.profile-stats .p-stat .p-value{font-family:var(--font-mono);font-size:22px;color:var(--accent)}.profile-stats .p-stat .p-label{font-size:11px;text-transform:uppercase;color:var(--text-faint);letter-spacing:.08em}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#06080c99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .25s ease}.modal{width:100%;max-width:480px;margin:20px;background:#141a24d9;border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow-card);animation:scaleIn .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-header h3{font-size:20px}.modal-close{width:30px;height:30px;border-radius:50%;background:var(--surface-2);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);border:1px solid var(--border)}.modal-close:hover{background:var(--danger);color:#fff;transform:rotate(90deg)}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.photo-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#06080ca6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:120;animation:fadeIn .25s ease;padding:20px}.photo-modal{width:100%;max-width:440px;background:#141a24e6;border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow-card);animation:scaleIn .3s ease;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.photo-modal h2{font-size:20px}.photo-modal p{color:var(--text-faint);font-size:13px;text-transform:none;margin-bottom:6px}.photo-preview{width:160px;height:160px;border-radius:50%;object-fit:cover;border:3px solid var(--accent-dim);box-shadow:var(--shadow-orange)}.camera-video{width:100%;max-width:360px;border-radius:var(--radius-md);border:1px solid var(--border);background:#000}.toast-stack{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:200}.toast{min-width:260px;max-width:340px;background:#141a24d9;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-sm);padding:14px 16px;box-shadow:var(--shadow-card);font-size:14px;animation:slideUp .3s ease}.toast.success{border-left-color:var(--accent-2)}.toast.error{border-left-color:var(--danger)}.toast.warning{border-left-color:var(--warning)}.toast .toast-title{font-weight:700;margin-bottom:2px}.toast .toast-msg{color:var(--text-muted);font-size:13px}.hero{padding:100px 0 70px;text-align:center}.hero h1{font-size:clamp(48px,9vw,110px);color:var(--text);animation:slideUp .6s ease}.hero h1 .rats{color:var(--accent)}.hero p.lead{color:var(--text-muted);font-size:18px;max-width:560px;margin:20px auto 34px;font-family:var(--font-body);text-transform:none;animation:fadeIn .8s ease .1s both}.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;animation:fadeIn .8s ease .2s both}.feature-strip{padding:60px 0 100px}.feature-card{text-align:left;transition:var(--transition)}.feature-card:hover{transform:translateY(-4px)}.feature-card .icon-plate{width:46px;height:46px;border-radius:50%;border:7px solid var(--accent);margin-bottom:14px;transition:var(--transition)}.feature-card:hover .icon-plate{border-color:var(--accent-2);transform:rotate(15deg)}.feature-card h3{font-size:20px;margin-bottom:8px}.feature-card p{color:var(--text-muted);font-size:14px;line-height:1.5;font-family:var(--font-body);text-transform:none}.dash-header{display:flex;justify-content:space-between;align-items:flex-end;margin:28px 0 24px;flex-wrap:wrap;gap:12px}.dash-header h2{font-size:34px}.dash-header .join-code{font-family:var(--font-mono);color:var(--accent-2);font-size:16px;letter-spacing:.1em}.dash-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start}@media (max-width: 900px){.dash-layout{grid-template-columns:1fr}}.tabs-row{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.tabs-row .tab-btn{padding:8px 16px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-weight:700;font-size:13px;cursor:pointer;transition:var(--transition)}.tabs-row .tab-btn:hover{color:var(--text);border-color:var(--accent-dim)}.tabs-row .tab-btn.active{background:var(--surface-3);color:var(--text);border-color:var(--accent-dim);box-shadow:var(--shadow-orange)}.empty-state{text-align:center;padding:50px 20px;color:var(--text-muted);animation:fadeIn .5s ease}.empty-state .display{font-size:28px;color:var(--text-faint);margin-bottom:8px}.meal-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border);transition:var(--transition)}.meal-row:last-child{border-bottom:none}.meal-row:hover{padding-left:6px}.meal-row .meal-name{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);font-weight:700}.meal-row .meal-desc{font-size:15px;margin-top:2px}.macro-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;margin:10px 0;background:var(--surface-2)}.macro-bar .protein{background:var(--accent)}.macro-bar .carbs{background:var(--accent-2)}.macro-bar .fat{background:#2eb4ff}.footer{text-align:center;padding:40px 0;color:var(--text-faint);font-size:13px;border-top:1px solid var(--border);margin-top:60px}@media (max-width: 768px){.navbar{padding:12px 16px}.nav-links{gap:6px}.auth-card{padding:22px}.profile-header{flex-direction:column;text-align:center}.modal{margin:14px;padding:20px}.toast-stack{left:16px;right:16px;bottom:16px}.toast{max-width:none;width:100%}}@media (max-width: 480px){.container{padding:0 16px}.hero{padding:70px 0 50px}.quick-action{flex-direction:row}.dash-header{flex-direction:column;align-items:flex-start}.table .avatar,.table-avatar{width:40px;height:40px}.table tbody tr{height:60px}}.dashboard-shell{display:flex;min-height:100vh}.dashboard-main{flex:1;min-width:0;padding:28px 0 60px}.sidebar-fixed{width:260px;flex-shrink:0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:#141a24bf;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-right:1px solid var(--border);padding:22px 16px;z-index:40}.sidebar-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:24px;letter-spacing:.04em;text-transform:uppercase;padding:6px 10px 22px}.sidebar-brand .plate-mark{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--bg) 0 22%,var(--accent) 23% 60%,var(--bg) 61% 68%,var(--accent) 69% 100%);box-shadow:0 0 0 2px var(--border),var(--shadow-orange)}.sidebar-brand .rats{color:var(--accent)}.sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto}.sidebar-fixed .side-link{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-sm);color:var(--text-muted);font-weight:600;font-size:14px;transition:var(--transition);background:transparent;border:1px solid transparent;width:100%;text-align:left;cursor:pointer}.sidebar-fixed .side-link:hover{background:var(--surface-2);color:var(--text);transform:translate(3px)}.sidebar-fixed .side-link.active{background:linear-gradient(135deg,#ff6b352e,#38e8a514);color:var(--text);border-color:var(--accent-dim);box-shadow:var(--shadow-orange)}.sidebar-footer{border-top:1px solid var(--border);padding-top:14px;margin-top:10px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:6px 10px 14px}.sidebar-user .avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#0a0a0c;flex-shrink:0}.sidebar-user-info .member-name{font-size:13px;font-weight:700;color:var(--text)}.sidebar-user-info .member-meta{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.logout-link{color:var(--danger)!important}.logout-link:hover{background:#ff4d4f1a!important;color:var(--danger)!important}@media (max-width: 900px){.dashboard-shell{flex-direction:column}.sidebar-fixed{width:100%;height:auto;position:relative;flex-direction:row;flex-wrap:wrap;align-items:center;padding:14px}.sidebar-brand{padding:0 10px 0 0}.sidebar-nav{flex-direction:row;flex-wrap:wrap;overflow-x:auto;flex:none;width:100%;order:3;padding-top:10px}.sidebar-fixed .side-link{padding:8px 12px;font-size:13px;white-space:nowrap}.sidebar-fixed .side-link span:last-child{display:inline}.sidebar-footer{border-top:none;margin-top:0;margin-left:auto;padding-top:0}.sidebar-user{padding:0}.sidebar-user-info,.logout-link span{display:none}}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.gallery-item{position:relative;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);aspect-ratio:1 / 1;background:var(--surface-2);transition:var(--transition)}.gallery-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.gallery-overlay{position:absolute;inset:auto 0 0 0;padding:14px;background:linear-gradient(to top,rgba(6,8,12,.92),transparent);opacity:0;transition:var(--transition)}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-caption{font-weight:700;font-size:13px;color:var(--text)}.gallery-meta{font-size:11px;color:var(--text-faint);margin-top:2px}.camera-preview{width:100%;max-width:480px;border-radius:var(--radius-md);border:1px solid var(--border);background:#000}.activity-feed{display:flex;flex-direction:column;gap:14px}.activity-item{display:flex;align-items:flex-start;gap:12px;font-size:14px}.activity-dot{width:9px;height:9px;border-radius:50%;margin-top:6px;flex-shrink:0;background:var(--accent)}.activity-dot.attendance{background:var(--accent-2)}.activity-dot.training{background:#2eb4ff}.activity-dot.member{background:var(--warning)}
