:root{--p-ink:#10243c;--p-navy:#0b2748;--p-teal:#397b83;--p-line:#d7e1e8;--p-paper:#f5f8fa}.planner-page{min-height:100vh;color:var(--p-ink);background:linear-gradient(#f7fafc,#fff 38%);font-family:Arial,Helvetica,sans-serif}.planner-header{border-bottom:1px solid var(--p-line);z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;justify-content:space-between;align-items:center;height:68px;padding:0 clamp(20px,5vw,74px);display:flex;position:sticky;top:0}.planner-header a{color:var(--p-navy);align-items:center;gap:7px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.planner-header span{color:#687b8d;font-size:12px}.planner-hero{padding:64px clamp(20px,7vw,105px) 42px}.planner-hero>p,.saved-head span,.calendar-head span{color:var(--p-teal);letter-spacing:.16em;margin:0 0 13px;font-size:11px;font-weight:800}.planner-hero h1{letter-spacing:-.045em;max-width:760px;margin:0;font-family:Georgia,serif;font-size:clamp(40px,6vw,68px);font-weight:500;line-height:1.02}.planner-hero>div{color:#5d7082;max-width:650px;margin-top:20px;font-size:17px;line-height:1.6}.planner-grid{grid-template-columns:minmax(300px,.78fr) minmax(520px,1.22fr);gap:18px;padding:0 clamp(20px,7vw,105px);display:grid}.planner-card,.calendar-card,.saved-section{border:1px solid var(--p-line);background:#fff;border-radius:14px;box-shadow:0 14px 38px #10243c0a}.planner-card{padding:22px}.card-title{border-bottom:1px solid #e2e8ed;align-items:center;gap:12px;padding-bottom:18px;display:flex}.card-title>svg{width:38px;height:38px;color:var(--p-teal);background:#e6f0ef;border-radius:9px;padding:9px}.card-title span{color:#789;letter-spacing:.1em;margin-bottom:3px;font-size:10px;font-weight:800;display:block}.card-title h2,.calendar-head h2,.saved-head h2{margin:0;font-family:Georgia,serif;font-size:22px;font-weight:500}.fields{grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;display:grid}.fields label{color:#52677a;flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}.fields input,.fields select{width:100%;height:43px;color:var(--p-ink);background:#fff;border:1px solid #ccd7e0;border-radius:8px;outline:none;padding:0 11px;font-size:14px}.fields input:focus,.fields select:focus{border-color:var(--p-teal);box-shadow:0 0 0 3px #397b8318}.joined{grid-template-columns:1fr 76px;display:grid}.joined input{border-radius:8px 0 0 8px}.joined select{background:#eef3f6;border-left:0;border-radius:0 8px 8px 0}.math-results{border:1px solid #d3e0e2;border-radius:10px;grid-template-columns:repeat(3,1fr);margin-top:18px;display:grid;overflow:hidden}.math-results div{background:#f3f8f8;border-right:1px solid #d3e0e2;padding:14px}.math-results div:last-child{border:0}.math-results span,.supply-results span{color:#6c7f8f;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:10px;display:block}.math-results strong{color:#173e49;font-size:15px}.supply-results{background:#dce4ea;border:1px solid #dce4ea;border-radius:10px;grid-template-columns:repeat(5,1fr);gap:1px;margin-top:18px;display:grid;overflow:hidden}.supply-results div{background:#f5f8fa;padding:13px 10px}.supply-results b{color:#1c3b54;font-size:15px}.save-plan{background:var(--p-navy);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;height:44px;margin-top:14px;font-weight:700;display:flex}.save-plan:disabled{opacity:.4;cursor:not-allowed}.phase-title{padding-right:116px;position:relative}.example-plan{color:#315a67;cursor:pointer;background:#f6f9fa;border:1px solid #b8cbd2;border-radius:7px;height:34px;padding:0 11px;font-size:11px;font-weight:800;position:absolute;top:2px;right:0}.phase-list{gap:12px;margin-top:18px;display:grid}.phase-row{background:#f9fbfc;border:1px solid #d8e2e8;border-radius:10px;padding:14px}.phase-row-head{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:12px;display:grid}.phase-row-head>strong{color:#173b55;font-size:14px}.phase-row-head>span{color:#718390;text-align:right;font-size:11px}.phase-row-head>button{color:#7d5c5c;cursor:pointer;background:#eef2f4;border:0;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.phase-fields{grid-template-columns:1.12fr .72fr 1fr;gap:9px;display:grid}.phase-fields label,.notes-field{color:#52677a;flex-direction:column;gap:6px;font-size:11px;font-weight:700;display:flex}.phase-fields input,.phase-fields select,.notes-field input{width:100%;height:39px;color:var(--p-ink);background:#fff;border:1px solid #ccd7e0;border-radius:7px;outline:none;padding:0 9px;font-size:13px}.phase-fields input:focus,.phase-fields select:focus,.notes-field input:focus{border-color:var(--p-teal);box-shadow:0 0 0 3px #397b8318}.phase-fields .joined{grid-template-columns:1fr 67px}.phase-fields .joined input{border-radius:7px 0 0 7px}.phase-fields .joined select{background:#eef3f6;border-left:0;border-radius:0 7px 7px 0}.phase-math{flex-wrap:wrap;gap:7px;margin-top:11px;display:flex}.phase-math span{color:#3f6770;background:#eaf2f2;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:700}.add-phase{color:#315f68;cursor:pointer;background:#f6faf9;border:1px dashed #9bb8bc;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:100%;height:40px;margin-top:12px;font-size:12px;font-weight:800;display:flex}.notes-field{margin-top:14px}.concentration-only div{min-height:66px}.calendar-card,.saved-section{margin:18px clamp(20px,7vw,105px) 0;padding:22px}.calendar-head,.saved-head{border-bottom:1px solid #e1e7ec;justify-content:space-between;align-items:end;gap:22px;padding-bottom:18px;display:flex}.calendar-head p,.saved-head p{color:#697b8c;text-align:right;max-width:420px;margin:0;font-size:12px;line-height:1.5}.date-grid{grid-template-columns:repeat(7,1fr);gap:7px;margin-top:18px;display:grid}.date-event{min-height:82px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#f8fafb;border:1px solid #dce4ea;border-radius:8px;padding:10px;transition:border-color .15s,background .15s,opacity .15s;position:relative}.date-event:hover:not(:disabled){background:#f1f8f7;border-color:#7fa8aa}.date-event:focus-visible{outline-offset:2px;outline:3px solid #397b8330}.date-event:disabled{cursor:default}.date-event span:not(.date-check),.date-event small{color:#788997;text-transform:uppercase;font-size:10px;display:block}.date-event strong{margin:7px 0;font-size:14px;display:block}.date-event.complete{background:#e9f4f2;border-color:#83aaa6}.date-event.complete>span:not(.date-check),.date-event.complete>strong,.date-event.complete>small{opacity:.56;text-decoration:line-through}.date-check{background:var(--p-teal);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:7px;right:7px}.more-dates{color:#6c7e8e;font-size:12px}.saved-section{margin-bottom:18px}.saved-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;display:grid}.saved-grid article{border:1px solid #dbe3e9;border-radius:9px;display:flex;overflow:hidden}.saved-grid article.active{border-color:#6f9da0;box-shadow:0 0 0 2px #397b8314}.saved-main{text-align:left;cursor:pointer;background:#fff;border:0;flex:1;padding:14px}.saved-main strong,.saved-main span{display:block}.saved-main strong{color:#173b55;margin-bottom:7px}.saved-main span{color:#6b7d8d;margin-top:3px;font-size:11px}.saved-main .tracking-count{color:#397b83;margin-top:9px;font-weight:700}.delete{color:#8b5a5a;cursor:pointer;background:#fafbfc;border:0;border-left:1px solid #e1e7ec;width:42px}.saved-empty{color:#748594;text-align:center;border:1px dashed #cbd7df;border-radius:9px;margin-top:18px;padding:28px}.planner-disclaimer{color:#627587;padding:20px clamp(20px,7vw,105px) 46px;font-size:12px;line-height:1.55}.planner-disclaimer strong{color:#294b64}.planner-disclaimer p{margin-left:7px;display:inline}@media (max-width:1050px){.planner-grid{grid-template-columns:1fr}.date-grid{grid-template-columns:repeat(4,1fr)}.saved-grid{grid-template-columns:1fr 1fr}}@media (max-width:620px){.planner-header span{display:none}.planner-hero{padding-top:45px}.planner-grid{padding-inline:14px}.fields,.phase-fields{grid-template-columns:1fr}.phase-title{padding-bottom:58px;padding-right:0}.example-plan{inset:auto auto 13px 0}.math-results{grid-template-columns:1fr}.math-results div{border-bottom:1px solid #d3e0e2;border-right:0}.supply-results{grid-template-columns:1fr 1fr}.calendar-card,.saved-section{margin-inline:14px}.calendar-head,.saved-head{flex-direction:column;align-items:flex-start}.calendar-head p,.saved-head p{text-align:left}.date-grid{grid-template-columns:repeat(2,1fr)}.saved-grid{grid-template-columns:1fr}}
