:root{--orange:#f58220;--ink:#181818;--muted:#77736d;--border:#e7e3dc;--paper:#f7f5f1;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--border);background:white;color:var(--ink);border-radius:12px;padding:12px 17px;font-weight:600}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--orange);border-color:var(--orange);color:#171717}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f5822080;outline-offset:3px}input,select,textarea{width:100%;padding:13px;border:1px solid #dcd7cd;border-radius:10px;background:white;color:var(--ink)}textarea{min-height:140px;resize:vertical}label{display:block;font-size:13px;font-weight:600;margin:14px 0 7px}small,.muted,.caption{color:var(--muted)}small{font-size:12px}.caption{font-size:13px;line-height:1.7}h1{font-size:clamp(30px,4vw,46px);letter-spacing:-1.5px;margin:18px 0 10px}h2{font-size:23px;letter-spacing:-.7px}h3{font-size:18px}p{line-height:1.65}header{height:88px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 6vw;gap:15px}header .brand{display:flex;align-items:center;gap:18px;font-size:14px}.logo{height:65px;width:65px;object-fit:contain;background:#171717;border-radius:9px}.wrap{max-width:1200px;padding:35px 32px 110px;margin:auto}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#9b5e2e}.heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.heading p{color:var(--muted);font-size:14px}.panel{background:white;border:1px solid var(--border);border-radius:20px;padding:26px;margin:22px 0}.overview{display:grid;grid-template-columns:1.45fr 1fr;gap:25px;align-items:stretch}.overview .panel{margin:0}.card{position:relative;overflow:hidden;isolation:isolate;min-height:360px;border-radius:24px;padding:28px;background:radial-gradient(ellipse at 90% 15%,#53311d 0,transparent 45%),linear-gradient(115deg,#111,#24201c 60%,#121211);color:#f5efe6;border:1px solid #75563a;box-shadow:0 20px 40px #1c110c22;display:flex;flex-direction:column;justify-content:space-between}.card:before{content:'';position:absolute;z-index:-1;width:600px;height:600px;border:1px solid #bc89502b;border-radius:50%;left:45%;top:-90%;box-shadow:0 0 0 26px #bc895009,0 0 0 27px #bc895024,0 0 0 55px #bc895009,0 0 0 56px #bc895024}.card-top{display:flex;justify-content:space-between;align-items:center}.card-top img{width:85px;height:85px;object-fit:contain}.card-top span{font-size:10px;letter-spacing:3px;border:1px solid #aa81564d;border-radius:100px;padding:9px 14px;color:#d6b58c}.affirmations{position:relative;margin:12px 0 22px;min-height:120px}.affirmations strong{font-family:Georgia,serif;font-style:italic;font-size:39px;color:#ead6ba;display:block;letter-spacing:-1px}.affirmations em{display:block;margin:8px 0 0 39%;font-size:20px;font-family:Georgia,serif;color:#c6a582}.affirmations b{display:block;text-align:right;font-size:15px;margin:10px 0 0;color:#ed9d58}.card-bottom{display:flex;align-items:end;justify-content:space-between;gap:10px}.card-bottom small{color:#ac977e;font-size:9px;letter-spacing:3px}.card-bottom strong{display:block;margin:7px 0;font-size:19px;font-weight:500;letter-spacing:1px}.card-bottom span{font-size:10px;letter-spacing:2px;color:#b7a792}.badge{display:inline-block;padding:6px 10px;border-radius:50px;background:#f5f1ea;color:#865827;font-size:11px}.badge.dark{background:#e5cf9f12;color:#d7bb91;letter-spacing:0;white-space:nowrap}.big{font-size:57px;letter-spacing:-3px;margin:22px 0}.big small{font-size:14px;letter-spacing:0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tile{border:1px solid var(--border);border-radius:14px;padding:19px 16px;background:white}.tile span{font-size:12px;color:var(--muted)}.tile strong{display:block;font-size:24px;margin-top:12px;font-weight:600}.tile strong small{font-size:11px;margin-left:5px}.tile.missing strong{font-size:17px;color:#9c958b}.tile p{font-size:10px;margin:9px 0 0;color:#999}.nav{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px}.nav button.active{background:var(--ink);border-color:var(--ink);color:white}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.measure{border-bottom:1px solid var(--border);padding:20px 0}summary{cursor:pointer;font-size:15px;font-weight:600;padding:8px 0}details .grid{margin-top:18px}.details{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.details b{display:block;margin-top:7px;font-size:14px}.program-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.program{border-top:1px solid var(--border);padding:22px 0}.program h3{margin:10px 0}.empty{padding:40px 20px;text-align:center;color:var(--muted);font-size:14px;line-height:1.7}.chart{width:100%;height:auto;display:block;margin:20px 0 5px}.chart-labels{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px}.chart-select{width:auto;max-width:230px}.roster-row{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--border);padding:19px 0;align-items:center}.roster-row p{margin:7px 0;color:var(--muted);font-size:12px}.roster-actions{display:flex;flex-wrap:wrap;gap:8px}.roster-actions button{font-size:12px;padding:9px 11px}.access-tag{padding:13px 18px;border:1px solid #efc99c;background:#fff3e3;border-radius:12px;margin:18px 0;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-art{background:radial-gradient(ellipse at bottom right,#653918,#151515 60%);color:white;padding:70px 9vw;display:flex;flex-direction:column;justify-content:center}.auth-art .logo{height:110px;width:110px;margin-bottom:35px}.auth-art h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(40px,5vw,70px);line-height:1.13;letter-spacing:-2px;color:#ecdbc4}.auth-art p{color:#c4ae98;font-size:14px}.auth-content{padding:55px 8vw;display:flex;flex-direction:column;justify-content:center}.auth-content form{max-width:440px;width:100%;margin:auto}.auth-content .primary{width:100%;margin-top:22px}.auth-content h2{font-size:29px}.auth-content .mobile-logo{display:none}.form-error{color:#a63c1d;background:#fff0e7;padding:13px;border-radius:10px;font-size:13px;margin:15px 0}.hint{font-size:12px;color:#837767;line-height:1.8}.link-button{background:transparent;border:none;text-decoration:underline;padding:12px 0;color:#7d6651;font-size:12px}.code{font-family:monospace;overflow-wrap:anywhere;background:#f5f2eb;padding:14px;border-radius:10px;font-size:12px;white-space:pre-wrap}.dialog{position:fixed;inset:0;z-index:20;background:#0009;display:flex;align-items:center;justify-content:center;padding:22px}.dialog .panel{max-width:560px;max-height:90vh;overflow:auto;width:100%;margin:0}.dialog h2{margin-top:5px}.dialog textarea{min-height:90px}.block{display:block;width:100%}.file{font-size:12px}.loading{padding:100px;text-align:center}.footer{font-size:10px;letter-spacing:2px;color:#9a9286;text-align:center;margin-top:40px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:40;background:#171717;color:white;border-radius:12px;padding:15px 22px;font-size:13px;box-shadow:0 6px 25px #0003;display:none;max-width:90vw}button.danger{color:#a33a27}.orange{color:var(--orange)}@media(max-width:800px){header{padding:0 20px;height:78px}header .logo{height:52px;width:52px}.wrap{padding:22px 18px 100px}.overview{grid-template-columns:1fr}.grid{grid-template-columns:repeat(3,1fr)}.auth{display:block}.auth-art{display:none}.auth-content{min-height:100vh;padding:35px 24px}.auth-content .mobile-logo{display:block;margin:0 0 25px}.panel{padding:21px}.roster-row{display:block}.roster-actions{margin-top:12px}.card{min-height:345px}.details{grid-template-columns:repeat(2,1fr)}.heading{align-items:start}.nav{position:sticky;top:0;background:var(--paper);z-index:5;padding:12px 0;gap:6px}.nav button{font-size:11px;padding:11px}.grid .tile{padding:15px 12px}.grid .tile strong{font-size:21px}.grid .missing strong{font-size:14px}}@media(max-width:420px){.grid{grid-template-columns:repeat(2,1fr)}.card{padding:23px}.card-bottom strong{font-size:16px}.card-bottom .badge{max-width:90px;white-space:normal}.affirmations strong{font-size:35px}}
