@import"https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap";:root{font-family:Noto Sans TC,-apple-system,BlinkMacSystemFont,PingFang TC,Microsoft JhengHei,sans-serif;color:#233c36;background:#f5f7f5;font-synthesis:none;font-size:14px;--green:#195c4e;--green-dark:#124a3e;--muted:#7a8984;--line:#e6ece7;--radius:15px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a6c6b4;outline-offset:3px}button{border:0;background:none;color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:31px;line-height:1.4;font-weight:700;letter-spacing:-.7px;margin-bottom:10px}h2{font-size:18px;line-height:1.5;margin-bottom:18px}h3{font-size:15px;line-height:1.5}p{line-height:1.9}small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;color:#7e9186;display:block;margin-bottom:12px}.button,button.secondary,.google-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:8px;font-weight:500;padding:11px 18px;min-height:42px;background:var(--green);color:#fff;transition:background .15s}.button:hover{background:var(--green-dark)}.button.secondary,button.secondary{background:#fff;color:#496459;border:1px solid #dce5df;font-size:12px;padding:9px 13px;min-height:36px}.button.secondary:hover,button.secondary:hover{background:#eff4f0}.button.light{background:#fff;color:var(--green);font-size:12px;min-height:39px}.text-link{color:var(--green);font-size:12px;font-weight:600}.text-link:hover{text-decoration:underline}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.brand{display:flex;gap:12px;align-items:center;font-size:20px;font-weight:700;line-height:1.3}.brand small{display:block;letter-spacing:2px;font-size:8px;margin-top:5px;font-weight:500;color:#819588}.brand-icon{display:flex;align-items:center;justify-content:center;width:42px;height:44px;border-radius:12px;background:var(--green);color:#fff;flex-shrink:0}.app-layout{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:31px 22px 0;z-index:5}.sidebar .brand{font-size:18px}.school-year{font-size:11px;letter-spacing:.8px;color:#8c9990;margin:24px 0 35px 2px}.nav-label{font-size:10px;letter-spacing:1.7px;color:#93a198;display:block;margin:0 13px 12px}.admin-label{margin-top:32px}nav{display:flex;flex-direction:column;gap:7px}nav a{padding:13px 14px;border-radius:8px;display:flex;gap:13px;align-items:center;font-size:13px;color:#73827b}nav a.active{background:#eaf2ed;color:var(--green);font-weight:600}nav a:hover{background:#f2f6f2}.sidebar-bottom{margin-top:auto}.profile{border-top:1px solid var(--line);padding:23px 0;display:flex;gap:11px;align-items:center}.avatar{width:35px;height:35px;background:#eaf0e7;color:#527257;display:grid;place-items:center;border-radius:50%;font-size:14px}.profile strong{font-size:12px}.profile small{display:block;color:#87928d;font-size:10px;margin-top:4px}.icon-button{display:grid;place-items:center;padding:7px;border-radius:5px}.profile .icon-button{margin-left:auto;color:#8a978e}.local-indicator{font-size:10px;color:#879588;margin:15px 4px;display:flex;align-items:center;gap:7px}.local-indicator span,.status-dot{width:6px;height:6px;border-radius:50%;background:#8eab8a;display:inline-block}.workspace{margin-left:236px;flex:1;min-width:0}.topbar{height:73px;background:#ffffffb3;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:11px;color:#a0aaa4}.breadcrumb{color:#5e7266;margin-left:14px}.topbar-right{display:flex;align-items:center;gap:8px;color:#819086}main{padding:37px 42px 48px;max-width:1530px;margin:auto;min-height:calc(100vh - 134px)}footer{font-size:10px;color:#98a39b;padding:20px 42px;display:flex;justify-content:space-between;border-top:1px solid var(--line)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading p{font-size:12px;margin-bottom:0}.date-label{font-size:11px;color:#839186}.greeting-dot{color:#aaa77f}.welcome-banner{display:flex;justify-content:space-between;overflow:hidden;background:#1e5b4e;border-radius:var(--radius);padding:29px 34px;color:#fff;min-height:224px;position:relative}.banner-label{display:inline-block;font-size:10px;letter-spacing:1px;color:#c5d5c6;border:1px solid #527b65;border-radius:4px;padding:4px 9px;margin-bottom:15px}.welcome-banner h2{font-size:26px;letter-spacing:1px;margin-bottom:10px}.welcome-banner p{font-size:11px;color:#b6ccc0;margin-bottom:21px}.banner-art{width:220px;position:relative;display:grid;place-items:center;margin-right:30px}.art-circle{width:158px;height:158px;border:1px solid #678b6d;border-radius:50%;display:grid;place-items:center;color:#d0d8ac;background:radial-gradient(circle at center,#6a90623d,transparent)}.art-circle:after{content:"";width:204px;height:204px;border:1px solid #4f765d;border-radius:50%;position:absolute;transform:rotate(-24deg) scaleX(1.2)}.spark{position:absolute;color:#d0d8ac;font-size:20px}.s1{top:16px;left:12px}.s2{bottom:18px;right:0;font-size:36px}.s3{right:25px;top:7px;font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:24px 0 33px}.stat-card{padding:21px 23px;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;gap:16px;align-items:center;position:relative}.stat-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:11px}.green{background:#eaf3eb;color:#4e805a}.amber{background:#faf2e2;color:#b58a3c}.blue{background:#eaf0f6;color:#7490aa}.red{background:#faeae8;color:#b66460}.stat-card .muted{font-size:11px}.stat-card strong{display:block;font-size:25px;line-height:1.4;margin-top:2px;font-weight:600}.stat-note{position:absolute;right:15px;bottom:20px;color:#a1aca5;font-size:9px}.dashboard-columns{display:grid;grid-template-columns:1fr 1.2fr;gap:25px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:19px}.section-heading h2,.section-heading h3{margin:0}.section-heading>.muted{font-size:10px}.module-card{display:block;background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px 23px;transition:transform .2s,box-shadow .2s}.module-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #183f3110}.module-card-top{display:flex;align-items:center;justify-content:space-between}.module-icon{width:49px;height:49px;border-radius:12px;background:#edf3ea;color:#6c8756;display:grid;place-items:center}.module-card h3{font-size:18px;margin:19px 0 8px}.module-card p{color:#8b978e;font-size:11px}.module-card-footer{border-top:1px solid var(--line);margin-top:21px;padding-top:16px;display:flex;justify-content:space-between;align-items:center;color:#728577;font-size:10px}.pill{font-size:10px;padding:5px 9px;border-radius:5px;display:inline-block;white-space:nowrap;line-height:1.4}.pill.large{font-size:12px;padding:9px 13px;white-space:normal}.future-note{display:flex;gap:10px;align-items:center;margin:18px 3px;color:#a1ada2}.future-note p{font-size:10px;margin:0}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:23px}.recent-card{align-self:start}.recent-item{display:flex;align-items:center;gap:12px;border-top:1px solid #f0f3ef;padding:19px 0}.recent-item>div{flex:1;min-width:0}.recent-item strong{display:block;font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.recent-item small{display:block;color:#9aa49c;font-size:10px;margin-top:7px}.small-award{width:36px;height:38px;background:#f7f5ec;color:#b4a468;display:grid;place-items:center;border-radius:7px}.empty{padding:55px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;color:#99a69c;gap:14px}.empty strong{font-size:13px;color:#6f8476;font-weight:500}.empty p{font-size:11px;margin:0}.tabs{display:flex;border-bottom:1px solid #dde6df;margin-bottom:24px;gap:24px}.tabs button{font-size:13px;padding:12px 3px;border-bottom:2px solid transparent;color:#8c9a90}.tabs button.selected{border-bottom-color:var(--green);color:var(--green);font-weight:600}label{display:block;font-size:12px;color:#586e61;font-weight:500}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #dfe7e0;border-radius:7px;background:#fff;padding:10px 11px;font-size:12px;color:#314e3e;margin-top:8px;min-height:40px;line-height:1.5}textarea{resize:vertical}input::placeholder{color:#a6afa8}input:disabled{background:#f4f5f2;color:#929c94}select{max-width:100%;text-overflow:ellipsis}.filters{display:flex;gap:13px;align-items:end;flex-wrap:wrap;margin-bottom:22px}.filters label{min-width:125px;flex:1}.filters .search-field{flex:2;min-width:180px}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 0;border-top:1px solid var(--line);font-size:11px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{background:#f5f8f4;color:#89988b;font-weight:500;font-size:10px;padding:13px 12px;white-space:nowrap}td{padding:17px 12px;border-bottom:1px solid #eff2ee;max-width:330px;overflow-wrap:anywhere}td strong{font-weight:500;display:block}td small{display:block;color:#96a196;margin-top:7px;font-size:10px}.nowrap{white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding-top:19px;color:#9aa59d;font-size:11px}.back-link{font-size:11px;color:#889a8b;display:inline-block;margin-bottom:22px}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px;align-items:start}.form-main{display:flex;flex-direction:column;gap:21px}.form-section{padding:25px}.form-section h2{display:flex;gap:11px;align-items:center}.step{width:24px;height:24px;background:#edf3ed;color:#64846a;display:grid;place-items:center;font-size:11px;border-radius:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 19px;margin:23px 0}.span-2{grid-column:1/-1}em{color:#b1a781;font-style:normal}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px;margin:0;flex-shrink:0}.check-label{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:400;line-height:1.8}.form-aside{background:#f0f4ec;border-color:#e3eadd;padding:25px}.form-aside h3{margin:14px 0}.form-aside p{font-size:11px;color:#889581}.form-aside strong{display:block;font-size:12px;font-weight:500;line-height:2;color:#688165;margin-top:6px}.note-icon{color:#88a074}.form-aside small{color:#96a28e}hr{border:0;border-top:1px solid #dfe6d8;margin:20px 0}.preserve-lines{white-space:pre-wrap}.upload-area{background:#fafcf9;border:1px dashed #c6d5c6;padding:30px;display:flex;flex-direction:column;align-items:center;gap:12px;border-radius:9px;color:#94a68e}.upload-area span{font-size:10px}.upload-area input{max-width:280px;border:0;background:none}.attachment-preview{display:block;max-width:100%;max-height:550px;margin:20px auto 0;object-fit:contain;border-radius:7px}.submit-bar{display:flex;justify-content:flex-end;gap:11px;padding:5px 0}.student-picker{margin-top:24px}.student-list{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:7px;margin-top:12px}.student-option{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid #f2f4ef}.student-option span{font-size:11px;color:#879781}.student-option strong{font-weight:500;font-size:12px}.selected-names{font-size:10px;margin:10px 0 0}.text-danger{color:#b37769;font-size:11px}.dashed{border-style:dashed!important;padding:15px!important}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:0}.detail-grid dt{font-size:11px;color:#95a18f;margin-bottom:10px}.detail-grid dd{font-size:13px;margin:0}.history-item{padding:15px 0;border-top:1px solid var(--line);font-size:12px}.history-item small{display:block;color:#94a18b;font-size:10px;margin:7px 0}.history-item p{margin:0}.history-item details{margin-top:15px;overflow-wrap:anywhere}.settings-form{max-width:900px;display:flex;flex-direction:column;gap:23px}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);gap:20px}.toggle-row strong{font-size:12px}.toggle-row p{font-size:11px;color:#99a18e;margin:6px 0 0}.switch{width:38px;height:23px;position:relative;flex-shrink:0}.switch input{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;cursor:pointer}.switch span{display:block;border-radius:20px;background:#cad2c5;width:100%;height:100%}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;background:#fff;border-radius:50%;transition:transform .2s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translate(15px)}.switch input:focus-visible+span{outline:3px solid #a6c6b4;outline-offset:3px}.role-permissions{display:grid;grid-template-columns:1fr 1fr;gap:20px}.role-permissions>div{background:#f8faf6;padding:20px;border-radius:9px}.role-permissions .check-label{margin:12px 0}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:20px 0}.form-grid small{display:block;color:#9ba590;font-size:10px;margin-top:7px}.import-card{margin-top:24px}.import-card p{font-size:11px}.file-label input{max-width:400px;margin-bottom:20px}.preview-table{max-height:300px;margin-bottom:15px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#12382c66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:30px;display:flex;align-items:center;justify-content:center}.modal{background:#fff;border-radius:16px;padding:28px;width:650px;max-width:100%;max-height:90vh;overflow:auto;box-shadow:0 20px 100px #12382c33}.alert{display:flex;justify-content:space-between;gap:12px;padding:13px 17px;border-radius:8px;font-size:12px;line-height:1.7;margin-bottom:18px;white-space:pre-line}.alert.error{background:#fbedeb;color:#a2594b}.alert.success{background:#e8f2e9;color:#4f7c54}.alert button{font-size:18px}.progress{color:#7f937f;font-size:11px;margin-bottom:15px}.loading-screen{min-height:100vh;display:grid;place-items:center;color:#78907a}.login-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{background:#184d41;color:#fff;padding:45px 65px;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-story .brand-icon{background:#fff;color:var(--green)}.login-story .brand small{color:#afc3b0}.login-copy{margin:auto 0;padding:65px 0 30px}.login-copy .eyebrow{color:#b2c49f;font-size:11px}.login-copy h1{font-size:42px;font-weight:500;line-height:1.65;letter-spacing:1px;margin:22px 0}.login-copy p{font-size:13px;color:#b3c9b6;line-height:2}.login-story>small{font-size:10px;color:#83a28b}.orbit{width:270px;height:230px;margin:35px auto 0;position:relative;display:grid;place-items:center}.orbit:before,.orbit:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid #6a8c6755;border-radius:50%;transform:rotate(-35deg) scaleX(1.5)}.orbit:after{transform:rotate(35deg) scaleX(1.5)}.orbit-core{width:140px;height:140px;background:#446d4d;border-radius:50%;display:grid;place-items:center;color:#d1d6a1}.orbit-note{position:absolute;padding:10px 16px;background:#dbe3cc;border-radius:8px;color:#547257;font-size:10px;z-index:1;box-shadow:0 5px 15px #123d351a}.note-one{left:-60px;top:30px;transform:rotate(-7deg)}.note-two{display:flex;align-items:center;gap:8px;right:-50px;bottom:22px;transform:rotate(5deg)}.login-panel{display:flex;align-items:center;justify-content:center;padding:50px;background:#fbfcf9}.login-box{max-width:370px;width:100%}.login-box h2{font-size:28px;margin:16px 0 15px}.login-box p{font-size:12px}.google-button{background:#fff;color:#425746;border:1px solid #d9e2d6;width:100%;justify-content:space-between;margin-top:30px;padding:13px 16px;font-size:12px}.google-g{font-family:Arial,sans-serif;font-weight:700;font-size:21px;color:#4285f4}.login-security{display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;color:#9aa790;margin:19px 0 35px}.demo-box{background:#edf2e9;border:1px solid #e0e8d9;padding:18px;border-radius:10px}.demo-box strong{font-size:11px;color:#6f8462}.demo-box p{font-size:10px;color:#8b9b7c;margin:10px 0 15px}.help-text{display:block;text-align:center;color:#a5ad9c;font-size:10px;margin-top:32px}.mobile-only{display:none}@media(min-width:1600px){main{padding-top:50px}.welcome-banner{min-height:250px}.banner-art{margin-right:70px}}@media(max-width:1100px){.sidebar{width:205px;padding:25px 15px 0}.workspace{margin-left:205px}main{padding:30px 25px}.topbar{padding:0 25px}.dashboard-columns{grid-template-columns:1fr 1fr}.form-layout{grid-template-columns:1fr}.form-aside{order:-1}.form-aside hr,.form-aside .note-icon{display:none}.form-aside h3{margin-top:0}.form-aside strong br{display:none}.form-aside strong{display:inline}.form-aside p{margin-bottom:8px}.login-story{padding:40px}.login-copy h1{font-size:34px}.banner-art{margin-right:0;width:180px}.stat-card{padding:18px 15px}.stat-note{display:none}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:17px 20px;border-right:0;border-bottom:1px solid var(--line);display:block}.sidebar .brand{font-size:16px}.brand-icon{width:34px;height:36px}.school-year,.nav-label,.sidebar-bottom .local-indicator{display:none}.sidebar nav{display:inline-flex;flex-direction:row;gap:4px;margin-top:15px;margin-right:5px}.sidebar nav a{padding:9px 11px;font-size:11px;gap:6px}.sidebar nav svg{width:16px;height:16px}.sidebar-bottom{position:absolute;right:14px;top:11px}.profile{border:0;padding:7px;gap:6px}.profile .avatar{display:none}.profile strong{font-size:10px}.profile small{font-size:8px}.profile .icon-button{margin-left:3px}.app-layout{display:block}.workspace{margin-left:0}.topbar{height:49px;padding:0 21px;font-size:10px}.topbar-right{font-size:9px}main{padding:26px 19px 35px}.page-heading{align-items:flex-start;gap:10px;margin-bottom:24px;flex-wrap:wrap}h1{font-size:26px}.eyebrow{font-size:9px;margin-bottom:10px}.date-label{display:none}.page-heading p{font-size:11px}.welcome-banner{padding:25px 24px;min-height:210px}.welcome-banner h2{font-size:22px}.welcome-banner p{max-width:200px;font-size:10px}.banner-art{width:100px;position:absolute;right:13px;top:39px;height:150px;opacity:.7}.art-circle{width:82px;height:82px}.art-circle svg{width:56px}.art-circle:after{width:120px;height:120px}.spark.s2{font-size:24px;right:-5px}.stats-grid{gap:8px;margin:17px 0 25px}.stat-card{padding:15px 10px;gap:7px;display:block}.stat-icon{width:30px;height:30px;margin-bottom:8px;border-radius:8px}.stat-icon svg{width:17px}.stat-card strong{font-size:23px}.stat-card .muted{font-size:9px}.dashboard-columns{grid-template-columns:1fr;gap:15px}.module-card,.recent-card{padding:20px}.card{padding:18px;border-radius:12px}.filters{gap:12px}.filters label{min-width:120px;font-size:10px}.filters .search-field{min-width:100%}.table-toolbar{align-items:flex-start;flex-direction:column;gap:14px}.table-toolbar .actions{width:100%;justify-content:flex-end}td{font-size:11px;padding:14px 10px}.table-scroll{margin:0 -4px}.form-grid,.detail-grid{grid-template-columns:1fr;gap:19px}.span-2{grid-column:auto}.form-section h2{font-size:16px}.form-layout{gap:19px}.form-aside{padding:18px}.form-main{gap:17px}.form-grid label{font-size:11px}.role-permissions{grid-template-columns:1fr}.section-heading{flex-wrap:wrap;gap:10px}.section-heading h2{font-size:16px}.modal-backdrop{padding:12px}.modal{padding:20px;max-height:94vh}.modal .form-grid{grid-template-columns:1fr 1fr}.modal .span-2{grid-column:1/-1}.permission-grid{gap:12px}.permission-grid label{font-size:10px}footer{padding:19px;font-size:9px}.login-page{grid-template-columns:1fr}.login-story{padding:27px 30px}.login-story .brand{font-size:17px}.login-copy{padding:30px 0 0}.login-copy h1{font-size:30px;line-height:1.4;margin:15px 0}.login-copy p{font-size:11px;margin-bottom:0}.login-story>small,.orbit{display:none}.login-panel{padding:35px 26px 40px}.login-box{max-width:420px}.login-box h2{font-size:25px}.google-button{margin-top:20px}.login-security{margin-bottom:23px}.demo-box p{font-size:10px}.login-copy .eyebrow{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.modal-shell{border:0;padding:0;background:transparent;color:inherit;width:650px;max-width:calc(100vw - 24px);max-height:94vh;overflow:visible}.modal-shell::backdrop{background:#12382c66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-shell .modal{max-height:90vh}:root{font-size:17px}body{font-weight:500}h1{font-size:36px;font-weight:750}h2{font-size:23px;font-weight:700}h3{font-size:18px;font-weight:650}p{font-size:16px}small{font-size:14px}.muted{font-weight:500;color:#687972}.eyebrow{font-size:14px;font-weight:700}.sidebar .brand{font-size:20px}.brand small{font-size:10px;font-weight:600}.school-year{font-size:13px;font-weight:500}.nav-label{font-size:12px;font-weight:600}nav a{font-size:16px;font-weight:600}.profile strong{font-size:15px}.profile small,.local-indicator{font-size:13px}.topbar{font-size:14px;font-weight:500}footer{font-size:13px}.page-heading p{font-size:16px}.date-label{font-size:14px;font-weight:500}.banner-label{font-size:12px;font-weight:600}.welcome-banner h2{font-size:29px;font-weight:700}.welcome-banner p{font-size:15px;font-weight:500}.button,.button.light,.button.secondary,button.secondary,.google-button{font-size:15px;font-weight:600}.text-link{font-size:15px}.stat-card .muted{font-size:14px}.stat-card strong{font-size:28px;font-weight:700}.stat-note{font-size:11px;font-weight:500}.section-heading>.muted{font-size:14px}.module-card h3{font-size:20px}.module-card p{font-size:16px;font-weight:500}.module-card-footer{font-size:14px;font-weight:500}.pill{font-size:13px;font-weight:600}.pill.large{font-size:14px}.future-note p{font-size:12px}.recent-item strong{font-size:16px}.recent-item small{font-size:14px}.empty strong{font-size:15px}.empty p{font-size:13px}.tabs button{font-size:15px;font-weight:500}label{font-size:15px;font-weight:600}input:not([type=checkbox]),select,textarea{font-size:16px}.table-toolbar{font-size:14px}table{font-size:16px}th{font-size:14px;font-weight:650}td small{font-size:14px}.pagination,.back-link{font-size:14px;font-weight:600}.check-label,.form-aside p,.toggle-row p,.import-card p{font-size:15px}.form-aside small,.form-grid small{font-size:13px}.form-aside strong,.toggle-row strong{font-size:16px}.student-option span{font-size:13px}.student-option strong{font-size:14px}.selected-names,.text-danger{font-size:12px}.history-item{font-size:14px}.history-item small{font-size:12px}.permission-grid label{font-size:13px}.alert{font-size:15px;font-weight:500}.progress{font-size:13px}.login-copy h1{font-size:46px;font-weight:650}.login-copy p{font-size:15px;font-weight:500}.login-story>small{font-size:12px}.orbit-note{font-size:12px;font-weight:600}.login-box p{font-size:16px}.login-security{font-size:12px;font-weight:500}.demo-box strong{font-size:13px}.demo-box p{font-size:12px}.help-text{font-size:14px}.readonly-field{display:flex;align-items:center;width:100%;min-height:43px;margin-top:8px;padding:10px 12px;border:1px solid #dfe7e0;border-radius:7px;background:#f4f7f3;color:#314e3e;font-size:16px;font-weight:600}.student-name-button{color:var(--green);font-size:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;padding:3px 0}.student-name-button:hover{color:var(--green-dark)}.student-awards-panel{margin-top:20px;padding:20px;border:1px solid #dce7dd;border-radius:10px;background:#f8faf7}.student-awards-panel .section-heading{margin-bottom:12px}.student-awards-panel .section-heading p{margin:3px 0 0;font-size:13px}.student-awards-panel td .pill{margin:8px 6px 0 0}.student-awards-panel tr.possible-duplicate td{background:#fff2ef}.review-panel form{display:flex;align-items:end;gap:18px;flex-wrap:wrap}.review-panel form>label{flex:1;min-width:240px}.review-panel .actions{padding-bottom:1px}@media(max-width:760px){:root{font-size:16px}.sidebar .brand{font-size:18px}.sidebar nav a{font-size:14px;font-weight:600}.profile strong{font-size:13px}.profile small{font-size:11px}.topbar{font-size:13px}.topbar-right{font-size:12px}h1{font-size:31px}.eyebrow{font-size:12px}.page-heading p{font-size:15px}.welcome-banner h2{font-size:25px}.welcome-banner p{font-size:14px}.stat-card .muted{font-size:13px}.stat-card strong{font-size:25px}.filters label{font-size:14px}td{font-size:15px}.form-section h2,.section-heading h2{font-size:18px}.form-grid label{font-size:15px}.permission-grid label{font-size:14px}footer{font-size:12px}.login-copy h1{font-size:33px}.login-copy p{font-size:13px}.demo-box p{font-size:12px}.login-copy .eyebrow{font-size:11px}}:root{--navy: #173b70;--ink: #20334d;--green: #16833e;--green-dark: #116b32;--muted: #56667a;--canvas: #f4f7fc;--sky: #e6f0ff;--mint: #e3f5ea;--yellow: #fff1c9;--line: #dce4ed;--radius: 20px;font-size:18px;color:var(--ink);background:var(--canvas);line-height:1.55}body{font-weight:400}h1,h2,h3{color:var(--navy);font-weight:700;line-height:1.55;letter-spacing:0}h1{font-size:36px}h2{font-size:24px}h3{font-size:20px}p{font-size:18px;line-height:1.55}small{font-size:16px;line-height:1.55}svg{flex-shrink:0}.muted{color:var(--muted);font-weight:400}.eyebrow{font-size:16px;color:var(--muted);font-weight:500;letter-spacing:.5px;margin-bottom:8px}.button,.button.light,.button.secondary,button.secondary,.google-button{font-size:18px;font-weight:700;min-height:52px;padding:12px 24px;border-radius:14px;line-height:1.55;text-align:center}.button.secondary,button.secondary{background:var(--sky);color:var(--navy);border-color:transparent}.button.secondary:hover,button.secondary:hover{background:#d6e6fc}.button.light{color:var(--navy)}.text-link{font-size:18px;color:var(--navy);display:inline-flex;align-items:center;min-height:48px}.icon-button{min-width:48px;min-height:48px}.actions{gap:12px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.skip-link{position:fixed;top:-100px;left:20px;padding:12px 20px;background:#fff;z-index:40}.skip-link:focus{top:12px}.app-layout{display:block}.workspace{margin-left:0}main{max-width:1440px;padding:40px;min-height:calc(100vh - 210px)}main:focus{outline:none}footer{max-width:1440px;margin:auto;padding:24px 40px;font-size:16px;color:var(--muted);gap:20px;flex-wrap:wrap;border:0}.portal-header{background:#fff;border-bottom:1px solid #eaf0f7}.portal-header-inner{max-width:1500px;margin:auto;padding:26px 28px;display:flex;gap:32px;align-items:center;flex-wrap:wrap}.school-brand{display:flex;align-items:center;gap:14px}.school-brand img{width:60px;height:56px;object-fit:contain;flex-shrink:0;background:#fff;border-radius:6px}.school-brand strong{display:block;font-size:22px;color:var(--navy);font-weight:700}.school-brand small{display:block;font-size:16px;color:var(--muted);font-weight:500}.school-brand .brand-mobile-caption{display:none}.portal-nav{flex-direction:row;flex-wrap:wrap;gap:4px}.portal-nav a{color:var(--navy);font-size:18px;font-weight:500;padding:12px 14px;min-height:52px;border-radius:12px}.portal-nav a.active,.mobile-nav a.active{background:var(--sky);color:var(--navy);font-weight:700}.portal-nav a:hover{background:var(--canvas)}.header-account{margin-left:auto;display:flex;align-items:center;gap:12px}.account-trigger{display:flex;align-items:center;gap:12px;padding:4px;text-align:left;min-height:52px;font-size:18px;border-radius:12px}.account-trigger small{display:block;color:var(--muted)}.avatar{width:42px;height:42px;background:var(--mint);color:var(--green-dark);font-size:18px}.header-logout{color:var(--muted);min-height:48px;padding:8px;font-size:16px}.mobile-nav{display:none}.account-email{overflow-wrap:anywhere}.account-dialog nav{margin:20px 0}.account-dialog nav a{font-size:18px;min-height:48px;background:var(--sky);color:var(--navy)}.account-dialog .modal>p:last-of-type{margin-top:24px}.dashboard{display:flex;flex-direction:column;gap:24px}.dashboard-greeting h1{margin:0 0 8px}.dashboard-greeting p{color:var(--muted);margin:0}.portal-hero{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:32px;border-radius:24px}.teacher-hero{background:var(--sky)}.student-hero{background:var(--mint)}.hero-copy{min-width:0}.hero-eyebrow{display:block;color:var(--navy);font-size:16px;font-weight:500;margin-bottom:12px}.portal-hero h2{font-size:30px;margin-bottom:12px}.student-hero h2{font-size:32px}.portal-hero p{margin-bottom:20px;color:var(--muted)}.hero-copy small{display:block;margin-top:14px;color:var(--muted)}.hero-illustration{flex-shrink:0;object-fit:contain;margin:0 24px}.hero-actions .secondary{background:#fff9}.hero-actions .secondary:hover{background:#fff}.mobile-copy{display:none}.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.overview-card{display:flex;flex-direction:column;align-items:flex-start;padding:24px;border-radius:20px;gap:4px}.overview-card span{color:var(--muted);font-size:18px;font-weight:700}.overview-card strong{color:var(--navy);font-size:36px;font-weight:700}.sky{background:var(--sky)}.mint{background:var(--mint)}.yellow{background:var(--yellow)}.white{background:#fff}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.93fr) minmax(320px,1fr);align-items:start;gap:24px}.dashboard-panel{padding:24px;border-radius:20px;background:#fff;min-width:0}.dashboard-panel h2{margin:0 0 20px}.award-preview{display:block;padding:18px 20px;background:var(--canvas);border-radius:16px;margin-bottom:16px;transition:background .15s}.award-preview:hover{background:var(--sky)}.award-preview h3{color:var(--ink);font-size:20px;margin:0 0 6px;overflow-wrap:anywhere}.award-preview p{font-size:16px;color:var(--muted);margin:0 0 10px;overflow-wrap:anywhere}.award-preview-bottom{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:16px}.preview-hint{color:var(--muted)}.preview-open{margin-left:auto;color:var(--navy);font-weight:700}.shortcut-links{display:flex;align-items:stretch;flex-direction:column;gap:12px}.shortcut-links .button{justify-content:space-between}.shortcut-links .button:not(.secondary){justify-content:flex-start}.actions .text-link{min-height:48px;display:inline-flex;align-items:center}.dashboard-tip{margin-top:24px;background:var(--yellow);padding:20px;border-radius:16px}.dashboard-tip h3{margin:0 0 8px}.dashboard-tip p{margin:0;color:var(--muted)}.submission-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:20px}.submission-steps li{display:flex;gap:12px;align-items:flex-start;color:var(--navy)}.submission-steps li span{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--sky);font-weight:700}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.card{border:1px solid #e7edf5;border-radius:20px;padding:24px}.page-heading p{font-size:18px}.page-heading>div{min-width:0}.page-heading h1{overflow-wrap:anywhere}.section-heading>.muted,.date-label{font-size:16px}.section-heading h2,.form-section h2{font-size:24px}.pill,.pill.large{font-size:16px;font-weight:500;padding:6px 12px;border-radius:8px}.pill.large{white-space:normal}.green{background:var(--mint);color:#126532}.amber{background:var(--yellow);color:#765211}.blue{background:var(--sky);color:var(--navy)}.red{background:#ffe9e5;color:#9f3434}.empty{color:var(--muted)}.empty strong{font-size:20px;color:var(--navy)}.empty p{font-size:18px}.tabs{gap:24px}.tabs button{font-size:18px;min-height:52px;color:var(--muted)}label,.filters label,.form-grid label,.check-label{font-size:18px;color:var(--ink);font-weight:500}input:not([type=checkbox]),select,textarea,.readonly-field{font-size:18px;min-height:52px;border-radius:12px;padding:11px 14px;color:var(--ink);border-color:#b9c8d7;line-height:1.55}input::placeholder{color:#66768a}input:disabled{color:#617186;background:var(--canvas)}.readonly-field{background:var(--canvas)}.filters label{min-width:160px}.filters .search-field{min-width:240px}.form-grid>*{min-width:0}.table-toolbar{font-size:16px;flex-wrap:wrap}.table-toolbar>.muted{flex:1;min-width:220px}table,td{font-size:18px}th{font-size:16px;font-weight:500;color:var(--muted);background:var(--canvas)}td{padding:18px 14px}td strong{font-weight:500}td small{font-size:16px;color:var(--muted)}.table-scroll{max-width:100%}.award-students{display:flex;flex-direction:column;gap:4px;min-width:150px}.award-student{font-size:16px;line-height:1.45;white-space:nowrap}.pagination{font-size:16px;color:var(--muted)}.back-link{font-size:18px;color:var(--navy);min-height:48px;display:inline-flex;align-items:center;margin-bottom:12px}.form-layout{grid-template-columns:minmax(0,1fr) 300px}.form-main{min-width:0}.form-section{padding:28px}.form-aside{background:var(--yellow);border-color:transparent}.form-aside p,.toggle-row p,.import-card p{font-size:18px;color:var(--muted)}.form-aside small,.form-grid small{font-size:16px;color:var(--muted)}.form-aside strong,.toggle-row strong{font-size:18px;color:var(--navy)}.form-aside p{overflow-wrap:anywhere}.step{width:32px;height:32px;font-size:18px;background:var(--sky);color:var(--navy);flex-shrink:0;border-radius:10px}input[type=checkbox]{width:20px;height:20px}.check-label{min-height:48px;line-height:1.55}.upload-area{background:var(--canvas);color:var(--navy);border-color:#98acc4;border-radius:16px}.upload-area span{font-size:16px;color:var(--muted)}.upload-area input{max-width:100%}.student-option{min-height:56px}.student-option span{font-size:16px;color:var(--muted)}.student-option strong{font-size:18px}.selected-names,.text-danger{font-size:16px}.text-danger{color:#9f3434;min-height:48px}.student-name-button{min-height:48px}.student-awards-panel{background:var(--canvas);border-color:var(--line);border-radius:16px}.student-awards-panel .section-heading p{font-size:16px}.detail-grid dt{font-size:16px;color:var(--muted);margin-bottom:6px}.detail-grid dd{font-size:18px;overflow-wrap:anywhere}.history-item{font-size:18px}.history-item small{font-size:16px;color:var(--muted)}.permission-grid label{font-size:16px}.role-permissions>div{background:var(--canvas)}.switch{width:48px;height:48px;display:flex;align-items:center}.switch input{width:100%;height:100%}.switch span{height:28px}.switch span:after{width:22px;height:22px;top:13px}.switch input:checked+span:after{transform:translate(20px)}.alert{font-size:18px;border-radius:14px;align-items:center}.alert.error{color:#973d32;background:#ffe9e5}.alert.success{color:#126532;background:var(--mint)}.alert button{min-width:48px;min-height:48px;font-size:24px}.progress{font-size:16px;color:var(--muted)}.note-icon{color:var(--navy)}.modal{border-radius:20px}.modal-shell::backdrop{background:#173b7059}.login-story{background:var(--mint);color:var(--navy);padding:48px}.login-copy .eyebrow{font-size:16px;color:var(--green-dark)}.login-copy h1{font-size:46px;font-weight:700}.login-copy p{font-size:18px;color:var(--muted)}.login-story>small{font-size:16px;color:var(--muted)}.login-medal{display:block;margin:32px auto 0}.login-panel{background:var(--canvas)}.login-box{max-width:440px}.login-box h2{font-size:30px}.login-box p{font-size:18px}.google-button{background:#fff;color:var(--navy);padding:14px 20px}.login-security{font-size:16px;color:var(--muted)}.demo-box{background:#fff;border-color:var(--line);border-radius:16px}.demo-box strong{font-size:18px;color:var(--navy)}.demo-box p,.help-text{font-size:16px;color:var(--muted)}.module-card p,.module-card-footer{color:var(--muted);font-size:18px}@media(max-width:1250px){.portal-header-inner{column-gap:24px;row-gap:12px}.portal-nav{order:3;flex-basis:100%}.hero-illustration{margin:0}.form-layout{grid-template-columns:minmax(0,1fr)}.form-aside{order:0}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr)}}@media(max-width:900px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.hero-illustration{width:160px;height:auto}.portal-hero{gap:24px}.overview{gap:16px}.overview-card{padding:20px}.login-story,.login-panel{padding:32px}.login-copy h1{font-size:36px}}@media(max-width:760px){:root{font-size:18px}.app-layout{padding-bottom:calc(84px + env(safe-area-inset-bottom))}main{padding:24px 20px 20px}h1{font-size:28px}h2,.section-heading h2,.form-section h2{font-size:24px}.portal-header-inner{padding:20px;gap:0}.school-brand{gap:12px}.school-brand img{width:42px;height:40px}.school-brand strong{font-size:18px}.school-brand .brand-desktop-caption{display:none}.school-brand .brand-mobile-caption{display:block;font-size:16px}.portal-nav,.header-account{display:none}.mobile-nav{position:fixed;inset:auto 0 0;display:flex;flex-direction:row;align-items:stretch;justify-content:space-around;gap:4px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:10}.mobile-nav a,.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--navy);font-size:16px;font-weight:700;gap:4px;padding:8px 4px;min-height:64px;border-radius:12px}.dashboard{gap:20px}.dashboard-greeting p{display:none}.portal-hero{padding:20px;border-radius:20px;align-items:flex-start}.portal-hero h2,.student-hero h2{font-size:24px}.portal-hero p{font-size:18px}.teacher-hero .hero-illustration{display:none}.student-hero{flex-direction:column-reverse;gap:12px}.student-hero .hero-illustration{width:120px;height:115px}.student-hero .hero-eyebrow,.desktop-copy{display:none}.mobile-copy{display:inline}.overview{gap:8px}.overview-card{padding:16px 10px;border-radius:16px}.overview-card span{font-size:16px}.overview-card strong{font-size:28px}.dashboard-panel{padding:20px}.award-preview{padding:18px 16px}.preview-hint{flex-basis:100%;order:3}.dashboard-panel>.button{width:100%;padding:12px}.dashboard-tip{padding:18px}.card{padding:20px;border-radius:20px}.page-heading p{font-size:18px}.eyebrow{font-size:16px}.form-grid,.detail-grid,.modal .form-grid,.permission-grid{grid-template-columns:minmax(0,1fr)}.modal .span-2{grid-column:auto}.form-grid label,.filters label,.permission-grid label{font-size:18px}.filters .search-field{min-width:100%}.filters label{min-width:135px}.table-toolbar .actions{justify-content:flex-start}td{font-size:18px;min-width:100px}.table-scroll{margin:0}.review-panel form>label{min-width:0;flex-basis:100%}.student-awards-panel{padding:16px}.form-aside{order:0}.upload-area{padding:20px 12px}.pagination{justify-content:space-between;gap:8px}.pagination button{padding:12px 16px}.alert{padding:12px}footer{font-size:16px;padding:24px 20px;gap:8px}.login-story{padding:24px}.login-copy{padding:20px 0 0}.login-copy h1{font-size:32px}.login-copy p{font-size:18px}.login-copy .eyebrow{font-size:16px}.login-medal{display:none}.login-panel{padding:28px 20px}.demo-box p{font-size:16px}.google-button{padding:14px 12px;gap:8px}}.login-story{background:#f3f8ea;justify-content:space-between;gap:20px}.login-school-art{width:100%;max-width:620px;height:auto;object-fit:contain;align-self:center;margin:auto 0;border-radius:28px}.login-box h1{color:var(--navy);margin-bottom:16px}.login-box .google-button{font-size:18px;min-height:56px}.login-school-art.role-entry-art{max-width:420px;max-height:420px}.entry-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}.entry-role-card{min-width:0;min-height:190px;padding:22px;border-radius:20px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;color:var(--navy)}.entry-role-card.teacher{background:var(--yellow)}.entry-role-card.student{background:var(--mint)}.entry-role-card strong{font-size:20px;line-height:1.35}.entry-role-card span{font-size:16px;color:var(--muted);line-height:1.45}.entry-role-card:hover{box-shadow:inset 0 0 0 2px var(--navy)}.switch-entry{display:inline-flex;min-height:48px;align-items:center;color:var(--navy);font-size:16px;font-weight:700}.award-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.award-entry{display:flex;flex-direction:column;align-items:flex-start;padding:32px;border:1px solid var(--line);border-radius:24px;color:var(--navy);min-height:300px;box-shadow:0 6px 20px #173b7008;transition:transform .15s,box-shadow .15s}.award-entry.mint{background:#e7f5eb}.award-entry.sky{background:#eaf2fd}.award-entry.sun{background:#fff5dc}.award-entry:hover{transform:translateY(-3px);box-shadow:0 10px 28px #173b7014}.entry-icon{display:grid;place-items:center;background:#ffffffb3;width:72px;height:72px;border-radius:22px;margin-bottom:24px}.award-entry h2{font-size:24px;margin:0 0 12px}.award-entry p{color:#4e6374;margin:0 0 28px}.entry-action{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;font-size:18px;font-weight:700}.award-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.award-section-nav a{padding:12px 16px;min-height:48px;border-radius:12px;font-size:18px;color:var(--navy)}.award-section-nav a.selected{background:var(--navy);color:#fff}.award-section-nav a:hover{box-shadow:inset 0 0 0 1px var(--navy)}.student-guidance{margin-bottom:22px}.student-guidance h2{color:var(--navy);margin-bottom:16px}.student-guidance li,.student-guidance p{font-size:18px;line-height:1.65}.guidance-list,.student-guidance ul,.student-guidance ol{margin:0;padding-left:1.5em}.guidance-list>li{padding:8px 0 12px 6px}.deadline-list{margin-top:10px!important;padding:14px 18px 14px 38px!important;border-radius:14px;background:#fff5dc}.deadline-list li{padding:3px 0}.student-guidance-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px}.criteria-guidance{background:var(--mint)}.criteria-guidance li,.examples-guidance li{padding:6px 0}.guidance-decision{margin:18px 0 0;font-weight:700;color:var(--navy)}.examples-guidance{background:var(--sky)}.examples-guidance>p{margin-bottom:10px}.examples-guidance strong{color:var(--navy)}.student-function-heading{margin:34px 0 18px}.student-function-heading h2{margin-bottom:4px;color:var(--navy)}.student-function-heading p{margin:0}.teacher-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.teacher-module-card{min-height:290px;padding:30px;border:1px solid var(--line);border-radius:24px;color:var(--navy);display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 6px 20px #173b7008}.teacher-module-card.mint{background:var(--mint)}.teacher-module-card.sky{background:var(--sky)}.teacher-module-card.sun{background:#fff5dc}.teacher-module-card:not(.future-module):hover{transform:translateY(-3px);box-shadow:0 10px 28px #173b7014}.teacher-module-card h2{font-size:24px;margin:0 0 10px}.teacher-module-card p{font-size:18px;color:var(--muted);margin:0 0 24px}.teacher-module-card .entry-action{margin-top:auto}.teacher-module-card .module-card-top{width:100%;align-items:flex-start}.future-module{opacity:.82}.future-badge{padding:7px 12px;border-radius:999px;background:#ffffffb8;color:var(--muted);font-size:16px;font-weight:700}@media(max-width:1000px){.award-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.login-page .login-story{padding:24px 24px 0;gap:8px}.login-page .login-school-art{max-width:270px;max-height:270px;margin:0 auto}.login-page .login-panel{padding:24px}.login-page .login-box h1{font-size:28px;margin-top:0}.login-page .login-school-art.role-entry-art{max-width:190px;max-height:190px}.entry-role-grid{grid-template-columns:1fr;margin-top:20px}.entry-role-card{min-height:130px;padding:18px}.award-entry-grid{grid-template-columns:1fr;gap:16px}.award-entry{min-height:220px;padding:24px}.entry-icon{width:56px;height:56px;margin-bottom:16px}.award-section-nav a{padding:10px 12px}.student-guidance-grid{grid-template-columns:1fr;gap:0}.student-guidance{padding:20px}.student-guidance li,.student-guidance p{font-size:16px}.guidance-list{padding-left:1.25em}.deadline-list{padding:12px 12px 12px 30px!important}.teacher-module-grid{grid-template-columns:1fr;gap:16px}.teacher-module-card{min-height:220px;padding:24px}}.portal-sidebar{position:fixed;inset:0 auto 0 0;width:312px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto;z-index:10}.sidebar-school{padding:28px 22px;background:#e3f5ea;min-height:112px;display:flex;align-items:center}.sidebar-school .school-brand{gap:12px}.sidebar-school .school-brand strong{font-size:20px}.sidebar-school .school-brand small{font-size:16px}.sidebar-school .school-brand img{width:46px;height:44px}.portal-menu{padding:22px 14px}.portal-menu details{margin-bottom:12px}.portal-menu summary,.portal-menu>a{display:flex;align-items:center;gap:14px;padding:16px;min-height:58px;border-radius:12px;color:var(--navy);font-size:20px;font-weight:600;text-decoration:none;cursor:pointer}.portal-menu summary{list-style:none}.portal-menu summary::-webkit-details-marker{display:none}.portal-menu .in-module>summary{background:var(--mint)}.menu-chevron{margin-left:auto;font-size:28px;line-height:1;transition:transform .15s}.portal-menu details[open] .menu-chevron{transform:rotate(90deg)}.portal-submenu{margin:10px 0 0 24px;border-left:2px solid var(--line);padding-left:10px;display:flex;flex-direction:column;gap:6px}.portal-submenu a{display:flex;align-items:center;gap:10px;min-height:54px;padding:12px;border-radius:10px;font-size:18px;color:var(--muted)}.future-menu-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.future-menu-item{display:flex;align-items:center;gap:14px;min-height:58px;padding:12px 16px;border-radius:12px;color:var(--muted);font-size:17px}.future-menu-item span{flex:1}.future-menu-item small{flex-shrink:0;padding:4px 7px;border-radius:999px;background:var(--canvas);font-size:14px}.portal-menu a:hover,.portal-menu summary:hover{background:var(--sky);color:var(--navy)}.portal-menu a.selected{background:var(--navy);color:#fff;font-weight:700}.portal-menu summary:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.sidebar-year{margin-top:auto;padding:24px;color:var(--muted);font-size:16px;border-top:1px solid var(--line)}.app-layout>.portal-header,.app-layout>.workspace{margin-left:312px}.app-layout{padding-bottom:0}.portal-header-inner{min-height:96px;padding:18px 32px;justify-content:space-between;flex-wrap:nowrap}.header-platform-title{font-size:22px;color:var(--navy);font-weight:700}.portal-header .header-account{display:flex;align-items:center;gap:18px;margin-left:auto}.portal-header .header-logout{display:block}.portal-header .menu-trigger{display:none}.menu-drawer{position:fixed;inset:0 auto 0 0;margin:0;padding:0;width:min(350px,92vw);height:100dvh;max-height:100dvh;border:0;background:#fff;color:var(--navy)}.menu-drawer::backdrop{background:#173b7066}.drawer-heading{display:flex;align-items:center;justify-content:space-between;padding:20px;background:var(--mint);font-size:22px}.drawer-brand{display:block;padding:20px 18px 0}.drawer-brand .school-brand strong{font-size:18px}.drawer-brand .school-brand img{width:44px;height:42px}@media(min-width:1001px)and (max-width:1250px){.award-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1000px){.portal-sidebar{display:none}.app-layout>.portal-header,.app-layout>.workspace{margin-left:0}.portal-header .menu-trigger{display:inline-flex;align-items:center;gap:8px}.portal-header-inner{padding:14px 20px;gap:12px;min-height:80px}.header-platform-title{display:none}.portal-header .header-account{gap:8px}.portal-header .header-logout{display:none}.portal-header .account-trigger{gap:8px;font-size:18px}}.student-selection-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.selection-panel{min-width:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.selection-heading{padding:12px 16px;background:var(--canvas);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.selection-heading h4{margin:0;font-size:18px;color:var(--navy)}.selection-heading button{font-size:18px}.selection-list{max-height:350px;overflow-y:auto}.selection-row{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:18px}label.selection-row{cursor:pointer}.selection-row.chosen{background:var(--sky)}.selection-row strong{overflow-wrap:anywhere}.student-position{flex-shrink:0;font-size:18px;color:var(--muted);white-space:nowrap}.remove-student{margin-left:auto;flex-shrink:0;min-width:48px;min-height:48px;border-radius:12px;color:#a13030;background:#fff0ee;font-size:26px}.remove-student:hover{background:#ffded9}.selection-empty{padding:20px;color:var(--muted);font-size:18px}.selection-help{font-size:16px}.review-request{padding-top:20px;padding-bottom:20px}.review-request .check-label{margin:0}.review-request p{margin:8px 0 0 28px}@media(max-width:760px){.student-selection-columns{grid-template-columns:1fr}}:root{--navy: #4a3487;--navy-deep: #331f6b;--green: #159447;--green-dark: #0f7336;--canvas: #f6f6f6;--sky: #f0ecfc;--mint: #e7f7ed;--yellow: #fff4d8;--line: #e9e7ef;--panel-shadow: 0 8px 28px rgba(23,59,112,.07)}body,.app-layout{background:var(--canvas)}.portal-sidebar{width:276px;background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);border-right:0}.sidebar-school{min-height:104px;padding:22px 20px;background:transparent;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar-school .school-brand strong{color:#fff;font-size:19px}.sidebar-school .school-brand small{color:#c9d8ec;font-size:14px}.sidebar-school .brand-desktop-caption{white-space:normal;font-size:16px;letter-spacing:.25px}.sidebar-school .school-brand img{width:48px;height:48px;padding:4px;border-radius:12px}.portal-menu{padding:20px 14px}.portal-menu summary,.portal-menu>a{color:#f8fbff;border-radius:10px;font-size:18px;min-height:54px}.portal-menu .in-module>summary,.portal-menu summary:hover,.portal-menu>a:hover{background:#ffffff1f;color:#fff}.portal-submenu{border-left-color:#ffffff2e}.portal-submenu a{color:#d8e3f2;font-size:17px;min-height:50px}.portal-menu a.selected{color:var(--navy-deep);background:#fff;box-shadow:0 7px 18px #03132d29}.future-menu-item{color:#ffffffb8;font-size:16px}.future-menu-item small{color:#dfe9f6;background:#ffffff1f}.sidebar-year{color:#c9d8ec;border-top-color:#ffffff1f;padding:20px 24px}.app-layout>.portal-header,.app-layout>.workspace{margin-left:276px}.portal-header{position:sticky;top:0;z-index:9;border-bottom:1px solid var(--line);box-shadow:0 3px 14px #173b700a}.portal-header-inner{min-height:80px;max-width:none;padding:12px 34px}.header-platform-title{font-size:20px}.account-trigger{padding:5px 10px}.avatar{width:44px;height:44px;border:2px solid white;box-shadow:0 0 0 2px #cfe7d8}main{max-width:1540px;padding:34px 38px 54px}footer{max-width:1540px;padding:20px 38px 28px}.card,.dashboard-panel,.award-entry,.teacher-module-card{background:#fff;border:1px solid var(--line);box-shadow:var(--panel-shadow)}.page-heading{margin-bottom:22px}.page-heading h1{margin-bottom:4px}.button,.google-button{background:var(--navy)}.button:hover{background:var(--navy-deep)}.button.secondary,button.secondary{background:#edf2f8}.button.secondary:hover,button.secondary:hover{background:#e1e9f4}input:not([type=checkbox]),select,textarea,.readonly-field{background:#fbfcfe;border-color:#cdd5e1}input:not([type=checkbox]):focus,select:focus,textarea:focus{background:#fff;border-color:#7698c4}th{background:#f1f4f8;color:#4e6078}tbody tr:hover{background:#f8faff}.teacher-welcome{min-height:210px;padding:30px 36px;margin-bottom:28px;border-radius:16px;background:linear-gradient(120deg,#e9f1ff,#f0eaff);display:flex;align-items:center;justify-content:space-between;gap:32px;overflow:hidden;position:relative}.teacher-welcome:after{content:"";position:absolute;width:260px;height:260px;right:100px;top:-130px;border-radius:50%;background:#fff6}.teacher-welcome>div{position:relative;z-index:1}.teacher-welcome h1{font-size:32px;margin:4px 0 8px}.teacher-welcome p{color:var(--muted);margin:0}.teacher-welcome img{align-self:flex-end;object-fit:contain;margin-bottom:-30px;position:relative;z-index:1}.module-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 2px 18px}.module-section-heading h2{margin:0 0 2px}.module-section-heading p{margin:0;color:var(--muted)}.module-section-heading>span{font-size:16px;color:var(--muted)}.teacher-module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.teacher-module-card{min-height:260px;padding:24px;border-radius:14px;position:relative;overflow:hidden}.teacher-module-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:#6b5bc6}.teacher-module-card.mint:before{background:var(--green)}.teacher-module-card.sky:before{background:#3f82d5}.teacher-module-card.sun:before{background:#e5ad3f}.teacher-module-card.mint,.teacher-module-card.sky,.teacher-module-card.sun{background:#fff}.teacher-module-card .entry-icon{width:58px;height:58px;margin-bottom:24px;border-radius:14px;background:var(--sky)}.teacher-module-card.mint .entry-icon{background:var(--mint);color:var(--green-dark)}.teacher-module-card.sun .entry-icon{background:var(--yellow);color:#9a6811}.teacher-module-card h2{font-size:21px;line-height:1.45}.teacher-module-card p{font-size:16px;line-height:1.55}.future-badge{font-size:14px;background:#f0f2f6}.future-module{opacity:1}.award-entry{min-height:250px;padding:26px;border-radius:14px;position:relative;overflow:hidden}.award-entry.mint,.award-entry.sky,.award-entry.sun{background:#fff}.award-entry:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--green)}.award-entry.sky:before{background:#3f82d5}.award-entry.sun:before{background:#e5ad3f}.award-entry .entry-icon{width:60px;height:60px;border-radius:14px;background:var(--canvas)}.student-guidance{border-radius:14px}.notice-guidance{border-left:5px solid #e5ad3f}.criteria-guidance{background:#fff;border-top:5px solid var(--green)}.examples-guidance{background:#fff;border-top:5px solid #3f82d5}.deadline-list{background:#fff8e8}.login-story{background:linear-gradient(145deg,var(--navy) 0%,#26558d 100%)}.login-story .school-brand strong{color:#fff}.login-story .school-brand small{color:#d8e5f5}.login-story .school-brand img{padding:5px;border-radius:12px}.login-panel{background:#fff}.login-box{padding:34px;max-width:510px;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 55px #173b7017}.login-box .google-button{box-shadow:0 6px 18px #173b7029}.login-school-art{filter:drop-shadow(0 20px 30px rgba(3,20,48,.16))}@media(max-width:1320px){.teacher-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1000px){.app-layout>.portal-header,.app-layout>.workspace{margin-left:0}.portal-header{position:static}.menu-drawer{background:var(--navy-deep);color:#fff}.drawer-heading{background:var(--navy);color:#fff}.drawer-brand .school-brand strong{color:#fff}.drawer-brand .school-brand small{color:#c9d8ec}}@media(max-width:760px){main{padding:22px 18px 36px}.teacher-welcome{min-height:190px;padding:24px}.teacher-welcome h1{font-size:27px;max-width:70%}.teacher-welcome p{max-width:65%}.teacher-welcome img{position:absolute;right:-12px;bottom:0;width:145px;height:130px;margin:0;opacity:.9}.teacher-module-grid{grid-template-columns:1fr}.teacher-module-card{min-height:210px}.module-section-heading>span{display:none}.login-box{padding:24px;border-radius:16px}}.app-layout{width:100%;min-width:0}.app-layout>.workspace{width:calc(100% - 267px);min-width:0}.app-layout>.workspace,.app-layout>.portal-header{margin-left:267px}.portal-sidebar{width:267px;background:#4a3487}.sidebar-school{min-height:136px;padding:24px 20px}.sidebar-school .school-brand{align-items:flex-start}.sidebar-school .school-brand strong{font-size:18px}.sidebar-school .school-brand small{font-size:16px;color:#e0d9f5}.portal-menu{gap:8px}.portal-menu a.selected,.portal-menu .in-module>summary{background:#331f6b;color:#fff;box-shadow:none}.portal-menu a:hover,.portal-menu summary:hover{background:#5d479b;color:#fff}.portal-submenu a,.future-menu-item{color:#ede7fb}.portal-submenu a{font-size:18px}.future-menu-item small{font-size:16px}.portal-menu .muted{color:#e0d9f5}.portal-header{box-shadow:none}.portal-header-inner{gap:24px;padding:12px 34px}.header-search{display:flex;align-items:center;gap:12px;flex:1;max-width:680px;min-width:0;padding:0 14px;border-radius:10px;background:#f6f6f6}.header-search input{width:100%;min-width:0;border:0;margin:0;padding:12px 0;background:transparent}.header-search button{min-height:48px;flex-shrink:0;color:var(--navy);font-size:16px}.header-search img{flex-shrink:0;width:22px;height:22px}.header-search input:focus{outline-offset:0}main{max-width:1600px;padding:36px 34px 48px;min-width:0}.card,.dashboard-panel{border:0;border-radius:10px;box-shadow:none}.education-dashboard{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(290px,1fr);gap:28px;align-items:start}.dashboard-primary,.dashboard-secondary{min-width:0}.dashboard-secondary{display:flex;flex-direction:column;gap:24px}.dashboard-secondary>.card{padding:24px}.teacher-welcome{background:#f3e3ff;padding:22px 24px;min-height:156px;margin:0 0 24px;border-radius:10px;overflow:visible}.teacher-welcome:after{display:none}.teacher-welcome h1{font-size:25px;margin:0 0 8px}.teacher-welcome p{font-size:18px;margin:0}.teacher-welcome .hero-eyebrow{font-size:16px;margin-bottom:5px}.teacher-welcome>div{min-width:0}.teacher-welcome img{width:166px;height:166px;object-fit:contain;flex-shrink:0;margin:-32px -12px -22px 0;align-self:flex-end}.education-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.education-summary article{background:#fff;border-radius:10px;padding:18px;min-width:0}.education-summary article>span{display:block;color:#6f6a85;font-size:16px;margin-bottom:14px}.education-summary article>div{display:flex;align-items:center;gap:12px}.education-summary img{width:34px;height:34px;object-fit:contain}.education-summary strong{color:#4a3487;font-size:28px}.education-summary small{color:var(--muted)}.education-chart{margin-bottom:26px}.education-chart .section-heading{gap:10px;margin-bottom:0;flex-wrap:wrap}.education-chart h2{color:#333}.education-chart .text-link{font-size:16px}.chart-caption,.chart-footnote{font-size:16px;color:#686475}.chart-caption{margin:4px 0 16px}.chart-footnote{margin:16px 0 0}.chart-legend{display:flex;gap:22px;font-size:16px;color:#686475}.chart-legend>span{display:flex;gap:8px;align-items:center}.chart-legend i{width:10px;height:10px;border-radius:50%}.approved-key,.approved-bar{background:#6251c4}.pending-key,.pending-bar{background:#ecc469}.month-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:9px;margin-top:32px}.month-column{text-align:center;min-width:0}.month-column>span{display:block;font-size:16px;color:#6d687d;margin-top:9px;white-space:nowrap}.month-bars{height:180px;display:flex;align-items:end;justify-content:center;gap:4px;border-bottom:1px solid #dedbe7;background:repeating-linear-gradient(to top,transparent 0,transparent 44px,#f0edf4 44px,#f0edf4 45px)}.month-bars>span{width:10px;border-radius:8px 8px 0 0;position:relative}.month-bars b{position:absolute;bottom:100%;left:50%;transform:translate(-50%);font-size:16px;font-weight:500;padding-bottom:3px}.approved-bar b{color:#6251c4}.pending-bar b{color:#86600d}.chart-empty{min-height:180px;display:grid;place-items:center;color:var(--muted);text-align:center;margin:0}.module-section-heading{margin:0 0 16px}.module-section-heading h2{color:#333;margin:0}.teacher-module-grid{grid-template-columns:minmax(0,1fr);gap:12px}.teacher-module-card{flex-direction:row;align-items:center;gap:18px;min-height:100px;padding:20px;border:0;border-radius:10px;box-shadow:none}.teacher-module-card:before{display:none}.teacher-module-card:not(.future-module){background:#f3e3ff}.teacher-module-card .entry-icon{width:48px;height:48px;flex-shrink:0;margin:0;background:#fff;color:#6251c4}.teacher-module-card h2{font-size:20px;margin:0 0 4px}.teacher-module-card p{margin:0;font-size:16px}.teacher-module-card .entry-action{width:auto;margin:0 0 0 auto;white-space:nowrap;font-size:16px}.future-module>div{display:flex;flex:1;align-items:center;justify-content:space-between;gap:16px}.future-badge{font-size:16px;white-space:nowrap}.portal-calendar h2,.dashboard-quicklinks h2,.deadline-panel h2{color:#333;font-size:22px}.calendar-heading{display:flex;justify-content:space-between;gap:4px;align-items:center;margin-bottom:14px}.calendar-heading button{min-width:44px;min-height:44px;border:1px solid #e5e1ed;border-radius:8px;font-size:24px}.calendar-heading strong{font-size:16px;white-space:nowrap}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px 0;text-align:center}.calendar-grid>span{display:grid;place-items:center;min-height:34px;font-size:16px}.calendar-grid .weekday{color:#7a738a}.calendar-grid .today{color:#fff;background:#6251c4;border-radius:50%}.dashboard-quicklinks{border-top:1px solid #eee;padding-top:20px;margin-top:20px}.dashboard-quicklinks a{display:flex;justify-content:space-between;align-items:center;min-height:48px;background:#f6f6f6;padding:12px;margin-top:9px;border-radius:8px;font-size:18px}.dashboard-quicklinks a:first-of-type{background:#d4f9c8;color:#245917}.dashboard-quicklinks a:hover{box-shadow:inset 0 0 0 2px #6251c4}.deadline-panel article{display:flex;gap:14px;align-items:center;border:1px solid #eee;border-radius:9px;padding:12px;margin-top:12px}.deadline-date{background:#fff5e6;border-radius:8px;padding:8px 12px;display:grid;text-align:center;flex-shrink:0}.deadline-date strong{font-size:22px;color:#514338}.deadline-date span{font-size:16px;color:#796c59}.deadline-panel h3{font-size:18px;margin:0 0 4px}.deadline-panel p{font-size:16px;margin:0;color:#6e677d}.login-story{background:#4a3487}.login-panel{background:#f6f6f6}.login-box{background:#fff}.login-box .google-button{color:#fff}.login-box .google-g{background:#fff;border-radius:50%;width:28px;height:28px;line-height:28px}.award-entry:before{background:#6251c4}@media(max-width:1200px){.education-dashboard{grid-template-columns:minmax(0,1fr)}.dashboard-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media(max-width:1000px){.app-layout>.workspace{width:100%}.app-layout>.workspace,.app-layout>.portal-header{margin-left:0}.header-search{display:none}.portal-header-inner{padding:12px 20px}}@media(max-width:600px){main{padding:24px 16px}.dashboard-secondary{display:flex}.teacher-welcome{padding:20px;min-height:160px;gap:4px}.teacher-welcome>div{max-width:72%}.teacher-welcome h1{font-size:24px;max-width:none}.teacher-welcome p{max-width:none}.teacher-welcome img{width:96px;height:120px;right:-5px;bottom:0;margin:0}.education-summary{gap:8px}.education-summary article{padding:14px 10px}.education-summary article>div{gap:6px;flex-wrap:wrap}.education-summary strong{font-size:25px}.education-summary img{width:24px;height:24px}.education-summary small{display:none}.education-chart{padding:18px}.month-chart{overflow-x:auto;grid-template-columns:repeat(12,32px);padding:26px 0 10px;margin-top:6px}.teacher-module-card{gap:12px;padding:18px;flex-wrap:wrap}.teacher-module-card>div{min-width:0;flex:1}.future-module>div{display:block}.future-badge{display:inline-block;margin-top:4px}.teacher-module-card .entry-action{flex-basis:100%;text-align:right}.student-guidance li,.student-guidance p{font-size:18px}}
