@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Inter:wght@300;400;500;600&family=DM+Mono:wght@400&display=swap);:root{--school-primary:#1a2744;--school-accent:#c8f04d;--bg:#f0ede6;--surface:#faf8f4;--border:#00000014;--border-dark:#00000021;--text:#1a1a1a;--text-muted:#8a8880;--text-light:#b5b3ae;--red:#8b1a1a;--font-display:"Cormorant Garamond",serif;--font-body:"Inter",sans-serif;--font-mono:"DM Mono",monospace;--radius-sm:4px;--radius:8px;--radius-lg:14px;--ease:cubic-bezier(0.16,1,0.3,1);--transition:0.25s var(--ease)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{-webkit-font-smoothing:antialiased;background:#f0ede6;background:var(--bg);color:#1a1a1a;color:var(--text);font-family:Inter,sans-serif;font-family:var(--font-body);font-size:14px;line-height:1.6}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{background:#1a2744;background:var(--school-primary);border-bottom:1px solid #ffffff0f;height:52px;justify-content:space-between;padding:0 40px;position:sticky;top:0;transition:background .6s cubic-bezier(.16,1,.3,1);transition:background .6s var(--ease);z-index:100}.app-header,.logo-block{align-items:center;display:flex}.step-nav{display:flex;gap:1px}.step-btn{background:#0000;border:none;color:#ffffff47;cursor:pointer;font-size:10px;font-weight:500;letter-spacing:1.2px;padding:6px 18px;text-transform:uppercase;transition:.25s cubic-bezier(.16,1,.3,1);transition:var(--transition)}.step-btn.active{background:#ffffff14;color:#ffffffd9}.step-btn.locked{cursor:default;opacity:.18}.step-btn:not(.locked):not(.active):hover{color:#ffffff8c}.app-body{display:flex;flex:1 1}.page-sidebar{align-self:flex-start;background:#1a2744;background:var(--school-primary);background-image:radial-gradient(ellipse at 20% 10%,#ffffff12 0,#0000 60%),radial-gradient(ellipse at 80% 90%,#00000040 0,#0000 60%),linear-gradient(160deg,#ffffff0a,#00000026);display:flex;flex-direction:column;flex-shrink:0;min-height:calc(100vh - 52px);overflow:hidden;padding:52px 36px 44px;position:sticky;top:52px;transition:background .6s cubic-bezier(.16,1,.3,1);transition:background .6s var(--ease);width:248px}.sidebar-bg-number{bottom:24px;color:#ffffff0f;font-family:Cormorant Garamond,serif;font-family:var(--font-display);font-size:140px;font-weight:600;letter-spacing:-2px;line-height:1;pointer-events:none;position:absolute;right:20px;-webkit-user-select:none;user-select:none}.sidebar-step{align-items:center;color:#ffffff47;display:flex;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:10px;gap:8px;letter-spacing:2px;margin-bottom:22px;text-transform:uppercase}.sidebar-step:before{background:#fff3;content:"";display:block;height:1px;width:16px}.sidebar-title{color:#ffffffe0;font-family:Cormorant Garamond,serif;font-family:var(--font-display);font-size:40px;font-weight:300;line-height:1;margin-bottom:32px;padding-bottom:6px}.sidebar-title div,.sidebar-title em{overflow:hidden;text-overflow:clip}.sidebar-title em{color:#c8f04d;color:var(--school-accent);display:block;font-style:italic;transition:color .6s cubic-bezier(.16,1,.3,1);transition:color .6s var(--ease)}.sidebar-desc{color:#ffffff47;flex:1 1;font-size:12px;font-weight:300;line-height:1.8}.sidebar-school{margin-top:auto;padding-top:24px}.sidebar-school-name{color:#fff6;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:9px;letter-spacing:3px;margin-top:12px;text-transform:uppercase;transition:color .6s cubic-bezier(.16,1,.3,1);transition:color .6s var(--ease)}.app-main{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath filter='url(%23a)' opacity='.025' d='M0 0h300v300H0z'/%3E%3C/svg%3E");flex:1 1;max-width:1100px;padding:52px 60px 60px}.section-header{align-items:center;border-bottom:1px solid #00000021;border-bottom:1px solid var(--border-dark);display:flex;gap:12px;margin-bottom:24px;padding-bottom:14px}.section-number{color:#b5b3ae;color:var(--text-light);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:10px;letter-spacing:1px}.section-title{color:#1a1a1a;color:var(--text);font-size:10px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase}.card{background:#faf8f4;background:var(--surface);border:1px solid #00000014;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 4px #0000000a,0 4px 16px #00000008;margin-bottom:12px;padding:28px 30px;transition:border-color .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1);transition:border-color var(--transition),box-shadow var(--transition)}.card:hover{border-color:#00000021;border-color:var(--border-dark);box-shadow:0 2px 8px #0000000f,0 8px 24px #0000000d}.card-title{color:#8a8880;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:1.8px;margin-bottom:20px;text-transform:uppercase}.form-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.form-group{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:130px}.form-label{color:#8a8880;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.form-input,.form-select{appearance:none;background:#f0ede6;background:var(--bg);border:1px solid #00000021;border:1px solid var(--border-dark);border-radius:8px;border-radius:var(--radius);color:#1a1a1a;color:var(--text);font-family:Inter,sans-serif;font-family:var(--font-body);font-size:14px;font-weight:300;outline:none;padding:10px 13px;transition:.25s cubic-bezier(.16,1,.3,1);transition:var(--transition);width:100%}.form-input:focus,.form-select:focus{background:#faf8f4;background:var(--surface);border-color:#1a2744;border-color:var(--school-primary);box-shadow:0 0 0 3px #0000000a}.form-input::placeholder{color:#b5b3ae;color:var(--text-light)}.form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7'%3E%3Cpath d='m1 1 4.5 4.5L10 1' stroke='%238A8880' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.form-select option{background:#fff;color:#1a1a1a;color:var(--text)}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-family:var(--font-body);font-size:11px;font-weight:600;gap:8px;letter-spacing:1.2px;padding:13px 30px;text-transform:uppercase;transition:.25s cubic-bezier(.16,1,.3,1);transition:var(--transition)}.btn-primary{background:#1a2744;background:var(--school-primary);color:#c8f04d;color:var(--school-accent);overflow:hidden;position:relative;transition:background .6s cubic-bezier(.16,1,.3,1),color .6s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1);transition:background .6s var(--ease),color .6s var(--ease),transform var(--transition),box-shadow var(--transition)}.btn-primary:after{background:linear-gradient(135deg,#ffffff14,#0000 50%);content:"";inset:0;pointer-events:none;position:absolute}.btn-primary:hover:not(:disabled){box-shadow:0 6px 24px #0003;filter:brightness(1.12);transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.28;transform:none}.btn-ghost{background:#0000;border:1px solid #00000021;border:1px solid var(--border-dark);color:#8a8880;color:var(--text-muted)}.btn-ghost:hover{border-color:#8a8880;border-color:var(--text-muted);color:#1a1a1a;color:var(--text)}.btn-danger{background:#0000;border:1px solid #00000021;border:1px solid var(--border-dark);color:#b5b3ae;color:var(--text-light);font-size:11px;padding:8px 12px}.btn-danger:hover{border-color:#8b1a1a4d;color:#8b1a1a;color:var(--red)}.opp-row{align-items:flex-end;display:flex;gap:12px;margin-bottom:12px}.opp-row .form-group:first-child{flex:2 1}.conf-select{margin-left:auto;padding:6px 12px;width:auto}.add-opp-btn,.conf-select{cursor:pointer;font-size:11px;letter-spacing:.5px}.add-opp-btn{align-items:center;background:#0000;border:1px dashed #00000021;border:1px dashed var(--border-dark);border-radius:8px;border-radius:var(--radius);color:#8a8880;color:var(--text-muted);display:flex;font-weight:500;gap:8px;margin-top:4px;padding:13px 16px;transition:.25s cubic-bezier(.16,1,.3,1);transition:var(--transition);width:100%}.add-opp-btn:hover{background:rgba(0,0,0,.015);border-color:#1a2744;border-color:var(--school-primary);color:#1a2744;color:var(--school-primary)}.tag{border-radius:20px;font-size:10px;font-weight:600;letter-spacing:.5px;padding:3px 10px}.tag-school{background:color-mix(in srgb,#1a2744 8%,#0000);background:color-mix(in srgb,var(--school-primary) 8%,#0000);border:1px solid color-mix(in srgb,#1a2744 18%,#0000);border:1px solid color-mix(in srgb,var(--school-primary) 18%,#0000);color:#1a2744;color:var(--school-primary)}.tag-grey{background:#0000000a;border:1px solid #00000021;border:1px solid var(--border-dark);color:#8a8880;color:var(--text-muted)}.loading-block{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;padding:120px}.spinner{animation:spin .9s linear infinite;border:1.5px solid #00000021;border-top-color:#1a2744;border:1.5px solid var(--border-dark);border-radius:50%;border-top-color:var(--school-primary);height:28px;transition:border-top-color .6s cubic-bezier(.16,1,.3,1);transition:border-top-color .6s var(--ease);width:28px}@keyframes spin{to{transform:rotate(1turn)}}.loading-text{color:#8a8880;color:var(--text-muted);font-size:12px;font-weight:300;letter-spacing:1px}.error-box{background:#8b1a1a0d;border:1px solid #8b1a1a2e;border-radius:8px;border-radius:var(--radius);color:#8b1a1a;color:var(--red);font-size:13px;margin-bottom:16px;padding:13px 16px}.results-table{border-collapse:collapse;font-size:13px;width:100%}.results-table th{border-bottom:1px solid #00000021;border-bottom:1px solid var(--border-dark);color:#8a8880;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:1.2px;padding:10px 14px;text-align:left;text-transform:uppercase}.results-table td{border-bottom:1px solid #00000014;border-bottom:1px solid var(--border);font-weight:300;padding:14px;vertical-align:top}.results-table tr:last-child td{border-bottom:none}.results-table tr:hover td{background:rgba(0,0,0,.012)}.pts-badge{color:#1a2744;color:var(--school-primary);font-family:Cormorant Garamond,serif;font-family:var(--font-display);font-size:26px;font-weight:400;transition:color .6s cubic-bezier(.16,1,.3,1);transition:color .6s var(--ease)}.pts-badge.zero{color:#b5b3ae;color:var(--text-light);font-size:15px}.place-text{color:#8a8880;color:var(--text-muted);font-size:12px;font-weight:300;line-height:1.9}.place-text .place-1{font-weight:500}.place-text .place-1,.place-text .place-2{color:#1a1a1a;color:var(--text)}.grand-total-row td{border-top:1px solid #00000021!important;border-top:1px solid var(--border-dark)!important;padding-top:18px}.stat-row{display:flex;gap:10px;margin-bottom:24px}.stat-card{background:#faf8f4;background:var(--surface);border:1px solid #00000014;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 4px #0000000a;flex:1 1;padding:20px 24px}.stat-label{color:#8a8880;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:1.2px;margin-bottom:8px;text-transform:uppercase}.stat-value{color:#1a2744;color:var(--school-primary);font-family:Cormorant Garamond,serif;font-family:var(--font-display);font-size:48px;font-weight:300;line-height:1;transition:color .6s cubic-bezier(.16,1,.3,1);transition:color .6s var(--ease)}.stat-sub{color:#b5b3ae;color:var(--text-light);font-size:11px;font-weight:300;margin-top:4px}.schedule-section-label{border-bottom:1px solid #00000014;border-bottom:1px solid var(--border);color:#8a8880;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:1.8px;margin-bottom:12px;padding:20px 0 10px;text-transform:uppercase}.schedule-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));margin-bottom:8px}.schedule-item{display:flex;flex-direction:column;gap:4px}.schedule-event-name{color:#8a8880;color:var(--text-muted);font-size:11px;font-weight:400}.schedule-time-input{background:#f0ede6;background:var(--bg);border:1px solid #00000021;border:1px solid var(--border-dark);border-radius:4px;border-radius:var(--radius-sm);color:#1a1a1a;color:var(--text);font-family:Inter,sans-serif;font-family:var(--font-body);font-size:13px;font-weight:300;outline:none;padding:7px 9px;transition:.25s cubic-bezier(.16,1,.3,1);transition:var(--transition);width:100%}.schedule-time-input:focus{border-color:#1a2744;border-color:var(--school-primary)}.schedule-time-input.has-time{border-color:color-mix(in srgb,#1a2744 35%,#0000);border-color:color-mix(in srgb,var(--school-primary) 35%,#0000);color:#1a2744;color:var(--school-primary)}.schedule-time-input::placeholder{color:#b5b3ae;color:var(--text-light);font-size:12px}.relay-grid{display:grid;grid-template-columns:28px 1fr 100px 95px 100px 64px}.relay-header{border-bottom:1px solid #00000021;border-bottom:1px solid var(--border-dark);color:#8a8880;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:1.2px;padding:8px 10px;text-transform:uppercase}.relay-row{display:contents}.relay-cell{align-items:center;border-bottom:1px solid #00000014;border-bottom:1px solid var(--border);display:flex;font-size:13px;font-weight:300;padding:12px 10px;transition:background .25s cubic-bezier(.16,1,.3,1);transition:background var(--transition)}.relay-cell.selected-row{background:color-mix(in srgb,#1a2744 4%,#0000);background:color-mix(in srgb,var(--school-primary) 4%,#0000)}.relay-toggle{align-items:center;background:#0000;border:1px solid #00000021;border:1px solid var(--border-dark);border-radius:4px;cursor:pointer;display:flex;height:18px;justify-content:center;transition:.25s cubic-bezier(.16,1,.3,1);transition:var(--transition);width:18px}.relay-toggle.on,.relay-toggle:hover{border-color:#1a2744;border-color:var(--school-primary)}.relay-toggle.on{background:#1a2744;background:var(--school-primary);transition:background .6s cubic-bezier(.16,1,.3,1);transition:background .6s var(--ease)}.relay-toggle.on:after{color:#c8f04d;color:var(--school-accent);content:"✓";font-size:10px;font-weight:700;transition:color .6s cubic-bezier(.16,1,.3,1);transition:color .6s var(--ease)}.split-input{background:#f0ede6;background:var(--bg);border:1px solid #00000021;border:1px solid var(--border-dark);border-radius:4px;border-radius:var(--radius-sm);color:#1a1a1a;color:var(--text);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:12px;outline:none;padding:5px 8px;transition:.25s cubic-bezier(.16,1,.3,1);transition:var(--transition);width:86px}.split-input:focus{border-color:#1a2744;border-color:var(--school-primary)}.est-badge{color:#b5b3ae;color:var(--text-light);font-size:10px;margin-left:4px}.page-footer-bar{align-items:center;border-top:1px solid #00000014;border-top:1px solid var(--border);display:flex;justify-content:space-between;margin-top:40px;padding-top:24px}.page-footer-note{color:#b5b3ae;color:var(--text-light);font-size:12px;font-style:italic}.collapsible-section{background:#faf8f4;background:var(--surface);border:1px solid #00000014;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);margin-bottom:8px;overflow:hidden;transition:border-color .25s cubic-bezier(.16,1,.3,1);transition:border-color var(--transition)}.collapsible-section:hover{border-color:#00000021;border-color:var(--border-dark)}.collapsible-header{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:background .25s cubic-bezier(.16,1,.3,1);transition:background var(--transition);width:100%}.collapsible-header.open,.collapsible-header:hover{background:#00000005}.collapsible-title{color:#1a1a1a;color:var(--text);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}.collapsible-chevron{color:#8a8880;color:var(--text-muted);font-size:18px;font-weight:300;line-height:1;text-align:center;width:20px}.collapsible-body{border-top:1px solid #00000014;border-top:1px solid var(--border);padding:4px 20px 20px}.roster-grid{display:flex;flex-direction:column;gap:0}.roster-row{align-items:center;border-bottom:1px solid #00000014;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:10px 4px;transition:background .25s cubic-bezier(.16,1,.3,1);transition:background var(--transition)}.roster-row:last-of-type{border-bottom:none}.roster-row:hover{background:rgba(0,0,0,.015)}.roster-row-out{opacity:.6}.roster-athlete-info{align-items:center;display:flex;flex:1 1;gap:12px}.roster-name{font-size:13px;font-weight:400}.roster-mark{color:#8a8880;color:var(--text-muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:12px}.roster-year{background:#f0ede6;background:var(--bg);border-radius:10px;color:#b5b3ae;color:var(--text-light);font-size:11px;padding:2px 7px}.availability-toggle{background:#0000;border:1px solid #00000021;border:1px solid var(--border-dark);border-radius:20px;cursor:pointer;font-size:11px;font-weight:500;letter-spacing:.3px;padding:5px 12px;transition:.25s cubic-bezier(.16,1,.3,1);transition:var(--transition)}.availability-toggle.in{color:#8a8880;color:var(--text-muted)}.availability-toggle.in:hover{border-color:#8b1a1a;border-color:var(--red);color:#8b1a1a;color:var(--red)}.availability-toggle.out{background:#8b1a1a0f;border-color:#8b1a1a40;color:#8b1a1a;color:var(--red)}.availability-toggle.out:hover{background:#8b1a1a1a}.note-btn{background:#0000;border:none;border-radius:4px;color:#b5b3ae;color:var(--text-light);cursor:pointer;font-size:13px;padding:4px 6px;transition:.25s cubic-bezier(.16,1,.3,1);transition:var(--transition)}.note-btn:hover{background:#0000000a;color:#1a2744;color:var(--school-primary)}.note-row{border-bottom:1px solid #00000014;border-bottom:1px solid var(--border);padding:6px 4px 10px}.upload-zone{background:#f0ede6;background:var(--bg);border:1.5px dashed #00000021;border:1.5px dashed var(--border-dark);border-radius:12px;cursor:pointer;padding:24px 16px;text-align:center;transition:.25s cubic-bezier(.16,1,.3,1);transition:var(--transition)}.upload-zone:hover{background:#00000005;border-color:#1a2744;border-color:var(--school-primary)}.upload-zone-filled{background:rgba(0,0,0,.015);border-color:#1a2744;border-color:var(--school-primary);border-style:solid}.upload-icon{color:#8a8880;color:var(--text-muted);font-size:20px;margin-bottom:6px}.upload-zone-filled .upload-icon{color:#1a2744;color:var(--school-primary)}.upload-label{color:#8a8880;color:var(--text-muted);font-size:12px;font-weight:500}.upload-zone-filled .upload-label{color:var(--text-primary);font-size:11px;word-break:break-all}.upload-hint{color:#b5b3ae;color:var(--text-light);font-size:10px;margin-top:4px}.sidebar-logo-wrap{align-items:flex-start;display:flex;flex-direction:column}.sidebar-logo-rule{background:linear-gradient(90deg,#ffffff26,#0000);height:1px;margin-bottom:24px;width:100%}.sidebar-logo{display:block;height:80px;object-fit:contain;opacity:.95;transition:opacity .4s ease;width:80px}.sidebar-logo:hover{opacity:1}.results-logo{border-radius:4px;height:64px;object-fit:contain;opacity:.9;width:64px}.perf-page{display:flex;flex-direction:column;height:100%}.perf-main{background:#0000;flex:1 1;overflow-y:auto;padding:0;position:relative}.perf-page-header{margin-bottom:16px}.perf-page-title{color:#1a1a1a;color:var(--text);font-size:15px;font-weight:500;margin-bottom:2px}.perf-page-sub{color:#8a8880;color:var(--text-muted);font-size:13px}.perf-filters{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.perf-filter-label{font-size:10px;font-weight:600;letter-spacing:1px;margin-right:4px;text-transform:uppercase}.perf-filter-label,.perf-pill{color:#8a8880;color:var(--text-muted)}.perf-pill{background:#faf8f4;background:var(--surface);border:1px solid #00000021;border:1px solid var(--border-dark);border-radius:20px;cursor:pointer;font-family:Inter,sans-serif;font-family:var(--font-body);font-size:11px;padding:4px 13px;transition:.25s cubic-bezier(.16,1,.3,1);transition:var(--transition)}.perf-pill.active{background:#1a2744;background:var(--school-primary);border-color:#1a2744;border-color:var(--school-primary);color:#c8f04d;color:var(--school-accent)}.perf-pill:hover:not(.active){border-color:#8a8880;border-color:var(--text-muted);color:#1a1a1a;color:var(--text)}.perf-summary-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.perf-sum-card{background:#faf8f4;background:var(--surface);border:1px solid #00000014;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);padding:10px 14px}.perf-sum-label{color:#8a8880;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:1px;margin-bottom:4px;text-transform:uppercase}.perf-sum-val{color:#1a1a1a;color:var(--text);font-family:Cormorant Garamond,serif;font-family:var(--font-display);font-size:20px;font-weight:400}.perf-table-wrap{background:#faf8f4;background:var(--surface);border:1px solid #00000014;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);overflow:hidden}.perf-thead{border-bottom:1px solid #00000021;border-bottom:1px solid var(--border-dark);display:grid;grid-template-columns:190px 80px 1fr 110px;padding:8px 14px}.perf-th{color:#8a8880;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.perf-athlete-block{border-bottom:1px solid #00000014;border-bottom:1px solid var(--border)}.perf-athlete-block:last-child{border-bottom:none}.perf-athlete-row{align-items:center;cursor:pointer;display:grid;grid-template-columns:190px 80px 1fr 110px;padding:10px 14px;transition:background .25s cubic-bezier(.16,1,.3,1);transition:background var(--transition)}.perf-athlete-row:hover{background:#f0ede6;background:var(--bg)}.perf-athlete-name{color:#1a1a1a;color:var(--text);font-size:13px;font-weight:500}.perf-athlete-meta{color:#8a8880;color:var(--text-muted);font-size:11px;margin-top:1px}.perf-trend-cell{align-items:center;display:flex;gap:5px;justify-content:center}.perf-effort-cell{align-items:center;display:flex;gap:7px}.perf-effort-bar-wrap{background:#f0ede6;background:var(--bg);border-radius:3px;height:5px;overflow:hidden;width:68px}.perf-effort-bar{border-radius:3px;height:100%;transition:width .3s}.perf-effort-val{color:#1a1a1a;color:var(--text);font-size:12px}.perf-last-au{color:#8a8880;color:var(--text-muted);font-size:12px}.perf-drilldown{background:#f0ede6;background:var(--bg);border-top:1px solid #00000014;border-top:1px solid var(--border);padding:12px 14px}.perf-drill-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px}.perf-drill-card{background:#faf8f4;background:var(--surface);border:1px solid #00000014;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);padding:10px 12px}.perf-drill-label{color:#8a8880;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:1px;margin-bottom:3px;text-transform:uppercase}.perf-drill-val{color:#1a1a1a;color:var(--text);font-family:Cormorant Garamond,serif;font-family:var(--font-display);font-size:16px;font-weight:400}.perf-drill-sub{font-size:11px;margin-top:2px}.perf-drill-sub,.perf-sessions-label{color:#8a8880;color:var(--text-muted)}.perf-sessions-label{font-size:10px;font-weight:600;letter-spacing:1px;margin-bottom:6px;text-transform:uppercase}.perf-session-row{align-items:center;border:1px solid #0000;border-radius:8px;border-radius:var(--radius);cursor:pointer;display:flex;font-size:12px;gap:10px;margin-bottom:3px;padding:7px 10px;transition:.25s cubic-bezier(.16,1,.3,1);transition:var(--transition)}.perf-session-row:hover{background:#faf8f4;background:var(--surface);border-color:#1a2744;border-color:var(--school-primary)}.perf-sess-date{color:#8a8880;color:var(--text-muted);flex-shrink:0;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;width:80px}.perf-sess-name{flex:1 1}.perf-sess-au,.perf-sess-name{color:#1a1a1a;color:var(--text)}.perf-sess-au{font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;font-weight:500;text-align:right;width:52px}.perf-sess-chev{color:#8a8880;color:var(--text-muted);font-size:14px}.perf-drawer{background:#faf8f4;background:var(--surface);border-left:1px solid #00000021;border-left:1px solid var(--border-dark);bottom:0;box-shadow:-4px 0 24px #0000000f;display:flex;flex-direction:column;overflow:hidden;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform .25s cubic-bezier(.16,1,.3,1);transition:transform .25s var(--ease);width:500px;z-index:20}.perf-drawer.open{transform:translateX(0)}.perf-drawer-header{align-items:flex-start;border-bottom:1px solid #00000014;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:14px 18px}.perf-drawer-title{color:#1a1a1a;color:var(--text);font-size:14px;font-weight:500;margin-bottom:2px}.perf-drawer-sub{font-size:12px}.perf-drawer-close,.perf-drawer-sub{color:#8a8880;color:var(--text-muted)}.perf-drawer-close{background:none;border:none;cursor:pointer;font-size:16px;line-height:1;padding:0;transition:color .25s cubic-bezier(.16,1,.3,1);transition:color var(--transition)}.perf-drawer-close:hover{color:#1a1a1a;color:var(--text)}.perf-drawer-body{flex:1 1;overflow-y:auto;padding:16px 18px}.perf-section-label{color:#8a8880;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.perf-stat-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:10px}.perf-stat-card{background:#f0ede6;background:var(--bg);border:1px solid #00000014;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);padding:10px 12px}.perf-stat-label{color:#8a8880;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:1px;margin-bottom:4px;text-transform:uppercase}.perf-stat-val{color:#1a1a1a;color:var(--text);font-family:Cormorant Garamond,serif;font-family:var(--font-display);font-size:16px;font-weight:400}.perf-stat-sub{color:#8a8880;color:var(--text-muted);font-size:10px;margin-top:2px}.perf-fi-bar-wrap{background:#faf8f4;background:var(--surface);border-radius:3px;height:4px;margin-top:5px;overflow:hidden}.perf-fi-bar{border-radius:3px;height:100%}.perf-divider{border:none;border-top:1px solid #00000014;border-top:1px solid var(--border);margin:12px 0}.perf-rep-table-wrap{margin-bottom:12px;overflow-x:auto}.perf-rep-table{border-collapse:collapse;font-size:12px;width:100%}.perf-rep-table th{border-bottom:1px solid #00000021;border-bottom:1px solid var(--border-dark);color:#8a8880;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:1px;padding:5px 8px;text-align:left;text-transform:uppercase;white-space:nowrap}.perf-rep-table td{border-bottom:1px solid #00000014;border-bottom:1px solid var(--border);color:#1a1a1a;color:var(--text);font-weight:300;padding:7px 8px;white-space:nowrap}.perf-rep-table tr:last-child td{border-bottom:none}.perf-rep-table tr:hover td{background:#f0ede6;background:var(--bg)}.perf-rep-table .rep-num{color:#b5b3ae;color:var(--text-light);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:10px}.perf-rep-table .avg-row td{font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:10px;font-weight:500}.perf-hardware-note,.perf-rep-table .avg-row td{background:#f0ede6;background:var(--bg);color:#8a8880;color:var(--text-muted)}.perf-hardware-note{align-items:center;border:1px solid #00000014;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);display:flex;font-size:11px;gap:8px;margin-top:12px;padding:8px 12px}.perf-tag{background:color-mix(in srgb,#1a2744 10%,#0000);background:color-mix(in srgb,var(--school-primary) 10%,#0000);border-radius:10px;color:#1a2744;color:var(--school-primary);flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 8px}.perf-no-reps{font-size:12px;padding:12px 0}.perf-loading,.perf-no-reps{color:#8a8880;color:var(--text-muted)}.perf-loading{font-size:13px;padding:24px;text-align:center}.perf-error{color:#8b1a1a;color:var(--red);font-size:13px;padding:16px}.perf-empty{color:#8a8880;color:var(--text-muted);font-size:13px;padding:16px 14px}.text-success{color:#3b6d11!important}.text-warning{color:#854f0b!important}.text-danger{color:#8b1a1a!important;color:var(--red)!important}.text-muted{color:#8a8880!important;color:var(--text-muted)!important}.badge-success{background:#3b6d1114;color:#3b6d11}.badge-success,.badge-warning{border-radius:10px;font-size:10px;font-weight:600;letter-spacing:.4px;padding:2px 9px}.badge-warning{background:#854f0b14;color:#854f0b}.badge-danger{background:#8b1a1a0f;border-radius:10px;color:#8b1a1a;color:var(--red);font-size:10px;font-weight:600;letter-spacing:.4px;padding:2px 9px}.perf-split-layout{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 380px;margin:-52px -60px -60px}.perf-left{border-right:1px solid #00000014;border-right:1px solid var(--border)}.perf-right{border-left:1px solid #00000014;border-left:1px solid var(--border)}.perf-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.perf-panel-header{align-items:flex-start;background:#faf8f4;background:var(--surface);border-bottom:1px solid #00000021;border-bottom:1px solid var(--border-dark);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 18px}.perf-panel-body{flex:1 1;overflow-y:auto;padding:16px 18px}.perf-right-empty{align-items:center;color:#b5b3ae;color:var(--text-light);display:flex;flex:1 1;flex-direction:column;gap:12px;justify-content:center}.perf-right-empty-icon{font-size:28px;opacity:.4}.perf-right-empty-text{color:#b5b3ae;color:var(--text-light);font-size:12px;font-weight:300;letter-spacing:.5px}.perf-split-layout{display:flex;flex:1 1;margin:0;min-height:calc(100vh - 52px);width:100%}.perf-left{flex:1 1;min-width:0;overflow-y:auto;padding:52px 40px 60px}.perf-right{background:#f0ede6;background:var(--bg);border-left:1px solid #00000021;border-left:1px solid var(--border-dark);flex-shrink:0;height:calc(100vh - 52px);overflow:hidden;position:sticky;top:52px;width:420px}.datum-chat-widget,.perf-right{display:flex;flex-direction:column}.datum-chat-widget{align-items:flex-end;bottom:28px;gap:12px;position:fixed;right:28px;z-index:9999}.datum-whistle-btn{align-items:center;background:#1a2744;background:var(--school-primary);border:none;border-radius:50%;box-shadow:0 4px 20px #00000038;cursor:pointer;display:flex;flex-shrink:0;height:52px;justify-content:center;transition:transform .15s cubic-bezier(.16,1,.3,1),background .4s cubic-bezier(.16,1,.3,1);transition:transform .15s var(--ease),background .4s var(--ease);width:52px}.datum-whistle-btn:hover{transform:scale(1.08)}.datum-whistle-btn:active{transform:scale(.95)}.datum-chat-bubble{background:#faf8f4;background:var(--surface);border:1px solid #00000021;border:1px solid var(--border-dark);border-radius:16px 16px 4px 16px;box-shadow:0 8px 40px #00000021;display:flex;flex-direction:column;overflow:hidden;width:420px}.datum-chat-header{align-items:center;background:#1a2744;background:var(--school-primary);display:flex;justify-content:space-between;padding:12px 14px;transition:background .4s cubic-bezier(.16,1,.3,1);transition:background .4s var(--ease)}.datum-chat-header-left{align-items:center;display:flex;gap:10px}.datum-chat-title{color:#ffffffe6;font-size:13px;font-weight:500}.datum-chat-sub{color:#fff6;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;margin-top:1px}.datum-chat-close{background:none;border:none;color:#ffffff73;cursor:pointer;font-size:14px;line-height:1;transition:color .15s}.datum-chat-close:hover{color:#ffffffe6}.datum-chat-messages{background:#f0ede6;background:var(--bg);display:flex;flex-direction:column;gap:8px;max-height:420px;min-height:220px;overflow-y:auto;padding:12px 14px}.datum-msg{font-size:13px;font-weight:300;line-height:1.55;max-width:88%;padding:8px 11px}.datum-msg-ai{align-self:flex-start;background:#faf8f4;background:var(--surface);border:1px solid #00000014;border:1px solid var(--border);border-radius:4px 12px 12px 12px;color:#1a1a1a;color:var(--text)}.datum-msg-user{align-self:flex-end;background:#1a2744;background:var(--school-primary);border-radius:12px 4px 12px 12px;color:#ffffffe6;transition:background .4s cubic-bezier(.16,1,.3,1);transition:background .4s var(--ease)}.datum-chat-input-row{align-items:center;background:#faf8f4;background:var(--surface);border-top:1px solid #00000014;border-top:1px solid var(--border);display:flex;gap:8px;padding:10px 12px}.datum-chat-input{background:#f0ede6;background:var(--bg);border:1px solid #00000021;border:1px solid var(--border-dark);border-radius:20px;color:#1a1a1a;color:var(--text);flex:1 1;font-family:Inter,sans-serif;font-family:var(--font-body);font-size:12px;outline:none;padding:7px 13px;transition:border-color .15s}.datum-chat-input:focus{border-color:#1a2744;border-color:var(--school-primary)}.datum-chat-send{align-items:center;background:#1a2744;background:var(--school-primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:30px;justify-content:center;transition:background .4s cubic-bezier(.16,1,.3,1),transform .1s;transition:background .4s var(--ease),transform .1s;width:30px}.datum-chat-send:hover{opacity:.88}.datum-chat-send:active{transform:scale(.93)}
/*# sourceMappingURL=main.5448834a.css.map*/