@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:var(--text,#151b14);background:var(--bg,#f7f4ed);font-synthesis:none;--desktop-sidebar:252px;--card-radius:20px;--muted-line:#e6e5e0;font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,.button{border:1px solid var(--inputBorder);background:var(--surface);min-height:44px;color:var(--primaryInk);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:10px 17px;font-weight:600;text-decoration:none;display:inline-flex}button:hover,.button:hover{background:var(--primarySoft)}button:disabled{cursor:default;opacity:.5}button.primary,.button.primary{background:var(--primary);color:var(--onPrimary);border-color:var(--primary)}button.primary:hover,.button.primary:hover{background:var(--primaryInk)}:focus-visible{outline:3px solid var(--appointment);outline-offset:3px}a{color:var(--primaryInk);text-underline-offset:4px}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.2px;font-size:36px;font-weight:700;line-height:1.18}h2{letter-spacing:-.4px;font-size:20px;line-height:1.35}h3{font-size:16px;line-height:1.4}p{line-height:1.65}.muted{color:var(--textMuted)}.small,small{font-size:12px}.eyebrow{color:var(--primaryInk);letter-spacing:1.8px;font-size:11px;font-weight:700;line-height:1.5;display:block}.panel{border:1px solid var(--border);background:var(--surface);border-radius:var(--card-radius);padding:28px}.message{background:var(--accentWarm);border-radius:12px;margin:16px 0;padding:16px 20px}.text-button{background:0 0;border:0;justify-content:flex-start;padding-left:0;padding-right:0}.text-button:hover{background:0 0;text-decoration:underline}.role-badge,.count-badge{background:var(--primarySoft);color:var(--primaryInk);white-space:nowrap;border-radius:100px;padding:6px 12px;font-size:11px;font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.brand{color:var(--text);letter-spacing:-.5px;align-items:center;gap:11px;font-size:17px;font-weight:700;line-height:1.3;text-decoration:none;display:flex}.brand small{letter-spacing:2.2px;color:var(--primaryInk);margin-top:7px;font-size:9px;font-weight:600;display:block}.brand-icon{background:var(--primary);width:42px;height:46px;color:var(--surface);border-radius:14px;place-items:center;display:grid}.brand-icon svg{width:30px}.portal-shell{min-height:100vh;display:flex}.sidebar{width:var(--desktop-sidebar);border-right:1px solid var(--divider);background:var(--surface);flex-direction:column;flex:none;height:100vh;padding:35px 24px;display:flex;position:sticky;top:0}.school-label{letter-spacing:1.8px;color:var(--textMuted);margin-top:50px;font-size:9px;font-weight:600}.school-select{color:var(--text);background:0 0;border:0;width:100%;margin:8px 0 28px;padding:8px 0;font-weight:600}.sidebar nav{flex-direction:column;gap:6px;display:flex}.sidebar nav a{min-height:48px;color:var(--textMuted);border-radius:12px;align-items:center;gap:12px;padding:12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.sidebar nav a span{text-align:center;width:20px;font-size:21px}.sidebar nav a[aria-current=page]{background:var(--primarySoft);color:var(--primaryInk);font-weight:600}.sidebar nav a:hover{color:var(--primaryInk);background:var(--chip)}.sidebar-bottom{margin-top:auto;padding-top:28px}.privacy-note{border-top:1px solid var(--divider);color:var(--textMuted);gap:12px;padding-top:24px;font-size:12px;display:flex}.privacy-note svg{width:26px;color:var(--primary);flex:none}.account-email{overflow-wrap:anywhere;color:var(--textMuted);margin-top:24px}.main-content{flex:1;min-width:0;max-width:1650px;margin:0 auto;padding:44px 42px 70px}.page-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.page-heading h1{margin:10px 0}.page-heading>.role-badge{margin-top:8px}.privacy-banner{border:1px solid var(--primarySoft);background:var(--assignmentSoft);color:var(--primaryInk);border-radius:14px;align-items:center;gap:14px;margin:22px 0;padding:15px 20px;font-size:13px;display:flex}.privacy-banner svg{flex:none;width:26px}.range-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:28px 0 24px;display:flex}.segmented{background:var(--track);border-radius:12px;flex-wrap:wrap;gap:4px;padding:5px;display:flex}.segmented button{white-space:nowrap;background:0 0;border:0;border-radius:9px;min-height:36px;padding:8px 13px;font-size:12px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--primary);color:var(--onPrimary)}.custom-range{gap:18px;margin:0 0 20px;display:flex}.stats{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px;display:grid}.stats section{background:var(--surface);border:1px solid var(--border);border-radius:var(--card-radius);padding:24px}.stats section:nth-child(2){background:var(--accentWarm)}.stats section>span{color:var(--textMuted);font-size:12px;font-weight:500}.stats strong{letter-spacing:-1.5px;justify-content:space-between;align-items:center;margin:10px 0 6px;font-size:40px;font-weight:600;line-height:1.3;display:flex}.stats svg{width:40px;height:40px;color:var(--primary)}.stats p{color:var(--textMuted);font-size:11px}input,select{border:1px solid var(--inputBorder);background:var(--surface);color:var(--text);border-radius:10px;min-width:0;min-height:46px;padding:11px 13px}label{flex-direction:column;gap:8px;font-size:12px;font-weight:600;display:flex}input::placeholder{color:var(--placeholder);font-weight:400}.roster-panel{padding:0;overflow:hidden}.table-toolbar{justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}.table-toolbar h2{margin-bottom:6px}.table-actions{align-items:center;gap:10px;display:flex}.table-actions button{white-space:nowrap;font-size:12px}.table-actions input{width:220px;font-size:12px;font-weight:400}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:11px}th{border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);background:var(--assignmentSoft);color:var(--textMuted);font-size:10px;font-weight:500}th button{font-size:inherit;color:inherit;background:0 0;border:0;border-radius:0;justify-content:flex-start;min-height:48px;padding:10px 12px;font-weight:500}th:first-child button{padding-left:24px}td{border-bottom:1px solid var(--border);color:var(--textMuted);padding:14px 12px}td:first-child{padding-left:24px}td:last-child{padding-right:24px}.student-name{color:var(--text);background:0 0;border:0;justify-content:flex-start;gap:11px;width:100%;padding:0;font-size:12px;font-weight:600}.student-name:hover{color:var(--primary);background:0 0}.student-avatar{background:var(--chip);width:30px;height:30px;color:var(--primary);border-radius:50%;place-items:center;font-size:12px;font-weight:500;display:grid}.chevron{color:var(--textMuted);margin-left:auto}.number{font-variant-numeric:tabular-nums;color:var(--text);text-align:center}.completion-pill{background:var(--primarySoft);color:var(--primaryInk);border-radius:7px;min-width:29px;padding:4px 8px;font-weight:600;display:inline-block}.rate{font-variant-numeric:tabular-nums;align-items:center;gap:9px;display:flex}.rate>span:first-child{min-width:29px}.rate-track{background:var(--track);border-radius:4px;width:48px;height:4px;overflow:hidden}.rate-track span{background:var(--primary);border-radius:4px;height:100%;display:block}.table-footer{color:var(--textMuted);border-top:1px solid var(--border);justify-content:space-between;gap:18px;padding:16px 24px;font-size:10px;display:flex}.table-status{padding:35px 24px}.empty{text-align:center;padding:60px 30px}.empty svg{width:44px;color:var(--primary);margin-bottom:15px}.empty p{max-width:550px;margin:16px auto}.empty h1{font-size:28px}.table-empty h3{font-size:20px}.expanded td{background:var(--assignmentSoft);white-space:normal;padding:24px}.calendar-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.calendar-heading h3{color:var(--text);margin-bottom:5px}.legend{gap:15px;font-size:11px;display:flex}.legend span{white-space:nowrap;align-items:center;gap:6px;display:flex}.open-dot{background:var(--primarySoft);border:1px solid var(--primary);border-radius:50%;width:9px;height:9px;margin:5px;display:block}.completed-leaf{width:19px;height:19px;color:var(--primary);fill:var(--primary)}.completed-leaf path:last-child{stroke:var(--surface)}.no-dot{width:19px;height:19px;display:block}.calendar-grid{grid-template-columns:repeat(14,minmax(32px,1fr));gap:6px;display:grid}.calendar-day{border:1px solid var(--border);background:var(--surface);color:var(--textMuted);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:8px 3px;font-size:12px;display:flex}.calendar-day small{font-size:8px}.calendar-day.selected-day{border-color:var(--primarySoft);background:var(--primarySoft);color:var(--primaryInk)}.invite-grid{grid-template-columns:1fr 1.15fr;gap:24px;margin-top:32px;display:grid}.qr-panel{text-align:center;flex-direction:column;align-items:center;gap:20px;padding:32px;display:flex}.qr-panel p{max-width:300px}.qr-panel a{font-size:12px}.qr-frame{aspect-ratio:1;background:var(--surface);border:1px solid var(--primarySoft);border-radius:22px;place-items:center;width:100%;max-width:300px;margin:4px 0;display:grid}.qr-frame img{border-radius:20px;max-width:100%;height:auto}.invite-details{flex-direction:column;gap:18px;display:flex}.invite-details .panel{flex-direction:column;gap:15px;display:flex}.section-leaf{width:32px;color:var(--primary)}.code-row{justify-content:space-between;align-items:center;gap:15px;display:flex}.code-row code{letter-spacing:7px;color:var(--primaryInk);font-family:Inter,sans-serif;font-size:32px;font-weight:600}.invite-privacy{margin-top:40px}.invite-privacy>h2{margin-bottom:20px}.invite-privacy>p{margin-top:18px;font-size:12px}.privacy-columns{text-align:left;grid-template-columns:1fr 1fr;gap:16px;display:grid}.privacy-columns section{background:var(--chip);border-radius:16px;padding:25px}.privacy-columns section.shared{background:var(--primarySoft)}.privacy-columns h3{margin:10px 0 15px}.privacy-columns p,.privacy-columns li{font-size:13px;line-height:1.65}.privacy-columns ul{margin:0 0 15px;padding-left:17px}.privacy-columns li+li{margin-top:8px}.staff-layout{grid-template-columns:1.5fr 1fr;gap:24px;margin:32px 0;display:grid}.panel-heading{align-items:center;gap:12px;margin-bottom:20px;display:flex}.staff-list{margin:0;padding:0;list-style:none}.staff-list li{border-bottom:1px solid var(--divider);flex-wrap:wrap;align-items:center;gap:16px;padding:20px 0;font-size:12px;display:flex}.staff-list li>div{overflow-wrap:anywhere;flex:1;min-width:160px}.staff-list small{color:var(--textMuted);margin-top:5px;font-size:10px;display:block}.staff-list .text-button{font-size:11px}.staff-list+p{margin-top:20px}.add-staff>p{margin:14px 0 24px}.add-staff form{flex-direction:column;gap:18px;display:flex}.signin-layout{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.signin-art{background:var(--primarySoft);flex-direction:column;justify-content:space-between;padding:48px 60px;display:flex;position:relative;overflow:hidden}.signin-art>div{margin:65px 0 90px;position:relative}.signin-art h1{margin:20px 0;font-size:48px;line-height:1.15}.signin-art p{max-width:380px;color:var(--primaryInk)}.signin-art .hero-leaf{width:220px;height:220px;color:var(--primary);opacity:.13;position:absolute;bottom:-150px;right:-45px;transform:rotate(20deg)}.signin-art>.small{letter-spacing:2px;font-size:9px}.signin-layout>main{justify-content:center;align-items:center;padding:50px;display:flex}.auth-panel{width:100%;max-width:390px}.auth-panel h1{margin:18px 0 20px;font-size:38px}.auth-panel>p{margin:16px 0 28px}.auth-panel form{flex-direction:column;gap:20px;margin:32px 0 20px;display:flex}.auth-panel .text-button{justify-content:center;min-height:28px;padding:0;font-size:11px}.signin-note{border-top:1px solid var(--divider);color:var(--textMuted);gap:12px;padding-top:22px;font-size:12px;display:flex}.signin-note svg{width:25px;color:var(--primary);flex:none}.public-layout{min-height:100vh;padding:32px 24px 60px}.public-layout>.brand{justify-content:center;margin-bottom:32px}.public-layout>.auth-panel{margin:70px auto}.landing{text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:780px;margin:0 auto;padding:42px;display:flex}.landing-leaf{background:var(--primarySoft);color:var(--primary);border-radius:50%;place-items:center;width:68px;height:68px;display:grid}.landing-leaf svg{width:40px}.landing h1{max-width:600px;font-size:36px}.landing-intro{color:var(--textMuted);font-size:17px}.landing .privacy-columns{width:100%;margin:8px 0}.landing>.muted{max-width:600px;font-size:13px}.landing .button{min-width:300px;margin-top:4px}.store-placeholder{color:var(--textMuted);cursor:default;font-size:12px}.landing>.small{font-size:11px}@media (width>=1600px){.main-content{padding:50px 54px}table{font-size:12px}.student-name{font-size:13px}th{font-size:11px}}@media (width<=1200px){:root{--desktop-sidebar:220px}.sidebar{padding:28px 18px}.main-content{padding:34px 25px}.table-toolbar{flex-direction:column;align-items:flex-start}.table-actions{justify-content:space-between;width:100%}.table-actions input{width:260px}.range-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.stats section{padding:20px}.staff-layout{grid-template-columns:1fr}.signin-art{padding:40px}.signin-art h1{font-size:40px}}@media (width<=800px){.portal-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--divider);gap:14px;width:100%;height:auto;padding:20px;position:static}.school-label,.privacy-note{display:none}.school-select{min-height:30px;margin:0;padding:0}.sidebar nav{flex-flow:wrap;gap:5px}.sidebar nav a{min-height:40px;padding:8px 12px;font-size:12px}.sidebar nav a span{font-size:16px}.sidebar-bottom{justify-content:space-between;align-items:center;gap:12px;margin:0;padding:0;display:flex}.account-email{margin:0;font-size:10px}.sidebar-bottom .text-button{min-height:30px;font-size:11px}.main-content{padding:28px 18px 50px}.page-heading{gap:12px}.page-heading h1{font-size:30px}.page-heading p{font-size:12px}.stats{gap:10px}.stats section{border-radius:14px;padding:17px 13px}.stats strong{font-size:30px}.stats section>span{font-size:10px}.stats p{font-size:9px}.stats svg{width:25px}.table-footer{flex-direction:column;gap:5px}.calendar-grid{grid-template-columns:repeat(14,minmax(32px,1fr))}.invite-grid{grid-template-columns:1fr}.qr-panel{padding:25px}.invite-privacy{margin-top:28px}.privacy-columns section{padding:20px}.signin-layout{grid-template-columns:1fr}.signin-art{padding:28px}.signin-art>div,.signin-art>.small{display:none}.signin-layout>main{padding:42px 24px}.landing{padding:28px 22px}.landing h1{font-size:30px}.public-layout{padding:25px 14px 40px}}@media (width<=480px){.page-heading>.role-badge{display:none}.table-actions{flex-direction:column;align-items:stretch}.table-actions input,.search-label{width:100%}.segmented{gap:2px;padding:4px}.segmented button{padding:8px 9px;font-size:10px}.stats p{display:none}.stats strong{margin-bottom:0}.privacy-columns{grid-template-columns:1fr}.privacy-columns section{padding:20px}.custom-range{gap:10px}.custom-range label{flex:1;min-width:0}.custom-range input{width:100%}.code-row code{letter-spacing:5px;font-size:28px}.staff-layout .panel{padding:22px}.landing .button{width:100%;min-width:0}.sidebar nav a{flex:1;font-size:11px}.calendar-heading{flex-direction:column;align-items:flex-start}}
