*{box-sizing:border-box}body{margin:0;background:#f6f7fb;color:#172039;font-family:Arial,sans-serif;font-size:16px;line-height:1.5}header{padding:22px 6%;background:white;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7ed}.brand{font-size:32px;font-weight:800;color:#b91f60;letter-spacing:-1px}.brand span{display:block;font-size:12px;letter-spacing:3px;color:#172039}.year,.eyebrow,.step{font-size:12px;letter-spacing:1.7px;font-weight:700}.year{color:#647086}main{max-width:1200px;margin:auto;padding:42px 28px}.heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.eyebrow{color:#b91f60}h1{font-size:44px;line-height:1.15;letter-spacing:-1.8px;margin:12px 0}h1 em{font-style:normal;color:#b91f60}h2{font-size:23px;letter-spacing:-.6px;margin:12px 0}p{color:#647086}.period{min-width:230px}label{display:block;font-weight:600;font-size:14px;margin-bottom:8px}select,input{font:inherit;color:inherit;border:1px solid #d8dce6;border-radius:10px;background:white;padding:12px;width:100%}.workspace{display:grid;grid-template-columns:1fr 1.1fr;gap:24px}.upload,.result,.weeks,details{border:1px solid #e1e5ee;border-radius:22px;padding:28px;background:white}.step{color:#8790a2}.drop{background:#fff5f9;border:1.5px dashed #cd88a5;display:flex;flex-direction:column;align-items:center;padding:24px;cursor:pointer;border-radius:14px}.drop b{font-size:30px;color:#b91f60}.drop span{font-size:14px;color:#647086;margin-top:6px}.drop input{width:100%;font-size:14px;margin-top:14px;background:white}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}button{padding:10px 14px;border-radius:10px;font:inherit;cursor:pointer;border:1px solid #d8dce6;background:white}.secondary{color:#b91f60;border-color:#efcfdd}.text{border:none;color:#647086}.small{font-size:13px;line-height:1.6}.result{background:#182541;color:white;border:none}.result select{background:#273755;border-color:#4e5f7b}.result .step{display:block;color:#b6c0d1;margin-bottom:20px}.result p{color:#cad3e1}.result h2{font-size:43px;line-height:1.15;margin:10px 0;letter-spacing:-1px}.result label{color:#cad3e1}.progress{height:10px;background:#3d4b67;border-radius:10px;overflow:hidden;margin:25px 0}.progress div{background:#f382b0;height:100%;width:0;transition:width .4s}.metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.metrics span{font-size:13px;color:#b6c0d1}.metrics strong{display:block;font-size:16px;margin-top:8px}.hint{border-top:1px solid #3d4b67;padding-top:16px;font-size:14px}.weeks{margin:26px 0}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.section-title p{max-width:340px;font-size:14px}.weekgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.weekcard{border:1px solid #e2e6ee;border-radius:14px;padding:18px}.weekcard p{font-size:13px;margin:4px 0 16px}.weekcard input{font-weight:bold}.weekcard .badge{font-size:12px;color:#b91f60}.levels{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.level{background:white;border:1px solid #e1e5ee;border-top:4px solid var(--accent);border-radius:14px;padding:16px;font-size:14px}.level strong{display:block;margin:8px 0}.level p{font-size:13px;margin-bottom:0}.tag{background:#e8ebf2;color:#647086;border-radius:20px;padding:7px 12px;font-size:13px}details{margin-top:28px}summary{cursor:pointer;font-weight:700}.calendar{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.calendar div{background:#f6f7fb;border-radius:10px;padding:14px;font-size:14px}.calendar span{display:block;color:#647086;font-size:13px}footer{text-align:center;font-size:13px;color:#8790a2;padding:32px 0 0}#import{font-size:14px;margin:16px 0;color:#b91f60}button:hover{background:#fce9f1}:focus-visible{outline:3px solid #ec7da9;outline-offset:3px}@media(max-width:760px){main{padding:24px 16px}.heading{display:block}h1{font-size:36px}.period{margin-top:22px}.workspace{grid-template-columns:1fr}.weekgrid{grid-template-columns:repeat(2,1fr)}.levels{grid-template-columns:repeat(2,1fr)}.section-title{display:block}.calendar{grid-template-columns:1fr}.upload,.result,.weeks,details{padding:22px}.result h2{font-size:36px}.metrics{grid-template-columns:1fr 1fr}.year{font-size:12px}}@media(max-width:380px){.weekgrid{grid-template-columns:1fr}.result h2{font-size:30px}} 
.official-logo{position:relative;width:280px;height:45px;overflow:hidden;flex-shrink:0}.official-logo img{position:absolute;width:318px;max-width:none;height:auto;left:-19px;top:-137px}.projection{margin-top:0;border:2px solid #efb8d0;background:linear-gradient(135deg,#fff 65%,#fff2f8);padding:28px}.projection>.step{color:#b91f60}.projection>h2{font-size:30px}.formula{font-size:14px;color:#b91f60}.projection .section-title{padding:22px;border-radius:16px;background:#182541;color:white;margin-bottom:18px}.projection .section-title p{color:#cad3e1}.projection #potential{font-size:40px;color:#f6a5c8;margin:8px 0}.projection #nextgap{display:block;margin-top:10px;font-size:14px}.projection .weekcard{background:white}.projection select{min-width:180px}.projection input{padding:10px}@media(max-width:760px){.official-logo{width:210px;height:34px}.official-logo img{width:238.5px;left:-14.3px;top:-102.8px}.projection{padding:20px}.projection>h2{font-size:25px}.projection #potential{font-size:34px}.projection .section-title>div+div{margin-top:20px}header{gap:12px}.year{letter-spacing:.8px}}
.projection #nextgoal,.projection #nextgoal option{color:#000;background:#fff}
.bonus-section dl{margin:16px 0 0}.bonus-section dt{font-size:13px;color:#647086;margin-top:12px}.bonus-section dd{margin:2px 0 0;font-size:16px;font-weight:600;color:#172039}.bonus-section .calendar>div{border:1px solid #e2e6ee;background:#f8f9fc}
.teamlayout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:28px;align-items:center}.namelist{max-height:310px;overflow:auto;margin:16px 0;border:1px solid #e2e6ee;border-radius:12px}.person{display:flex;align-items:center;gap:12px;padding:12px;margin:0;border-bottom:1px solid #e2e6ee;cursor:pointer}.person input{width:18px;height:18px;flex-shrink:0}.person strong{font-size:14px;display:block}.person small{display:block;color:#647086;font-size:12px}.manualname{margin-top:22px;border-top:1px solid #e2e6ee;padding-top:16px}.teamcontrols button{margin-top:12px}.pizza{aspect-ratio:1;max-width:650px;margin:auto;border-radius:50%;background:conic-gradient(#f8d8e7 0 90deg,#d9eaf6 90deg 180deg,#e4ddf5 180deg 270deg,#d9efdf 270deg 360deg);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;padding:13%;gap:22px;position:relative;border:3px solid white;box-shadow:0 0 0 1px #e2e6ee}.pizza:before,.pizza:after{content:'';position:absolute;background:white;pointer-events:none}.pizza:before{height:3px;width:100%;top:50%;left:0}.pizza:after{width:3px;height:100%;left:50%;top:0}.slice{min-width:0;min-height:0;overflow:hidden}.slice h3{font-size:16px;line-height:1.25;margin:0 0 5px}.slicecount{font-size:12px;color:#526079}.slicenames{overflow:auto;height:calc(100% - 52px);margin-top:8px}.slicenames>div{padding:6px 0;border-bottom:1px solid #ffffff9c}.slicenames span{display:block;font-size:13px;line-height:1.25;overflow-wrap:anywhere}.slicenames button{font-size:12px;background:transparent;padding:1px 0;border:0;color:#6b3650}.slicenames p{font-size:13px}.slice[data-category="0"]{grid-column:2;grid-row:1}.slice[data-category="1"]{grid-column:2;grid-row:2}.slice[data-category="2"]{grid-column:1;grid-row:2}.slice[data-category="3"]{grid-column:1;grid-row:1}@media(max-width:900px){.teamlayout{grid-template-columns:1fr}.pizza{max-width:600px}}@media(max-width:480px){.pizza{padding:12%;gap:16px}.slice h3{font-size:13px}.slicenames span{font-size:12px}.slicenames{height:calc(100% - 50px)}.slicecount{font-size:11px}}
.person{cursor:grab;touch-action:none;user-select:none}.person.dragging{opacity:.4}.grip{font-size:24px;color:#8790a2}.slice.dropready{outline:3px dashed #b91f60;background:#ffffff90;border-radius:10px}.dragghost{position:fixed;z-index:999;pointer-events:none;background:#182541;color:white;padding:10px 16px;border-radius:12px;max-width:230px;font-size:14px;box-shadow:0 6px 20px #0003}.namelist{touch-action:pan-y}
.importweeks:not(:empty){border:1px solid #e2e6ee;border-radius:12px;padding:16px;margin:16px 0}.importweeks>strong{display:block;margin-bottom:10px}.importweeks>div{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:8px 0;border-top:1px solid #e2e6ee}
.projection .teamlayout{margin:20px 0 28px}.pizzatitle{margin-top:28px}.slicetotal{display:block;font-size:14px;color:#172039;margin:5px 0}.pizza .slicenames{height:calc(100% - 80px)}.projection .teamlayout p{font-size:14px}.projection .pizza{background:conic-gradient(#f8d8e7 0 90deg,#d9eaf6 90deg 180deg,#e4ddf5 180deg 270deg,#d9efdf 270deg 360deg)}
.entry{margin-bottom:24px}.workspace{grid-template-columns:1fr}.entry .drop{max-width:600px}.entry .manualname{max-width:600px}.teamcontrols .namelist{max-height:380px}.teamcontrols .person{padding:14px}.teamcontrols .person strong{font-size:16px}

.heading{margin-bottom:22px}h1{font-size:36px}.period-summary{background:#fff;border:2px solid #efb8d0}.periodtotal{display:block;font-size:42px;line-height:1.2;color:#b91f60;margin:18px 0}.personal-goal{border-top:1px solid #e2e6ee;padding-top:22px;margin-top:22px;max-width:640px}.personal-goal input{max-width:400px;font-size:22px;font-weight:700;color:#000}.personal-goal #personalresult{color:#172039;font-size:18px;font-weight:600}.personalprogress{height:10px;background:#e8ebf2;border-radius:10px;overflow:hidden}.personalprogress>div{height:100%;background:#b91f60;transition:width .3s}.teamcontrols .manualname{margin-top:0;padding-top:0;border:0}.teamcontrols .manualname input{margin-bottom:10px}@media(max-width:760px){.periodtotal{font-size:34px}.heading h1{font-size:30px}}
