:root {
  --bg: #080a0e;
  --bg-soft: #0c0f14;
  --surface: #11151b;
  --surface-2: #151a21;
  --surface-3: #1a2028;
  --border: #28303a;
  --border-soft: #20262e;
  --pink: #f184ad;
  --pink-strong: #f69bc0;
  --pink-soft: rgba(241,132,173,.14);
  --text: #f4f5f7;
  --muted: #9aa3af;
  --muted-2: #707986;
  --green: #49c88b;
  --yellow: #f3c953;
  --red: #ef6575;
  --blue: #67a7e8;
  --purple: #b990ea;
  --radius-xs: 8px;
  --radius-sm: 12px;
  --radius: 16px;
  --radius-lg: 22px;
  --shadow: 0 20px 60px rgba(0,0,0,.3);
  --sidebar: 248px;
  --focus: 0 0 0 3px rgba(241,132,173,.3);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color-scheme: dark;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { background: var(--bg); min-height: 100%; }
body { margin: 0; min-height: 100vh; color: var(--text); background: radial-gradient(circle at 78% 0%, rgba(64,77,98,.13), transparent 34%), var(--bg); }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; padding: 12px 16px; border-radius: 10px; background: var(--pink); color: #160d12; font-weight: 700; }
.skip-link:focus { top: 16px; }
:focus-visible { outline: none; box-shadow: var(--focus); }
.app-shell { display: grid; grid-template-columns: var(--sidebar) minmax(0,1fr); min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 20; width: var(--sidebar); display: flex; flex-direction: column; padding: 24px 14px; background: linear-gradient(180deg, #10141a, #0c0f13); border-right: 1px solid var(--border-soft); }
.brand { position: relative; display: inline-flex; flex-direction: column; align-items: center; width: 100%; margin: 2px 0 28px; color: var(--text); text-decoration: none; letter-spacing: .14em; }
.brand-word { font-size: 21px; font-weight: 500; line-height: 1; }
.brand-sub { font-size: 9px; margin-top: 4px; letter-spacing: .24em; }
.admin-pill { position: absolute; right: 16px; top: 2px; padding: 4px 7px; border: 1px solid rgba(241,132,173,.28); border-radius: 6px; color: var(--pink); background: var(--pink-soft); font-size: 9px; letter-spacing: .06em; }
.side-nav { display: flex; flex-direction: column; gap: 5px; }
.nav-item { display: flex; align-items: center; gap: 13px; width: 100%; min-height: 45px; padding: 0 14px; border: 0; border-radius: 10px; color: #c3c8d0; background: transparent; cursor: pointer; text-align: left; transition: color .18s, background .18s, transform .18s; }
.nav-item svg { width: 18px; height: 18px; }
.nav-item:hover { color: var(--text); background: rgba(255,255,255,.04); transform: translateX(2px); }
.nav-item.is-active { color: #211018; background: linear-gradient(135deg, var(--pink), var(--pink-strong)); font-weight: 650; }
.sidebar-footer { margin-top: auto; display: grid; gap: 16px; }
.admin-profile { display: flex; align-items: center; gap: 11px; padding: 12px; border-top: 1px solid var(--border-soft); }
.profile-button{width:100%;border-right:0;border-bottom:0;border-left:0;color:var(--text);background:transparent;cursor:pointer;text-align:left}.profile-button>svg{width:17px;height:17px;margin-left:auto;color:var(--muted)}.profile-button:hover{background:rgba(255,255,255,.035)}
.admin-profile strong, .admin-profile small { display: block; }
.admin-profile strong { font-size: 13px; }
.admin-profile small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.avatar { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; color: #25141a; background: linear-gradient(135deg, #ffd0df, var(--pink)); font-weight: 800; }
.main-content { grid-column: 2; min-width: 0; padding: 28px clamp(24px,4vw,58px) 56px; }
.topbar, .athlete-topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.topbar h1, .section-heading h1, .welcome-row h1 { margin: 3px 0 0; font-size: clamp(27px,3vw,38px); line-height: 1.12; letter-spacing: -.035em; }
.eyebrow { margin: 0; color: var(--pink); text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 750; }
.top-actions, .athlete-actions { display: flex; align-items: center; gap: 10px; }
.icon-button { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--border); border-radius: 12px; color: #cbd1d9; background: var(--surface); cursor: pointer; }
.icon-button:hover { border-color: #45505e; background: var(--surface-2); }
.primary-button, .secondary-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 0 18px; border-radius: 11px; border: 1px solid transparent; font-weight: 700; cursor: pointer; transition: transform .18s, filter .18s, background .18s; }
.primary-button { color: #210e16; background: linear-gradient(135deg, var(--pink), var(--pink-strong)); box-shadow: 0 8px 24px rgba(241,132,173,.15); }
.primary-button:hover { filter: brightness(1.06); transform: translateY(-1px); }
.secondary-button { color: var(--text); border-color: var(--border); background: var(--surface-2); }
.text-button { border: 0; color: var(--pink); background: transparent; cursor: pointer; font-weight: 650; }
.status-badge { display: inline-flex; align-items: center; gap: 7px; min-height: 28px; padding: 0 10px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.status-badge span { width: 7px; height: 7px; border-radius: 50%; }
.status-local { color: var(--pink-strong); background: var(--pink-soft); }
.status-local span { background: var(--pink); }
.status-green { color: var(--green); background: rgba(73,200,139,.12); }
.view, .athlete-view { display: none; animation: enter .24s ease; }
.view.is-visible, .athlete-view.is-visible { display: block; }
@keyframes enter { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.stats-grid { display: grid; grid-template-columns: repeat(5,minmax(150px,1fr)); gap: 13px; }
.stat-card, .panel, .data-card, .setting-card { border: 1px solid var(--border); background: linear-gradient(145deg, rgba(23,28,35,.98), rgba(15,19,24,.98)); box-shadow: 0 1px 0 rgba(255,255,255,.02) inset; }
.stat-card { display: flex; align-items: flex-start; gap: 12px; min-height: 142px; padding: 18px; border-radius: var(--radius); }
.stat-icon { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 auto; border-radius: 12px; }
.stat-icon.pink { color: var(--pink); background: var(--pink-soft); }.stat-icon.purple{color:var(--purple);background:rgba(185,144,234,.12)}.stat-icon.blue{color:var(--blue);background:rgba(103,167,232,.12)}.stat-icon.green{color:var(--green);background:rgba(73,200,139,.12)}.stat-icon.red{color:var(--red);background:rgba(239,101,117,.12)}
.stat-card small, .stat-card strong, .stat-card span { display: block; }
.stat-card small { color: #c6cbd2; font-size: 12px; }
.stat-card strong { margin-top: 12px; font-size: 22px; letter-spacing: -.03em; }
.stat-card span { margin-top: 6px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.stat-card.warning { border-color: rgba(239,101,117,.24); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); gap: 15px; margin-top: 15px; }
.panel { border-radius: var(--radius); padding: 20px; }
.panel-heading, .section-toolbar, .section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.panel-heading h2, .section-toolbar h2, .section-heading h2 { margin: 0; font-size: 16px; letter-spacing: -.02em; }
.panel-heading p, .section-toolbar p, .section-heading p { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: var(--muted); }
.empty-state svg { width: 34px; height: 34px; margin-bottom: 13px; color: var(--pink); }
.empty-state strong { color: var(--text); font-size: 14px; }
.empty-state span { max-width: 420px; margin-top: 8px; font-size: 12px; line-height: 1.55; }
.empty-state.compact { min-height: 205px; }.empty-state.large { min-height: 420px; margin-top: 18px; border: 1px dashed #303844; border-radius: var(--radius); background: rgba(17,21,27,.55); }
.storage-hero { display: grid; grid-template-columns: 170px 1fr; align-items: center; gap: 26px; min-height: 210px; }
.storage-ring { --used: 4deg; position: relative; display: grid; place-items: center; width: 154px; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(var(--pink) var(--used), #252c35 0); }
.storage-ring.usage-0{--used:0deg}.storage-ring.usage-5{--used:18deg}.storage-ring.usage-10{--used:36deg}.storage-ring.usage-15{--used:54deg}.storage-ring.usage-20{--used:72deg}.storage-ring.usage-25{--used:90deg}.storage-ring.usage-30{--used:108deg}.storage-ring.usage-35{--used:126deg}.storage-ring.usage-40{--used:144deg}.storage-ring.usage-45{--used:162deg}.storage-ring.usage-50{--used:180deg}.storage-ring.usage-55{--used:198deg}.storage-ring.usage-60{--used:216deg}.storage-ring.usage-65{--used:234deg}.storage-ring.usage-70{--used:252deg}.storage-ring.usage-75{--used:270deg}.storage-ring.usage-80{--used:288deg}.storage-ring.usage-85{--used:306deg}.storage-ring.usage-90{--used:324deg}.storage-ring.usage-95{--used:342deg}.storage-ring.usage-100{--used:360deg}
.storage-ring::after { content: ""; width: 108px; aspect-ratio: 1; border-radius: 50%; background: var(--surface); box-shadow: 0 0 0 1px var(--border); }
.storage-ring span { position: absolute; z-index: 1; text-align: center; }.storage-ring strong,.storage-ring small{display:block}.storage-ring strong{font-size:18px}.storage-ring small{color:var(--muted);font-size:10px;margin-top:4px}
.storage-copy { display: grid; gap: 12px; }.legend-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;color:var(--muted);font-size:12px}.legend-row strong{color:var(--text)}.legend{width:9px;height:9px;border-radius:50%}.legend.pink{background:var(--pink)}.legend.dark{background:#39424e}.storage-warning{display:flex;gap:10px;padding:12px;border:1px solid rgba(239,101,117,.2);border-radius:10px;color:#d8a3ab;background:rgba(239,101,117,.07);font-size:11px;line-height:1.45}.storage-warning svg{flex:0 0 auto;width:18px;height:18px;color:var(--red)}
.system-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 15px; padding: 16px 20px; }.system-strip>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center}.system-strip strong{font-size:12px}.system-strip span:last-child{grid-column:2;color:var(--muted);font-size:10px;margin-top:3px}.status-dot{width:9px;height:9px;border-radius:50%}.status-dot.green{background:var(--green)}.status-dot.pink{background:var(--pink)}.status-dot.red{background:var(--red)}
.section-toolbar { margin-bottom: 22px; }.section-toolbar h2{font-size:26px}.shoot-list{display:grid;gap:12px}.shoot-row{display:grid;grid-template-columns:70px minmax(0,1.4fr) repeat(4,minmax(80px,.45fr)) auto;align-items:center;gap:15px;padding:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color .18s,transform .18s}.shoot-row:hover{border-color:#414b58;transform:translateY(-1px)}.shoot-cover{display:grid;place-items:center;width:70px;height:54px;border-radius:10px;color:var(--pink);background:linear-gradient(135deg,#2b1c25,#18202c)}.shoot-cover svg{width:27px;height:27px}.shoot-title strong,.shoot-title span{display:block}.shoot-title span,.shoot-metric small{margin-top:5px;color:var(--muted);font-size:11px}.shoot-metric strong,.shoot-metric small{display:block}.shoot-metric strong{font-size:13px}.shoot-row .icon-button{width:38px;height:38px}
.table-tools{display:flex;margin:0 0 14px}.search-box{display:flex;align-items:center;gap:10px;min-width:min(100%,360px);height:44px;padding:0 13px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.search-box svg{width:18px;height:18px;color:var(--muted)}.search-box input{width:100%;border:0;outline:0;color:var(--text);background:transparent}.search-box input::placeholder{color:var(--muted-2)}
.data-card{overflow:hidden;border-radius:var(--radius)}table{width:100%;border-collapse:collapse}th,td{padding:15px 17px;border-bottom:1px solid var(--border-soft);text-align:left;font-size:12px}th{color:var(--muted);font-weight:600;background:rgba(255,255,255,.015)}td{color:#dce0e5}tr:last-child td{border-bottom:0}.table-user{display:flex;align-items:center;gap:10px}.table-user .avatar{width:31px;height:31px;font-size:11px}.table-action{border:0;background:transparent;color:var(--pink);cursor:pointer}
.storage-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:15px}.details-list{display:grid;grid-template-columns:1fr auto;gap:0;margin:16px 0 0}.details-list div{display:contents}.details-list dt,.details-list dd{padding:12px 0;border-bottom:1px solid var(--border-soft);font-size:12px}.details-list dt{color:var(--muted)}.details-list dd{margin:0;color:var(--text);font-weight:650;text-align:right}
.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.setting-card{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:var(--radius)}.setting-card>svg{width:24px;height:24px;color:var(--green)}.setting-card strong,.setting-card span{display:block}.setting-card span{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.45}.setting-card.warning>svg{color:var(--red)}
.aurisa-dialog{width:min(92vw,560px);max-height:90vh;padding:0;border:1px solid #38424e;border-radius:20px;color:var(--text);background:#12161c;box-shadow:var(--shadow)}.aurisa-dialog::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(5px)}.aurisa-dialog form{display:grid;gap:17px;padding:22px}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.dialog-heading h2{margin:7px 0 0;font-size:23px}.dialog-heading p{margin:7px 0 0;color:var(--muted);font-size:12px}.step-badge,.preview-pill{display:inline-flex;padding:5px 8px;border-radius:999px;color:var(--pink);background:var(--pink-soft);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.aurisa-dialog label{display:grid;gap:8px;color:#dce0e5;font-size:12px;font-weight:650}.aurisa-dialog input,.aurisa-dialog select{width:100%;height:45px;padding:0 13px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:#0d1015}.aurisa-dialog fieldset{display:grid;gap:7px;margin:0;padding:14px;border:1px solid var(--border);border-radius:12px}.aurisa-dialog legend{padding:0 6px;color:var(--muted);font-size:11px}.aurisa-dialog .check-row{display:flex;align-items:center;gap:10px;padding:7px;font-weight:500}.check-row input{width:17px;height:17px;accent-color:var(--pink)}.dialog-note{display:flex;gap:10px;padding:12px;border-radius:11px;color:#c4cbd3;background:#191f27;font-size:11px;line-height:1.5}.dialog-note svg{flex:0 0 auto;color:var(--green)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.form-result{display:none;padding:12px;border-radius:10px;color:#bfead5;background:rgba(73,200,139,.1);font-size:11px;line-height:1.5}.form-result.has-content{display:block}.form-result>strong,.form-result>div,.form-result>small{display:block;margin-bottom:8px}.form-result>label{margin:10px 0}.form-result>.secondary-button{margin-top:2px}.policy-row{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:10px;color:var(--muted);font-size:11px}.policy-row strong{color:var(--text)}
.wizard-step{display:none;gap:15px}.wizard-step.is-active{display:grid}.wizard-category-list{display:grid;gap:8px}.wizard-category-list>div{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:#0e1217}.wizard-category-list svg{width:21px;height:21px;color:var(--pink)}.wizard-category-list strong,.wizard-category-list small{display:block}.wizard-category-list small{margin-top:4px;color:var(--muted);font-size:10px;font-weight:500}.review-card{display:grid;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#0e1217}.review-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:15px;padding:12px 14px;border-bottom:1px solid var(--border-soft);font-size:11px}.review-row:last-child{border-bottom:0}.review-row span{color:var(--muted)}.review-row strong{color:var(--text);font-weight:650}.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.stat-card.compact{min-height:112px}.stat-card.compact strong{font-size:18px}.detail-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:15px}.detail-categories{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-categories .category-card{min-height:125px}.participant-list{display:grid;gap:8px}.participant-row{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid var(--border);border-radius:11px;background:#0e1217}.participant-row>svg{width:22px;height:22px;color:var(--pink)}.participant-copy{min-width:0}.participant-copy strong,.participant-copy span{display:block}.participant-copy strong{font-size:12px;text-transform:capitalize}.participant-copy span{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.4}.notification-list{display:grid;gap:9px}.notification-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:start;gap:11px;padding:13px;border:1px solid var(--border);border-radius:12px;background:#0e1217}.notification-item.warning{border-color:rgba(245,105,120,.35)}.notification-item>svg{width:22px;height:22px;color:var(--pink)}.notification-item.warning>svg{color:var(--red)}.notification-item strong,.notification-item span{display:block}.notification-item>div>span{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.45}
.admin-operation-panel{margin-top:16px}.admin-operation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.compact-form{display:grid;align-content:start;gap:10px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#0e1217}.compact-form h3{margin:0 0 3px;font-size:14px}.compact-form label,.file-toolbar label{display:grid;gap:6px;color:#dce0e5;font-size:11px;font-weight:650}.compact-form input,.compact-form select,.file-toolbar select,.file-toolbar input{width:100%;min-height:42px;padding:0 11px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:#0a0d12}.inline-actions{display:flex;flex-wrap:wrap;gap:8px}.danger-button{min-height:42px;padding:0 13px;border:1px solid rgba(245,105,120,.45);border-radius:10px;color:#ffc2ca;background:rgba(245,105,120,.1);font-weight:700;cursor:pointer}.file-toolbar{display:grid;grid-template-columns:1.2fr 1.2fr 1.4fr auto;align-items:end;gap:11px}.file-picker input{padding:8px}.media-admin-list{display:grid;gap:8px;margin-top:16px}.media-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:11px;background:#0e1217}.media-admin-row strong,.media-admin-row span{display:block}.media-admin-row span{margin-top:4px;color:var(--muted);font-size:10px}.media-admin-actions{display:flex;flex-wrap:wrap;gap:7px}.media-admin-actions button,.media-admin-actions a{min-height:36px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:#171d25;font-size:10px;font-weight:700;text-decoration:none;cursor:pointer}
.toast{position:fixed;right:24px;bottom:24px;z-index:80;max-width:360px;padding:13px 16px;border:1px solid #485260;border-radius:12px;color:var(--text);background:#1a2028;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.is-visible{opacity:1;transform:none}

/* Branded authentication */
.auth-page{min-height:100svh;overflow-x:hidden;background:radial-gradient(circle at 18% 15%,rgba(241,132,173,.09),transparent 28%),radial-gradient(circle at 88% 8%,rgba(103,167,232,.08),transparent 24%),#080a0e}
.auth-layout{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(520px,1.15fr);min-height:100svh}
.auth-brand-panel{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:100%;padding:clamp(36px,6vw,78px);overflow:hidden;border-right:1px solid var(--border-soft);background:linear-gradient(145deg,rgba(17,21,27,.96),rgba(8,10,14,.99))}
.auth-brand{position:relative;z-index:2;display:inline-flex;flex-direction:column;align-items:flex-start;width:max-content;color:var(--text);text-decoration:none;letter-spacing:.16em}.auth-brand .brand-word{font-size:28px}.auth-brand .brand-sub{margin:6px 0 0 31px;font-size:10px}
.auth-visual{position:absolute;inset:18% -22% auto 9%;height:58%;transform:rotate(-8deg);opacity:.84}.auth-visual span,.auth-visual i,.auth-visual b{position:absolute;display:block;border:1px solid rgba(241,132,173,.22);border-radius:34px;background:linear-gradient(145deg,rgba(241,132,173,.09),rgba(255,255,255,.01));box-shadow:0 34px 90px rgba(0,0,0,.35)}.auth-visual span{inset:9% 28% 24% 4%}.auth-visual i{inset:27% 10% 6% 31%;border-color:rgba(103,167,232,.16)}.auth-visual b{inset:0 3% 42% 54%;border-color:rgba(241,132,173,.3)}.auth-visual::after{content:"";position:absolute;inset:24% 21% 18% 18%;border-radius:50%;background:radial-gradient(circle,rgba(241,132,173,.16),transparent 67%);filter:blur(12px)}
.auth-visual.admin span{border-color:rgba(73,200,139,.2)}.auth-visual.admin i{border-color:rgba(241,132,173,.2)}
.auth-brand-copy{position:relative;z-index:2}.auth-brand-copy p{margin:0;color:var(--text);font-size:clamp(23px,2.4vw,34px);font-weight:700;letter-spacing:-.035em}.auth-brand-copy span{display:block;max-width:340px;margin-top:10px;color:var(--muted);font-size:14px;line-height:1.6}
.auth-form-panel{display:grid;place-items:center;padding:clamp(24px,6vw,72px)}.auth-card{width:min(100%,470px);padding:clamp(26px,4vw,44px);border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(145deg,rgba(21,26,33,.96),rgba(13,16,21,.98));box-shadow:0 26px 90px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.025)}
.auth-card .mobile-only{display:none}.auth-heading h1{margin:8px 0 0;font-size:clamp(31px,4vw,43px);line-height:1.08;letter-spacing:-.045em}.auth-heading>p:last-child{margin:13px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
.auth-form{display:grid;gap:18px;margin-top:30px}.auth-form label{display:grid;gap:9px;color:#dce0e5;font-size:12px;font-weight:680}.auth-form input{width:100%;height:55px;padding:0 16px;border:1px solid var(--border);border-radius:12px;outline:0;color:var(--text);background:#0b0e13;transition:border-color .18s,box-shadow .18s,background .18s}.auth-form input:hover{border-color:#3b4653}.auth-form input:focus{border-color:var(--pink);box-shadow:var(--focus);background:#0e1218}.auth-form input::placeholder{color:#5f6874}.password-field{position:relative;display:block}.password-field input{padding-right:54px}.password-toggle{position:absolute;right:7px;top:7px;display:grid;place-items:center;width:41px;height:41px;border:0;border-radius:9px;color:var(--muted);background:transparent;cursor:pointer}.password-toggle:hover{color:var(--text);background:rgba(255,255,255,.04)}.password-toggle svg{width:19px;height:19px}.totp-reveal{display:flex;justify-content:flex-end;margin-top:-8px}.totp-reveal .text-button{padding:4px 0;font-size:11px}.auth-submit{width:100%;min-height:54px;margin-top:2px;font-size:14px}.button-spinner{display:none;width:18px;height:18px;border:2px solid rgba(33,14,22,.3);border-top-color:#210e16;border-radius:50%;animation:auth-spin .7s linear infinite}.auth-form.is-loading .button-label{display:none}.auth-form.is-loading .button-spinner{display:block}@keyframes auth-spin{to{transform:rotate(360deg)}}
.auth-notice{margin-top:22px;padding:13px 14px;border:1px solid rgba(239,101,117,.24);border-radius:11px;color:#f4bdc5;background:rgba(239,101,117,.08);font-size:12px;line-height:1.55}.auth-notice[data-type="success"]{border-color:rgba(73,200,139,.25);color:#bfead5;background:rgba(73,200,139,.08)}.auth-security{display:flex;align-items:center;justify-content:center;gap:8px;margin:22px 0 0;color:var(--muted-2);font-size:10px}.auth-security svg{width:15px;height:15px;color:var(--green)}
.local-only-banner{display:inline-flex;align-items:center;gap:8px;margin-bottom:27px;padding:6px 10px;border-radius:999px;color:var(--green);background:rgba(73,200,139,.1);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.local-only-banner span{width:7px;height:7px;border-radius:50%;background:var(--green)}.auth-admin-pill{position:static;margin-top:12px}.auth-step{display:grid;gap:18px}.auth-step h2{margin:0;text-align:center;font-size:23px}.auth-step>p{margin:-8px 0 4px;color:var(--muted);font-size:12px;line-height:1.55;text-align:center}.totp-icon{display:grid;place-items:center;width:58px;height:58px;margin:4px auto 0;border:1px solid rgba(241,132,173,.22);border-radius:18px;color:var(--pink);background:var(--pink-soft)}.totp-icon svg{width:28px;height:28px}.auth-form .totp-input{text-align:center;font-size:24px;letter-spacing:.32em;font-variant-numeric:tabular-nums}.auth-step .back-button{margin:0 0 2px}.admin-auth-page .auth-card{width:min(100%,490px)}
.auth-page.mobile-acceptance{width:390px;min-height:844px;margin:0 auto}.mobile-acceptance .auth-layout{display:block;min-height:844px}.mobile-acceptance .auth-brand-panel{display:none}.mobile-acceptance .auth-form-panel{min-height:844px;padding:28px 12px}.mobile-acceptance .auth-card{padding:27px 20px;border-radius:18px}.mobile-acceptance .auth-card .mobile-only{display:inline-flex;margin:0 0 38px}.mobile-acceptance .auth-card .mobile-only .brand-word{font-size:23px}.mobile-acceptance .auth-card .mobile-only .brand-sub{margin-left:25px}.mobile-acceptance .auth-heading h1{font-size:33px}.mobile-acceptance .auth-heading>p:last-child{font-size:13px}.mobile-acceptance .auth-form{margin-top:27px}.mobile-acceptance .auth-form input{height:58px;font-size:16px}.mobile-acceptance .auth-submit{min-height:57px}

/* Athlete experience */
.athlete-shell{--sidebar:260px}.athlete-main{max-width:1500px}.athlete-topbar{min-height:42px}.mobile-brand{display:none;color:var(--text);text-decoration:none}.athlete-actions .avatar{width:38px;height:38px}.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:14px 0 36px}.welcome-row p:not(.eyebrow){margin:9px 0 0;color:var(--muted);font-size:14px}.big-upload{min-height:50px;padding:0 22px}.section-heading{margin:0 0 17px}.section-heading.page{align-items:flex-end;margin-bottom:25px}.section-heading.page h1{margin-top:5px}.section-heading.page .search-box{align-self:flex-end}.shoot-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.shoot-card{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:transform .2s,border-color .2s}.shoot-card:hover{transform:translateY(-3px);border-color:#424d5a}.shoot-card-cover{position:relative;display:grid;place-items:center;aspect-ratio:16/7;color:var(--pink);background:radial-gradient(circle at 25% 30%,rgba(241,132,173,.24),transparent 30%),linear-gradient(135deg,#262d39,#131820)}.shoot-card-cover svg{width:45px;height:45px;opacity:.76}.shoot-card-cover .participant-tag{position:absolute;right:12px;top:12px;padding:6px 9px;border-radius:999px;color:#f9d6e4;background:rgba(15,18,24,.78);backdrop-filter:blur(8px);font-size:9px;font-weight:700}.shoot-card-body{padding:16px}.shoot-card-body h3{margin:0;font-size:16px}.shoot-card-body>span{display:block;margin-top:6px;color:var(--muted);font-size:11px}.shoot-card-metrics{display:flex;gap:15px;margin:15px 0;color:var(--muted);font-size:10px}.shoot-card-metrics span{display:flex;align-items:center;gap:5px}.shoot-card-metrics svg{width:14px;height:14px}.shoot-card .primary-button{width:100%}.recent-heading{margin-top:34px}.media-placeholder-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.media-skeleton{aspect-ratio:4/3;border:1px solid var(--border);border-radius:13px;background:linear-gradient(110deg,#151a20 20%,#1e252d 38%,#151a20 56%);background-size:220% 100%;animation:shimmer 2s infinite linear}@keyframes shimmer{to{background-position:-220% 0}}.storage-mini{padding:14px;border:1px solid var(--border);border-radius:12px;color:var(--muted);font-size:10px}.storage-mini span,.storage-mini strong{display:block}.storage-mini strong{margin-top:6px;color:var(--text);font-size:11px}.progress{height:5px;margin-top:10px;border-radius:99px;background:#262d36;overflow:hidden}.progress i{display:block;height:100%;border-radius:inherit;background:var(--pink)}.athlete-list .shoot-row{grid-template-columns:70px minmax(0,1fr) repeat(3,minmax(80px,.35fr)) auto}.back-button{display:inline-flex;align-items:center;gap:7px;margin:0 0 18px;padding:0;border:0;color:var(--muted);background:transparent;cursor:pointer}.shoot-detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.shoot-detail-hero h1{margin:3px 0 0;font-size:34px}.shoot-detail-hero p{margin:8px 0 0;color:var(--muted);font-size:13px}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.category-card{display:flex;flex-direction:column;min-height:160px;padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:left}.category-card:disabled{cursor:not-allowed;opacity:.45}.category-card svg{width:28px;height:28px;color:var(--pink)}.category-card strong{margin-top:auto;font-size:13px}.category-card span{margin-top:6px;color:var(--muted);font-size:10px}.rights-notice{display:flex;gap:10px;margin-top:18px;padding:14px;border:1px solid var(--border);border-radius:12px;color:var(--muted);background:rgba(17,21,27,.7);font-size:11px;line-height:1.55}.rights-notice svg{flex:0 0 auto;color:var(--green)}.mobile-nav{display:none}.drop-zone{place-items:center;min-height:180px;padding:20px;border:1px dashed #4a5564!important;border-radius:14px!important;text-align:center;cursor:pointer;background:#0d1116}.drop-zone svg{width:42px;height:42px;color:var(--pink)}.drop-zone strong{font-size:14px}.drop-zone span{color:var(--muted);font-size:11px}.drop-zone input{position:absolute;width:1px;height:1px;opacity:0}.upload-queue{display:grid;gap:8px}.queue-item{display:grid;grid-template-columns:1fr auto;gap:6px;padding:10px;border:1px solid var(--border);border-radius:10px}.queue-item strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item span{color:var(--muted);font-size:10px}.preview-pill{color:var(--yellow);background:rgba(243,201,83,.1)}

@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}.compact-stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.shoot-card-grid{grid-template-columns:repeat(2,1fr)}.category-grid{grid-template-columns:repeat(3,1fr)}.shoot-row{grid-template-columns:60px minmax(0,1fr) repeat(2,minmax(70px,.4fr)) auto}.shoot-row .hide-tablet{display:none}.settings-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){:root{--sidebar:0px}.app-shell{display:block;padding-bottom:82px}.sidebar{display:none}.main-content{padding:18px 18px 35px}.topbar{align-items:flex-start}.topbar .status-local{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{min-height:132px}.system-strip{grid-template-columns:repeat(2,1fr)}.storage-detail-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.shoot-row{grid-template-columns:54px minmax(0,1fr) auto}.shoot-row .shoot-metric{display:none}.data-card{overflow-x:auto}.athlete-topbar{margin-bottom:28px}.mobile-brand{display:inline-flex;flex-direction:column;letter-spacing:.13em}.mobile-brand .brand-word{font-size:18px}.welcome-row{display:block;margin-top:7px}.welcome-row .big-upload{width:100%;margin-top:22px}.shoot-card-grid{grid-template-columns:1fr}.media-placeholder-grid{grid-template-columns:repeat(2,1fr)}.athlete-list .shoot-row{grid-template-columns:58px minmax(0,1fr) auto}.category-grid{grid-template-columns:repeat(2,1fr)}.mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);min-height:72px;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid var(--border);background:rgba(10,12,16,.94);backdrop-filter:blur(16px)}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;color:var(--muted);background:transparent;font-size:9px}.mobile-nav button svg{width:20px;height:20px}.mobile-nav button.is-active{color:var(--pink)}.mobile-nav .mobile-upload svg{width:46px;height:46px;padding:12px;border-radius:50%;color:#210e16;background:var(--pink)}.section-heading.page{display:block}.section-heading.page .search-box{margin-top:18px}.athlete-actions .preview-pill{display:none}.auth-layout{grid-template-columns:1fr}.auth-brand-panel{display:none}.auth-form-panel{min-height:100svh;padding:max(28px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.auth-card{padding:30px 26px}.auth-card .mobile-only{display:inline-flex;margin:0 0 44px}.auth-card .mobile-only .brand-word{font-size:23px}.auth-card .mobile-only .brand-sub{margin-left:25px}.admin-auth-page .auth-card{margin:auto}.admin-auth-page .auth-heading h1{font-size:34px}}
@media (max-width:560px){.main-content{padding:16px 14px 28px}.topbar h1,.welcome-row h1,.section-heading h1{font-size:27px}.top-actions .primary-button{width:44px;padding:0;font-size:0}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.compact-stats{grid-template-columns:1fr 1fr}.stat-card{display:block;min-height:154px;padding:14px}.stat-card.compact{min-height:108px}.stat-card .stat-icon{width:34px;height:34px}.stat-card strong{font-size:18px}.dashboard-grid{gap:10px}.panel{padding:15px}.storage-hero{grid-template-columns:1fr;justify-items:center}.storage-copy{width:100%}.system-strip{grid-template-columns:1fr}.shoot-card-cover{aspect-ratio:16/7}.section-heading{align-items:flex-end}.section-heading p{max-width:290px}.section-heading .text-button{font-size:11px}.category-grid{grid-template-columns:1fr}.category-card{min-height:105px}.shoot-detail-hero{display:block}.shoot-detail-hero .status-badge{margin-top:12px}.aurisa-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.aurisa-dialog form{padding:17px}.dialog-actions{flex-wrap:wrap}.dialog-actions .secondary-button,.dialog-actions .primary-button{flex:1}.review-row{grid-template-columns:1fr;gap:4px}.notification-item{grid-template-columns:26px minmax(0,1fr)}.notification-item>.status-badge{grid-column:2;justify-self:start}.toast{left:14px;right:14px;bottom:90px}.preview-pill{display:none}.auth-form-panel{padding-left:12px;padding-right:12px}.auth-card{padding:27px 20px;border-radius:18px}.auth-heading h1{font-size:33px}.auth-heading>p:last-child{font-size:13px}.auth-form{margin-top:27px}.auth-form input{height:58px;font-size:16px}.auth-submit{min-height:57px}.auth-card .mobile-only{margin-bottom:38px}}
@media (max-width:900px){.admin-operation-grid,.file-toolbar{grid-template-columns:1fr}.media-admin-row{grid-template-columns:1fr}.media-admin-actions{justify-content:flex-start}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.upload-queue .queue-item{grid-template-columns:minmax(0,1fr) minmax(110px,28%) auto;align-items:center;gap:14px}.queue-item>div{min-width:0;display:grid;gap:3px}.queue-item progress{width:100%;accent-color:var(--pink)}.queue-status{min-width:58px;text-align:right;color:var(--muted)}
.media-section{display:grid;gap:22px}.participant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.participant-card{min-height:118px;padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);text-align:left;display:grid;gap:8px;cursor:pointer}.participant-card:hover{border-color:var(--pink);transform:translateY(-1px)}.participant-card svg{width:24px;height:24px;color:var(--pink)}.participant-card span{color:var(--muted)}
.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.media-card{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.media-thumb{width:100%;aspect-ratio:4/3;border:0;background:var(--surface-strong);color:var(--pink);display:grid;place-items:center;overflow:hidden;cursor:pointer}.media-thumb img{width:100%;height:100%;object-fit:cover}.media-thumb svg{width:40px;height:40px}.media-card-body{padding:12px;display:grid;gap:4px}.media-card-body strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-card-body span{font-size:.82rem;color:var(--muted)}
.media-dialog{width:min(900px,calc(100vw - 32px))}.media-preview{min-height:240px;display:grid;place-items:center;background:#05070a;border-radius:var(--radius);overflow:hidden}.media-preview img,.media-preview video{display:block;max-width:100%;max-height:65vh}.media-dialog .primary-button{text-decoration:none}
@media (max-width:900px){.media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.participant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.participant-grid{grid-template-columns:1fr}.upload-queue .queue-item{grid-template-columns:minmax(0,1fr);gap:8px}.queue-status{text-align:left}.media-dialog{width:calc(100vw - 20px)}}
