.pma-role-switch{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.pma-role-switch__label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#ffffff9e}.pma-role-switch__select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.22);background:#ffffff1a;color:#fff;font-size:13px;font-family:inherit;cursor:pointer;outline:none}.pma-role-switch__select:focus{border-color:#ffffff73;box-shadow:0 0 0 2px #ffffff1f}.pma-role-switch__select option{color:#111827;background:#fff}.pma-desktop-sidebar{position:fixed;left:0;top:0;height:100vh;width:256px;display:flex;flex-direction:column;gap:0;overflow:hidden;z-index:50;font-family:Poppins,system-ui,-apple-system,sans-serif;background:#1ea0da;background:linear-gradient(to bottom,#1ea0da,#0f6f9b);box-shadow:inset -1px 0 #ffffff2e,2px 0 8px #00000014;box-sizing:border-box}.pma-desktop-sidebar__brand{width:100%;padding:0;margin:0;overflow:hidden;display:block;line-height:0;font-size:0;flex-shrink:0;background:#1ea0da}.pma-desktop-sidebar__brand-img{width:100%;height:auto;max-width:100%;display:block;line-height:0;vertical-align:top;margin:0;padding:0;border:none}.pma-desktop-sidebar__body{flex:1;min-height:0;margin:0;padding:0;display:flex;flex-direction:column;background:linear-gradient(to bottom,#1ea0da,#0f6f9b)}.pma-desktop-sidebar__scroll{flex:1;min-height:0;margin:0;padding:18px 0 0;overflow-y:auto;overflow-x:visible;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.pma-desktop-sidebar__scroll::-webkit-scrollbar{width:4px}.pma-desktop-sidebar__scroll::-webkit-scrollbar-track{background:transparent}.pma-desktop-sidebar__scroll::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:9999px}.pma-desktop-sidebar__inner{flex:1;display:flex;flex-direction:column;padding-bottom:12px}.pma-desktop-sidebar__footer{flex-shrink:0;padding:14px 14px 18px;border-top:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;align-items:stretch;gap:10px;box-sizing:border-box}.pma-desktop-sidebar__footer-email{font-size:12px;font-weight:500;color:#ffffffc7;line-height:1.35;word-break:break-word}.pma-desktop-sidebar__footer-signout{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.28);background:#ffffff1a;color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s ease}.pma-desktop-sidebar__footer-signout:hover{background:#ffffff29}.pma-desktop-sidebar__row{display:flex;align-items:center;margin:0 4px;overflow:visible}.pma-desktop-sidebar__standalone{display:flex;align-items:center;flex:1;gap:4px;padding:5px 10px 5px 9px;border-radius:9999px;position:relative;overflow:visible;font-size:15px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#ffffffe6;text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease;border-left:3px solid transparent;box-sizing:border-box;border-top:none;border-right:none;border-bottom:none;background:transparent;font-family:inherit}.pma-desktop-sidebar__standalone:hover{background:#ffffff14;color:#fff;border-left:3px solid transparent}.pma-desktop-sidebar__standalone--active,.pma-desktop-sidebar__standalone--active:hover{color:#fff;background:transparent;border-left:3px solid #f47251}.pma-desktop-sidebar__divider{height:1px;background:#ffffff2e}.pma-desktop-sidebar__divider--after-dashboard{margin:4px 12px 8px}.pma-desktop-sidebar__divider--before-settings{margin:20px 12px 6px}.pma-desktop-sidebar__group{margin-top:20px;padding-top:0;padding-bottom:2px}.pma-desktop-sidebar__group--first{margin-top:8px}.pma-desktop-sidebar__group-trigger{display:flex;align-items:center;gap:4px;flex:1;padding:5px 10px 5px 9px;border-radius:9999px;position:relative;overflow:visible;cursor:pointer;transition:background .15s ease;border:none;background:transparent;border-left:3px solid transparent;box-sizing:border-box;width:100%;font-family:inherit;text-align:left}.pma-desktop-sidebar__group-trigger:hover{background:#ffffff14;border-left:3px solid transparent}.pma-desktop-sidebar__group-trigger--accent,.pma-desktop-sidebar__group-trigger--accent:hover{background:transparent;border-left:3px solid #f47251}.pma-desktop-sidebar__group-label{font-size:15px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;line-height:1.2;color:#ffffffe6;transition:color .2s ease,opacity .2s ease}.pma-desktop-sidebar__group--open .pma-desktop-sidebar__group-label{color:#fff}.pma-desktop-sidebar__group-spacer{flex:1}.pma-desktop-sidebar__group-chevron{display:inline-flex;align-items:center;justify-content:center;color:#ffffffb3;transition:transform .2s ease,color .2s ease;flex-shrink:0}.pma-desktop-sidebar__group--open .pma-desktop-sidebar__group-chevron{transform:rotate(180deg);color:#fff}.pma-desktop-sidebar__subpanel{background:#ffffff1a;border-radius:16px;padding-top:10px;padding-bottom:10px;margin:6px 8px 10px;display:flex;flex-direction:column;gap:0}.pma-desktop-sidebar__child{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;font-size:12px;font-weight:400;color:#fff;text-decoration:none;cursor:pointer;transition:all .15s ease;border-left:3px solid transparent;width:100%;box-sizing:border-box;background:transparent;border-top:none;border-right:none;border-bottom:none;font-family:inherit}.pma-desktop-sidebar__child:hover{background:#ffffff1a;border-left:3px solid rgba(255,255,255,.35);color:#fff}.pma-desktop-sidebar__child--active,.pma-desktop-sidebar__child--active:hover{background:#fff3;color:#fff;border-left:3px solid #f47251}.pma-desktop-sidebar__child-icon{width:16px;height:16px;flex-shrink:0;color:#fff}@media (max-width: 767px){.pma-desktop-sidebar{left:0;top:0;width:100%;max-width:none;height:100%;height:100dvh;transform:translate3d(-100%,0,0);transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:100;box-shadow:none;visibility:hidden;pointer-events:none}.pma-desktop-sidebar--mobile-open{visibility:visible;pointer-events:auto;transform:translateZ(0)}.pma-desktop-sidebar--mobile-open.pma-desktop-sidebar--mobile-closing{transform:translate3d(-100%,0,0)}.pma-desktop-sidebar__standalone{min-height:44px;padding:10px 12px 10px 9px;font-size:14px}.pma-desktop-sidebar__group-trigger{min-height:44px;padding:10px 12px 10px 9px}.pma-desktop-sidebar__group-label{font-size:14px}.pma-desktop-sidebar__child{min-height:44px;padding:10px 12px;font-size:14px;border-radius:12px}.pma-desktop-sidebar__child-icon{width:18px;height:18px}.pma-desktop-sidebar__footer-signout{min-height:44px;padding:10px 14px;border-radius:9999px}.pma-desktop-sidebar__subpanel{border-radius:16px}}.pma-app-main{margin-left:256px;min-height:100vh;background:#f9fafb;padding:24px;min-width:0;box-sizing:border-box}.pma-mobile-top-bar{display:none;position:sticky;top:0;z-index:30;height:56px;align-items:center;gap:12px;padding:0 16px;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 4px #0000000f;font-family:Poppins,system-ui,-apple-system,sans-serif}.pma-mobile-top-bar__menu{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:9999px;background:#1ea0da1f;color:#1ea0da;cursor:pointer;flex-shrink:0}.pma-mobile-top-bar__title{font-size:15px;font-weight:600;color:#111827e6;letter-spacing:.01em}.pma-sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;margin:0;padding:0;border:none;background:#0f172a66;cursor:pointer;-webkit-tap-highlight-color:transparent;animation:pma-sidebar-backdrop-in .2s ease-out}.pma-sidebar-backdrop--closing{animation:pma-sidebar-backdrop-out .28s ease-in forwards}@keyframes pma-sidebar-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes pma-sidebar-backdrop-out{0%{opacity:1}to{opacity:0}}.pma-sidebar-edge-swipe{position:fixed;left:0;top:0;bottom:0;width:max(28px,calc(env(safe-area-inset-left,0px) + 20px));z-index:35;touch-action:none;-webkit-tap-highlight-color:transparent}.pma-page-shell{width:100%;max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:22px;box-sizing:border-box;min-width:0}.pma-page-shell--narrow{max-width:720px}.pma-page-shell--wide{max-width:960px}.pma-page-header{display:flex;align-items:center;gap:14px;min-width:0}.pma-page-header__text{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.pma-page-header__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto}.pma-filter-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.pma-field-full-mobile{min-width:0}.pma-action-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}.pma-btn-touch{min-height:44px;padding:12px 20px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;border-radius:9999px;box-sizing:border-box}.pma-desktop-only{display:block}.pma-mobile-only{display:none}.pma-attendance-student-cards{display:none;flex-direction:column;gap:12px}.pma-attendance-student-card{border-radius:16px;border:1px solid #e5e7eb;background:#fff;padding:14px 16px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;gap:12px}.pma-attendance-student-card__name{font-size:16px;font-weight:600;color:#111827eb;line-height:1.35}.pma-attendance-student-card__row{display:flex;align-items:center;justify-content:space-between;gap:12px}.pma-attendance-student-card__label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#11182773}.pma-attendance-student-card__present input{width:22px;height:22px;cursor:pointer;accent-color:#1ea0da}.pma-attendance-student-card__notes textarea{width:100%;padding:10px 12px;border-radius:12px;border:1px solid #e5e7eb;font-family:inherit;font-size:15px;resize:vertical;box-sizing:border-box}.pma-attendance-select-all-row{display:flex;justify-content:flex-end;padding:0 4px 4px}.pma-attendance-select-all-row__present{display:flex;flex-direction:column;align-items:center;gap:6px}.pma-dash-layout{display:flex;flex-direction:column;gap:22px}.pma-dash-top-row{order:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}.pma-dash-quick{order:unset;min-width:0}.pma-dash-notifications{min-width:0}.pma-dash-semester{order:5}.pma-dash-stats{order:3}.pma-dash-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pma-dash-qa-grid{display:flex;gap:10px;flex-wrap:wrap;align-items:center}@media (max-width: 1080px){.pma-dash-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pma-dash-top-row{grid-template-columns:1fr}}@media (max-width: 767px){.pma-app-main{margin-left:0!important;padding:16px}.pma-mobile-top-bar{display:flex}.pma-page-header{flex-direction:column;align-items:flex-start}.pma-page-header__actions{margin-left:0;width:100%}.pma-page-header__actions>*{flex:1 1 100%;width:100%;justify-content:center}.pma-filter-row{flex-direction:column;align-items:stretch}.pma-field-full-mobile{width:100%;max-width:none!important}.pma-field-full-mobile select,.pma-field-full-mobile input,.pma-field-full-mobile textarea{width:100%;box-sizing:border-box}.pma-action-bar{flex-direction:column;align-items:stretch}.pma-action-bar .pma-btn-touch,.pma-action-bar>button,.pma-action-bar>a{width:100%;justify-content:center;text-align:center}.pma-desktop-only{display:none!important}.pma-mobile-only,.pma-attendance-student-cards{display:flex!important}.pma-dash-semester{order:5}.pma-dash-stats{order:4}.pma-dash-stats-grid{grid-template-columns:1fr}.pma-dash-qa-grid{flex-direction:column;align-items:stretch}.pma-dash-qa-grid .pma-dash-qa-btn{width:100%;justify-content:center;min-height:44px;box-sizing:border-box}.pma-attendance-calendar-wrap{max-width:none!important}}.pma-semester-overview__schedule{max-width:1400px;margin-left:auto;margin-right:auto;width:100%}.pma-weekly-schedule{width:100%;min-width:0;--pma-week-hour-row: 72px}.pma-weekly-schedule__scroll{overflow-x:auto;overflow-y:hidden}.pma-weekly-schedule__grid{display:flex;min-width:0}.pma-weekly-schedule__time-gutter{flex:0 0 52px;display:flex;flex-direction:column}.pma-weekly-schedule__corner{height:44px;flex-shrink:0;border-bottom:1px solid #eef0f3}.pma-weekly-schedule__hour-label{height:var(--pma-week-hour-row);font-size:11px;font-weight:500;color:#11182773;text-align:right;padding-right:8px;box-sizing:border-box}.pma-weekly-schedule__columns{flex:1;display:flex;min-width:0}.pma-weekly-schedule__column{flex:1;min-width:96px;border-left:1px solid #eef0f3}.pma-weekly-schedule__day-header{text-align:center;padding:10px 6px 12px;border-bottom:1px solid #eef0f3;background:#fafafa;color:#111827e0;font-size:12px;font-weight:700;letter-spacing:.04em}.pma-weekly-schedule__day-header--today{background:#1ea0da;color:#fff}.pma-weekly-schedule__day-body{position:relative}.pma-weekly-schedule__hour-line{position:absolute;left:0;right:0;height:var(--pma-week-hour-row);border-bottom:1px solid #eef0f3;box-sizing:border-box}.pma-weekly-schedule__class-card{position:absolute;min-height:44px;border-radius:8px;color:#fff;padding:6px 8px;display:flex;flex-direction:column;min-width:0;box-sizing:border-box;overflow:hidden;box-shadow:0 1px 2px #00000014;z-index:1;cursor:pointer}.pma-weekly-schedule__class-card:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:1px}.pma-weekly-schedule__class-card-main{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden}.pma-weekly-schedule__class-name{font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pma-weekly-schedule__class-teacher{font-size:10px;font-weight:500;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pma-weekly-schedule__class-enrollment{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:600;flex-shrink:0;margin-top:4px;min-width:0}.pma-weekly-schedule__enrollment-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.pma-weekly-schedule__enrollment-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1080px){.pma-weekly-schedule__column{min-width:88px}.pma-weekly-schedule__class-card{padding:5px 6px}.pma-weekly-schedule__class-name{font-size:11px}}@media (max-width: 767px){.pma-weekly-schedule__scroll{margin-left:-4px;margin-right:-4px;padding-left:4px;padding-right:4px}.pma-weekly-schedule__grid{min-width:640px}.pma-weekly-schedule__column{min-width:100px}}._wrap_ub49w_1{position:relative;width:100%;box-sizing:border-box}._input_ub49w_7{box-sizing:border-box;width:100%;padding-right:44px}._toggle_ub49w_13{position:absolute;top:0;right:4px;bottom:0;margin:auto 0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:8px;background:transparent;color:#64748b;cursor:pointer}._toggle_ub49w_13:hover{color:#334155;background:#0f172a0f}._toggle_ub49w_13:focus-visible{outline:2px solid #1ea0da;outline-offset:1px}._toggle_ub49w_13:disabled{cursor:default;opacity:.5}.student-boot-splash{box-sizing:border-box;min-height:100vh;min-height:100dvh;width:100%;margin:0;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));display:grid;place-items:center;background:radial-gradient(ellipse 80% 50% at 50% 0%,#e8f5fc 0%,transparent 55%),#fff;color:#16324a}.student-boot-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#fff}.student-boot-overlay .student-boot-splash{min-height:100%;height:100%}.student-boot-splash__logo{width:min(90vw,520px);line-height:0}.student-boot-splash__logo svg,.student-boot-splash__logo img{width:100%;height:auto;display:block}.student-boot-splash__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body,#root{font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}button,input,textarea,select{font-family:inherit}input,textarea,select{font-weight:400}button{font-weight:500}h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:600;letter-spacing:.02em}[data-sonner-toast].pma-sonner-toast,[data-sonner-toast][class*=pma-sonner-toast]{font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;border:1px solid rgba(17,24,39,.1);box-shadow:0 10px 32px #1018281f}.pma-sonner-toast__title{font-weight:600}@keyframes worksheet-upload-spin{to{transform:rotate(360deg)}}.pma-students-td-name{font-weight:600}button.pma-student-name-link{margin:0;padding:0;border:none;background:transparent;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;font-weight:600!important;font-size:15px;color:#111827f0;text-decoration:none;line-height:1.35;text-align:left}button.pma-student-name-link:hover{color:#1ea0da}button.pma-student-name-link:focus-visible{outline:2px solid rgba(30,160,218,.45);outline-offset:2px;border-radius:6px!important}span.pma-student-name-link--restricted{font-weight:600;font-size:15px;color:#1118278c;line-height:1.35;cursor:default}
