:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f4f6fb}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}input{width:100%;border:1px solid #d8deea;border-radius:14px;padding:13px 14px;outline:none;background:#fff}input:focus{border-color:#1f5eff;box-shadow:0 0 0 3px #1f5eff1a}label{font-weight:700;font-size:14px;margin-top:14px;margin-bottom:6px;display:block}.public-page,.auth-page,athlete-dashboard{min-height:100vh}.public-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,rgba(31,94,255,.22),transparent 34%),linear-gradient(135deg,#0d1325,#16213d 48%,#243b72)}.hero-card{width:min(920px,100%);background:#fffffff0;border-radius:34px;padding:48px;box-shadow:0 28px 90px #0000003d}.brand-row{display:flex;gap:18px;align-items:center}.brand-icon,.auth-icon,.success-icon{width:62px;height:62px;border-radius:22px;background:#10234d;color:#fff;display:grid;place-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#5e6b85;font-size:12px;font-weight:800;margin:0 0 6px}h1,h2,h3{margin:0}.hero-card h1{font-size:clamp(34px,5vw,58px);line-height:1.02}.hero-text{font-size:20px;max-width:720px;line-height:1.6;color:#526079;margin:30px 0}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{border:0;border-radius:14px;padding:12px 18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800}.btn.primary{background:#1f5eff;color:#fff}.btn.secondary{background:#edf2ff;color:#163b8f}.btn.small{padding:9px 12px;font-size:13px;background:#eef3ff;color:#173d91}.btn.full{width:100%;margin-top:20px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,rgba(31,94,255,.18),transparent 32%),#f4f6fb}.athlete-bg{background:radial-gradient(circle at top right,rgba(55,201,140,.2),transparent 32%),#f4f6fb}.auth-card{width:min(430px,100%);background:#fff;border-radius:28px;padding:34px;box-shadow:0 20px 60px #14203c1f}.auth-card h1{margin-top:20px;font-size:32px}.auth-card p{color:#5a667d}.small-link{display:block;margin-top:16px;text-align:center;font-size:14px;color:#5d6c86}.alert{padding:13px 14px;border-radius:14px;margin:18px 0;font-weight:700}.alert.error{background:#ffecec;color:#aa1f1f}.alert.success{background:#eafff2;color:#13733e}.app-shell{min-height:100vh;display:flex}.sidebar{width:270px;background:#0d1325;color:#fff;display:flex;flex-direction:column;padding:24px}.sidebar-brand{display:flex;align-items:center;gap:13px;margin-bottom:34px}.sidebar-brand span{display:block;color:#92a1c0;font-size:13px}.sidebar nav{display:grid;gap:8px}.sidebar nav a,.logout-btn{color:#dfe7ff;display:flex;align-items:center;gap:11px;padding:13px;border-radius:14px;background:transparent;border:0;cursor:pointer;text-align:left}.sidebar nav a:hover,.logout-btn:hover{background:#ffffff14}.logout-btn{margin-top:auto}.main-panel{flex:1;min-width:0}.topbar{height:86px;background:#fff;border-bottom:1px solid #e8edf5;display:flex;align-items:center;padding:0 34px}.content{padding:34px}.section-title{margin-bottom:24px}.section-title h1{font-size:34px}.section-title p{color:#5e6b85}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.metric-card,.panel-card,.mini-card{background:#fff;border-radius:24px;padding:24px;box-shadow:0 12px 36px #14203c12}.metric-card p,.panel-card p,.mini-card span{color:#64718a}.two-columns{display:grid;grid-template-columns:390px 1fr;gap:22px;align-items:start}.panel-card h2{display:flex;gap:10px;align-items:center;margin-bottom:16px}.athlete-list{display:grid;gap:12px}.athlete-row{border:1px solid #e2e8f2;border-radius:18px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:14px}.athlete-row span{display:block;color:#718096;font-size:14px;margin-top:4px}.code-box{background:#0d1325;color:#fff;border-radius:24px;padding:22px;margin-bottom:22px}.code-box p{margin:0 0 8px;color:#b9c5df}.code-box strong{font-size:30px;letter-spacing:.08em}.code-box span{display:block;margin-top:8px;color:#b9c5df}.athlete-dashboard{min-height:100vh;padding:30px;display:grid;place-items:center;background:radial-gradient(circle at top right,rgba(55,201,140,.2),transparent 32%),#f4f6fb}.athlete-card{width:min(900px,100%);background:#fff;border-radius:32px;padding:42px;box-shadow:0 20px 60px #14203c1f}.athlete-card h1{margin-top:10px;font-size:42px}.athlete-card p{color:#5f6d85;font-size:18px;line-height:1.6}.mini-card{display:grid;gap:8px}@media(max-width:900px){.app-shell{display:block}.sidebar{width:100%}.two-columns,.cards-grid{grid-template-columns:1fr}.hero-card{padding:32px}}select,textarea{width:100%;border:1px solid #d8deea;border-radius:14px;padding:13px 14px;outline:none;background:#fff;font:inherit}textarea{min-height:100px;resize:vertical}select:focus,textarea:focus{border-color:#1f5eff;box-shadow:0 0 0 3px #1f5eff1a}.athlete-card.wide{width:min(1120px,100%)}.checkin-form{margin-top:22px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.toggle-row{background:#f4f7fd;border:1px solid #e2e8f2;border-radius:16px;padding:14px;display:flex;align-items:center;gap:10px;margin:0}.toggle-row input{width:auto}.form-actions{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}@media(max-width:900px){.form-grid,.toggle-grid{grid-template-columns:1fr}}.with-actions{display:flex;align-items:center;justify-content:space-between;gap:18px}.row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.table-wrap{width:100%;overflow-x:auto;margin-top:18px;border:1px solid #e5eaf3;border-radius:18px}.data-table{width:100%;border-collapse:collapse;min-width:980px;background:#fff}.data-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64718a;background:#f6f8fc;padding:14px;border-bottom:1px solid #e5eaf3}.data-table td{padding:14px;border-bottom:1px solid #edf1f7;color:#243047}.data-table tr:last-child td{border-bottom:0}.checkin-detail-list{display:grid;gap:16px;margin-top:24px}.checkin-detail-card{border:1px solid #e5eaf3;border-radius:22px;padding:20px;background:#fbfcff}.checkin-detail-card h3{margin-bottom:14px}.checkin-detail-card p{color:#526079;line-height:1.5}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.detail-grid div{background:#fff;border:1px solid #edf1f7;border-radius:16px;padding:14px}.detail-grid span{display:block;color:#718096;font-size:13px;margin-bottom:6px}.detail-grid strong{font-size:20px}@media(max-width:900px){.with-actions{display:block}.with-actions .btn{margin-top:14px}.detail-grid{grid-template-columns:1fr 1fr}.athlete-row{align-items:flex-start;flex-direction:column}.row-actions{justify-content:flex-start}}.weekly-summary-card{margin-bottom:24px;border:1px solid #dfe8ff;background:linear-gradient(135deg,#fff,#f6f9ff)}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.summary-grid div{background:#fff;border:1px solid #e6ecf7;border-radius:18px;padding:16px}.summary-grid span{display:block;color:#64718a;font-size:13px;margin-bottom:8px}.summary-grid strong{font-size:24px;color:#172033}@media(max-width:900px){.summary-grid{grid-template-columns:1fr 1fr}}.nutrition-layout{grid-template-columns:minmax(420px,520px) 1fr}.form-grid.two,.nutrition-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.formula-table-wrap{margin-top:24px;overflow-x:auto}@media(max-width:1100px){.nutrition-layout{grid-template-columns:1fr}}@media(max-width:700px){.form-grid.two,.nutrition-summary{grid-template-columns:1fr}}.empty-state{text-align:center;display:grid;gap:14px;justify-items:center}.nutrition-summary-four{grid-template-columns:repeat(4,minmax(0,1fr))}.meal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.meal-card{border:1px solid #e5eaf3;border-radius:24px;padding:20px;background:#fbfcff}.meal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.meal-header span{background:#eef3ff;color:#173d91;border-radius:999px;padding:8px 12px;font-weight:800}.meal-details{grid-template-columns:repeat(4,minmax(0,1fr))}.meal-details strong{font-size:18px}.portions-row{display:grid;gap:8px;margin-top:16px;color:#526079}.meal-note{color:#718096;margin-bottom:0}@media(max-width:1000px){.meal-grid,.nutrition-summary-four,.meal-details{grid-template-columns:1fr}}.training-days-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.training-day-card{border:1px solid #e5eaf3;border-radius:24px;padding:20px;background:#fbfcff}.training-block{margin-top:16px}.training-block h4{margin:0 0 12px}.exercise-list{display:grid;gap:12px}.exercise-card{background:#fff;border:1px solid #edf1f7;border-radius:18px;padding:14px}.exercise-card strong{display:block}.exercise-card span{display:block;color:#64718a;font-size:13px;margin-top:4px}.exercise-card p{color:#526079;font-size:14px;line-height:1.45}.exercise-prescription{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.exercise-prescription span{background:#f4f7fd;border-radius:12px;padding:8px;font-weight:700}@media(max-width:1200px){.training-days-grid{grid-template-columns:1fr}}.training-athlete-list{display:grid;gap:20px}.athlete-exercise{padding:22px}.last-log-box{margin:14px 0;padding:12px 14px;border-radius:14px;background:#eef9f2;color:#17653a}.log-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}@media(max-width:800px){.log-grid{grid-template-columns:1fr}}.volume-columns{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;margin-top:26px}.volume-list{display:grid;gap:14px;margin-top:16px}.volume-row{background:#fbfcff;border:1px solid #e5eaf3;border-radius:18px;padding:14px}.volume-row-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.volume-row-header span{color:#64718a;font-weight:800;font-size:13px}.volume-bar{height:12px;background:#e9eef8;border-radius:999px;overflow:hidden}.volume-bar div{height:100%;background:#1f5eff;border-radius:999px}@media(max-width:1000px){.volume-columns{grid-template-columns:1fr}}.progression-list{display:grid;gap:16px;margin-top:20px}.progression-card{border:1px solid #e5eaf3;background:#fbfcff;border-radius:22px;padding:20px}.progression-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900;white-space:nowrap}.status-pill.improved{background:#e8f8ef;color:#177245}.status-pill.maintained{background:#eef3ff;color:#173d91}.status-pill.decreased{background:#ffecec;color:#a42828}.status-pill.insufficient{background:#f3f4f6;color:#667085}.progression-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.progression-metrics div{background:#fff;border:1px solid #edf1f7;border-radius:16px;padding:14px}.progression-metrics span{display:block;color:#64718a;font-size:13px;margin-bottom:6px}.progression-metrics strong{display:block;font-size:16px;color:#172033}.progression-metrics small{display:block;color:#526079;font-weight:800;margin-top:6px}.summary-note{color:#526079;line-height:1.5;margin-top:14px}@media(max-width:1100px){.progression-metrics{grid-template-columns:1fr 1fr}}@media(max-width:650px){.progression-header{display:block}.status-pill{margin-top:12px}.progression-metrics{grid-template-columns:1fr}}.lifting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.lifting-card{border:1px solid #e5eaf3;background:#fbfcff;border-radius:22px;padding:20px}.lifting-main-number{background:#172033;color:#fff;border-radius:20px;padding:18px;margin:16px 0}.lifting-main-number span{display:block;opacity:.8;font-size:13px;margin-bottom:6px}.lifting-main-number strong{display:block;font-size:34px}.lifting-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1000px){.lifting-grid,.lifting-metrics{grid-template-columns:1fr}}.progress-layout{grid-template-columns:.8fr 1.2fr}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}.photo-card{border:1px solid #e5eaf3;border-radius:18px;overflow:hidden;background:#fbfcff}.photo-card img{width:100%;height:220px;object-fit:cover;display:block;background:#eef2f7}.photo-card div{padding:12px}.photo-card strong{display:block;text-transform:capitalize}.photo-card span{color:#64718a;font-size:13px}@media(max-width:1100px){.progress-layout,.photo-grid{grid-template-columns:1fr}}.supplement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.supplement-card{border:1px solid #e5eaf3;border-radius:22px;padding:20px;background:#fbfcff}.supplement-card p{color:#526079;line-height:1.45}@media(max-width:900px){.supplement-grid{grid-template-columns:1fr}}.zone-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:18px}.zone-card{border:1px solid #e5eaf3;border-radius:22px;padding:18px;background:#fbfcff}.zone-card p{color:#526079;line-height:1.45}@media(max-width:1300px){.zone-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.zone-grid{grid-template-columns:1fr}}
