/* Student-first planning flow over the existing semester map. */
.planning-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:15px;padding:19px 20px;background:#f2f7ef;border:1px solid #dce8d4;border-radius:7px}
.eyebrow{display:block;font-size:11px;color:#69835d;letter-spacing:.3px;margin-bottom:6px}.planning-hero h2{font-size:21px;color:#324b32;line-height:1.5}.planning-hero p{font-size:13px;line-height:1.9;color:#687b68;margin-top:6px;max-width:500px}.planning-hero>div:last-child{display:flex;flex-direction:column;gap:8px;min-width:168px}.planning-hero .btn{min-height:42px;font-size:13px}
.proposal-intro{padding:21px 20px;background:#f4f8f0;border-top:1px solid #e2eadb}.proposal-intro h2{font-size:20px;color:#385334}.proposal-intro p{font-size:13px;line-height:1.95;color:#6b7b67;margin-top:7px}.proposal-intro>div{display:flex;gap:8px;margin-top:15px}.proposal-intro .btn{min-height:42px;font-size:13px}
.personal-explanation{padding:20px;border-top:1px solid #e4e9df}.personal-explanation h3{font-size:17px;color:#344c37;margin-bottom:12px}.personal-explanation h4{font-size:13px;color:#65765e;margin:20px 0 10px}.personal-explanation p{font-size:13px;line-height:1.95;color:#65717a}.profile-summary{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 16px}.profile-summary>span{font-size:11px;line-height:1.6;color:#526d4c;background:#edf3e7;border:1px solid #e0e8d7;padding:4px 8px;border-radius:4px}.profile-summary>p{width:100%;font-size:12px;line-height:1.85;color:#71816b;margin:2px 0}
.personal-course-reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}.personal-course-reasons>details{border:1px solid #e1e7dc;background:#fbfcf9;border-radius:5px;padding:11px 13px}.personal-course-reasons summary{font-size:13px;color:#4c6347;cursor:pointer;line-height:1.8}.personal-course-reasons p{font-size:12px;margin-top:9px}.condition-line{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;background:#fff9ed;border:1px solid #f0e6d1;border-radius:5px;margin:7px 0!important}.condition-line>.icon{width:15px;height:15px;flex-shrink:0;margin-top:4px;color:#a27e3a}.preparation-note{background:#eef5fb;border:1px solid #dfe8f2;border-radius:5px;padding:13px;margin:15px 0}.preparation-note>strong{font-size:13px;color:#516e89}.preparation-note p{font-size:12px;margin-top:6px}
.personal-alternatives{border-top:1px solid #e4e9dd;margin-top:17px;padding-top:13px}.personal-alternatives>summary{font-size:13px;color:#5c7453;cursor:pointer;min-height:34px}.personal-alternatives>div{margin-top:10px;padding:13px;background:#f8faf5;border:1px solid #e5eadf;border-radius:5px}.personal-alternatives strong{font-size:14px;color:#455e3c}.personal-alternatives p{font-size:12px}.personal-alternatives .text-btn{font-size:12px;min-height:32px}
.fit-note{padding:13px 15px;margin:12px 0;background:#f0f6ff;border:1px solid #d8e6f8;border-radius:5px}.fit-note>strong{font-size:14px;color:#416a99}.fit-note>p{font-size:13px;color:#6c85a2;line-height:1.95;margin-top:7px}
.personal-adjust{padding:17px 20px;border-top:1px solid #e4e8df;background:#fafbf8;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.personal-adjust>div{flex:1;min-width:180px}.personal-adjust strong{font-size:14px;color:#4b6144}.personal-adjust p{font-size:12px;line-height:1.8;color:#7c8677}.personal-adjust .btn{font-size:12px;min-height:40px}.blocked-plan{padding:30px 24px;background:#fff9ef}.blocked-plan h2{font-size:22px;color:#82673a}.blocked-plan p{font-size:14px;line-height:2;color:#8d7957;margin:15px 0}.blocked-plan>div{display:flex;gap:9px;margin-top:18px;flex-wrap:wrap}
dialog.personal-intake{width:750px;max-width:calc(100vw - 30px);height:min(820px,91dvh);max-height:91dvh;border:1px solid #dce3d4;border-radius:10px;padding:0;overflow:hidden;box-shadow:0 24px 70px #17271a2b}
dialog.personal-intake[open]{display:flex;flex-direction:column}.personal-intake .dialog-header{padding:19px 23px 15px;border-bottom:0;flex-shrink:0}.personal-intake .dialog-header h2{font-size:23px;color:#334d30;margin-top:3px}.personal-intake .close-btn{width:40px;height:40px;align-self:flex-start;background:#f2f5ee;border-radius:5px}
.intake-steps{display:flex;gap:22px;border-bottom:1px solid #e3e8db;padding:0 23px;flex-shrink:0}.intake-steps>span{font-size:12px;color:#91a08a;padding:7px 0 12px}.intake-steps>span.active{color:#496c3d;border-bottom:2px solid #7a9c5a;font-weight:600}.intake-scroll{min-height:0;overflow-y:auto;padding:18px 24px 20px;scrollbar-width:thin}.intake-lead{font-size:13px;line-height:1.9;color:#77846f;margin-bottom:19px}.intake-scroll .field{margin-bottom:20px}.intake-scroll .field-label,.intake-scroll .field>label{font-size:14px;color:#4e6046;line-height:1.8;margin-bottom:9px;display:block}.intake-radio{display:flex;align-items:center;gap:10px;font-size:13px;min-height:43px;padding:9px 12px;border:1px solid #e0e6d9;border-radius:5px;margin:7px 0;color:#63725a;background:#fff;cursor:pointer}.intake-radio.chosen{border-color:#a8c392;background:#f3f8ed;color:#405f34}.intake-radio input{accent-color:#6d9150;width:15px;height:15px}.intake-scroll .select,.intake-scroll .textarea{font-size:14px;min-height:43px;border-color:#d9e2d2;background:#fff;border-radius:5px}.intake-scroll .textarea{width:100%;min-height:86px}.intake-scroll .help{font-size:11px;line-height:1.9;color:#85917e}.personal-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.more-preferences{border:1px solid #e0e6d9;background:#fafcf7;padding:12px 14px;border-radius:5px;margin-bottom:19px}.more-preferences>summary{font-size:13px;min-height:30px;color:#647d57;cursor:pointer}.more-preferences .field{margin-top:11px}.more-preferences .field:last-child{margin-bottom:3px}.passed-courses{padding:12px;background:#f8faf4;border:1px solid #e0e6d9;border-radius:5px;margin:0 0 19px}.passed-courses p{font-size:12px;line-height:1.8;color:#7e8b73}.passed-courses label{display:flex;align-items:center;gap:9px;font-size:13px;min-height:40px;color:#5d7051}.passed-courses input{accent-color:#6d9150}
.preference-candidates{border:1px solid #d8e5ce;border-left:3px solid #8dac72;background:#f4f9ed;padding:13px;border-radius:5px;margin-bottom:18px}.preference-candidates strong{font-size:13px;color:#4e6f3e}.preference-candidates p{font-size:12px;color:#6e835d;margin:7px 0}.preference-candidates .btn{font-size:12px;min-height:38px}.preference-candidates .text-btn{font-size:11px;min-height:34px;margin-left:8px}.adopted-note{font-size:12px;color:#5b7c45;margin:12px 0}.intake-error{font-size:13px;line-height:1.8;color:#a66142;background:#fff2e8;border:1px solid #efdac7;border-radius:5px;padding:11px;margin:12px 0}.intake-footer{padding:13px 23px;border-top:1px solid #e1e7d9;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-shrink:0;background:#fff}.intake-footer>span{font-size:11px;line-height:1.8;color:#839078}.intake-footer>div{display:flex;gap:8px}.intake-footer .btn{font-size:13px;min-height:44px;padding:9px 14px}
@media(max-width:1100px) and (min-width:801px){.planning-hero{padding:16px;gap:15px;align-items:flex-start}.planning-hero h2{font-size:18px}.planning-hero>div:last-child{min-width:140px}.planning-hero p{font-size:12px}.personal-course-reasons{grid-template-columns:1fr}}
@media(max-width:800px){.planning-hero{margin:11px;padding:16px;display:block}.planning-hero h2{font-size:20px}.planning-hero p{font-size:12px;line-height:1.9}.planning-hero>div:last-child{margin-top:13px;flex-direction:row;min-width:0}.planning-hero .btn{flex:1;font-size:12px;padding:9px 7px;min-height:44px}.eyebrow{font-size:10px}.proposal-intro{padding:18px 13px}.proposal-intro h2{font-size:18px}.proposal-intro p{font-size:12px}.proposal-intro>div{gap:7px}.proposal-intro .btn{flex:1;font-size:12px;padding:9px 6px;min-height:44px}.personal-explanation{padding:17px 13px}.personal-explanation h3{font-size:16px}.personal-explanation p{font-size:12px}.personal-course-reasons{grid-template-columns:1fr}.profile-summary>span{font-size:10px}.profile-summary>p{font-size:11px}.personal-adjust{padding:15px 13px}.personal-adjust>div{width:100%;flex-basis:100%}.personal-adjust .btn{font-size:11px;min-height:44px;flex:1;padding:8px 5px}.blocked-plan{padding:23px 16px}.blocked-plan h2{font-size:20px}.blocked-plan p{font-size:13px}.blocked-plan .btn{font-size:12px;min-height:44px}
 dialog.personal-intake{width:calc(100vw - 16px);max-width:none;height:94dvh;max-height:94dvh;border-radius:8px}.personal-intake .dialog-header{padding:14px 15px 11px}.personal-intake .dialog-header h2{font-size:20px}.personal-intake .close-btn{width:44px;height:44px}.intake-steps{padding:0 16px;gap:22px}.intake-steps>span{font-size:11px;padding-bottom:10px}.intake-scroll{padding:15px 16px}.intake-lead{font-size:12px;line-height:1.9}.intake-scroll .field>label,.intake-scroll .field-label{font-size:13px}.intake-radio{font-size:12px;min-height:44px;padding:10px}.personal-fields{grid-template-columns:1fr;gap:0}.intake-scroll .select,.intake-scroll .textarea{font-size:16px}.intake-scroll .help{font-size:10px}.passed-courses p{font-size:11px}.passed-courses label{font-size:12px}.intake-footer{display:block;padding:10px 14px max(12px,env(safe-area-inset-bottom))}.intake-footer>span{display:block;font-size:10px;margin-bottom:8px}.intake-footer>div{display:flex;gap:8px}.intake-footer .btn{font-size:12px;flex:1;padding:8px 6px;min-height:44px}.intake-footer .btn.primary{flex:1.6}.preference-candidates .text-btn{display:block;margin-left:0;margin-top:7px}.preference-candidates .btn{min-height:44px}
}
@media(max-width:360px){.planning-hero>div:last-child{flex-direction:column}.personal-adjust .btn{flex-basis:100%}.intake-footer .btn{font-size:11px}.intake-scroll{padding:13px}.intake-footer{padding-left:11px;padding-right:11px}}
