/* IPA Competition Hub — Range edition. Self-contained, no remote assets. */
.ipa-app { --ink:#19242a; --muted:#677178; --line:#e0e3e1; --soft:#f0f2ef; --accent:#ce352d; --accent-hover:#b72b25; --danger:#b52c2c; --navy:#14252b; --paper:#f5f5f1; --shadow:0 4px 16px #16262b0a; color:var(--ink); font:15px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; background:var(--paper); min-height:100vh; -webkit-font-smoothing:antialiased; isolation:isolate; }
body.ipa-hub-page { margin:0; background:#f5f5f1; }
.ipa-app *, .ipa-app *::before, .ipa-app *::after { box-sizing:border-box; }
.ipa-app button, .ipa-app input, .ipa-app select, .ipa-app textarea { font:inherit; }
.ipa-app h1, .ipa-app h2, .ipa-app h3, .ipa-app p { margin:0; color:inherit; }
.ipa-app h1 { font-size:clamp(28px,2.8vw,40px); font-weight:800; line-height:1.13; letter-spacing:-1.4px; margin-bottom:28px; }
.ipa-app h2 { font-size:21px; font-weight:750; line-height:1.3; letter-spacing:-.45px; }
.ipa-app h3 { font-size:18px; font-weight:750; line-height:1.35; letter-spacing:-.3px; }
.ipa-app a { color:var(--accent); text-decoration:none; }
.ipa-app a:hover { text-decoration:underline; }
.ipa-app [hidden] { display:none!important; }
.ipa-icon { width:20px; height:20px; display:inline-block; flex-shrink:0; vertical-align:middle; stroke:currentColor; }
.ipa-frame { display:grid; grid-template-columns:248px minmax(0,1fr); min-height:100vh; max-width:1800px; margin:0 auto; }
.ipa-sidebar { display:flex; flex-direction:column; background:var(--navy); color:#eaf0ed; padding:34px 20px 24px; min-width:0; position:sticky; top:0; height:100vh; height:100dvh; overflow-y:auto; z-index:5; }
.ipa-brand { display:flex; align-items:center; gap:12px; color:#fff!important; font-size:16px; font-weight:750; text-decoration:none!important; padding:0 6px; line-height:1.25; }
.ipa-brand-mark { width:43px; height:43px; flex-shrink:0; background:var(--accent); border-radius:12px; display:grid; place-items:center; color:#fff; box-shadow:0 4px 16px #0002; overflow:hidden; }
.ipa-brand-mark .ipa-icon { width:27px; height:27px; }
.ipa-brand-mark img { display:block; width:100%; height:100%; object-fit:contain; }
.ipa-brand-copy { display:flex; flex-direction:column; gap:5px; min-width:0; overflow-wrap:anywhere; }
.ipa-brand-copy strong { font-size:18px; font-weight:850; line-height:1.16; }
.ipa-brand-copy span, .ipa-brand-copy small { color:#a2b2b5; font-size:10px; font-weight:550; text-transform:uppercase; letter-spacing:1.6px; line-height:1.4; }
.ipa-nav-label { color:#94a6ab; font-size:10px; text-transform:uppercase; letter-spacing:1.7px; font-weight:750; padding:0 16px; margin:45px 0 12px; }
.ipa-nav { display:flex; flex-direction:column; gap:7px; margin-top:12px; }
.ipa-app .ipa-nav button { width:100%; border:1px solid transparent; border-radius:9px; background:transparent; padding:13px 15px; min-height:48px; color:#b9c7ca; font-size:14px; justify-content:flex-start; gap:13px; text-align:left; font-weight:600; white-space:nowrap; }
.ipa-app .ipa-nav button:hover { color:#fff; background:#23373e; border-color:#2c4148; transform:none; box-shadow:none; }
.ipa-app .ipa-nav button.is-active { color:#fff; background:#2b3d43; border-color:#35484e; box-shadow:inset 3px 0 #ef6354; }
.ipa-app .ipa-nav button.is-active .ipa-icon { color:#ff9384; }
.ipa-nav-icon { display:flex; align-items:center; justify-content:center; }
.ipa-sidebar-footer { margin-top:auto; padding:48px 12px 0; }
.ipa-sidebar-note { border:1px solid #35494e; border-radius:12px; padding:18px 15px; color:#a7b8bc; font-size:12px; line-height:1.6; background:linear-gradient(125deg,#233a41,#192e35); }
.ipa-sidebar-note .ipa-icon { color:#f48574; margin-bottom:12px; width:24px; height:24px; }
.ipa-sidebar-note strong { display:block; color:#f1f4f2; font-size:13px; margin-bottom:6px; }
.ipa-sidebar-note p { color:#a7b8bc; }
.ipa-sidebar-footer > small, .ipa-sidebar-footer > p { display:block; color:#8fa4aa; font-size:10px; letter-spacing:.5px; margin-top:20px; }
.ipa-workspace { min-width:0; }
.ipa-topbar, .ipa-header { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:88px; border-bottom:1px solid var(--line); padding:18px 42px; background:#fbfcf9; }
.ipa-topbar-title { color:var(--muted); font-size:13px; display:flex; align-items:center; gap:10px; }
.ipa-topbar-title strong { font-weight:650; color:var(--ink); }
.ipa-topbar-title .ipa-icon { width:17px; height:17px; color:#99a6a7; }
.ipa-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:18px; font-size:12px; flex-shrink:0; }
.ipa-header-actions > a { color:var(--muted); font-weight:650; }
.ipa-app .ipa-header-actions button { background:transparent; border-color:transparent; padding:8px 10px; min-height:40px; color:var(--muted); font-size:12px; }
.ipa-app .ipa-header-actions button:hover { color:var(--ink); background:var(--soft); }
.ipa-profile { display:flex; align-items:center; gap:10px; padding-left:18px; border-left:1px solid var(--line); }
.ipa-avatar { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#e9efea; color:#28473c; font-size:12px; font-weight:800; flex-shrink:0; }
.ipa-profile > div:not(.ipa-avatar) { display:flex; flex-direction:column; line-height:1.4; }
.ipa-profile strong { font-size:12px; color:var(--ink); }
.ipa-profile small { font-size:10px; color:var(--muted); }
.ipa-app main { padding:37px 42px 52px; min-width:0; }
.ipa-eyebrow { display:block; text-transform:uppercase; letter-spacing:1.7px; font-size:10px; font-weight:800; color:var(--accent); margin-bottom:10px; }
.ipa-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.ipa-page-head h1 { margin:0; }
.ipa-page-head p { color:var(--muted); margin-top:10px; font-size:14px; max-width:650px; }
.ipa-page-head > .ipa-actions { flex-shrink:0; }
.ipa-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:28px; }
.ipa-heading h1 { margin:0; }
.ipa-app button, .ipa-app .ipa-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:11px 18px; border:1px solid #d9dfda; border-radius:8px; background:#fff; color:var(--ink); cursor:pointer; font-size:13px; font-weight:700; text-decoration:none; line-height:1.45; transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.ipa-app button:hover, .ipa-app .ipa-button:hover { background:#f5f7f3; border-color:#b9c6bf; box-shadow:0 3px 8px #152e2410; text-decoration:none; }
.ipa-app button:active, .ipa-app .ipa-button:active { transform:translateY(1px); }
.ipa-app button:disabled { opacity:.48; cursor:default; box-shadow:none; transform:none; }
.ipa-app .ipa-primary { background:var(--accent); color:#fff; border-color:var(--accent); box-shadow:0 3px 6px #ce352d18; }
.ipa-app .ipa-primary:hover { background:var(--accent-hover); border-color:var(--accent-hover); box-shadow:0 4px 12px #ce352d25; }
.ipa-app .ipa-danger { color:var(--danger); }
.ipa-app .ipa-danger:hover { background:#fff0ee; border-color:#e7b5af; }
.ipa-app .ipa-link { border:0; padding:8px 0; min-height:40px; background:none; color:var(--accent); }
.ipa-app .ipa-link:hover { box-shadow:none; text-decoration:underline; }
.ipa-app .ipa-back { border:0; padding:0 0 0 1px; min-height:40px; margin:0 0 20px; color:var(--muted); background:transparent; font-size:12px; }
.ipa-app .ipa-back:hover { color:var(--accent); box-shadow:none; }
.ipa-app :focus-visible { outline:3px solid #147e99; outline-offset:3px; }
.ipa-sidebar :focus-visible, .ipa-hero :focus-visible, .ipa-auth-story :focus-visible { outline-color:#ffe2a5; }
.ipa-app label { display:flex; flex-direction:column; gap:8px; font-size:12px; font-weight:700; margin-bottom:21px; min-width:0; color:#3b4a4e; }
.ipa-app input:not([type=checkbox]):not([type=file]), .ipa-app select, .ipa-app textarea { width:100%; min-height:47px; border:1px solid #cbd3ce; border-radius:8px; padding:11px 13px; background:#fff; color:var(--ink); box-shadow:none; font-weight:450; font-size:15px; line-height:1.5; transition:border-color .15s ease,box-shadow .15s ease; min-width:0; }
.ipa-app input:focus, .ipa-app select:focus, .ipa-app textarea:focus { border-color:#557b78; box-shadow:0 0 0 3px #557b7813; }
.ipa-app input::placeholder, .ipa-app textarea::placeholder { color:#7b8784; opacity:1; }
.ipa-app input:disabled, .ipa-app select:disabled { background:var(--soft)!important; color:var(--muted); opacity:1; }
.ipa-app input[type=number] { appearance:textfield; -moz-appearance:textfield; }
.ipa-app input::-webkit-outer-spin-button, .ipa-app input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.ipa-app input[type=checkbox] { width:18px; height:18px; margin:0; accent-color:var(--accent); flex-shrink:0; }
.ipa-app .ipa-check { flex-direction:row; align-items:center; flex-wrap:wrap; gap:8px; font-weight:450; line-height:1.6; }
.ipa-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.ipa-panel { border:1px solid var(--line); border-radius:16px; padding:28px; margin:0 0 24px; background:#fff; box-shadow:var(--shadow); }
.ipa-panel > h2 { margin-bottom:22px; }
.ipa-panel > p { color:var(--muted); margin-bottom:22px; }
.ipa-narrow { max-width:680px; }
.ipa-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.ipa-message:empty { display:none; }
.ipa-message { padding:14px 17px; border:1px solid #f3cec7; border-left:3px solid #bf4938; border-radius:8px; background:#fff2ee; color:#922b20; margin:16px 0; font-size:13px; overflow-wrap:anywhere; }
.ipa-message.ipa-success { background:#edf6ee; border-color:#c6e1ce; border-left-color:#348351; color:#28653d; }
.ipa-hero { display:grid; grid-template-columns:minmax(0,1fr) 34%; position:relative; overflow:hidden; border:1px solid #20363d; border-radius:20px; background:#142a31; color:#fff; min-height:266px; margin-bottom:27px; box-shadow:0 10px 24px #192e3410; }
.ipa-hero::after { content:''; position:absolute; width:390px; height:390px; border-radius:50%; right:-150px; top:-260px; border:1px solid #ffffff10; box-shadow:0 0 0 70px #ffffff03,0 0 0 140px #ffffff02; pointer-events:none; }
.ipa-hero-copy { padding:33px 0 34px 34px; position:relative; z-index:1; align-self:center; }
.ipa-hero-kicker { display:flex; align-items:center; gap:8px; color:#efb7a8; font-size:10px; font-weight:750; letter-spacing:1.7px; text-transform:uppercase; margin-bottom:15px; }
.ipa-hero-kicker::before { content:''; width:6px; height:6px; background:#ed7663; border-radius:50%; box-shadow:0 0 0 4px #ed766312; }
.ipa-hero h2 { color:#fff; font-size:clamp(28px,3vw,43px); font-weight:820; letter-spacing:-1.4px; line-height:1.13; max-width:640px; }
.ipa-hero h2 em { font-style:normal; color:#f28b76; }
.ipa-hero-copy > p { color:#b4c8cd; font-size:13px; line-height:1.65; margin-top:14px; max-width:420px; }
.ipa-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:24px; }
.ipa-hero .ipa-primary { background:#e66652; border-color:#e66652; color:#14282f; box-shadow:none; }
.ipa-hero .ipa-primary:hover { background:#f18470; border-color:#f18470; }
.ipa-hero-tag { color:#b9c9cd; font-size:11px; display:flex; gap:7px; align-items:center; }
.ipa-hero-tag .ipa-icon { width:14px; height:14px; color:#ee9e8e; }
.ipa-hero-art { position:relative; display:grid; place-items:center; align-self:stretch; min-width:0; min-height:245px; overflow:hidden; background:radial-gradient(circle at 50% 48%,#38646b24,transparent 72%); }
.ipa-hero-art::before, .ipa-target-art::before { content:''; display:block; width:202px; height:202px; border:1px solid #e8b09477; border-radius:50%; background:radial-gradient(circle,#e77762 0 4%,transparent 4.5% 14%,#e8b09488 14.3% 14.7%,transparent 15% 28%,#e8b09488 28.3% 28.7%,transparent 29% 42%,#e8b09488 42.3% 42.7%,transparent 43% 56%,#e8b09488 56.3% 56.7%,transparent 57% 70%,#e8b09488 70.3% 70.7%,transparent 71%); box-shadow:0 0 0 22px #cfa08b08,0 0 0 23px #cfa08b13,0 0 0 46px #cfa08b05,0 0 0 47px #cfa08b0c; }
.ipa-hero-art::after, .ipa-target-art::after { content:''; position:absolute; width:14px; height:14px; top:calc(50% - 32px); left:calc(50% + 23px); border-radius:50%; background:#f5dbc8; border:3px solid #132a31; box-shadow:-48px 41px 0 -3px #f5dbc8,-49px 41px 0 0 #132a31,4px 50px 0 -3px #f5dbc8,4px 50px 0 0 #132a31; }
.ipa-hero-art > span:not(.ipa-target-art) { position:absolute; bottom:18px; right:24px; text-transform:uppercase; color:#9bb1b7; font-size:9px; letter-spacing:2px; }
.ipa-hero-art .ipa-target-art { position:absolute; inset:0; }
.ipa-hero-art .ipa-target-art::before, .ipa-hero-art .ipa-target-art::after { display:none; }
.ipa-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; margin-bottom:34px; }
.ipa-stat { display:flex; align-items:center; gap:17px; padding:21px 23px; border:1px solid var(--line); border-radius:13px; background:#fff; box-shadow:var(--shadow); min-width:0; }
.ipa-stat-icon { width:43px; height:43px; flex-shrink:0; display:grid; place-items:center; border-radius:12px; color:#456d60; background:#eef3ed; }
.ipa-stat:nth-child(2) .ipa-stat-icon { color:#a14d39; background:#fff1e8; }
.ipa-stat:nth-child(3) .ipa-stat-icon { color:#63688a; background:#f0f0f6; }
.ipa-stat-value { display:block; font-size:30px; font-weight:800; line-height:1.15; letter-spacing:-1px; font-variant-numeric:tabular-nums; }
.ipa-stat-label { display:block; font-size:11px; font-weight:550; color:var(--muted); margin-top:5px; }
.ipa-section-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:17px; }
.ipa-section-head h2 { font-size:20px; }
.ipa-section-head p, .ipa-section-head > span, .ipa-section-head > small { color:var(--muted); font-size:12px; }
.ipa-section-head .ipa-link { color:var(--accent); font-size:12px; }
.ipa-event-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ipa-app .ipa-event-card { display:flex; flex-direction:column; align-items:stretch; justify-content:normal; gap:18px; width:100%; min-width:0; padding:23px; border:1px solid var(--line); border-radius:14px; background:#fff; text-align:left; box-shadow:var(--shadow); position:relative; overflow:hidden; }
.ipa-app .ipa-event-card::before { content:''; position:absolute; inset:0 auto 0 0; width:3px; background:var(--accent); opacity:0; transition:opacity .16s; }
.ipa-app .ipa-event-card:hover { border-color:#b9c7bf; background:#fff; box-shadow:0 8px 22px #183d2810; transform:translateY(-2px); }
.ipa-app .ipa-event-card:hover::before { opacity:1; }
.ipa-event-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.ipa-date-tile { width:58px; min-height:67px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#f2f4ef; border:1px solid #e7eae4; border-radius:10px; color:#3d574d; gap:2px; flex-shrink:0; }
.ipa-date-tile span { font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.9px; }
.ipa-date-tile strong { font-size:25px; line-height:1; font-weight:800; letter-spacing:-1px; }
.ipa-event-body { min-width:0; }
.ipa-event-body h3, .ipa-event-body > strong { display:block; color:var(--ink); font-size:18px; font-weight:750; letter-spacing:-.35px; line-height:1.35; margin:0 0 9px; overflow-wrap:anywhere; }
.ipa-event-body .ipa-event-meta { display:flex; align-items:center; flex-wrap:wrap; gap:5px; font-size:11px; line-height:1.5; color:var(--muted); font-weight:450; }
.ipa-event-body .ipa-event-meta + .ipa-event-meta { margin-top:5px; }
.ipa-event-meta .ipa-icon { width:13px; height:13px; }
.ipa-event-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; padding-top:17px; margin-top:auto; border-top:1px solid #e9ece6; font-size:11px; color:var(--muted); }
.ipa-event-footer > span:last-child:not(.ipa-status), .ipa-event-footer > strong { display:flex; align-items:center; gap:6px; color:var(--accent); font-size:11px; font-weight:750; }
.ipa-event-footer .ipa-icon { width:15px; height:15px; }
.ipa-status { display:inline-flex; align-items:center; gap:6px; padding:4px 9px; border-radius:5px; background:#f0f2ed; color:#53625a; font-size:10px; font-weight:750; white-space:nowrap; line-height:1.6; }
.ipa-status-dot { width:5px; height:5px; border-radius:50%; background:currentColor; flex-shrink:0; }
.ipa-badge-open, .ipa-badge-live, .ipa-badge-confirmed, .ipa-badge-checked_in, .ipa-badge-verified { color:#247046; background:#e9f5ec; }
.ipa-badge-submitted, .ipa-badge-final, .ipa-badge-completed { color:#356078; background:#eaf2f7; }
.ipa-badge-draft, .ipa-badge-not_submitted, .ipa-badge-archived { color:#646d6e; background:#eff1ef; }
.ipa-badge-waitlist, .ipa-badge-returned, .ipa-badge-started { color:#886321; background:#fff4da; }
.ipa-badge-rejected, .ipa-badge-disqualified, .ipa-badge-withdrawn { color:#a94037; background:#ffefec; }
.ipa-list { border:1px solid var(--line); border-radius:14px; overflow:hidden; margin-top:22px; background:#fff; box-shadow:var(--shadow); }
.ipa-list:empty { display:none; }
.ipa-app .ipa-event { width:100%; display:grid; grid-template-columns:1fr auto 20px; gap:24px; padding:23px 24px; text-align:left; border:0; border-bottom:1px solid var(--line); border-radius:0; justify-content:initial; }
.ipa-event strong { font-size:17px; font-weight:750; }
.ipa-event-meta { color:var(--muted); font-size:12px; font-weight:450; }
.ipa-event:last-child, .ipa-entry-row:last-child, .ipa-staff-event:last-child { border-bottom:0; }
.ipa-entry-row { display:flex; align-items:center; gap:20px; padding:20px 24px; border-bottom:1px solid var(--line); }
.ipa-entry-row > div:first-child { flex:1; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.ipa-entry-row strong { font-size:14px; }
.ipa-entry-meta, .ipa-entry-number { font-size:11px; color:var(--muted); font-weight:450; }
.ipa-history { margin-top:30px; }
.ipa-history .ipa-list { margin-top:15px; }
.ipa-empty { padding:34px 24px; color:var(--muted); text-align:center; font-size:13px; }
.ipa-empty-state { padding:49px 24px; border:1px dashed #cbd4cb; border-radius:16px; background:#fafbf7; text-align:center; color:var(--muted); grid-column:1 / -1; }
.ipa-empty-icon { width:55px; height:55px; display:grid; place-items:center; background:#edf1e9; color:#577263; border:1px solid #e0e7db; border-radius:16px; margin:0 auto 18px; }
.ipa-empty-icon .ipa-icon { width:24px; height:24px; }
.ipa-empty-state h2 { font-size:19px; color:var(--ink); }
.ipa-empty-state p { font-size:13px; max-width:380px; margin:10px auto 0; line-height:1.65; }
.ipa-empty-state .ipa-actions { justify-content:center; margin-top:20px; }
/* Account entry */
.ipa-auth-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); border:1px solid #dce3dc; border-radius:22px; overflow:hidden; background:#fff; min-height:575px; box-shadow:0 10px 32px #18302a08; max-width:1090px; margin:12px auto; }
.ipa-auth-story { position:relative; padding:40px; overflow:hidden; background:#183039; color:#fff; display:flex; flex-direction:column; justify-content:flex-start; }
.ipa-auth-story h1, .ipa-auth-story h2 { color:#fff; font-size:clamp(29px,3vw,42px); line-height:1.14; letter-spacing:-1.4px; font-weight:850; margin:4px 0 15px; max-width:390px; position:relative; z-index:1; }
.ipa-auth-story em { color:#f4a28d; font-style:normal; }
.ipa-auth-story > p { color:#b8cbd0; font-size:13px; max-width:340px; position:relative; z-index:1; }
.ipa-auth-story .ipa-target-art { position:relative; display:grid; place-items:center; min-height:220px; margin:20px 0; }
.ipa-auth-story .ipa-target-art::before { width:165px; height:165px; opacity:.8; }
.ipa-auth-story .ipa-target-art::after { top:calc(50% - 31px); left:calc(50% + 19px); }
.ipa-feature-list { display:flex; flex-wrap:wrap; gap:10px 20px; padding:0; margin:auto 0 0; list-style:none; position:relative; z-index:1; }
.ipa-feature-list li, .ipa-feature-list > span { display:flex; align-items:center; gap:7px; font-size:11px; color:#c3d2d5; }
.ipa-feature-list .ipa-icon { width:14px; height:14px; color:#f19c85; }
.ipa-auth { width:100%; max-width:460px; align-self:center; justify-self:center; margin:0; padding:42px 36px; }
.ipa-auth > .ipa-eyebrow { margin-bottom:13px; }
.ipa-auth h1, .ipa-auth h2 { font-size:30px; letter-spacing:-1px; margin:0 0 10px; }
.ipa-auth > p:not(.ipa-eyebrow) { color:var(--muted); font-size:13px; margin-bottom:29px; }
.ipa-auth form { margin-top:26px; }
.ipa-auth .ipa-primary { width:100%; min-height:47px; }
.ipa-auth > .ipa-actions { justify-content:space-between; margin-top:18px; font-size:12px; }
.ipa-auth .ipa-actions .ipa-link { font-size:12px; }
.ipa-auth .ipa-columns { gap:0 14px; }
.ipa-auth label { margin-bottom:19px; }
.ipa-auth-results { border-top:1px solid var(--line); padding-top:20px; margin-top:22px; color:var(--muted); font-size:11px; }
.ipa-auth-results .ipa-link { font-size:11px; display:inline; min-height:0; padding:0; }
.ipa-field-hint { margin:-12px 0 19px!important; color:var(--muted)!important; font-size:11px!important; }
/* Stage scoring */
.ipa-score-identity { color:var(--muted); margin:-12px 0 28px; font-size:13px; }
.ipa-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.ipa-card { border:1px solid var(--line); border-radius:16px; overflow:hidden; align-self:start; background:#fff; box-shadow:var(--shadow); }
.ipa-card-heading { display:flex; justify-content:space-between; align-items:center; padding:20px 24px; background:var(--navy); color:#fff; border-bottom:1px solid var(--line); }
.ipa-card-heading output { font-size:25px; font-weight:800; }
.ipa-stage { min-width:0; border:0; margin:0; padding:24px 28px; border-bottom:1px solid var(--line); scroll-margin-top:22px; }
.ipa-stage:last-child { border:0; }
.ipa-stage:nth-child(even) { background:#fafbf8; }
.ipa-stage legend { float:left; width:100%; padding:0; font-weight:750; font-size:18px; letter-spacing:-.3px; margin-bottom:12px; display:flex; align-items:center; gap:10px; }
.ipa-stage-number { display:inline-grid; place-items:center; width:28px; height:28px; background:#f4e8e2; color:#a64838; border-radius:7px; font-size:12px; font-weight:800; }
.ipa-stage-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; clear:both; color:var(--muted); font-size:11px; margin:0 0 16px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.ipa-stage-summary output:last-child { color:var(--ink); font-size:21px; font-weight:800; font-variant-numeric:tabular-nums; }
.ipa-stage-summary output[data-shots] { padding:4px 9px; border-radius:5px; background:#eaf0e8; color:#486643; font-weight:650; }
.ipa-stage-summary output[data-shots].ipa-invalid { background:#ffebe6; color:#a32d1f; }
.ipa-hit-grid { display:grid; grid-template-columns:1fr; }
.ipa-counter-row { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:69px; padding:8px 0; border-bottom:1px solid #e9ece6; }
.ipa-counter-row:last-child { border-bottom:0; }
.ipa-counter-row > label { margin:0; font-size:20px; font-weight:800; color:var(--ink); letter-spacing:-.4px; }
.ipa-counter-row:first-child > label { color:var(--accent); }
.ipa-stepper { display:grid; grid-template-columns:44px 60px 44px; align-items:center; gap:5px; padding:4px; border:1px solid #dfe4da; border-radius:9px; background:#f0f3ed; }
.ipa-app .ipa-stepper button { width:44px; min-width:44px; min-height:44px; padding:0; border:1px solid #d5ddcf; border-radius:6px; background:#fff; font-size:23px; font-weight:600; touch-action:manipulation; user-select:none; -webkit-user-select:none; box-shadow:0 2px 2px #18361c04; }
.ipa-app .ipa-stepper button:hover { background:#e4ecdf; border-color:#b8c8ae; }
.ipa-app .ipa-stepper button:active { background:#dce7d4; }
.ipa-app .ipa-stepper button:focus-visible { outline-offset:-3px; }
.ipa-app .ipa-stepper button[data-delta='1'] { background:var(--accent); border-color:var(--accent); color:#fff; }
.ipa-app .ipa-stepper button[data-delta='1']:hover { background:var(--accent-hover); border-color:var(--accent-hover); }
.ipa-app .ipa-stepper input { width:60px; min-height:44px; text-align:center; padding:0; border:0!important; border-radius:5px; background:transparent; font-size:22px; font-weight:800; font-variant-numeric:tabular-nums; min-width:0; box-shadow:none; }
.ipa-app .ipa-stepper input:focus-visible { outline-offset:-3px; }
.ipa-invalid { color:var(--danger); font-weight:750; }
.ipa-app details { margin-top:19px; }
.ipa-app summary { cursor:pointer; font-size:13px; font-weight:650; padding:5px 0; }
.ipa-app details > .ipa-columns { margin-top:18px; }
.ipa-penalties label { font-size:11px; }
.ipa-photos { margin:30px 0; border:1px solid var(--line); border-radius:14px; padding:24px; background:#fff; }
.ipa-photos h2 { font-size:18px; }
.ipa-photo-grid { display:flex; flex-wrap:wrap; gap:16px; margin-top:16px; }
.ipa-photo-grid:empty { display:none; }
.ipa-photo-grid figure { margin:0; width:132px; }
.ipa-photo-grid img { width:132px; height:132px; object-fit:cover; border:1px solid var(--line); border-radius:10px; display:block; }
.ipa-upload { margin-top:16px; margin-bottom:0!important; display:inline-flex!important; gap:12px!important; max-width:100%; }
.ipa-upload input { max-width:100%; font-weight:450; font-size:12px; }
.ipa-upload input::file-selector-button { font:inherit; font-weight:650; padding:11px 15px; margin:0 12px 8px 0; border:1px solid #cbd5c6; border-radius:7px; background:#f5f8f1; color:#355141; cursor:pointer; }
.ipa-total-bar { display:flex; align-items:center; gap:18px; position:sticky; bottom:14px; padding:17px 22px; border:1px solid #30494e; border-radius:13px; background:#183139; color:#e4eceb; box-shadow:0 6px 24px #122d3025; margin-top:24px; z-index:4; }
.ipa-total-label { font-size:12px; font-weight:650; }
.ipa-total-bar #ipa-overall { font-size:31px; font-weight:850; letter-spacing:-.8px; color:#fff; font-variant-numeric:tabular-nums; }
.ipa-total-bar #ipa-x-total { color:#afc4c8; font-size:12px; margin-right:auto; }
.ipa-total-bar .ipa-primary { margin-left:auto; }
.ipa-review-note { background:#fff3dc; border-left:3px solid #c39749; color:#795616; padding:17px; margin-bottom:24px; border-radius:6px; font-size:13px; }
.ipa-confirmation { text-align:center; padding:55px 24px; border:1px solid var(--line); border-radius:20px; background:#fff; max-width:720px; margin:15px auto; }
.ipa-confirmation p { color:var(--muted); }
.ipa-checkmark { width:64px; height:64px; border-radius:50%; background:#e9f5ea; color:#2f824b; display:grid; place-items:center; margin:0 auto 24px; font-size:29px; box-shadow:0 0 0 9px #f5f9f2; }
.ipa-checkmark .ipa-icon { width:32px; height:32px; }
.ipa-receipt-total { font-size:66px; font-weight:850; letter-spacing:-3px; margin:13px 0 25px; color:var(--ink); }
.ipa-receipt-total span { display:block; font-size:12px; letter-spacing:.3px; font-weight:500; color:var(--muted); }
.ipa-confirmation .ipa-actions { justify-content:center; }
.ipa-score-guide { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:12px; border:1px solid #d9e3d4; padding:15px 18px; background:#f0f4eb; border-radius:10px; margin-bottom:20px; }
.ipa-score-guide .ipa-icon { color:#51754d; }
.ipa-stage-nav { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 23px; }
.ipa-stage-nav a { padding:9px 14px; color:#55704e; font-size:11px; font-weight:650; border:1px solid #d6dfd0; border-radius:6px; background:#fff; }
.ipa-stage-nav a:hover { color:var(--accent); border-color:#d5b6a9; text-decoration:none; }
/* Club operations */
.ipa-staff-event { display:flex; gap:17px; padding:22px 24px; align-items:center; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.ipa-staff-event > div:first-child { flex:1; display:flex; flex-direction:column; gap:6px; min-width:180px; }
.ipa-staff-event > div:first-child strong { font-size:15px; }
.ipa-staff-event > div:first-child span { color:var(--muted); font-size:11px; }
.ipa-staff-event .ipa-actions button { font-size:11px; min-height:39px; padding:9px 13px; }
.ipa-filters { display:grid; grid-template-columns:2fr 1fr 1fr; gap:20px; border:1px solid var(--line); background:#fff; border-radius:13px; padding:20px 22px; margin-bottom:22px; box-shadow:var(--shadow); }
.ipa-filters label { margin:0; }
.ipa-table-scroll { overflow-x:auto; overscroll-behavior-x:contain; border:1px solid var(--line); border-radius:13px; background:#fff; box-shadow:var(--shadow); }
.ipa-app table { width:100%; border-collapse:collapse; font-size:12px; text-align:left; }
.ipa-app th { background:#ecf0e8; font-size:10px; font-weight:750; color:#5c6a61; text-transform:uppercase; letter-spacing:.7px; white-space:nowrap; }
.ipa-app th, .ipa-app td { padding:17px 20px; border-bottom:1px solid var(--line); vertical-align:middle; }
.ipa-app td { font-size:12px; }
.ipa-app td strong { font-weight:800; }
.ipa-app tbody tr:hover { background:#fafcf7; }
.ipa-app tr:last-child td { border-bottom:0; }
.ipa-app td .ipa-actions { flex-wrap:nowrap; }
.ipa-app td button { min-height:39px; padding:8px 12px; font-size:11px; }
.ipa-app td:first-child { font-weight:650; }
.ipa-rule-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; margin-top:20px; }
.ipa-rule-grid fieldset { border:1px solid var(--line); padding:22px; border-radius:10px; min-width:0; background:#fafcf8; }
.ipa-rule-grid legend { font-weight:750; font-size:12px; padding:0 8px; }
.ipa-rule-grid fieldset label:last-child { margin-bottom:0; }
.ipa-rules { margin-bottom:24px; }
.ipa-single-scorecard { max-width:740px; margin:0 auto; }
.ipa-results-search, .ipa-results-category { width:100%; max-width:370px; }
.ipa-results-toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:21px 24px; background:#fff; border:1px solid var(--line); border-radius:13px; margin-bottom:24px; }
.ipa-results-toolbar label { margin:0; }
.ipa-results-count { color:var(--muted); font-size:12px; }
.ipa-muted { font-size:12px; color:var(--muted)!important; margin-top:6px!important; }
.ipa-rank { display:inline-grid; width:30px; height:30px; place-items:center; font-weight:800; font-size:12px; border-radius:7px; }
.ipa-rank-1 { background:#fff0c9; color:#946600; }
.ipa-rank-2 { background:#e9eef2; color:#5a6b75; }
.ipa-rank-3 { background:#f9e8dc; color:#926246; }
.ipa-table-score { font-size:18px; font-variant-numeric:tabular-nums; }
.ipa-count { display:inline-grid; place-items:center; min-width:24px; height:24px; padding:0 5px; font-size:11px; border-radius:6px; vertical-align:middle; background:#e7eee1; color:#526948; margin-left:7px; }
.ipa-form-title { display:flex; align-items:center; gap:11px; padding-bottom:22px; border-bottom:1px solid var(--line); margin-bottom:25px; }
.ipa-form-title .ipa-icon { color:var(--accent); }
.ipa-workspace-footer { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); margin-top:45px; padding-top:20px; font-size:10px; color:#758076; }
.ipa-sidebar-footer > a { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:10px; margin-top:23px; color:#adbdc0; }
.ipa-sidebar-footer > a .ipa-icon { width:14px; height:14px; }
.ipa-profile > span:not(.ipa-avatar) { color:var(--muted); font-size:12px; }
.ipa-page-head .ipa-eyebrow { font-size:10px; color:var(--accent); margin-top:0; margin-bottom:10px; }
.ipa-hero-kicker > .ipa-icon { width:16px; height:16px; }
.ipa-hero-kicker:has(> .ipa-icon)::before { display:none; }
.ipa-event-footer > span:first-child { color:var(--accent); font-weight:700; }
.ipa-event-footer > .ipa-icon { color:var(--accent); }
.ipa-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.ipa-skip-link { position:fixed; top:8px; left:8px; padding:12px 20px; border-radius:6px; background:#fff; color:#14252b!important; z-index:100; transform:translateY(-160%); font-weight:700; }
.ipa-skip-link:focus { transform:none; }
.ipa-admin-app { margin:20px 20px 0 0; border:1px solid #d9e0da; border-radius:18px; min-height:85vh; overflow:hidden; }
.ipa-admin-app .ipa-frame { max-width:none; min-height:85vh; grid-template-columns:224px minmax(0,1fr); }
.ipa-admin-app .ipa-sidebar { position:static; min-height:85vh; height:auto; }
.ipa-admin-app .ipa-topbar, .ipa-admin-app .ipa-header { min-height:78px; padding-left:30px; padding-right:30px; }
.ipa-admin-app main { padding:30px; }
.ipa-app .ipa-pdf-dialog { position:fixed; inset:0; width:100%; max-width:none; height:100vh; height:100dvh; max-height:none; margin:0; padding:0; border:0; background:var(--soft); color:var(--ink); z-index:999999; }
.ipa-app .ipa-pdf-dialog[open] { display:flex; flex-direction:column; }
.ipa-pdf-dialog::backdrop { background:#14252ba6; }
.ipa-pdf-toolbar { display:flex; align-items:center; gap:16px; padding:calc(14px + env(safe-area-inset-top,0px)) 20px 14px; background:#fff; border-bottom:1px solid var(--line); flex-shrink:0; }
.ipa-pdf-toolbar h2 { flex:1; min-width:0; font-size:15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ipa-pdf-dialog iframe { display:block; width:100%; flex:1; min-height:0; border:0; background:#fff; }
/* Responsive layout */
@media(min-width:1700px) { .ipa-app main { padding-left:55px; padding-right:55px; } }
@media(max-width:1200px) {
  .ipa-frame { grid-template-columns:218px minmax(0,1fr); }
  .ipa-sidebar { padding:28px 15px 22px; }
  .ipa-topbar, .ipa-header { padding-left:30px; padding-right:30px; }
  .ipa-app main { padding:30px; }
  .ipa-hero { grid-template-columns:minmax(0,1fr) 30%; }
  .ipa-hero-copy { padding-left:28px; }
  .ipa-hero-art::before { width:170px; height:170px; }
  .ipa-app .ipa-event-card { padding:20px; gap:14px; }
  .ipa-stat { padding:19px; }
  .ipa-auth-story { padding:30px; }
  .ipa-auth { padding:36px 26px; }
  .ipa-auth .ipa-columns { grid-template-columns:1fr; }
  .ipa-staff-event .ipa-actions { width:100%; }
}
@media(max-width:1000px) {
  .ipa-frame, .ipa-admin-app .ipa-frame { grid-template-columns:195px minmax(0,1fr); }
  .ipa-sidebar { padding:25px 12px; }
  .ipa-brand { gap:9px; padding:0 3px; }
  .ipa-brand-mark { width:36px; height:36px; border-radius:10px; }
  .ipa-brand-copy strong { font-size:15px; }
  .ipa-brand-copy span, .ipa-brand-copy small { font-size:8px; letter-spacing:1px; }
  .ipa-sidebar-footer { padding-left:3px; padding-right:3px; }
  .ipa-app .ipa-nav button { padding:12px; gap:10px; font-size:12px; }
  .ipa-topbar, .ipa-header, .ipa-admin-app .ipa-topbar, .ipa-admin-app .ipa-header { padding:16px 24px; }
  .ipa-app main, .ipa-admin-app main { padding:27px 24px 40px; }
  .ipa-header-actions { gap:10px; }
  .ipa-profile > div:not(.ipa-avatar), .ipa-profile > span:not(.ipa-avatar) { display:none; }
  .ipa-profile { padding-left:12px; }
  .ipa-stats { gap:12px; }
  .ipa-stat { padding:17px 15px; gap:10px; }
  .ipa-stat-icon { width:35px; height:35px; border-radius:10px; }
  .ipa-stat-value { font-size:26px; }
  .ipa-stat-label { font-size:10px; }
  .ipa-hero h2 { font-size:32px; }
  .ipa-hero-copy { padding:27px 0 28px 25px; }
  .ipa-hero-art::before { width:140px; height:140px; }
  .ipa-hero-art::after { width:11px; height:11px; border-width:2px; }
  .ipa-event-grid { grid-template-columns:1fr; }
  .ipa-page-head { align-items:flex-start; }
  .ipa-page-head > .ipa-actions { flex-shrink:1; }
  .ipa-auth-layout { grid-template-columns:1fr; max-width:650px; margin:0 auto; }
  .ipa-auth-story { padding:29px 32px; min-height:220px; }
  .ipa-auth-story h1, .ipa-auth-story h2 { font-size:32px; max-width:340px; }
  .ipa-auth-story > p { max-width:65%; }
  .ipa-auth-story .ipa-target-art { position:absolute; width:185px; height:185px; min-height:0; right:-30px; top:27px; margin:0; opacity:.6; }
  .ipa-auth-story .ipa-target-art::before { width:130px; height:130px; }
  .ipa-feature-list { margin-top:22px; max-width:85%; gap:8px 14px; }
  .ipa-auth { max-width:none; padding:30px 32px; }
  .ipa-auth .ipa-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ipa-filters { grid-template-columns:1fr 1fr; gap:17px; padding:18px; }
  .ipa-event-picker { grid-column:1 / -1; }
  .ipa-cards { grid-template-columns:1fr; }
  .ipa-rule-grid { grid-template-columns:1fr; }
  .ipa-results-toolbar { align-items:flex-end; gap:18px; }
  .ipa-results-category, .ipa-results-search { max-width:270px; }
}
@media(max-width:760px) {
  .ipa-frame, .ipa-admin-app .ipa-frame { display:block; }
  .ipa-sidebar, .ipa-admin-app .ipa-sidebar { height:auto; min-height:0; position:relative; padding:17px 20px 0; overflow:visible; }
  .ipa-brand { width:max-content; max-width:100%; }
  .ipa-brand-mark { width:36px; height:36px; }
  .ipa-brand-copy strong { font-size:15px; }
  .ipa-brand-copy span, .ipa-brand-copy small { font-size:8px; }
  .ipa-nav-label, .ipa-sidebar-footer { display:none; }
  .ipa-nav { flex-direction:row; gap:8px; overflow-x:auto; overscroll-behavior-x:contain; margin:16px -5px 0; padding:0 5px 12px; scrollbar-width:thin; scrollbar-color:#5e7076 #1c3038; }
  .ipa-app .ipa-nav button { min-height:42px; width:auto; padding:10px 12px; border-radius:7px; font-size:12px; gap:8px; flex-shrink:0; }
  .ipa-nav .ipa-icon { width:17px; height:17px; }
  .ipa-app .ipa-nav button.is-active { box-shadow:none; background:#34484e; border-color:#526369; }
  .ipa-topbar, .ipa-header, .ipa-admin-app .ipa-topbar, .ipa-admin-app .ipa-header { min-height:62px; padding:12px 21px; gap:12px; }
  .ipa-topbar-title { font-size:11px; gap:6px; }
  .ipa-header-actions { gap:7px; font-size:11px; }
  .ipa-app .ipa-header-actions button { font-size:11px; padding:6px 8px; min-height:36px; }
  .ipa-profile { gap:0; padding-left:9px; }
  .ipa-avatar { width:31px; height:31px; font-size:10px; }
  .ipa-app main, .ipa-admin-app main { padding:27px 21px 35px; }
  .ipa-app h1 { font-size:31px; letter-spacing:-1px; }
  .ipa-page-head { margin-bottom:24px; gap:16px; flex-wrap:wrap; }
  .ipa-page-head p { font-size:12px; margin-top:9px; }
  .ipa-eyebrow { font-size:9px; }
  .ipa-hero { min-height:245px; grid-template-columns:minmax(0,1fr) 27%; border-radius:16px; }
  .ipa-hero-copy { padding:26px 0 28px 25px; }
  .ipa-hero h2 { font-size:30px; }
  .ipa-hero-copy > p { font-size:12px; }
  .ipa-hero-kicker { font-size:9px; }
  .ipa-hero-art::before { width:145px; height:145px; }
  .ipa-hero-art { overflow:visible; opacity:.8; }
  .ipa-hero-art > span:not(.ipa-target-art) { display:none; }
  .ipa-stats { margin-bottom:28px; }
  .ipa-event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
  .ipa-app .ipa-event-card { padding:18px; gap:13px; }
  .ipa-date-tile { width:46px; min-height:57px; }
  .ipa-date-tile strong { font-size:22px; }
  .ipa-event-body h3, .ipa-event-body > strong { font-size:16px; }
  .ipa-panel { padding:23px; }
  .ipa-app .ipa-event { grid-template-columns:1fr 20px; gap:6px 14px; padding:20px; }
  .ipa-event-meta { grid-column:1; }
  .ipa-event > span:last-child { grid-column:2; grid-row:1 / 3; align-self:center; }
  .ipa-entry-row { flex-wrap:wrap; gap:12px; padding:19px; }
  .ipa-entry-row > div:first-child { flex-basis:100%; }
  .ipa-entry-row > button { margin-left:auto; }
  .ipa-total-bar { padding:14px 17px; bottom:8px; gap:12px; border-radius:11px; }
  .ipa-total-bar #ipa-overall { font-size:29px; }
  .ipa-total-bar #ipa-x-total { font-size:11px; }
  .ipa-total-bar button { margin-left:auto; font-size:12px; }
  .ipa-staff-event { padding:20px; gap:13px; }
  .ipa-admin-app { margin:10px 10px 0 0; border-radius:12px; }
  .ipa-app th, .ipa-app td { padding:15px; }
  .ipa-stage { padding:22px; }
  .ipa-workspace-footer { margin-top:30px; }
}
@media(max-width:540px) {
  .ipa-app main, .ipa-admin-app main { padding:25px 16px 28px; }
  .ipa-sidebar, .ipa-admin-app .ipa-sidebar { padding-left:17px; padding-right:17px; }
  .ipa-topbar, .ipa-header, .ipa-admin-app .ipa-topbar, .ipa-admin-app .ipa-header { padding-left:17px; padding-right:17px; }
  .ipa-topbar-title { max-width:50%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .ipa-topbar-title > .ipa-icon { display:none; }
  .ipa-header-actions { gap:4px; }
  .ipa-profile { padding-left:7px; }
  .ipa-app h1 { font-size:29px; }
  .ipa-hero { display:block; min-height:260px; }
  .ipa-hero-copy { padding:27px 23px; width:100%; }
  .ipa-hero-copy > p { max-width:90%; }
  .ipa-hero h2 { font-size:31px; max-width:88%; }
  .ipa-hero-art { position:absolute; width:145px; height:180px; min-height:0; right:-60px; top:15px; opacity:.18; pointer-events:none; }
  .ipa-hero-art::before { width:200px; height:200px; }
  .ipa-hero-art::after { display:none; }
  .ipa-hero-actions { gap:10px; }
  .ipa-hero-tag { font-size:10px; }
  .ipa-stats { gap:9px; }
  .ipa-stat { flex-direction:column; align-items:flex-start; gap:10px; padding:15px 12px; border-radius:10px; }
  .ipa-stat-icon { width:30px; height:30px; border-radius:8px; }
  .ipa-stat-icon .ipa-icon { width:17px; height:17px; }
  .ipa-stat-value { font-size:25px; }
  .ipa-stat-label { font-size:10px; line-height:1.4; }
  .ipa-section-head { gap:10px; }
  .ipa-section-head h2 { font-size:19px; }
  .ipa-section-head > span, .ipa-section-head > small { font-size:10px; }
  .ipa-event-grid { grid-template-columns:1fr; gap:13px; }
  .ipa-app .ipa-event-card { padding:20px; gap:16px; }
  .ipa-date-tile { width:54px; min-height:62px; }
  .ipa-event-body h3, .ipa-event-body > strong { font-size:17px; }
  .ipa-event-footer { padding-top:15px; }
  .ipa-heading { gap:14px; align-items:flex-start; }
  .ipa-heading .ipa-primary { font-size:11px; padding:10px 13px; }
  .ipa-columns { grid-template-columns:1fr; gap:0; }
  .ipa-panel { padding:22px 19px; }
  .ipa-auth-layout { border-radius:16px; }
  .ipa-auth-story { padding:29px 25px; min-height:230px; }
  .ipa-auth-story h1, .ipa-auth-story h2 { font-size:30px; max-width:85%; }
  .ipa-auth-story > p { max-width:85%; font-size:12px; }
  .ipa-auth-story .ipa-target-art { right:-90px; top:28px; opacity:.3; }
  .ipa-feature-list { gap:8px 13px; max-width:100%; }
  .ipa-feature-list li, .ipa-feature-list > span { font-size:10px; }
  .ipa-auth { padding:28px 24px 31px; }
  .ipa-auth h1, .ipa-auth h2 { font-size:28px; }
  .ipa-auth .ipa-columns { grid-template-columns:1fr; }
  .ipa-auth > .ipa-actions { gap:9px; }
  .ipa-app input:not([type=checkbox]):not([type=file]), .ipa-app select, .ipa-app textarea { font-size:16px; }
  .ipa-filters { gap:15px 12px; padding:17px; }
  .ipa-filters select { padding-left:9px; padding-right:9px; }
  .ipa-total-bar { padding:12px 14px; gap:9px; }
  .ipa-total-bar #ipa-x-total { display:none; }
  .ipa-total-bar #ipa-overall { font-size:27px; }
  .ipa-total-label { font-size:10px; }
  .ipa-total-bar button { padding:10px 13px; }
  .ipa-photos { padding:20px; }
  .ipa-stage { padding:20px 18px; }
  .ipa-score-identity { font-size:12px; }
  .ipa-counter-row { gap:12px; }
  .ipa-confirmation { padding:42px 21px; }
  .ipa-confirmation h1 { font-size:27px; }
  .ipa-confirmation .ipa-actions { flex-direction:column; }
  .ipa-confirmation .ipa-actions button { width:100%; }
  .ipa-pdf-toolbar { gap:10px; padding-left:12px; padding-right:12px; }
  .ipa-pdf-toolbar h2 { display:none; }
  .ipa-pdf-toolbar a { margin-left:auto; }
  .ipa-empty-state { padding:38px 22px; }
  .ipa-results-toolbar { align-items:stretch; flex-direction:column; gap:16px; padding:19px; }
  .ipa-results-search, .ipa-results-category { max-width:none; }
  .ipa-workspace-footer { font-size:9px; gap:12px; }
}
@media(max-width:360px) {
  .ipa-topbar-title { font-size:10px; }
  .ipa-header-actions > a { font-size:10px; }
  .ipa-profile { display:none; }
  .ipa-stat { padding:14px 10px; }
  .ipa-stat-label { font-size:9px; }
  .ipa-hero-copy { padding:24px 20px; }
  .ipa-hero h2 { font-size:28px; }
  .ipa-app main, .ipa-admin-app main { padding-left:13px; padding-right:13px; }
  .ipa-auth { padding-left:20px; padding-right:20px; }
  .ipa-stage { padding-left:15px; padding-right:15px; }
  .ipa-stepper { grid-template-columns:44px 45px 44px; gap:3px; }
  .ipa-app .ipa-stepper input { width:45px; }
  .ipa-filters { grid-template-columns:1fr; }
  .ipa-app .ipa-event-card { padding:18px; }
}
.ipa-page-head > div:first-child, .ipa-heading > h1, .ipa-hero-copy, .ipa-event-body, .ipa-stat > div { min-width:0; }
.ipa-app h1, .ipa-app h2, .ipa-event-body > strong, .ipa-staff-event strong, .ipa-entry-row strong { overflow-wrap:anywhere; }
@media(prefers-reduced-motion:reduce) {
  .ipa-app *, .ipa-app *::before, .ipa-app *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
  .ipa-app button:hover, .ipa-app button:active { transform:none; }
}
@media print {
  .ipa-sidebar, .ipa-topbar, .ipa-header, .ipa-back, .ipa-total-bar button { display:none!important; }
  .ipa-app, .ipa-workspace, .ipa-frame { display:block; background:#fff; min-height:0; }
  .ipa-app main { padding:0; }
  .ipa-total-bar { position:static; background:#fff; color:#14252b; box-shadow:none; }
  .ipa-total-bar #ipa-overall { color:#14252b; }
  .ipa-card, .ipa-panel, .ipa-table-scroll { box-shadow:none; }
}
/* Initial render and keyboard navigation */
.ipa-boot { min-height:60vh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; color:var(--muted); font-size:13px; }
.ipa-spinner { width:34px; height:34px; border:3px solid #dce3d9; border-top-color:var(--accent); border-radius:50%; animation:ipa-spin .8s linear infinite; }
@keyframes ipa-spin { to { transform:rotate(360deg); } }
.ipa-noscript { padding:24px; background:#fff1e9; color:#8d3826; font:15px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.ipa-workspace-footer { color:#626e65; }
@media(max-width:540px) { .ipa-score-guide { align-items:flex-start; flex-direction:column; gap:8px; } }
@media(prefers-reduced-motion:reduce) { .ipa-spinner { animation:none; border-color:var(--accent); } }
/* Event management: consistent metadata and action rows. */
.ipa-staff-event { display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:12px 18px; align-items:start; padding:24px; }
.ipa-staff-event > .ipa-date-tile { grid-column:1; grid-row:1 / 3; }
.ipa-staff-event-info { grid-column:2; display:flex; flex-direction:column; gap:7px; min-width:0; align-self:center; }
.ipa-staff-event-info strong { font-size:16px; font-weight:750; line-height:1.4; }
.ipa-staff-event-info > span { color:var(--muted); font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.ipa-staff-event > .ipa-status { grid-column:3; justify-self:end; margin-top:4px; }
.ipa-staff-event > .ipa-actions { grid-column:2 / -1; width:100%; gap:8px; margin-top:4px; }
@media(max-width:760px) {
  .ipa-staff-event { grid-template-columns:46px minmax(0,1fr); gap:11px 15px; padding:20px; }
  .ipa-staff-event > .ipa-date-tile { grid-row:1 / 3; width:46px; min-height:57px; }
  .ipa-staff-event-info strong { font-size:15px; }
  .ipa-staff-event > .ipa-status { grid-column:2; grid-row:2; justify-self:start; margin:0; }
  .ipa-staff-event > .ipa-actions { grid-column:1 / -1; padding-top:15px; margin-top:5px; border-top:1px solid var(--line); }
}
/* Elite app system. All typography is served by the plugin. */
@font-face{font-family:IPA Manrope;src:url('../fonts/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:IPA Condensed;src:url('../fonts/BarlowCondensed-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
.ipa-app{--ink:#f0f3f8;--muted:#a1adbd;--line:#303a49;--soft:#202936;--accent:#ff7854;--accent-hover:#ff997b;--danger:#ff9c96;--navy:#0e141e;--paper:#0e131d;--shadow:0 16px 40px #0003;color-scheme:dark;background:var(--paper);color:var(--ink);font:14px/1.6 'IPA Manrope',Arial,sans-serif}
body.ipa-hub-page{background:#090d14}
.ipa-app button,.ipa-app input,.ipa-app select,.ipa-app textarea{font-family:'IPA Manrope',Arial,sans-serif}
.ipa-app h1,.ipa-app h2,.ipa-app h3{font-family:'IPA Manrope',Arial,sans-serif;font-weight:750;letter-spacing:-.8px;color:var(--ink)}
.ipa-app h1{font-size:clamp(31px,3.1vw,43px);line-height:1.13;margin-bottom:24px}.ipa-app h2{font-size:23px;line-height:1.25}
.ipa-app a{color:#ff9b7d}.ipa-app button,.ipa-app .ipa-button{font-size:13px;font-weight:650;min-height:44px;border:1px solid #3c4758;border-radius:9px;background:#212a37;color:#eff3f9;box-shadow:inset 0 1px #ffffff05;transition:background .18s,border-color .18s,transform .18s}
.ipa-app button:hover,.ipa-app .ipa-button:hover{background:#2e3948;border-color:#607087;color:#fff;box-shadow:none;transform:none}
.ipa-app .ipa-primary{background:#ff7854;border:1px solid #ff9578;color:#17120f;box-shadow:0 5px 18px #ee68321a;font-weight:800}.ipa-app .ipa-primary:hover{background:#ff9c80;border-color:#ffbba8;color:#17120f}
.ipa-app .ipa-danger{color:#ffa8a4}.ipa-app .ipa-link{background:none;border:0;box-shadow:none;color:#ff9b7d}.ipa-app .ipa-back{color:#b7c3d4;background:none;box-shadow:none}
.ipa-app input:not([type=checkbox]):not([type=file]),.ipa-app select,.ipa-app textarea{background:#0f1621;color:#f3f6fb;border:1px solid #455166;border-radius:8px;min-height:49px;font-size:16px;box-shadow:inset 0 2px 5px #0002}
.ipa-app input:disabled,.ipa-app select:disabled{background:#1b2431!important;color:#bec9d9}.ipa-app label{font-size:13px;color:#dbe3ef;font-weight:600}.ipa-app input::placeholder{color:#94a1b4}.ipa-app :focus-visible{outline:3px solid #ffaa87;outline-offset:3px}
.ipa-frame,.ipa-admin-app .ipa-frame{display:grid;grid-template-columns:224px minmax(0,1fr);max-width:1760px;margin:auto;min-height:100vh;background:#0e131d}
.ipa-sidebar,.ipa-admin-app .ipa-sidebar{height:100vh;height:100dvh;min-height:0;position:sticky;top:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;background:#101722;border-right:1px solid #283243;padding:36px 18px 24px;color:#fff;overflow-y:auto}
.ipa-brand{padding:0 12px;gap:0;min-width:0;max-width:100%;color:#fff!important;display:block}.ipa-brand-copy{gap:12px}.ipa-brand-copy strong{display:block;font:600 32px/1.04 'IPA Condensed',sans-serif;text-transform:uppercase;letter-spacing:.1px;color:#fff;max-width:180px}
.ipa-brand-copy>span{color:#929fb4;font-size:8px;letter-spacing:2.1px;line-height:1.6}.ipa-brand-mark,.ipa-nav-icon,.ipa-icon,.ipa-stat-icon,.ipa-empty-icon,.ipa-target-art,.ipa-hero-art,.ipa-hero-tag,.ipa-feature-list{display:none!important}
.ipa-nav-label{display:block;padding:0 13px;margin:46px 0 15px;color:#8a97ab;font-size:9px;letter-spacing:1.8px;font-weight:600}
.ipa-nav{display:flex;flex-direction:column;gap:9px;min-width:0;margin:0;overflow:visible}
.ipa-app .ipa-nav button{width:100%;min-height:50px;justify-content:flex-start;gap:15px;padding:12px 15px;border:1px solid transparent;border-radius:9px;background:transparent;color:#aebad0;box-shadow:none;font-size:12px;font-weight:650;white-space:nowrap}
.ipa-nav-sequence{color:#76869d;font-size:10px;font-weight:500;letter-spacing:1px}.ipa-app .ipa-nav button.is-active{background:linear-gradient(105deg,#3c2928,#28232a);color:#ffa88d;border:1px solid #694538;box-shadow:inset 3px 0 #ff7854}
.ipa-app .ipa-nav button.is-active .ipa-nav-sequence{color:#ff9d7f}.ipa-app .ipa-nav button:hover{background:#202a3a;border-color:#38465a;transform:none;color:#fff}
.ipa-sidebar-footer{display:block;margin-top:auto;padding:30px 9px 0}.ipa-sidebar-note{border:1px solid #354053;border-radius:11px;background:linear-gradient(145deg,#202b3b,#151d29);padding:20px 16px;font-size:11px;color:#9facbf}
.ipa-account-label{display:block;color:#8394ac;font-size:8px;letter-spacing:1.7px;margin-bottom:10px}.ipa-sidebar-note strong{display:block;color:#eef2f9;font-size:13px;line-height:1.4;margin-bottom:7px;overflow-wrap:anywhere}.ipa-sidebar-footer>a{color:#aab8cc;font-size:10px;display:block;margin-top:23px;padding:0 6px}
.ipa-topbar,.ipa-admin-app .ipa-topbar{min-height:80px;padding:18px 36px;background:#131b28;border-bottom:1px solid #2b3546;gap:20px}.ipa-topbar-title{color:#afbdd0;font-size:12px;letter-spacing:.2px}
.ipa-header-actions{gap:21px;color:#d1dbeb}.ipa-header-actions a,.ipa-header-actions button{font-size:11px;color:#b6c4d8}.ipa-profile{display:flex;gap:12px;padding-left:20px;border-left:1px solid #3b4556;font-size:11px;max-width:260px;min-width:0;color:#dce5f2}.ipa-profile>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ipa-avatar{display:grid;width:34px;height:34px;flex-shrink:0;border:1px solid #52617a;border-radius:10px;background:linear-gradient(140deg,#3c4d65,#243143);color:#f5f8fc;font-weight:800;font-size:11px}
.ipa-app main,.ipa-admin-app main,.ipa-workspace>main{padding:34px 36px 42px;max-width:none;min-width:0}.ipa-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}.ipa-page-head h1{margin:0}.ipa-page-head p{font-size:13px;color:#aab8cc;margin-top:12px;max-width:620px}
.ipa-eyebrow,.ipa-page-head .ipa-eyebrow,.ipa-overline{display:block;color:#ffab90;font-size:9px!important;letter-spacing:1.8px;font-weight:700;text-transform:uppercase;margin:0 0 12px}.ipa-page-head>.ipa-actions{flex-shrink:0;margin-bottom:2px}
.ipa-front-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(240px,1fr);gap:20px;margin-bottom:32px}
.ipa-spotlight{display:flex;flex-direction:column;min-width:0;position:relative;overflow:hidden;border:1px solid #4a5668;border-radius:18px;background:linear-gradient(120deg,#283546 0%,#1c2635 42%,#191d27 76%,#342724 100%);color:#fff;box-shadow:inset 0 1px #d8e4ff12,0 18px 38px #0003}
.ipa-spotlight::before{content:'';position:absolute;top:-20%;bottom:-20%;right:8%;width:20%;transform:skew(-19deg);background:linear-gradient(90deg,#ffffff00,#8290a70b,#ffffff00);border-left:1px solid #dce6ff0c;border-right:1px solid #dce6ff08;pointer-events:none}
.ipa-spotlight-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:25px 27px 0;position:relative}.ipa-spotlight .ipa-overline{color:#c4cee0;font-size:8px!important;letter-spacing:1.6px;margin:0}
.ipa-spotlight .ipa-status{color:#ffb29c;border:1px solid #9e6351;background:#372927;font-size:9px;padding:5px 11px;letter-spacing:.4px}
.ipa-spotlight-middle{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:24px;padding:33px 27px 35px;align-items:center;flex:1;position:relative;min-height:236px}
.ipa-spotlight h2{font:600 clamp(37px,3.5vw,56px)/1.01 'IPA Condensed',sans-serif;text-transform:uppercase;color:#fff;letter-spacing:.1px;overflow-wrap:anywhere;max-width:500px;text-shadow:0 2px 18px #0002}
.ipa-feature-date{display:flex;align-items:center;justify-content:center;align-self:stretch;border-left:1px solid #67738766;padding-left:20px;min-width:0}.ipa-feature-date .ipa-date-tile{background:none;border:0;border-radius:0;padding:0;width:auto;min-width:0;color:#ff9776;text-align:left;display:flex;flex-direction:column;gap:3px}
.ipa-feature-date .ipa-date-tile>span{font-family:'IPA Manrope',sans-serif;color:#e5bea9;font-size:12px;letter-spacing:3px}.ipa-feature-date .ipa-date-tile>strong{font:600 105px/.9 'IPA Condensed',sans-serif;color:#ff9574;letter-spacing:-3px}
.ipa-spotlight-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 27px;background:#11182199;border-top:1px solid #526071;backdrop-filter:blur(14px);position:relative}.ipa-spotlight-bottom>div{min-width:0}.ipa-spotlight-bottom .ipa-overline{font-size:8px!important;color:#97a9c2}
.ipa-spotlight-bottom p{font-size:11px;line-height:1.7;color:#d0dbe9;margin-top:7px;max-width:330px;overflow-wrap:anywhere}.ipa-spotlight .ipa-primary{flex-shrink:0;background:#ff7854;color:#17120f;border-color:#ffab88;padding:12px 18px;min-height:46px;font-size:11px;box-shadow:0 4px 20px #ff5b3228}.ipa-spotlight .ipa-primary:hover{background:#ffa184;border-color:#ffc2ad}
.ipa-member-panel{display:flex;flex-direction:column;min-width:0;border:1px solid #3e4b60;border-radius:18px;background:linear-gradient(145deg,#202c3e,#151e2d);box-shadow:inset 0 1px #c8ddff0b,0 16px 28px #0002;padding:24px}
.ipa-member-panel>.ipa-overline{font-size:8px!important;color:#94a7c4;letter-spacing:1.5px;margin-bottom:10px}.ipa-member-panel h2{font-size:19px;color:#edf3fe;letter-spacing:-.4px;line-height:1.3;margin:0 0 19px;overflow-wrap:anywhere}
.ipa-recent-score{padding:16px 0 19px;border-top:1px solid #3b4a60;border-bottom:1px solid #3b4a60;margin-bottom:15px}.ipa-recent-score>.ipa-overline{color:#a9b8ce;letter-spacing:1.2px;font-size:8px!important;margin-bottom:8px}.ipa-recent-score>div:not(.ipa-performance-track){display:flex;align-items:baseline;gap:9px}
.ipa-recent-score strong{font:600 59px/1 'IPA Condensed',sans-serif;color:#fff;letter-spacing:-1px}.ipa-recent-score>div>span{font-size:12px;color:#a0b1ca}.ipa-recent-score p{font-size:10px;color:#b8c7da;line-height:1.6;margin-top:10px;overflow-wrap:anywhere}.ipa-performance-track{height:4px;border-radius:3px;background:#3d495b;overflow:hidden;margin-top:13px}.ipa-performance-track>span{display:block;height:100%;background:linear-gradient(90deg,#fe6239,#ffae85);border-radius:3px}
.ipa-member-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:0 0 20px}.ipa-member-panel dl>div{display:flex;flex-direction:column-reverse;gap:5px;border:0;padding:0;min-width:0}.ipa-member-panel dt{font-size:9px;color:#a9b9d1;line-height:1.5}.ipa-member-panel dd{margin:0;color:#e4efff;font:600 25px/1 'IPA Condensed',sans-serif}
.ipa-member-panel .ipa-record-link{margin-top:auto;justify-content:space-between;width:100%;min-height:42px;padding:10px 13px;background:#2d3b50;border:1px solid #52637c;color:#eef4fe;font-size:10px;border-radius:8px}.ipa-record-link::after{content:'→';font-size:17px}.ipa-recent-empty{padding:22px 0;min-height:130px}.ipa-spotlight-empty{padding:30px}.ipa-spotlight-empty h2{margin:25px 0 20px}.ipa-spotlight-empty>p{color:#b6c5da}.ipa-spotlight-empty>.ipa-primary{align-self:flex-start;margin-top:24px}
.ipa-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:17px;margin:28px 0 17px}.ipa-section-head h2{font-size:21px;color:#eff4fd;font-weight:750}.ipa-section-head .ipa-overline{font-size:8px!important;color:#9eacc1;letter-spacing:1.5px;margin-bottom:9px}.ipa-schedule-count{font-size:10px;color:#b0bdd0;white-space:nowrap;background:#202b3a;padding:6px 11px;border:1px solid #3c4a5d;border-radius:6px}
.ipa-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;border:0}.ipa-app .ipa-event-card{display:grid;grid-template-columns:66px minmax(0,1fr);grid-template-rows:auto auto;gap:0 18px;padding:0;border:1px solid #354258;border-radius:13px;background:linear-gradient(140deg,#202b3b,#182130);text-align:left;min-width:0;overflow:hidden;box-shadow:inset 0 1px #d3e4ff06,0 10px 18px #0001}
.ipa-app .ipa-event-card:hover{background:linear-gradient(140deg,#2a3545,#1d2839);border-color:#758198;box-shadow:0 12px 22px #0003;transform:translateY(-2px)}.ipa-event-card::before,.ipa-hero::after,.ipa-hero-kicker::before{display:none!important}
.ipa-event-card-top{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:18px;padding:24px 7px;background:#ffffff04;border-right:1px solid #435168;min-width:0}
.ipa-event-card-top .ipa-date-tile{width:auto;min-width:0;background:none;border:0;border-radius:0;padding:0;color:#fff}.ipa-date-tile>span{font-size:9px;letter-spacing:1.5px;color:#aabbcf}.ipa-date-tile>strong{font:600 36px/1 'IPA Condensed',sans-serif;color:#f1f5fb}
.ipa-event-body{padding:23px 20px 18px 0;min-width:0;gap:6px}.ipa-event-body>strong{font:600 27px/1.15 'IPA Condensed',sans-serif;color:#f1f5fc;letter-spacing:.1px;margin-bottom:7px}.ipa-event-meta{font-size:10px;color:#b0c0d7;line-height:1.7;gap:0}
.ipa-event-footer{grid-column:2;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #3c4960;padding:12px 0;margin-right:20px;gap:12px;color:#ffb39b;min-width:0}.ipa-event-footer>span:last-child:not(.ipa-status){font-size:10px;color:#ffb39b;font-weight:750;text-decoration:none}.ipa-event-footer::after{content:'→';font-size:20px;color:#ff997b;line-height:1}
.ipa-status{font-size:9px;border-radius:5px;background:#2a384b;color:#cddaf1;border:1px solid #4a5d76;font-weight:650;line-height:1.5;padding:4px 8px}.ipa-status-dot{display:none}.ipa-badge-open,.ipa-badge-live,.ipa-badge-confirmed,.ipa-badge-checked_in,.ipa-badge-verified{background:#173f3a;color:#a0e6cf;border-color:#3a7867}.ipa-badge-submitted,.ipa-badge-final,.ipa-badge-completed{background:#243d5d;color:#b9d6ff;border-color:#5278a9}.ipa-badge-draft,.ipa-badge-not_submitted,.ipa-badge-archived{background:#2b3545;color:#c2cddd;border-color:#55647b}.ipa-badge-waitlist,.ipa-badge-returned,.ipa-badge-started{background:#4b3924;color:#f5d296;border-color:#8d7146}.ipa-badge-rejected,.ipa-badge-disqualified,.ipa-badge-withdrawn{background:#4c292f;color:#ffb6ba;border-color:#94565e}
.ipa-event-card-top .ipa-status{font-size:8px;padding:3px 5px;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}.ipa-count{background:#25354d;color:#bcd3f5;border:1px solid #465b79;border-radius:5px}
.ipa-hero{display:block;min-height:0;background:linear-gradient(130deg,#243345,#202432);border:1px solid #566176;border-radius:15px;box-shadow:var(--shadow);color:#fff}.ipa-hero-copy{width:100%;padding:33px}.ipa-hero h2{font-size:35px;letter-spacing:-.8px;font-weight:750;color:#fff;max-width:none}.ipa-hero-copy>p{color:#b7c7dc;font-size:14px;max-width:700px}.ipa-hero-kicker{color:#ffb39b;font-size:9px;letter-spacing:1.7px}.ipa-hero .ipa-primary{background:#ff7854;border-color:#ffaa8a;color:#17120f}.ipa-hero .ipa-primary:hover{background:#ffa184;border-color:#ffc2ad}
.ipa-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:25px 0;border:1px solid #44516b;border-radius:12px;background:linear-gradient(130deg,#233249,#192233);overflow:hidden}.ipa-stat{border:0;border-right:1px solid #42506a;background:transparent;border-radius:0;display:block;min-width:0;padding:23px;box-shadow:none}.ipa-stat:last-child{border-right:0}.ipa-stat-value{font:600 42px/1 'IPA Condensed',sans-serif;color:#eaf2ff;letter-spacing:0}.ipa-stat-label{font-size:11px;color:#b2c4df;margin-top:9px}
.ipa-panel,.ipa-card,.ipa-list,.ipa-table-scroll,.ipa-results-toolbar,.ipa-photos,.ipa-confirmation,.ipa-empty-state{border:1px solid #3e4b60;border-radius:12px;background:#182231;box-shadow:0 10px 25px #0002;color:#eaf0fb}.ipa-panel{padding:28px}.ipa-form-title{border-color:#44526a}.ipa-empty-state{padding:46px 25px}.ipa-empty-state p{color:#aebed3}.ipa-empty-state h2{font-size:26px}
.ipa-auth-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:0;max-width:1150px;margin:8px auto 30px;border:1px solid #536079;border-radius:18px;background:#17202e;overflow:hidden;box-shadow:0 24px 80px #0004}
.ipa-auth-story{position:relative;overflow:hidden;background:linear-gradient(145deg,#2b3b51,#182130 58%,#3a2928);padding:44px;min-height:580px;justify-content:center;border-right:1px solid #4d5a70;color:#fff}
.ipa-auth-story::after{content:'';position:absolute;top:-30%;right:5%;height:160%;width:21%;transform:skew(-18deg);border-left:1px solid #ccdaef10;border-right:1px solid #ccdaef10;background:#d0e0ff03;pointer-events:none}
.ipa-auth-story .ipa-hero-kicker{color:#c1cde0;font-size:9px;letter-spacing:1.8px;position:relative;z-index:1}.ipa-auth-story h2{font:600 clamp(50px,5vw,74px)/.98 'IPA Condensed',sans-serif;letter-spacing:0;color:#fff;max-width:none;margin:25px 0 26px;position:relative;z-index:1}.ipa-auth-story h2 em{font-style:normal;color:#ff9b7d}.ipa-auth-story>p{font-size:13px;color:#c1cfe2;line-height:1.8;max-width:300px;position:relative;z-index:1}
.ipa-auth-index{display:flex;flex-direction:column;margin-top:35px;border-top:1px solid #62708866;position:relative;z-index:1}.ipa-auth-index>span{display:flex;gap:20px;align-items:center;padding:14px 0;border-bottom:1px solid #62708866;font-size:12px;color:#cbd8eb}.ipa-auth-index b{font:600 22px 'IPA Condensed',sans-serif;color:#ff9d7f}
.ipa-auth{border:0;border-radius:0;background:#17202e;max-width:none;margin:0;padding:42px 38px;box-shadow:none;align-self:center}.ipa-auth h1{font-size:34px;color:#f2f5fa;margin:0 0 16px;letter-spacing:-1px}.ipa-auth>p:not(.ipa-eyebrow){font-size:12px;color:#acbbd0;line-height:1.8;margin-bottom:25px}.ipa-auth .ipa-eyebrow{font-size:8px!important;color:#ffaf93}.ipa-auth>.ipa-actions,.ipa-auth .ipa-actions .ipa-link{font-size:10px}.ipa-auth-results{font-size:10px;line-height:1.8;border-color:#46536a;color:#a6b7cf}.ipa-auth-results .ipa-link{font-size:10px}.ipa-field-hint{color:#adbed5!important}
.ipa-score-guide{display:block;background:#1f2d42;border:1px solid #435b7e;border-radius:10px;padding:17px 20px;color:#c9d8ee;font-size:12px}.ipa-score-guide>span{font-weight:750;color:#ecf3ff}.ipa-score-guide p{font-size:12px;color:#b4c6e0;margin-top:5px}
.ipa-distance-group{margin:28px 0 34px}.ipa-distance-group .ipa-section-head{margin-bottom:17px}.ipa-distance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ipa-app .ipa-stage-tile{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left;min-width:0;overflow:hidden;padding:22px 19px 0;border:1px solid #48546a;border-radius:14px;background:linear-gradient(155deg,#2b374b,#1b2534 52%,#161d2b);box-shadow:inset 0 1px #d6e1ff0a,0 8px 18px #0002}
.ipa-app .ipa-stage-tile:hover{background:linear-gradient(155deg,#39455a,#263144 52%,#1c2738);border-color:#9d7b6e;transform:translateY(-2px);box-shadow:0 16px 30px #0003}
.ipa-app .ipa-stage-tile.is-saved{background:linear-gradient(145deg,#203e3a,#1a2e31 60%,#162329);border-color:#48796d}.ipa-stage-tile::before{content:'';position:absolute;left:19px;right:19px;top:0;height:2px;background:#ff946d}.ipa-stage-tile.is-saved::before{background:#86d4b2}
.ipa-tile-label{font-size:8px;letter-spacing:1.7px;color:#aebfd8;font-weight:650}.ipa-stage-tile .ipa-distance{font:600 78px/.98 'IPA Condensed',sans-serif;color:#f0f5ff;letter-spacing:-1px;margin:17px 0 7px;text-shadow:0 2px 16px #0002}.ipa-distance small{font:500 21px 'IPA Manrope',sans-serif;letter-spacing:0;margin-left:5px;color:#acbad0}
.ipa-stage-tile-name{font-size:10px;color:#b1c0d6;overflow-wrap:anywhere}.ipa-tile-numbers{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:24px 0 13px;font-size:10px;color:#b4c4dc}.ipa-tile-numbers strong{font:600 25px 'IPA Condensed',sans-serif;color:#f3f7fd}
.ipa-stage-meter{display:block;background:#495469;height:3px;border-radius:4px;overflow:hidden;margin-bottom:13px}.ipa-stage-meter i{display:block;height:100%;background:#ff9977;border-radius:4px}.is-saved .ipa-stage-meter i{background:#86d4b2}
.ipa-tile-footer{display:flex;align-items:center;justify-content:space-between;gap:7px;border-top:1px solid #4b596f;padding:15px 0;font-size:9px;color:#bdcbe0;margin-top:auto}.ipa-tile-footer>span:last-child{font-weight:750;white-space:nowrap;color:#ffb092}.is-saved .ipa-tile-footer{border-color:#486d63;color:#b0e4d2}.is-saved .ipa-tile-footer>span:last-child{color:#b0e4d2}
.ipa-app .ipa-stage-dialog{position:fixed;inset:0;width:min(590px,calc(100% - 24px));max-width:590px;max-height:94vh;max-height:94dvh;height:auto;margin:auto;padding:0;overflow:hidden;border:1px solid #6c778b;border-radius:19px;background:#141e2b;color:#f0f5fc;box-shadow:0 30px 120px #0009;z-index:99999}.ipa-stage-dialog[open]{display:flex;flex-direction:column}.ipa-stage-dialog::backdrop{background:#070c16d9;backdrop-filter:blur(8px)}
.ipa-stage-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 26px;background:linear-gradient(120deg,#29374d,#222c3d);border-bottom:1px solid #57677f;flex-shrink:0}.ipa-stage-dialog-head h2{font:600 42px/1.1 'IPA Condensed',sans-serif;color:#fff;letter-spacing:0;overflow-wrap:anywhere}.ipa-stage-dialog-head .ipa-overline{font-size:8px!important;letter-spacing:1.6px;color:#ffb095;margin:0 0 8px}.ipa-app .ipa-dialog-close{background:#35445a;border-color:#708099;color:#e7effc;min-height:39px;font-size:11px}
.ipa-stage-dialog-body{min-height:0;overflow:auto;overscroll-behavior:contain}.ipa-stage-dialog-body .ipa-stage{padding:20px 26px;border:0;background:#141e2b}.ipa-stage-dialog-body .ipa-stage legend{display:none}.ipa-stage-dialog .ipa-counter-row{min-height:66px;border-color:#35445a}.ipa-stage-dialog .ipa-counter-row>label{font:600 24px 'IPA Condensed',sans-serif;color:#dce7f9}
.ipa-stage{background:#182331;padding:26px}.ipa-stage:nth-child(even){background:#1b283b}.ipa-stage legend{font-size:23px;overflow-wrap:anywhere;min-width:0}.ipa-stage-number{flex-shrink:0;border-radius:6px;background:#3f3939;color:#ffbdab}.ipa-stage-summary{color:#a7b9d2;font-size:12px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid #3f4e64}.ipa-stage-summary output:last-child{font:600 29px 'IPA Condensed',sans-serif;color:#ff9d7d}.ipa-stage-summary output[data-shots]{background:#2c3b51;color:#ccdef5;border-radius:6px;padding:4px 11px}.ipa-stage-summary output.ipa-invalid{color:#ffb0aa;background:#512e38}
.ipa-stepper{border:1px solid #4a5c74;border-radius:10px;background:#243249;gap:5px;padding:5px;grid-template-columns:44px 58px 44px}.ipa-app .ipa-stepper button{border-radius:7px;background:#33445e;border:1px solid #5a6f8d;color:#f4f8fe;box-shadow:none;font-size:24px;font-weight:500}.ipa-app .ipa-stepper button:hover{background:#4b6080;border-color:#7f96b3}.ipa-app .ipa-stepper button[data-delta='1']{background:#ff8966;border-color:#ffb397;color:#23140e}.ipa-app .ipa-stepper button[data-delta='1']:hover{background:#ffae92;border-color:#ffbfa8}
.ipa-app .ipa-stepper input{width:58px;min-height:44px;background:#0e1827;border-radius:6px;border:0;font:600 25px 'IPA Condensed',sans-serif;color:#fff;padding:0;text-align:center}.ipa-app .ipa-stepper input:disabled{background:#1b283a!important;color:#d0ddef}
.ipa-stage-dialog-body .ipa-message{margin:0 22px 20px}.ipa-stage-dialog-foot{padding:20px 26px;background:#202e43;border-top:1px solid #53637e;display:flex;align-items:center;gap:20px;flex-shrink:0}.ipa-stage-dialog-foot p{font-size:10px;line-height:1.7;flex:1;color:#c1cee3}.ipa-stage-dialog-foot button{flex-shrink:0;min-height:48px;padding:12px 24px;font-size:12px}
.ipa-total-bar{display:flex;flex-wrap:wrap;gap:15px;background:linear-gradient(100deg,#2b364b,#1f293b);border:1px solid #69758b;border-radius:12px;box-shadow:0 12px 34px #0006;color:#dfe8f7;padding:17px 23px;backdrop-filter:blur(15px)}.ipa-total-label{font-size:10px;letter-spacing:1px}.ipa-total-bar #ipa-overall{font:600 43px/1 'IPA Condensed',sans-serif;color:#ffab89;letter-spacing:0}.ipa-total-bar #ipa-x-total{color:#bdcce2;font-size:11px}.ipa-total-bar .ipa-primary{background:#ff916e;border-color:#ffb79b;color:#25160d}
.ipa-photos{padding:26px}.ipa-photos>.ipa-section-head{margin-top:0}.ipa-photos h2{font-size:23px}.ipa-upload{display:flex!important;width:100%;padding:24px!important;border:1px dashed #687f9d;border-radius:10px;background:#1e2d44;color:#d9e4f3}.ipa-upload span{color:#b0c2db;font-size:11px}.ipa-upload input{color:#cfdaeb}.ipa-upload input::file-selector-button{background:#344863;border:1px solid #6c83a1;border-radius:7px;color:#f2f6fd}.ipa-photo-grid img{border-color:#687993;border-radius:8px}
.ipa-staff-event{background:transparent;border-color:#3b495f}.ipa-staff-event-info strong{font-size:15px;font-weight:750;color:#eef4ff;line-height:1.4}.ipa-staff-event-info>span{color:#acbdd5;font-size:11px}.ipa-staff-event>.ipa-date-tile{background:#29384f;border:1px solid #516684;border-radius:8px;padding:9px 5px;color:#cfe0f8}.ipa-staff-event .ipa-actions button{font-size:10px;min-height:38px}
.ipa-filters,.ipa-results-toolbar{background:linear-gradient(115deg,#233047,#1b2638);border:1px solid #485b77;border-radius:12px;box-shadow:none;padding:23px}.ipa-results-toolbar h2{font-size:24px}.ipa-results-count{color:#bdcce1;font-size:12px}.ipa-muted{color:#b0bfd3!important;font-size:12px}.ipa-app table{font-size:13px}.ipa-app th{background:#29374e;color:#d5e2f5;font-size:9px;font-weight:750;letter-spacing:1px}.ipa-app td{color:#d7e2f3;font-size:12px;border-color:#3b4960;padding:18px 20px}.ipa-app tbody tr:nth-child(even){background:#1c2a3e}.ipa-app tbody tr:hover{background:#293a53}.ipa-app tr:last-child td{border-color:#3b4960}.ipa-table-score{font:600 27px 'IPA Condensed',sans-serif;color:#ffb392}.ipa-rank{border-radius:7px;background:#2b3a50;color:#ccdaed}.ipa-rank-1{background:#55452b;color:#f4d798}.ipa-rank-2{background:#364965;color:#d4e7ff}.ipa-rank-3{background:#4e3932;color:#edbaa1}
.ipa-rule-grid fieldset{background:#1d2d42;border:1px solid #486080;border-radius:10px}.ipa-rule-grid legend{color:#d8e6f9}.ipa-checkmark{border-radius:13px;background:#1d4b43;color:#a5ebd5;box-shadow:0 0 0 8px #204b3e22}.ipa-receipt-total{font:600 85px 'IPA Condensed',sans-serif;color:#ffad8c;letter-spacing:0}.ipa-receipt-total span{color:#bdcee6}.ipa-message{background:#472d38;color:#ffd2d6;border:1px solid #976477;border-radius:8px}.ipa-message.ipa-success{background:#20493f;color:#b4f0dc;border-color:#508a72}.ipa-review-note{background:#453a29;color:#efd7a4;border-color:#ae8d4d}.ipa-confirmation p{color:#b8c8de}
.ipa-workspace-footer{border-top:1px solid #364158;font-size:9px;color:#8ea0bb;letter-spacing:.5px;margin-top:40px;padding-top:20px}.ipa-admin-app{background:#0e131d;border:0;border-radius:14px;overflow:visible}.ipa-admin-app .ipa-sidebar{position:static;height:auto;min-height:85vh}.ipa-pdf-dialog{color-scheme:light}.ipa-app .ipa-pdf-dialog{background:#111b2b}.ipa-pdf-toolbar{background:#1c2a40;border-color:#455b78;color:#e7effa}.ipa-pdf-toolbar h2{color:#e7effa}.ipa-boot{color:#a2b7d4}.ipa-spinner{border-color:#324864;border-top-color:#ff9977}.ipa-noscript{background:#462c31;color:#ffd0c3}
@media(max-width:1200px){.ipa-frame,.ipa-admin-app .ipa-frame{grid-template-columns:192px minmax(0,1fr)}.ipa-sidebar,.ipa-admin-app .ipa-sidebar{padding-left:12px;padding-right:12px}.ipa-brand-copy strong{font-size:29px}.ipa-brand-copy>span{font-size:7px;letter-spacing:1.5px}.ipa-app main,.ipa-admin-app main,.ipa-workspace>main{padding:28px}.ipa-topbar,.ipa-admin-app .ipa-topbar{padding:16px 28px}.ipa-front-grid{grid-template-columns:minmax(0,1.75fr) minmax(225px,1fr);gap:16px}.ipa-spotlight-middle{grid-template-columns:minmax(0,1fr) 82px;gap:18px;padding:29px 23px}.ipa-spotlight-top,.ipa-spotlight-bottom{padding-left:23px;padding-right:23px}.ipa-feature-date{padding-left:14px}.ipa-feature-date .ipa-date-tile>strong{font-size:83px}.ipa-spotlight-bottom{flex-direction:column;align-items:flex-start;gap:15px}.ipa-spotlight .ipa-primary{width:100%}.ipa-member-panel{padding:23px 20px}.ipa-member-panel h2{font-size:18px}.ipa-distance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ipa-auth-story{padding:32px}.ipa-auth{padding:36px 28px}.ipa-auth-story h2{font-size:60px}}
@media(max-width:960px){.ipa-frame,.ipa-admin-app .ipa-frame{grid-template-columns:176px minmax(0,1fr)}.ipa-brand{padding:0 9px}.ipa-brand-copy strong{font-size:27px}.ipa-brand-copy>span{font-size:7px;letter-spacing:1px}.ipa-app .ipa-nav button{padding:12px 11px;gap:11px;font-size:11px}.ipa-nav-sequence{font-size:8px}.ipa-sidebar-note{padding:16px 12px}.ipa-sidebar-footer{padding:25px 4px 0}.ipa-front-grid{grid-template-columns:1fr}.ipa-spotlight-middle{grid-template-columns:minmax(0,1fr) 120px;min-height:230px}.ipa-spotlight h2{font-size:50px}.ipa-feature-date .ipa-date-tile>strong{font-size:103px}.ipa-spotlight-bottom{flex-direction:row;align-items:center}.ipa-spotlight .ipa-primary{width:auto}.ipa-member-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 23px}.ipa-member-panel>.ipa-overline,.ipa-member-panel h2{grid-column:1}.ipa-recent-score{grid-column:2;grid-row:1/5;margin:0;padding:0 0 0 23px;border:0;border-left:1px solid #4a5a70}.ipa-member-panel dl{grid-column:1;margin:0 0 18px}.ipa-member-panel .ipa-record-link{grid-column:1}.ipa-event-grid{grid-template-columns:1fr}.ipa-page-head{flex-wrap:wrap;align-items:flex-start;gap:15px}.ipa-page-head h1{font-size:35px}.ipa-auth-layout{grid-template-columns:1fr}.ipa-auth-story{min-height:0;padding:35px}.ipa-auth-story h2{font-size:60px}.ipa-auth-index{display:none}.ipa-auth-story>p{max-width:420px}.ipa-auth{padding:35px}.ipa-filters{grid-template-columns:1fr 1fr}.ipa-event-picker{grid-column:1/-1}.ipa-profile>span:last-child{display:none}.ipa-profile{padding-left:16px;max-width:none}}
@media(max-width:700px){.ipa-frame,.ipa-admin-app .ipa-frame{display:block}.ipa-sidebar,.ipa-admin-app .ipa-sidebar{height:auto;min-height:0;position:relative;padding:23px 5% 18px;border-right:0;border-bottom:1px solid #35445c;background:linear-gradient(140deg,#1b2535,#0f1723)}.ipa-brand{padding:0}.ipa-brand-copy strong{font-size:26px;max-width:none;line-height:1.1}.ipa-brand-copy{gap:7px}.ipa-brand-copy>span{font-size:7px;letter-spacing:1.8px}.ipa-nav-label,.ipa-sidebar-footer{display:none}.ipa-nav{margin-top:21px;flex-direction:row;gap:7px;overflow-x:auto;max-width:100%;padding-bottom:2px}.ipa-app .ipa-nav button{width:auto;flex-shrink:0;min-height:43px;padding:10px 14px;gap:8px;font-size:11px;border-color:#35445d;background:#1b293c}.ipa-app .ipa-nav button.is-active{background:linear-gradient(110deg,#633d33,#3a2a2c);border-color:#b0755d;box-shadow:inset 0 -2px #ff9977;color:#ffd0bd}.ipa-nav-sequence{font-size:8px}.ipa-topbar,.ipa-admin-app .ipa-topbar{min-height:54px;padding:10px 5%;gap:14px;background:#101b2b}.ipa-topbar-title{font-size:10px}.ipa-profile{border:0;padding:0}.ipa-avatar{width:29px;height:29px;border-radius:8px;font-size:10px}.ipa-header-actions{gap:14px}.ipa-header-actions button,.ipa-header-actions a{font-size:10px}.ipa-app main,.ipa-admin-app main,.ipa-workspace>main{padding:28px 5% 34px}.ipa-page-head{margin-bottom:24px}.ipa-page-head h1{font-size:34px}.ipa-page-head p{font-size:11px;margin-top:11px}.ipa-eyebrow,.ipa-page-head .ipa-eyebrow{font-size:8px!important;letter-spacing:1.5px}.ipa-page-head>.ipa-actions{margin-top:0}.ipa-page-head>.ipa-actions button{min-height:39px;font-size:11px;padding:9px 14px}.ipa-front-grid{gap:16px;margin-bottom:28px}.ipa-spotlight{border-radius:15px}.ipa-spotlight-top{padding:22px 21px 0}.ipa-spotlight-middle{padding:29px 21px;grid-template-columns:minmax(0,1fr) 90px;gap:20px;min-height:223px}.ipa-spotlight h2{font-size:43px}.ipa-feature-date .ipa-date-tile>strong{font-size:93px}.ipa-spotlight-bottom{padding:19px 21px;gap:18px;flex-direction:column;align-items:stretch}.ipa-spotlight .ipa-primary{width:100%;min-height:46px;font-size:12px}.ipa-spotlight-bottom p{font-size:11px;max-width:none}.ipa-member-panel{border-radius:15px;padding:23px;gap:0 22px}.ipa-member-panel h2{font-size:17px}.ipa-recent-score strong{font-size:53px}.ipa-recent-score p{font-size:9px}.ipa-member-panel .ipa-record-link{font-size:9px;padding:9px 11px}.ipa-member-panel dt{font-size:8px}.ipa-member-panel dd{font-size:23px}.ipa-section-head h2{font-size:20px}.ipa-schedule-count{font-size:9px;padding:5px 8px}.ipa-event-grid{gap:15px}.ipa-event-body>strong{font-size:28px}.ipa-event-meta{font-size:10px}.ipa-auth-story{padding:33px}.ipa-auth-story h2{font-size:64px}.ipa-auth{padding:32px}.ipa-auth h1{font-size:31px}.ipa-auth>.ipa-actions,.ipa-auth .ipa-actions .ipa-link{font-size:11px}.ipa-auth-results,.ipa-auth-results .ipa-link{font-size:11px}.ipa-panel{padding:24px}.ipa-hero-copy{padding:27px}.ipa-hero h2{font-size:29px}.ipa-hero-copy>p{font-size:13px}.ipa-stats{margin:24px 0}.ipa-stat{padding:20px 16px}.ipa-stat-value{font-size:38px}.ipa-stat-label{font-size:10px}.ipa-distance-grid{gap:13px}.ipa-app .ipa-stage-tile{padding:21px 17px 0}.ipa-stage-tile .ipa-distance{font-size:73px}.ipa-tile-numbers{flex-wrap:wrap;gap:7px;font-size:9px;margin-top:20px}.ipa-tile-numbers strong{font-size:23px}.ipa-tile-footer{font-size:8px;gap:8px;flex-wrap:wrap}.ipa-total-bar{padding:15px;gap:12px}.ipa-total-bar #ipa-overall{font-size:38px}.ipa-total-label{font-size:9px}.ipa-total-bar #ipa-x-total{display:none}.ipa-total-bar .ipa-primary{font-size:11px;padding:11px 14px}.ipa-filters,.ipa-results-toolbar{padding:22px}.ipa-app th,.ipa-app td{padding:16px}.ipa-app td{font-size:11px}.ipa-photos{padding:23px}.ipa-photos h2{font-size:20px}.ipa-upload{padding:21px!important}.ipa-staff-event-info strong{font-size:14px}.ipa-workspace-footer{font-size:8px;gap:15px}.ipa-stage-dialog-head{padding:22px}.ipa-stage-dialog-head h2{font-size:39px}.ipa-stage-dialog-body .ipa-stage{padding:18px 22px}.ipa-stage-dialog-foot{padding:18px 22px;flex-direction:column;align-items:stretch;gap:13px}.ipa-stage-dialog-foot button{width:100%;font-size:13px;min-height:48px}.ipa-stage-dialog-foot p{font-size:10px}}
@media(max-width:400px){.ipa-app main,.ipa-admin-app main,.ipa-workspace>main{padding-left:5%;padding-right:5%}.ipa-page-head h1{font-size:30px}.ipa-spotlight-middle{grid-template-columns:minmax(0,1fr) 66px;gap:15px;min-height:205px}.ipa-spotlight h2{font-size:38px}.ipa-feature-date{padding-left:13px}.ipa-feature-date .ipa-date-tile>strong{font-size:76px}.ipa-feature-date .ipa-date-tile>span{font-size:10px;letter-spacing:2px}.ipa-spotlight .ipa-overline{font-size:7px!important}.ipa-member-panel{padding:20px;gap:0 16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ipa-member-panel h2{font-size:16px}.ipa-member-panel>.ipa-overline{font-size:7px!important}.ipa-recent-score{padding-left:16px}.ipa-recent-score strong{font-size:46px}.ipa-recent-score>div>span{font-size:9px}.ipa-member-panel dl{gap:10px}.ipa-member-panel .ipa-record-link{font-size:8px;gap:6px}.ipa-record-link::after{font-size:15px}.ipa-section-head h2{font-size:18px}.ipa-app .ipa-event-card{grid-template-columns:58px minmax(0,1fr);gap:0 15px}.ipa-event-body>strong{font-size:26px}.ipa-event-body{padding-right:17px}.ipa-event-footer{margin-right:17px}.ipa-nav{gap:6px}.ipa-app .ipa-nav button{padding:10px 11px;gap:7px}.ipa-distance-grid{gap:11px}.ipa-app .ipa-stage-tile{padding:19px 14px 0}.ipa-stage-tile .ipa-distance{font-size:64px}.ipa-tile-footer{font-size:8px}.ipa-stage-dialog-head{padding:19px}.ipa-stage-dialog-body .ipa-stage{padding:16px 19px}.ipa-stage-dialog-foot{padding:17px 19px}.ipa-auth,.ipa-auth-story{padding:27px}.ipa-auth-story h2{font-size:56px}.ipa-stat-label{font-size:9px}.ipa-stat{padding:17px 12px}}
@media(prefers-reduced-motion:reduce){.ipa-app *, .ipa-app *::before, .ipa-app *::after{transition:none!important;animation:none!important}.ipa-app button:hover{transform:none}}
@media print{.ipa-sidebar,.ipa-topbar,.ipa-back{display:none!important}.ipa-app,.ipa-frame,.ipa-workspace{display:block;background:#fff;color:#111;color-scheme:light}.ipa-app main{padding:0!important}.ipa-app h1,.ipa-app h2,.ipa-app h3{color:#111}.ipa-stage-tile,.ipa-panel,.ipa-card{background:#fff!important;color:#111!important;box-shadow:none!important}.ipa-total-bar{position:static;background:#fff;color:#111}.ipa-total-bar #ipa-overall{color:#111}.ipa-total-bar button{display:none}}

/* Stage records, achievements and live standings — 3.4.0. */
.ipa-tile-metric{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;line-height:1.6;color:#e3edf9;margin:3px 0}
.ipa-tile-metric strong{font-weight:800;font-variant-numeric:tabular-nums;color:#f2f7ff}
.ipa-tile-photo{display:block;color:#a9c2d8;font-size:10px;line-height:1.6;margin:11px 0 3px}
.ipa-stage-metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 15px;padding:13px 16px;background:#22334a;border:1px solid #415570;border-radius:8px;font-size:12px;color:#c5d8ed}
.ipa-stage-metrics>span{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ipa-stage-metrics output{font-weight:800;color:#fff;font-variant-numeric:tabular-nums}
.ipa-stage-dialog .ipa-stage-photos{margin:0 22px 22px;padding:18px;border-radius:10px;box-shadow:none;background:#1d2a3d}
.ipa-stage-photos .ipa-section-head{margin:0 0 12px;align-items:center}
.ipa-stage-photos h2{font-size:18px;line-height:1.4}
.ipa-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.ipa-photo-actions .ipa-upload{padding:18px 12px!important;min-height:90px;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;border:1px dashed #839cb9;border-radius:8px}
.ipa-photo-actions .ipa-upload strong{font-size:12px;color:#e8f2ff}
.ipa-stage-photos .ipa-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ipa-stage-photos .ipa-photo-grid img{height:95px;object-fit:cover;width:100%}
.ipa-award{display:inline-block;font-weight:800;font-size:11px;line-height:1.5;letter-spacing:.35px;padding:7px 11px;border:1px solid;border-radius:7px;white-space:nowrap}
.ipa-award-bronze{background:#4b3022;border-color:#c68c60;color:#ffd6b3}
.ipa-award-silver{background:#304255;border-color:#9aacbf;color:#e5f0ff}
.ipa-award-gold{background:#4b3b16;border-color:#c9a544;color:#ffe8a2}
.ipa-award-red{background:#562936;border-color:#d27687;color:#ffcad3}
.ipa-achievements{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:15px;margin:20px 0}
.ipa-achievements:empty{display:none}
.ipa-achievement{padding:22px;text-align:left;background:linear-gradient(125deg,#3c3226,#252c36);border:1px solid #a4895a;border-radius:12px;box-shadow:inset 0 2px #e9c778}
.ipa-achievement .ipa-overline{display:block;font-size:10px;letter-spacing:1.3px;color:#e7cc9c;margin-bottom:14px}
.ipa-achievement .ipa-award{font-size:17px;padding:10px 14px}
.ipa-achievement>strong{font-size:20px;color:#e6f1ff}
.ipa-achievement>p{font-size:12px;line-height:1.8;color:#d5d8df;margin:13px 0 0}
.ipa-class-achievement{border-color:#607e98;box-shadow:inset 0 2px #9bbfda;background:linear-gradient(125deg,#273f4d,#202d3c)}
.ipa-class-achievement .ipa-overline{color:#c5e4f4}
.ipa-receipt-detail{font-size:14px;color:#bfd0e5;margin:0 0 25px}
.ipa-confirmation>.ipa-actions{justify-content:center;margin-top:18px}
.ipa-confirmation{max-width:840px}
.ipa-live-indicator{font-size:11px;color:#a8ead0;display:inline-flex;align-items:center;gap:8px}
.ipa-live-indicator::before{content:'';width:7px;height:7px;border-radius:50%;background:#83ddb8;box-shadow:0 0 12px #83ddb844}
.ipa-leader-label{display:block;font-size:10px;color:#b2e6d6;margin-top:7px;font-weight:650}
.ipa-results-category{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.ipa-results-category label{min-width:170px}
.ipa-results-category button{white-space:nowrap}
.ipa-entry-row>.ipa-actions{flex-wrap:wrap}
.ipa-entry-row>.ipa-actions a{font-size:11px}
@media(max-width:700px){.ipa-tile-metric{font-size:11px;gap:5px}.ipa-tile-photo{font-size:9px}.ipa-stage-metrics{font-size:11px;gap:12px;padding:11px}.ipa-stage-dialog .ipa-stage-photos{margin:0 16px 18px;padding:16px}.ipa-stage-photos h2{font-size:16px}.ipa-stage-photos .ipa-section-head{flex-wrap:wrap;gap:5px}.ipa-stage-photos .ipa-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ipa-achievement{padding:19px}.ipa-achievement .ipa-award{font-size:15px}.ipa-results-category{width:100%;gap:10px}.ipa-results-category label{flex:1;min-width:150px}.ipa-confirmation{padding:24px 18px}.ipa-total-bar #ipa-x-total{display:block;font-size:11px}.ipa-total-bar{flex-wrap:wrap}}
@media(max-width:360px){.ipa-distance-grid{grid-template-columns:1fr}.ipa-tile-metric{font-size:14px}.ipa-photo-actions{grid-template-columns:1fr}}

.ipa-stage-dialog-foot .ipa-photo-reminder{display:block;background:transparent;border:0;color:#ffd1a7;padding:6px 0 0;text-align:left;font-size:11px;line-height:1.6;min-height:30px;width:auto;text-decoration:underline;box-shadow:none;white-space:normal}

.ipa-photo-actions .ipa-upload{position:relative;overflow:hidden}.ipa-photo-actions .ipa-upload input[type=file]{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;padding:0;opacity:0;cursor:pointer}.ipa-photo-actions .ipa-upload:focus-within{outline:2px solid #ffb894;outline-offset:3px}.ipa-photo-actions .ipa-upload:has(input:disabled){opacity:.55;cursor:wait}

/* Requested stage, class and staff controls. */
.ipa-stage-dialog .ipa-stage-photos{margin-top:20px;border:1px solid #607896}
.ipa-stage-photos .ipa-eyebrow{color:#ffd0b7;font-weight:800;letter-spacing:1.1px}
.ipa-auto-misses{gap:20px}.ipa-auto-misses>div{min-width:0}.ipa-auto-misses strong{font:600 24px 'IPA Condensed',sans-serif;color:#dce7f9}.ipa-auto-misses span{display:block;color:#b0c3da;font-size:11px;line-height:1.5;margin-top:4px}.ipa-auto-misses output{display:flex;align-items:center;justify-content:center;min-width:70px;min-height:52px;border:1px solid #526984;background:#24344b;border-radius:9px;color:#ffd0b7;font:600 30px 'IPA Condensed',sans-serif;font-variant-numeric:tabular-nums}
.ipa-class-results{border:1px solid #5e718a;border-radius:12px;overflow:hidden;margin:24px 0;background:#172335;box-shadow:0 8px 24px #0002;break-inside:avoid}
.ipa-class-results-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 23px;background:#29394f;border-bottom:2px solid #ff9572}.ipa-class-results-head h3{margin:0;color:#fff;font-size:22px;line-height:1.4}.ipa-class-results-head>span{color:#c5d5ea;font-size:12px;white-space:nowrap}.ipa-class-results .ipa-table-scroll{margin:0;border:0;border-radius:0}.ipa-class-results table{margin:0;width:100%}
.ipa-bulk-verify{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:18px 0;padding:20px 23px;background:#203247;border:1px solid #54708d;border-radius:11px}.ipa-bulk-verify .ipa-check{margin:0;flex:1;min-width:200px;font-size:13px}.ipa-bulk-verify p{flex-basis:100%;margin:0;color:#bdd0e3;font-size:12px}.ipa-app input[name=verify-entry],.ipa-app input[name=verify-all]{width:21px;height:21px;accent-color:#ff9977;cursor:pointer}.ipa-app [data-entry-fields][hidden]{display:none!important}
.ipa-course-control{margin:14px 0 20px}.ipa-stage-dialog .ipa-course-control{margin:0 22px 10px}.ipa-course-control button{font-size:12px}.ipa-app .ipa-course-dialog{z-index:1000000}.ipa-course-dialog .ipa-pdf-toolbar{gap:14px;flex-wrap:wrap;min-height:80px}.ipa-course-dialog .ipa-pdf-toolbar h2{font-size:20px}
@media(max-width:700px){.ipa-class-results-head{padding:17px}.ipa-class-results-head h3{font-size:19px}.ipa-class-results-head>span{font-size:11px}.ipa-bulk-verify{padding:18px}.ipa-bulk-verify>.ipa-primary{width:100%}.ipa-stage-dialog .ipa-course-control{margin-left:16px;margin-right:16px}.ipa-course-dialog .ipa-pdf-toolbar{padding:12px}.ipa-course-dialog .ipa-pdf-toolbar h2{font-size:16px;flex:1}.ipa-course-dialog .ipa-pdf-toolbar .ipa-primary{width:100%}}

/* Keep form controls legible when WordPress admin or a theme supplies defaults. */
.ipa-app select,.ipa-app select option,.ipa-app select optgroup,
.ipa-app input:not([type=checkbox]):not([type=radio]),.ipa-app textarea {
  color:#fff!important;-webkit-text-fill-color:#fff;background-color:#0f1621;color-scheme:dark;
}
.ipa-app select option:checked { background:#294361;color:#fff; }
.ipa-app input::placeholder,.ipa-app textarea::placeholder { color:#afbdd1;-webkit-text-fill-color:#afbdd1; }
.ipa-app input:disabled,.ipa-app select:disabled,.ipa-app textarea:disabled { color:#d0ddef!important;-webkit-text-fill-color:#d0ddef; }
.ipa-app input:-webkit-autofill { -webkit-text-fill-color:#fff;box-shadow:0 0 0 1000px #0f1621 inset; }
.ipa-achievement { text-align:center; }
.ipa-app .ipa-eyebrow,.ipa-app .ipa-overline,.ipa-app .ipa-nav-label,.ipa-app .ipa-account-label,
.ipa-app .ipa-hero-kicker,.ipa-app th,.ipa-app .ipa-spotlight h2,
.ipa-app .ipa-brand-copy strong,.ipa-app .ipa-brand-copy span,.ipa-app .ipa-brand-copy small,.ipa-app .ipa-date-tile span { text-transform:none; }
.ipa-shooter-summary { min-width:0;margin-bottom:18px; }
.ipa-shooter-summary .ipa-recent-score { padding:15px 0;margin:0 0 14px;border-left:0;grid-column:auto;grid-row:auto; }
.ipa-member-award .ipa-overline { margin-bottom:9px;font-size:10px!important;letter-spacing:.5px; }
.ipa-member-award p { color:#b8c7da;font-size:12px; }
.ipa-member-award .ipa-award { white-space:normal; }
.ipa-app .ipa-event-thumbnail { display:block;width:64px;height:64px;flex:0 0 auto;object-fit:contain;background:#fff;border:1px solid #687993;border-radius:8px; }
.ipa-event-card-top .ipa-event-thumbnail { width:44px;height:44px; }
.ipa-spotlight-title { display:flex;align-items:center;gap:18px;min-width:0; }
.ipa-app .ipa-spotlight-thumbnail { width:80px;height:80px; }
.ipa-app .ipa-detail-thumbnail,.ipa-app .ipa-result-thumbnail { width:88px;height:88px;margin:0 0 20px; }
.ipa-event-image-editor { border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:24px; }
.ipa-event-image-editor h2 { font-size:18px;margin-bottom:6px; }
.ipa-event-image-editor [data-event-image-preview] { margin:12px 0; }
.ipa-event-image-editor [data-event-image-preview]:empty { display:none; }
.ipa-event-image-editor .ipa-upload { position:relative;width:auto;min-height:44px;margin:0;padding:10px 16px!important;cursor:pointer; }
.ipa-event-image-upload input { position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer; }
.ipa-event-image-upload:focus-within { outline:3px solid #ffaa87;outline-offset:3px; }
.ipa-stage-dialog .ipa-stage-photos { margin:12px 22px 10px;padding:10px 12px; }
.ipa-photo-summary { display:flex;justify-content:space-between;align-items:center;gap:10px; }
.ipa-app .ipa-photo-options { margin:0; }
.ipa-photo-options>.ipa-photo-summary { min-height:44px;padding:0;cursor:pointer;list-style:none; }
.ipa-photo-options>.ipa-photo-summary::after { content:'+';font-size:20px;color:#ffb39b; }
.ipa-photo-options[open]>.ipa-photo-summary::after { content:'−'; }
.ipa-photo-options>.ipa-photo-summary::-webkit-details-marker { display:none; }
.ipa-stage-photos .ipa-photo-summary h2 { font-size:13px;line-height:1.4; }
.ipa-photo-summary .ipa-muted { font-size:11px;white-space:nowrap; }
.ipa-photo-summary-status { display:flex;flex-direction:column;align-items:flex-end;gap:1px; }
.ipa-photo-summary-action { color:#ffcfbb;font-size:11px;font-weight:700;white-space:nowrap;text-decoration:underline; }
.ipa-stage-photos .ipa-photo-actions { display:flex;gap:10px;margin-top:8px; }
.ipa-stage-photos .ipa-photo-actions .ipa-upload { flex:1;min-height:44px;padding:8px 10px!important; }
.ipa-stage-photos .ipa-photo-details { margin-top:8px; }
.ipa-photo-details summary { cursor:pointer;color:#d9e4f3;font-size:12px; }
.ipa-stage-photos .ipa-photo-grid { gap:10px;margin-top:10px; }
.ipa-stage-photos .ipa-photo-grid figure { width:72px; }
.ipa-stage-photos .ipa-photo-grid img { width:72px;height:72px; }
.ipa-stage-dialog-foot .ipa-photo-reminder { display:inline-flex;min-height:32px;padding:4px 0;margin-left:.35em;font-size:10px; }
.ipa-pdf-toolbar { position:relative;z-index:1;flex-wrap:wrap; }
.ipa-pdf-toolbar [data-action=close-pdf] { flex-shrink:0; }
.ipa-pdf-help { padding:10px 16px!important;font-size:12px;color:#dbe5f5!important;background:#1c2a40;flex-shrink:0; }
.ipa-pdf-export .ipa-pdf-content { flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom,0px); }
.ipa-pdf-save { padding:24px;max-width:900px;margin:0 auto;color:#e7effa; }
.ipa-pdf-save h2 { color:#fff;font-size:22px;margin:0 0 16px; }
.ipa-pdf-save p { color:#dbe5f5;line-height:1.6;overflow-wrap:anywhere; }
.ipa-pdf-save .ipa-actions { flex-wrap:wrap;margin:20px 0; }
.ipa-pdf-save .ipa-actions>* { min-height:44px; }
.ipa-pdf-save [hidden],.ipa-pdf-export [data-pdf-preview][hidden] { display:none!important; }
.ipa-pdf-export [data-pdf-preview] { height:70vh;min-height:300px;margin:0 12px 20px; }
.ipa-pdf-export [data-pdf-preview] iframe { height:100%; }
@media(max-width:600px) { .ipa-pdf-save { padding:20px 16px; }.ipa-pdf-save .ipa-actions>* { flex:1 1 100%;text-align:center; }.ipa-pdf-export .ipa-pdf-toolbar [data-action=close-pdf] { min-height:44px;font-size:13px; } }
@media(max-width:960px) {
  .ipa-member-panel .ipa-shooter-summary { grid-column:2;grid-row:1/5;margin:0;padding-left:20px;border-left:1px solid #4a5a70; }
}
@media(max-width:700px) {
  .ipa-stage-dialog .ipa-stage-photos { margin:10px 16px 8px;padding:9px 10px; }
  .ipa-stage-dialog-foot { gap:8px;padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom,0px)); }
  .ipa-stage-dialog-foot .ipa-photo-reminder { width:auto;min-height:30px; }
  .ipa-pdf-toolbar { gap:8px;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px; }
  .ipa-pdf-toolbar .ipa-button,.ipa-pdf-toolbar button { padding:9px 11px;font-size:11px; }
  .ipa-pdf-toolbar h2 { display:none; }
  .ipa-pdf-help { font-size:11px; }
  .ipa-app .ipa-spotlight-thumbnail { width:52px;height:52px; }
  .ipa-spotlight-title { align-items:flex-start;flex-direction:column;gap:12px; }
}
@media(max-width:400px) {
  .ipa-member-panel { display:flex; }
  .ipa-member-panel .ipa-shooter-summary { padding:0;border:0;margin:0 0 18px; }
  .ipa-shooter-summary .ipa-recent-score>div>span { font-size:12px; }
}
