:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#243b35;background:#f7f8f5;font-synthesis:none;font-weight:400;font-size:14px;--green: #174d40;--border: #e1e7e1;--muted: #78857e}*{box-sizing:border-box}body{margin:0}html,body,#root{width:100%;max-width:100%;overflow-x:clip}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,input,select,textarea{outline-offset:4px}input,textarea,select,button{color:inherit}a{color:var(--green)}h1,h2,h3,p{margin-top:0}h1{font-size:34px;letter-spacing:-1.1px;line-height:1.2;margin-bottom:12px;font-weight:650}h2{font-size:20px;letter-spacing:-.45px;font-weight:650}h3{font-size:16px;font-weight:600}p{line-height:1.6}.muted{color:var(--muted)}.tiny{font-size:12px}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:1.8px;margin-bottom:16px;color:#7b8c7e}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dbe3db;background:#fff;padding:11px 16px;border-radius:8px;font-size:12px;font-weight:600;min-height:40px;transition:background .15s}.button:hover:not(:disabled){background:#edf3ec}.button.primary{background:var(--green);color:#fff;border-color:var(--green)}.button.primary:hover:not(:disabled){background:#23634e}.button.small{padding:7px 10px;min-height:32px}.full{width:100%}.icon-button{border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;padding:6px;border-radius:6px}.icon-button:hover{background:#edf1eb}.logo{font-weight:750;font-size:28px;letter-spacing:-1.4px;display:flex;align-items:center;gap:9px;color:#173f35}.logo>span:first-child{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:var(--green);color:#e2efd9}.logo .logo-dot{margin-left:-8px;color:#93ae6c}.app-shell{display:flex;min-height:100vh}.sidebar{width:246px;position:fixed;inset:0 auto 0 0;padding:33px 22px 18px;border-right:1px solid var(--border);background:#fff;display:flex;flex-direction:column;z-index:10}.sidebar .logo{margin:0 10px 52px}.workspace-label{font-size:9px;letter-spacing:1.3px;font-weight:700;color:#9aa59d;margin:0 10px 16px}.nav-item{border:0;background:transparent;display:flex;align-items:center;width:100%;gap:12px;text-align:left;padding:14px 12px;margin-bottom:6px;border-radius:8px;font-size:12px;color:#6c7c72}.nav-item.active{background:#edf3e9;color:#214f3d;font-weight:650}.nav-item:hover{background:#f2f5ef}.nav-item small{margin-left:auto;background:#fff;padding:2px 6px;border-radius:5px;color:#587045}.sidebar-bottom{margin-top:auto}.semester-note{background:#f7f9f3;margin:24px 0;padding:18px 14px;border:1px solid #e7edde;border-radius:10px;font-size:10px;color:#456d3d;font-weight:600}.semester-note p{font-size:12px;font-weight:400;color:#84927c;margin:10px 0 0}.small-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#86a55d;margin-right:7px;flex-shrink:0}.user-card{border:0;background:none;display:flex;align-items:center;gap:10px;width:100%;text-align:left;border-top:1px solid var(--border);padding:19px 0 0}.user-card>span:nth-child(2){min-width:0;flex:1}.user-card strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card small{display:block;font-size:10px;color:#8c9990;margin-top:5px}.avatar{width:36px;height:36px;background:#e9eddf;display:grid;place-items:center;border-radius:50%;flex-shrink:0;color:#4b663e;font-weight:600}.avatar.large{width:64px;height:64px;font-size:24px}.main-shell{margin-left:246px;flex:1;min-width:0}.topbar{height:78px;border-bottom:1px solid var(--border);background:#fff;padding:0 40px;display:flex;align-items:center;justify-content:space-between}.language-switch{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:8px;background:#f4f6f2;margin-left:12px}.language-switch button{border:0;border-radius:5px;padding:6px 9px;background:transparent;color:#758379;font-size:10px;font-weight:650}.language-switch button.active{background:#fff;color:var(--green);box-shadow:0 1px 4px #183c2d14}.login-story{position:relative}.login-story>.language-switch{position:absolute;top:42px;right:10%;border-color:#ffffff26;background:#ffffff12}.login-story>.language-switch button{color:#bdd0c0}.login-story>.language-switch button.active{background:#fff;color:#174d40}.breadcrumb{display:flex;align-items:center;gap:14px;font-size:11px;color:#9aa69e}.breadcrumb strong{color:#58695f;font-weight:500}.mobile-page-title{display:none}.logout{display:flex;gap:8px;align-items:center;background:none;border:0;color:#7e8c82;font-size:11px}.profile-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--border);margin-top:30px;padding-top:24px}.profile-actions strong{display:block;font-size:12px;margin-bottom:5px}.profile-actions p{margin:0;font-size:11px}.logout-button{color:#8b5145;flex-shrink:0}main{padding:38px 40px 20px;max-width:1550px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading p{margin:0;font-size:12px}.term-selector{display:flex;align-items:center;gap:9px;border:1px solid var(--border);background:#fff;padding:10px 12px;border-radius:8px;color:#53705f}.term-selector select{max-width:290px;border:0;background:none;font-size:11px;padding:4px}.semester-banner{background:#164b3f;color:#fff;border-radius:13px;padding:28px 34px;display:flex;justify-content:space-between;overflow:hidden;margin-bottom:30px;min-height:216px;position:relative}.semester-banner h2{font-size:27px;line-height:1.25;font-weight:500;letter-spacing:-.5px;margin:16px 0 14px}.semester-banner p{color:#bdd0bd;font-size:11px;margin:0}.badge{display:inline-flex;padding:6px 8px;border-radius:5px;font-size:9px;letter-spacing:1px;font-weight:650;background:#edf2e6;color:#5a7544}.badge.light{background:#396654;color:#e1edbd;font-size:8px;letter-spacing:1.4px}.banner-art{width:220px;position:relative;display:grid;place-items:center;color:#c7d9a6}.banner-art>svg{z-index:1;transform:rotate(-12deg)}.art-circle{position:absolute;border:1px solid #547966;border-radius:50%;width:185px;height:185px;right:0}.art-circle:after{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px solid #547966;border-radius:50%}.art-star{position:absolute;right:5px;top:7px;font-size:46px;color:#c4d6a0}.content-with-summary{display:grid;grid-template-columns:minmax(0,1fr) 249px;gap:26px;align-items:start}.catalog-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:25px}.search{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px 13px;flex:1;color:#8d9c90;min-width:0}.search input{border:0;background:none;width:100%;min-width:0;font-size:11px}.search input:focus{outline:none}.search:focus-within{outline:2px solid #a8bfa5}.availability{display:flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap;color:#7c8d7f}input[type=checkbox]{accent-color:var(--green)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-title h2,.section-title h3{margin:0}.section-title h2{font-size:17px}.count{font-size:10px;background:#eaf0e5;border-radius:5px;color:#648456;padding:4px 7px;margin-left:5px;vertical-align:middle}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.course-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:11px;padding:21px;min-width:0}.course-card.is-selected{border-color:#b6cda7}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.course-code{display:inline-block;font-size:9px;letter-spacing:.7px;color:#6d8564;background:#f0f4ec;border-radius:4px;padding:5px 7px}.credits{font-size:10px;color:#73866c}.course-card h3{line-height:1.4;margin-bottom:10px;font-size:16px;overflow-wrap:anywhere}.professor{display:flex;align-items:center;gap:6px;color:#7d8d80;font-size:10px}.course-description{color:#88948c;font-size:11px;margin:16px 0;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;max-height:130px;overflow:auto}.meeting-details{margin-top:auto;padding:13px 0;border-top:1px solid #f0f2ec;color:#75866f;font-size:10px}.meeting-details>div{display:flex;gap:7px;align-items:center;margin:3px 0}.capacity{display:flex;justify-content:space-between;font-size:9px;color:#8b988e;margin-top:6px}.capacity-track{height:4px;border-radius:8px;background:#edf1e9;margin:9px 0 17px;overflow:hidden}.capacity-track span{display:block;height:100%;background:#a3b890;border-radius:8px}.course-card .button{font-size:11px;min-height:36px;padding:9px}.selected-button{background:#edf4e8;border-color:#dce8d5;color:#547746}.plan-summary{background:#fff;border:1px solid var(--border);border-radius:11px;padding:24px 20px;position:sticky;top:24px}.summary-icon{width:41px;height:41px;background:#f0f4e9;display:grid;place-items:center;color:#6d8853;border-radius:10px;margin-bottom:19px}.plan-summary h2{font-size:17px;margin-bottom:8px}.plan-summary>p{font-size:11px}.summary-stats{display:flex;gap:23px;padding:20px 0;border-top:1px solid #edf0e9;border-bottom:1px solid #edf0e9;margin:20px 0}.summary-stats strong{display:block;font-size:29px;font-weight:550}.summary-stats span{font-size:9px;color:#8a998b}.plan-status{display:flex;gap:6px;align-items:center;font-size:10px;color:#738861;margin-bottom:11px}.plan-status.closed{color:var(--green)}.plan-summary .button{margin-top:8px}.summary-footer{display:flex;gap:9px;border-top:1px solid var(--border);padding-top:18px;margin-top:24px;color:#899680;font-size:9px;line-height:1.8}.summary-footer strong{font-weight:400;color:#697d60}.page-footer{display:flex;justify-content:space-between;font-size:9px;color:#a0aaa1;border-top:1px solid var(--border);margin-top:40px;padding-top:20px}.empty{padding:44px 24px;text-align:center;border:1px dashed #dbe3d7;border-radius:10px;color:#82917f;margin:18px 0}.empty h3{margin:15px 0 7px;color:#566f50}.empty p{font-size:12px;margin:0}.notice{display:flex;align-items:center;gap:9px;justify-content:space-between;padding:14px 16px;border:1px solid #d9e5d0;border-radius:8px;background:#f0f5e9;margin-bottom:20px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.notice.error{background:#fff1ed;color:#9a4937;border-color:#f0d8cf}.notice.success{background:#eaf4e8;color:#356443}.notice.success .icon-button{margin-left:auto}.loading-bar{font-size:11px;color:#74925c;margin-bottom:15px}.loading-screen{height:100vh;display:grid;align-content:center;justify-items:center;gap:20px;color:var(--green)}.schedule-header{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:25px;margin-bottom:25px}.schedule-header h2{margin:13px 0 8px}.schedule-header p{font-size:12px;margin:0}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));overflow:auto;border:1px solid var(--border);border-radius:10px;background:#fff;min-height:230px}.day-column{padding:13px 10px;border-right:1px solid var(--border)}.day-column:last-child{border:0}.day-column h3{font-size:11px;color:#6c8065;padding:5px 0 13px}.free-day{font-size:10px;color:#b1baad}.class-event{background:#edf3e6;border-left:3px solid #a2b581;border-radius:5px;padding:10px 8px;margin-bottom:10px}.class-event time,.class-event span{display:block;font-size:9px;color:#7c8d69}.class-event strong{display:block;font-size:11px;line-height:1.5;margin:7px 0;overflow-wrap:anywhere}.list-heading{margin-top:30px}.selected-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.management-list{display:grid;gap:12px}.management-list article{background:#fff;border:1px solid var(--border);border-radius:10px;padding:19px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.management-list h3{margin:8px 0 4px}.management-list p{margin:0;font-size:11px}.action-group{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.action-group select{padding:10px;border:1px solid var(--border);border-radius:7px;background:#fff;font-size:12px}.spaced{margin-top:35px}.user-search{display:flex;gap:12px;margin-bottom:20px;max-width:650px}.profile-panel{max-width:600px;background:#fff;padding:30px;border:1px solid var(--border);border-radius:12px}.profile-intro{display:flex;gap:20px;align-items:center;margin-bottom:28px}.profile-intro h2{margin-bottom:10px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;flex:1;min-width:0}.field>span{font-size:11px;font-weight:600;color:#70816a}.field input,.field textarea,.field select{width:100%;border:1px solid #dce4d7;border-radius:7px;background:#fff;padding:11px 12px;min-width:0}.field input:disabled,.field select:disabled{background:#f4f6f1;color:#87977d}.field textarea{resize:vertical}.form-row{display:flex;gap:15px}.check{display:flex;align-items:center;gap:8px;font-size:12px;margin:10px 0 24px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10261d88;z-index:50;display:flex;justify-content:center;align-items:center;padding:24px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:#fff;border-radius:14px;width:680px;max-width:100%;max-height:90vh;overflow:auto;padding:26px;box-shadow:0 25px 90px #12251b33}.modal>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal>header h2{margin:0}.modal form>p{font-size:12px}.meeting-form{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 30px;gap:9px;align-items:center}.meeting-form .field{margin-bottom:14px}.meeting-form input,.meeting-form select{padding:8px 5px;font-size:11px}.roster>div{padding:15px 0;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--border)}.roster span{font-size:12px;color:#7c8b75}.roster small{color:#8da078}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{padding:42px 10%;background:#164b3f;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:650px}.login-story .logo{color:#fff}.login-story .logo>span:first-child{background:#46735d}.login-story .eyebrow{color:#a6c394}.login-story h1{font-size:clamp(45px,5vw,78px);font-weight:450;line-height:1.12;letter-spacing:-3px;margin-bottom:26px}.login-story h1 em{font-family:Georgia,serif;font-weight:400;color:#c8dba3}.login-story p{color:#c0d1b5;font-size:14px}.login-footer{font-size:10px;color:#98b69d}.login-action{display:grid;place-items:center;padding:30px}.login-card{max-width:370px;width:100%}.round-icon{width:62px;height:62px;border-radius:18px;background:#e6eedc;color:#638347;display:grid;place-items:center;margin-bottom:28px}.login-card h2{font-size:27px}.login-card .muted{font-size:13px;margin-bottom:30px}.google{width:100%;padding:15px 20px;justify-content:space-between}.google-letter{font-size:20px;font-weight:750;color:#507bba}.login-note{display:flex;gap:8px;align-items:center;color:#9aa58e;font-size:10px;margin-top:22px}@media(min-width:1500px){.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1150px){.sidebar{width:215px;padding:28px 14px}.main-shell{margin-left:215px}main{padding:30px 24px}.topbar{padding:0 24px}.content-with-summary{grid-template-columns:minmax(0,1fr) 220px;gap:18px}.course-card{padding:16px}.page-heading{align-items:flex-start}.term-selector{max-width:240px}.term-selector select{max-width:195px}.page-heading h1{font-size:29px}.selected-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:950px){.content-with-summary{grid-template-columns:1fr}.plan-summary{position:static;display:none}.page-heading{flex-direction:column}.semester-banner{min-height:200px}.sidebar{width:195px}.main-shell{margin-left:195px}.nav-item{font-size:11px;gap:8px}.workspace-label{font-size:8px}.management-list article{align-items:flex-start;flex-direction:column}.schedule-header{flex-direction:column;align-items:flex-start}}@media(max-width:700px){.sidebar{position:static;width:100%;padding:16px 18px;border-right:0;border-bottom:1px solid var(--border);z-index:30}.sidebar .logo{margin:0 0 15px;font-size:24px}.sidebar nav{position:fixed;inset:auto 0 0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:2px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fffffff2;box-shadow:0 -8px 24px #173f350d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:40}.nav-item{min-width:0;width:100%;margin:0;padding:7px 3px;min-height:50px;flex-direction:column;justify-content:center;gap:4px;font-size:9px;line-height:1.15;text-align:center}.nav-item span{overflow:hidden;text-overflow:ellipsis;width:100%}.nav-item small,.sidebar-bottom,.workspace-label{display:none}.app-shell{display:block}.main-shell{margin:0}.topbar{height:52px;padding:0 18px}.breadcrumb{display:none}.mobile-page-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}main{padding:25px 18px calc(88px + env(safe-area-inset-bottom))}.page-heading{gap:18px;margin-bottom:22px}.page-heading h1{font-size:28px}.semester-banner{padding:24px;min-height:195px}.semester-banner h2{font-size:24px}.banner-art{width:95px;opacity:.4}.banner-art svg{width:75px}.art-circle{right:-90px}.art-star{right:-15px}.semester-banner>div:first-child{z-index:1}.semester-banner p{font-size:10px}.course-grid,.selected-grid{grid-template-columns:1fr}.course-card{padding:22px}.catalog-toolbar{gap:9px}.availability{font-size:10px}.section-title .tiny{display:none}.notice{align-items:flex-start}.profile-panel{padding:22px}.modal-backdrop{padding:12px}.modal{padding:22px;max-height:94vh}.meeting-form{grid-template-columns:1fr 1fr}.form-row{flex-direction:column;gap:0}.login{grid-template-columns:1fr}.login-story{min-height:300px;padding:26px}.login-story>div:not(.logo):not(.language-switch){margin-top:35px}.login-story h1{font-size:40px;letter-spacing:-1px}.login-story h1 br,.login-story p,.login-footer{display:none}.login-action{padding:40px 26px}.login-card h2{font-size:24px}}@media(max-width:380px){.catalog-toolbar{align-items:stretch;flex-direction:column}.availability{min-height:36px}.term-selector{width:100%;min-width:0}.term-selector select{min-width:0;width:100%}.profile-actions{align-items:flex-start;flex-direction:column}.logout-button{width:100%}}.field-label{font-size:11px;font-weight:600;color:#70816a}
