:root{color:#10233f;background:#f5f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,textarea,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,h3,p{margin-top:0}.app{min-height:100vh;background:#f7f9fb}.top-bar{display:flex;height:54px;align-items:center;justify-content:space-between;padding:0 22px 0 18px;color:#fff;background:#073b45;box-shadow:0 1px 8px #0f172a2e}.brand{display:flex;align-items:center;gap:13px}.brand h1{margin:0;font-size:1.3rem;letter-spacing:0}.backend-status{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700}.backend-status>span{width:8px;height:8px;border-radius:50%;background:#f5be43}.backend-status.online>span{background:#49d38a}.backend-status.unavailable>span{background:#ff7373}.subnav{position:relative;display:flex;height:58px;align-items:stretch;gap:10px;border-bottom:1px solid #d9e1ea;padding:0 20px;background:#fff}.subnav>button{border:0;border-bottom:3px solid transparent;padding:0 17px;color:#52627a;background:transparent;font-weight:700}.subnav>button.active{border-bottom-color:#08717b;color:#073b45}.workflow{display:flex;align-items:center;gap:8px;margin:0 0 0 auto;padding:0;color:#758298;list-style:none;font-size:.76rem}.workflow li{display:flex;align-items:center;gap:7px;white-space:nowrap}.workflow li>span{display:grid;width:22px;height:22px;place-items:center;border:1px solid #cbd5e1;border-radius:50%;background:#fff;font-weight:800}.workflow li.active{color:#07545e;font-weight:800}.workflow li.active>span{border-color:#0b7780;color:#fff;background:#0b7780}.panel{border:1px solid #d9e1ea;border-radius:7px;background:#fff;box-shadow:0 8px 24px #0f172a0a}.input-layout{display:grid;grid-template-columns:minmax(560px,1.35fr) minmax(360px,.65fr);gap:16px;max-width:1440px;margin:0 auto;padding:16px 20px 22px}.course-input-panel,.preference-input-panel{padding:18px}.preference-input-panel{display:flex;min-height:650px;flex-direction:column}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-heading h2,.review-title h2,.detail-heading h2{margin:2px 0 0;font-size:1.2rem}.eyebrow{color:#66758a;font-size:.72rem;font-weight:800;text-transform:uppercase}.field-label{display:block;margin-bottom:7px;font-size:.8rem;font-weight:800}.field-help{margin:7px 0 0;color:#68768a;font-size:.72rem;line-height:1.45}.preference-editor{width:100%;resize:vertical;border:1px solid #cbd6e3;border-radius:6px;padding:12px 14px;color:#142641;outline:none;background:#fbfcfe;line-height:1.45}.preference-editor:focus,.course-name-input:focus,.section-input-row input:focus,.section-input-row select:focus{border-color:#168493;box-shadow:0 0 0 3px #1684931a;outline:none}.preference-editor{min-height:160px;font-size:.92rem}.course-name-input{width:100%;height:44px;border:1px solid #cbd6e3;border-radius:6px;padding:0 13px;color:#142641;background:#fbfcfe}.course-basics{display:grid;grid-template-columns:.75fr 1.25fr;gap:10px}.course-basics .field-label{margin:0}.course-basics .course-name-input{display:block;margin-top:7px;font-weight:400}.section-builder{margin:18px 0 0;border:0;padding:0}.section-builder legend{margin-bottom:9px;padding:0;font-size:.8rem;font-weight:800}.section-column-labels,.section-input-row{display:grid;grid-template-columns:1.2fr .7fr .8fr 1fr 1fr 36px;gap:7px}.section-column-labels{margin-bottom:5px;padding:0 4px;color:#718096;font-size:.65rem;font-weight:700;text-transform:uppercase}.section-input-row{margin-bottom:8px}.section-input-row input,.section-input-row select{width:100%;min-width:0;height:40px;border:1px solid #cbd6e3;border-radius:6px;padding:0 9px;color:#142641;background:#fff}.icon-button{display:grid;width:36px;height:40px;place-items:center;border:0;border-radius:5px;color:#637186;background:transparent}.icon-button:hover:not(:disabled){color:#a41e22;background:#fff1f1}.add-section-button{display:inline-flex;min-height:34px;align-items:center;gap:7px;border:0;padding:0 5px;color:#075762;background:transparent;font-weight:800}.add-course-button{display:inline-flex;width:100%;min-height:44px;align-items:center;justify-content:center;gap:8px;margin-top:12px;border:0;border-radius:6px;color:#fff;background:#075762;font-weight:800;box-shadow:0 8px 18px #0757622e}.add-course-button:hover{background:#064852}.added-courses{margin-top:18px;border-top:1px solid #e4e9ef;padding-top:14px}.added-courses-heading{display:flex;align-items:center;justify-content:space-between}.added-courses-heading h3{margin:0;font-size:.9rem}.added-courses-heading span{display:grid;min-width:24px;height:24px;place-items:center;border-radius:50%;color:#075762;background:#e4f3f1;font-size:.72rem;font-weight:800}.added-courses .course-summary{margin-top:8px;border-top:0;padding-top:0}.added-courses .summary-heading{display:none}.course-remove-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.course-remove-actions button{display:inline-flex;align-items:center;gap:5px;border:0;padding:4px 6px;color:#8b3940;background:transparent;font-size:.68rem;font-weight:700}.course-workspace{display:grid;gap:10px;margin-top:9px}.course-detail-card{overflow:hidden;border:1px solid #dce3eb;border-radius:6px;background:#fcfdfe}.course-detail-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #e5eaf0}.course-detail-header h4{margin:0;font-size:.88rem}.course-detail-header p{margin:2px 0 0;color:#6b788c;font-size:.7rem}.course-card-actions{display:flex;gap:2px}.icon-button.danger:hover{color:#a41e22;background:#fff1f1}.course-group{padding:9px 12px;border-bottom:1px solid #edf0f4}.course-group:last-child{border-bottom:0}.course-group h5{margin:0 0 6px;color:#64748b;font-size:.64rem;text-transform:uppercase}.section-detail-row{display:grid;grid-template-columns:35px 56px minmax(135px,1.2fr) minmax(100px,1fr) 72px auto;gap:8px;align-items:center;min-height:28px;font-size:.68rem}.section-detail-row strong{font-size:.75rem}.status-badge{width:fit-content;border:1px solid #ccd6e2;border-radius:4px;padding:2px 5px;color:#52627a;background:#f6f8fa;text-transform:capitalize}.status-badge.open{border-color:#a8d3af;color:#14723c;background:#edf8ef}.status-badge.closed{border-color:#efaaaa;color:#a6272c;background:#fff1f1}.parent-link{color:#5c35a5;font-weight:700}.course-detail-card.editing{padding:12px}.course-edit-header{display:grid;grid-template-columns:.7fr 1.3fr;gap:10px}.course-edit-header label,.section-edit-card label{display:grid;gap:4px;color:#64748b;font-size:.64rem;font-weight:700}.course-edit-header input,.section-edit-card input,.section-edit-card select{width:100%;min-width:0;height:36px;border:1px solid #cbd6e3;border-radius:5px;padding:0 8px;color:#142641;background:#fff;font-weight:400}.section-editor-list{display:grid;gap:8px;margin-top:10px}.section-edit-card{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0;border:1px solid #e1e7ee;border-radius:6px;padding:10px 44px 10px 10px}.section-edit-card legend{padding:0 4px;color:#18324e;font-size:.68rem;font-weight:800;text-transform:capitalize}.remove-edit-row{position:absolute;top:10px;right:5px}.course-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.save-course-button{display:inline-flex;min-height:34px;align-items:center;gap:7px;border:0;border-radius:6px;padding:0 12px;color:#fff;background:#075762;font-weight:800}.secondary-button,.primary-button,.back-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;font-weight:800}.secondary-button{min-height:34px;border:1px solid #cbd6e3;padding:0 12px;color:#12344a;background:#fff}.primary-button{min-height:44px;border:0;padding:0 17px;color:#fff;background:#075762;box-shadow:0 8px 18px #0757622e}.primary-button:hover:not(:disabled){background:#064852}.primary-button.compact{min-width:210px}.back-button{border:0;padding:0;color:#075762;background:transparent}.error-message{display:flex;align-items:flex-start;gap:8px;margin:10px 0;border:1px solid #f3aaaa;border-radius:6px;padding:9px 11px;color:#a41e22;background:#fff4f4;font-size:.78rem}.error-message svg{flex:0 0 auto}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.course-summary{margin-top:14px;border-top:1px solid #e4e9ef;padding-top:13px}.summary-heading{display:flex;align-items:center;gap:7px;color:#08703b;font-size:.82rem}.summary-grid{display:grid;gap:7px;margin-top:9px}.course-summary-row{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:20px;border:1px solid #e0e6ed;border-radius:6px;padding:9px 11px;background:#fcfdfe}.course-summary-row>div:first-child{display:grid;gap:2px;min-width:180px}.course-summary-row strong{font-size:.86rem}.course-summary-row>div:first-child span{overflow:hidden;color:#6b788c;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.group-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.group-tags span,.preference-examples span{border:1px solid #cde0dc;border-radius:4px;padding:4px 7px;color:#285b5d;background:#f1f8f6;font-size:.68rem;font-weight:700}.group-tags span.empty{border-color:#efb46f;color:#9b4d00;background:#fff8ed}.empty-group-note{margin:10px 0 0;color:#9b4d00;font-size:.76rem}.preference-examples{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.preference-spacer{flex:1;min-height:30px}.preference-input-panel .primary-button{width:100%}.review-layout{max-width:1040px;margin:0 auto;padding:20px}.review-layout>.back-button{margin-bottom:14px}.review-card{padding:24px}.review-title{display:flex;align-items:center;gap:13px;border-bottom:1px solid #e1e7ee;padding-bottom:18px}.review-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;color:#075762;background:#ddf2ef}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px 0}.preference-list{border:1px solid #dce3eb;border-radius:6px;padding:15px;background:#fbfcfe}.preference-list h3{margin-bottom:11px;font-size:.92rem}.preference-list ul,.insight-panel ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.preference-list li,.insight-panel li{display:flex;align-items:flex-start;gap:8px;font-size:.8rem;line-height:1.4}.preference-list li svg,.insight-panel li svg{flex:0 0 auto;margin-top:1px;color:#14834a}.preference-list p{margin:0;color:#7b8798;font-size:.8rem}.clarification-box{border:1px solid #efbd65;border-radius:6px;padding:12px 14px;color:#7a4700;background:#fff9eb}.conflict-box{margin-top:12px;border:1px solid #f19b9b;border-radius:6px;padding:12px 14px;color:#8f2525;background:#fff4f4}.conflict-box ul,.empty-state ul{margin:8px 0 0;padding-left:18px}.clarification-box p{margin:5px 0 0;font-size:.8rem}.review-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e1e7ee;padding-top:17px}.results-layout{display:grid;grid-template-columns:330px minmax(720px,1fr);gap:20px;max-width:1500px;margin:0 auto;padding:16px 20px 22px}.results-sidebar{display:grid;align-content:start;gap:10px;border-right:1px solid #d9e1ea;padding-right:16px}.results-heading{margin:8px 0 2px}.results-heading h2{margin-bottom:3px;font-size:1.1rem}.results-heading p{margin:0;color:#66758a;font-size:.78rem}.schedule-card{width:100%;border:1px solid #d9e1ea;border-radius:7px;padding:12px 13px;color:#10233f;text-align:left;background:#fff}.schedule-card.selected{border-color:#168153;box-shadow:0 7px 18px #117e4e17}.schedule-card-heading{display:flex;align-items:center;justify-content:space-between}.schedule-card-heading h3{margin:0;font-size:.98rem}.schedule-card-heading strong{color:#08703b;font-size:1.35rem}.score-label{display:block;margin-top:-3px;color:#7b8798;text-align:right;font-size:.65rem}.schedule-card p{margin:8px 0 0;overflow:hidden;color:#52627a;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.detail-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.large-score{display:flex;align-items:baseline;gap:8px}.large-score span{color:#66758a;font-size:.76rem}.large-score strong{color:#08703b;font-size:1.7rem}.calendar{overflow:hidden;border:1px solid #d9e1ea;border-radius:7px;background:#fff}.calendar-header{display:grid;grid-template-columns:58px repeat(5,1fr);height:36px;border-bottom:1px solid #e1e7ee}.calendar-header strong{display:grid;place-items:center;border-left:1px solid #e1e7ee;font-size:.74rem;font-weight:700}.calendar-content{display:grid;grid-template-columns:58px 1fr;height:480px}.time-axis{display:grid;grid-template-rows:repeat(11,1fr);border-right:1px solid #e1e7ee}.time-axis span{padding:5px 7px 0 0;color:#66758a;text-align:right;font-size:.67rem}.calendar-days{position:relative;display:grid;grid-template-columns:repeat(5,1fr)}.day-column{border-right:1px solid #e1e7ee}.day-column:last-of-type{border-right:0}.time-lines{position:absolute;inset:0;display:grid;grid-template-rows:repeat(11,1fr);pointer-events:none}.time-lines span{border-top:1px dashed #e4e9ef}.calendar-event{position:absolute;top:var(--top);left:calc(var(--day) * 20% + 5px);width:calc(20% - 10px);min-height:34px;height:var(--height);overflow:hidden;border:1px solid currentColor;border-radius:5px;padding:5px 7px;line-height:1.25}.calendar-event strong,.calendar-event span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event strong{font-size:.7rem}.calendar-event span{font-size:.64rem}.calendar-event.violet{color:#642bc2;background:#f2ecff}.calendar-event.green{color:#14723c;background:#eaf7ef}.calendar-event.blue{color:#1262bb;background:#eaf3ff}.calendar-event.orange{color:#bb570d;background:#fff1e6}.calendar-event.rose{color:#af3d61;background:#fff0f4}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.insight-panel,.score-panel{padding:13px}.insight-panel h3,.score-panel h3{margin-bottom:9px;font-size:.86rem}.tradeoffs li svg{color:#c06a18}.tradeoffs p{margin:0;color:#66758a;font-size:.78rem}.score-panel{grid-column:1 / -1}.score-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e5eaf0;padding:8px 0}.score-row:first-of-type{border-top:0}.score-row>div{display:grid;gap:2px}.score-row strong{text-transform:capitalize;font-size:.76rem}.score-row span{color:#6b788c;font-size:.68rem}.score-row small{color:#477078;font-size:.65rem}.score-row b{white-space:nowrap;color:#075762;font-size:.76rem}.empty-state,.empty-detail{display:grid;place-items:center;border:1px dashed #cbd6e3;border-radius:7px;padding:24px;color:#66758a;text-align:center;background:#fff}.empty-state h3{margin:8px 0 4px;font-size:.9rem}.empty-state p,.empty-detail p{margin:0;font-size:.76rem}.empty-detail{min-height:420px}@media(max-width:1100px){.workflow{display:none}.input-layout,.results-layout{grid-template-columns:1fr}.preference-input-panel{min-height:390px}.results-sidebar{grid-template-columns:repeat(3,1fr);border-right:0;padding-right:0}.results-sidebar>.back-button,.results-heading,.empty-state{grid-column:1 / -1}}@media(max-width:720px){.top-bar{padding:0 14px}.backend-status{font-size:0}.subnav{padding:0 8px}.subnav>button{flex:1;padding:0 6px;font-size:.78rem}.input-layout,.review-layout,.results-layout{padding:10px}.course-input-panel,.preference-input-panel,.review-card{padding:14px}.course-basics,.course-edit-header{grid-template-columns:1fr}.section-column-labels{display:none}.section-input-row{grid-template-columns:1fr 72px 1fr 36px;border-bottom:1px solid #e5eaf0;padding-bottom:10px}.section-input-row input[type=time]{grid-column:span 2}.section-input-row .icon-button{grid-column:4;grid-row:1}.section-detail-row{grid-template-columns:35px 56px 1fr;padding:5px 0}.section-detail-row .parent-link{grid-column:1 / -1}.section-edit-card{grid-template-columns:1fr 1fr}.course-summary-row,.review-actions{align-items:stretch;flex-direction:column}.group-tags{justify-content:flex-start}.review-grid,.insight-grid,.results-sidebar{grid-template-columns:1fr}.results-sidebar>*{grid-column:1}.schedule-detail{overflow-x:auto}.calendar,.detail-heading,.insight-grid{min-width:700px}}
