:root{color:#10232b;font-synthesis:none;text-rendering:optimizelegibility;background:#eaf0ee;font-family:Pretendard,Noto Sans KR,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{background:linear-gradient(#071c26 0 330px,#eaf0ee 330px);min-height:100vh}.hero{color:#f7fbf9;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;width:min(1180px,100% - 40px);min-height:260px;margin:0 auto;display:grid}.hero-mark{color:#071c26;background:#f6a623;border-radius:18px 4px;place-items:center;width:68px;height:68px;font-size:34px;font-weight:900;display:grid;box-shadow:10px 10px #0b4a54}.hero h1{letter-spacing:-.045em;margin:6px 0 10px;font-size:clamp(30px,4vw,52px);line-height:1.08}.hero p{color:#a9c0c4;margin:0}.eyebrow{color:#df8e19;letter-spacing:.15em;margin:0;font-size:12px;font-weight:900}.hero-badge{background:#0b2b35;border:1px solid #2b5962;border-radius:14px;padding:18px 22px}.hero-badge span,.hero-badge strong{display:block}.hero-badge span{color:#86a5aa;margin-bottom:5px;font-size:12px}.hero-badge strong{color:#fff;font-size:20px}main{width:min(1180px,100% - 40px);margin:0 auto;padding-bottom:64px}.period-bar{background:#fff;border-radius:20px;grid-template-columns:1fr repeat(3,minmax(140px,180px));align-items:end;gap:14px;padding:22px;display:grid;box-shadow:0 18px 50px #071c2629}.period-bar h2,.panel h2{letter-spacing:-.03em;margin:4px 0 0;font-size:24px}label span,.metric-card span,.trainer-value span,.trainer-name span{color:#60727a;margin-bottom:7px;font-size:12px;font-weight:800;display:block}input[type=month],input[type=number]{color:#10232b;background:#f7faf9;border:1px solid #ccd8d7;border-radius:10px;width:100%;padding:11px 12px;font-weight:800}input[readonly]{color:#51666e;cursor:default;background:#edf2f1}input:focus{border-color:#df8e19;outline:3px solid #f6a62333}.panel{background:#fff;border:1px solid #d9e3e1;border-radius:20px;margin-top:20px;padding:26px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.panel-description{color:#71838a;margin:7px 0 0;font-size:14px}.secondary-button{color:#fff;background:#0c4a55;border:1px solid #0c4a55;border-radius:10px;padding:11px 15px;font-weight:800}.secondary-button:hover{background:#083740}.connection-strip{background:#f3f7f6;border-radius:12px;align-items:center;gap:11px;margin:22px 0;padding:13px 15px;display:flex}.connection-strip strong,.connection-strip span{display:block}.connection-strip span{color:#71838a;margin-top:3px;font-size:12px}.status-dot{background:#e09a26;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 5px #e09a2621}.status-connected{background:#22a06b;box-shadow:0 0 0 5px #22a06b21}.status-error{background:#d64545;box-shadow:0 0 0 5px #d6454521}.alert{color:#8b2525;background:#fff1f0;border-left:4px solid #d64545;border-radius:8px;padding:13px 15px;font-weight:700}.metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.metric-card{background:#f4f7f6;border-top:4px solid #b5c5c4;border-radius:14px;min-height:112px;padding:17px}.metric-card strong{letter-spacing:-.04em;font-size:clamp(20px,2.4vw,30px);display:block}.metric-card.accent{background:#e7f3ef;border-color:#22a06b}.metric-card.warning{background:#fff5e4;border-color:#f6a623}.metric-card.wide{color:#fff;background:#0c4a55;border-color:#f6a623;grid-column:span 2}.metric-card.wide span{color:#bdd1d3}.metric-hint{color:#71838a;grid-column:span 2;align-self:center;margin:0;font-weight:700}.combined-panel{color:#fff;background:linear-gradient(135deg,#0c4a55,#10232b);border:0}.combined-panel h2{color:#fff}.combined-panel .panel-description{color:#bdd1d3}.combined-benchmark{color:#ffd58d;border:1px solid #f6a623a6;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900}.combined-metrics .metric-card{background:#ffffff17;border-color:#5e858c}.combined-metrics .metric-card span{color:#bdd1d3}.combined-metrics .metric-card.accent{background:#22a06b33;border-color:#48c891}.combined-metrics .metric-card.warning{background:#f6a62326;border-color:#f6a623}.combined-metrics .rate-highlight{color:#10232b;background:#f6a623;border-color:#ffd58d}.combined-metrics .rate-highlight span{color:#553609}.split-grid{grid-template-columns:1.1fr .9fr;gap:20px;display:grid}.file-drop{text-align:center;background:#f7faf9;border:2px dashed #a9bdbb;border-radius:16px;place-items:center;min-height:176px;margin-top:22px;padding:22px;transition:all .2s;display:grid}.file-drop:hover{background:#fffaf0;border-color:#df8e19}.file-drop input{opacity:0;width:1px;height:1px;position:absolute}.file-drop strong{font-size:17px}.file-drop small{color:#77898e}.file-icon{color:#10232b;background:#f6a623;border-radius:50%;place-items:center;width:42px;height:42px;margin:0 0 8px;font-size:24px;font-weight:900;display:grid}.result-counts{gap:8px;margin:16px 0 10px;display:flex}.success-chip,.error-chip,.trainer-count,.check-count{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.success-chip{color:#14724b;background:#e3f4ec}.error-chip{color:#a92f2f;background:#ffeded}.import-results ul{margin:0;padding:0;list-style:none}.import-results li{border-bottom:1px solid #edf1f0;justify-content:space-between;gap:12px;padding:10px 0;font-size:13px;display:flex}.success-text{color:#14724b}.error-text{color:#a92f2f;text-align:right}.trainer-count,.check-count{color:#fff;background:#10232b}.empty-state{color:#71838a;background:#f5f8f7;border-radius:14px;place-items:center;gap:5px;margin-top:20px;padding:50px 20px;display:grid}.empty-state strong{color:#294049}.pt-list{gap:10px;margin-top:20px;display:grid}.trainer-row{background:#f7faf9;border-left:4px solid #0c4a55;border-radius:14px;grid-template-columns:1.1fr 1fr 1.15fr 1fr .7fr;align-items:end;gap:14px;padding:16px;display:grid}.trainer-name strong{font-size:18px}.trainer-value strong{font-size:16px}.danger-value strong{color:#b45d13}.rate-value strong{color:#14724b;font-size:22px}.row-error{color:#a92f2f;grid-column:span 2}.check-list{gap:8px;margin-top:22px;display:grid}.check-list label{cursor:pointer;background:#f5f8f7;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;display:flex}.check-list label.checked{color:#14724b;background:#e3f4ec;text-decoration:line-through}.check-list input{accent-color:#22a06b;width:18px;height:18px}.check-list label span{color:inherit;margin:0;font-size:14px}footer{text-align:center;color:#8da9ae;background:#071c26;padding:24px;font-size:13px}@media (width<=860px){.hero{grid-template-columns:auto 1fr;padding:34px 0 50px}.hero-badge{display:none}.period-bar{grid-template-columns:1fr 1fr 1fr}.period-bar>div{grid-column:1/-1}.metric-grid{grid-template-columns:1fr 1fr}.split-grid{grid-template-columns:1fr}.trainer-row{grid-template-columns:1fr 1fr}}@media (width<=560px){.app-shell{background:linear-gradient(#071c26 0 360px,#eaf0ee 360px)}.hero,main{width:min(100% - 24px,1180px)}.hero{min-height:300px;display:block}.hero-mark{width:54px;height:54px;margin-bottom:26px;font-size:28px}.hero h1{font-size:36px}.period-bar{grid-template-columns:1fr 1fr;padding:18px}.period-bar label:first-of-type{grid-column:1/-1}.panel{border-radius:16px;padding:20px}.panel-heading{display:grid}.secondary-button{width:100%}.metric-grid{grid-template-columns:1fr}.metric-card.wide{grid-column:auto}.trainer-row{grid-template-columns:1fr;align-items:stretch}.import-results li{display:grid}.error-text{text-align:left}}
