:root{--bg:#f6f7f4;--ink:#101413;--muted:#65706b;--line:#1014131a;--panel:#ffffffdb;--lime:#c8f169;--green:#11745f;--red:#df5145;--blue:#315f9f;--shadow:0 22px 80px #141e1a21}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 12% 8%, #c8f16961, transparent 28%), radial-gradient(circle at 88% 12%, #315f9f2e, transparent 30%), var(--bg);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.topbar{justify-content:space-between;align-items:center;gap:20px;padding:22px clamp(18px,5vw,64px) 14px;display:flex}.eyebrow{color:var(--green);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.76rem;font-weight:950}h1,h2,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:clamp(2.2rem,5vw,4.6rem);line-height:.98}h2{letter-spacing:0;margin-bottom:10px;font-size:clamp(1.8rem,4vw,3.2rem);line-height:1}.layout{grid-template-columns:310px minmax(0,1fr);gap:20px;padding:0 clamp(18px,5vw,64px) 42px;display:grid}.panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px}.sidebar{align-self:start;padding:16px;position:sticky;top:18px}.brandBlock{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:6px 4px 18px;display:flex}.brandIcon{background:var(--lime);border-radius:16px;place-items:center;width:56px;height:56px;display:grid}.brandBlock strong{margin-bottom:4px;display:block}.brandBlock span,.heading span,.empty{color:var(--muted);line-height:1.6}.nav{gap:10px;margin-top:18px;display:grid}.nav p{color:var(--muted);text-transform:uppercase;margin:12px 4px 0;font-size:.72rem;font-weight:950}.nav button{min-height:46px;color:var(--ink);background:#ffffffad;border:1px solid #10141314;border-radius:14px;align-items:center;gap:10px;padding:0 14px;font-weight:950;display:inline-flex}.nav button.active{color:#fff;background:var(--ink);box-shadow:0 14px 30px #1115142e}.content{min-width:0}.view{gap:18px;display:grid}.heading{padding:10px 0 0}.toolbar{justify-content:flex-end;display:flex}.toolbar label{min-width:min(260px,100%)}.metricGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.metricCard{align-content:center;gap:8px;min-height:130px;padding:22px;display:grid}.metricCard strong{font-size:clamp(2rem,5vw,3.2rem);line-height:1}.metricCard span{color:var(--muted);font-weight:900}.dashboardGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.chartPanel{gap:16px;padding:22px;display:grid}.chartPanel h3{margin:0}.barRow{grid-template-columns:90px minmax(0,1fr) 36px;align-items:center;gap:12px;display:grid}.barRow span{color:var(--muted);font-weight:900}.barTrack{background:#10141314;border-radius:999px;height:14px;overflow:hidden}.barFill{border-radius:inherit;background:var(--green);min-width:8px;height:100%}.dayBars{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:10px;height:230px;display:grid}.dayBar{text-align:center;grid-template-rows:minmax(0,1fr) auto auto;align-items:end;gap:6px;height:100%;display:grid}.dayFill{background:var(--lime);border-radius:12px 12px 4px 4px;align-self:end;width:100%}.dayBar b{font-size:.86rem}.dayBar span{color:var(--muted);font-size:.8rem;font-weight:900}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px;display:grid}label{color:var(--muted);gap:8px;font-size:.92rem;font-weight:950;display:grid}.fieldGroup{color:var(--muted);gap:10px;font-size:.92rem;font-weight:950;display:grid}.checkGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.checkItem{border:1px solid var(--line);min-height:48px;color:var(--ink);background:#ffffffe6;border-radius:14px;align-items:center;gap:9px;padding:0 12px;display:flex}.checkItem input{width:auto;min-height:auto}input,select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#ffffffe6;border-radius:14px;outline:none;padding:0 12px}input:focus,select:focus{border-color:#11745f99;box-shadow:0 0 0 4px #11745f1f}.primaryAction{min-height:48px;color:var(--ink);background:var(--lime);border:0;border-radius:14px;grid-column:1/-1;font-weight:950;box-shadow:0 16px 34px #8fb43238}.primaryAction:disabled{opacity:.65;cursor:progress}.secondaryAction{border:1px solid var(--line);min-height:48px;color:var(--ink);background:#fffc;border-radius:14px;grid-column:1/-1;font-weight:950}.list{gap:10px;padding:18px;display:grid}.listItem{border:1px solid var(--line);background:#ffffffb8;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.listItem strong{margin-bottom:4px;display:block}.listItem span{color:var(--muted);font-size:.92rem}.badge{color:#fff;background:var(--green);text-align:center;border-radius:999px;min-width:86px;padding:8px 10px;font-size:.8rem}.badge.muay{background:var(--red)}.badge.boxing{background:var(--blue)}.badge.warning{color:var(--ink);background:var(--lime)}.itemActions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.miniAction{border:1px solid var(--line);min-height:34px;color:var(--ink);background:#ffffffe0;border-radius:999px;padding:0 12px;font-size:.82rem;font-weight:950}.alertOverlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10141338;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.alertBox{color:#fff;background:var(--ink);width:min(440px,100%);box-shadow:var(--shadow);text-align:center;border:1px solid #ffffff38;border-radius:18px;gap:18px;padding:24px;display:grid}.alertBox button{min-height:42px;color:var(--ink);background:var(--lime);border:0;border-radius:12px;font-weight:950}@media (width<=900px){.layout{grid-template-columns:1fr}.sidebar{position:static}.dashboardGrid,.metricGrid{grid-template-columns:1fr}}@media (width<=620px){.topbar{flex-direction:column;align-items:flex-start}.toolbar{justify-content:stretch}.formGrid,.listItem,.checkGrid{grid-template-columns:1fr}.badge{width:fit-content}.itemActions{justify-content:flex-start}}
