:root{--gt-green-50:#e6f4ef;--gt-green-100:#c2e5d8;--gt-green-200:#8fd0bb;--gt-green-300:#54b999;--gt-green-400:#1f9e77;--gt-green-500:#018156;--gt-green-600:#017049;--gt-green-700:#016547;--gt-green-800:#014a34;--gt-green-900:#013525;--gt-blue-500:#2771ff;--gt-gray-0:#fff;--gt-gray-50:#fafafa;--gt-gray-100:#eee;--gt-gray-200:#e0e0e0;--gt-gray-300:#dadada;--gt-gray-400:#bdbdbd;--gt-gray-500:#8a8a8a;--gt-gray-600:#616161;--gt-gray-700:#424242;--gt-gray-800:#303030;--gt-gray-900:#1c1c1c;--gt-success:#018156;--gt-success-soft:#e6f4ef;--gt-success-text:#016547;--gt-warning:#b26a00;--gt-warning-soft:#fef3c7;--gt-warning-text:#8a5200;--gt-error:#dc2626;--gt-error-soft:#fdecea;--gt-error-text:#b91c1c;--gt-info:#2771ff;--gt-info-soft:#eaf1ff;--gt-info-text:#1543a8;--gt-gold:#fdc700;--gt-ucsc-blue:#003c6c;--gt-canvas:var(--gt-gray-100);--gt-surface:var(--gt-gray-0);--gt-surface-muted:var(--gt-gray-50);--gt-surface-sunken:var(--gt-gray-100);--gt-text-primary:var(--gt-gray-800);--gt-text-secondary:var(--gt-gray-700);--gt-text-tertiary:var(--gt-gray-600);--gt-text-inverse:var(--gt-gray-0);--gt-text-link:var(--gt-blue-500);--gt-border:var(--gt-gray-300);--gt-border-strong:var(--gt-gray-400);--gt-border-subtle:var(--gt-gray-200);--gt-primary:var(--gt-green-500);--gt-primary-hover:var(--gt-green-700);--gt-primary-soft:var(--gt-green-50);--gt-accent:var(--gt-blue-500);--gt-focus-ring:0 0 0 2px var(--gt-gray-0), 0 0 0 4px var(--gt-blue-500);--gt-focus-ring-tight:0 0 0 2px var(--gt-blue-500);--gt-scrim:#00000080;--gt-font-sans:"Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--gt-font-mono:"Fira Code", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--gt-weight-regular:400;--gt-weight-medium:500;--gt-weight-semibold:600;--gt-weight-bold:700;--gt-text-caption:12px;--gt-text-body:14px;--gt-text-body-lg:16px;--gt-text-h3:20px;--gt-text-h2:24px;--gt-text-h1:32px;--gt-text-display:40px;--gt-leading-tight:1.2;--gt-leading-snug:1.4;--gt-leading-normal:1.5;--gt-leading-loose:1.7;--gt-tracking-tight:-.01em;--gt-tracking-normal:0;--gt-tracking-wide:.03em;--gt-tracking-caps:.5px;--gt-space-xs:4px;--gt-space-sm:8px;--gt-space-md:16px;--gt-space-lg:24px;--gt-space-xl:32px;--gt-space-xxl:60px;--gt-radius-sm:7px;--gt-radius-md:10px;--gt-radius-lg:20px;--gt-radius-pill:999px;--gt-shadow-card:0 0 2.61px #00000040;--gt-shadow-hairline:0 0 4px #00000014;--gt-shadow-hover:0 2px 12px #0000001a;--gt-shadow-pop:0 4px 12px #00000026;--gt-shadow-modal:0 20px 60px #0000004d;--gt-transition-fast:.2s ease;--gt-transition-medium:.3s ease;--gt-z-base:1;--gt-z-dropdown:10;--gt-z-modal:100;--gt-z-tooltip:1000;--gt-container:543px;--gt-sidebar-w:256px;--gt-sidebar-collapsed-w:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}html,body{min-height:100vh;margin:0}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{box-shadow:var(--gt-focus-ring);outline:2px solid #0000!important}::view-transition-old(root){animation-duration:.2s;animation-timing-function:ease}::view-transition-new(root){animation-duration:.2s;animation-timing-function:ease}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}#root{min-height:100vh}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes gt-pop-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes gt-rise-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.landing-header{z-index:1000;background:#0c1f18;padding:0;transition:padding .38s cubic-bezier(.4,0,.2,1),background .38s cubic-bezier(.4,0,.2,1);position:fixed;inset:0 0 auto}.landing-header__inner{will-change:max-width, padding, border-radius;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:1800px;margin:0 auto;padding:14px clamp(20px,5vw,48px);transition:max-width .38s cubic-bezier(.4,0,.2,1),margin .38s cubic-bezier(.4,0,.2,1),padding .38s cubic-bezier(.4,0,.2,1),border-radius .38s cubic-bezier(.4,0,.2,1),background .38s cubic-bezier(.4,0,.2,1),box-shadow .38s cubic-bezier(.4,0,.2,1);display:flex}.landing-header__logo{flex-shrink:0;align-items:center;display:inline-flex}.landing-header__logo img{width:auto;height:48px;transition:height .38s cubic-bezier(.4,0,.2,1);display:block}.landing-header__logo:focus-visible{border-radius:4px}.landing-header__nav{align-items:center;gap:16px;display:flex}.landing-header__link{color:#ffffffd1;padding:8px 4px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;text-decoration:none;transition-property:color;transition-duration:.2s;transition-timing-function:ease}.landing-header__link:hover{color:#fff}.landing-header__link:focus-visible{border-radius:4px}.landing-header__btn{white-space:nowrap;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:9px 18px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;text-decoration:none;transition-property:background,transform,border-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.landing-header__btn--ghost{color:#fff;background:0 0;border:1px solid #0000}.landing-header__btn--ghost:hover{color:#fff;background:0 0}.landing-header__btn--primary{color:#fff;background:#018156;border:1px solid #0000}.landing-header__btn--primary:hover{color:#fff;background:#016547;transform:translateY(-1px)}.landing-header__btn--primary:active{transform:translateY(0)}.landing-header--scrolled{background:0 0;padding:12px 16px}.landing-header--scrolled .landing-header__inner{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c1f18d1;border-radius:999px;max-width:960px;margin:0 auto;padding:10px 22px 10px 28px;box-shadow:0 10px 30px #00000047}.landing-header--scrolled .landing-header__logo img{height:38px}@media (width<=768px){.landing-header__inner{gap:0;padding:16px}.landing-header__logo img{width:auto;height:34px}.landing-header__nav{gap:4px;margin-left:auto}.landing-header__link{padding:6px 8px;font-size:12px}.landing-header__btn{padding:7px 12px;font-size:12px}.landing-header__btn--primary{padding-right:16px}.landing-header--scrolled .landing-header__logo img{height:30px}.landing-header--scrolled .landing-header__inner{padding:10px 16px 10px 20px}}@media (width<=400px){.landing-header__inner{gap:0;padding:14px 12px}.landing-header__logo img{height:28px}.landing-header__nav{gap:2px}.landing-header__link{padding:6px;font-size:11px}.landing-header__btn{padding:7px 9px;font-size:11px}.landing-header__btn--primary{padding-right:13px}}@media (prefers-reduced-motion:reduce){.landing-header,.landing-header__inner,.landing-header__logo img,.landing-header__btn{transition:none}}.hero{text-align:center;background:radial-gradient(60% 50% at 50% 0,#01815614,#0000 70%),#eee;padding:clamp(140px,18vh,220px) 24px clamp(80px,12vh,140px);position:relative;overflow:hidden}.hero:before{content:"";z-index:0;pointer-events:none;background-image:radial-gradient(circle,#212b362e 1.4px,#0000 1.6px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(90% 70% at 50% 42%,#0000 18%,#000 62%);mask-image:radial-gradient(90% 70% at 50% 42%,#0000 18%,#000 62%)}.hero__content{z-index:2;max-width:760px;margin:0 auto;position:relative}.hero__eyebrow{letter-spacing:.04em;text-transform:uppercase;color:#018156;background:#0181561a;border-radius:999px;margin-bottom:24px;padding:6px 14px;font-family:Poppins,sans-serif;font-size:12px;font-weight:600;display:inline-block}.hero__title{letter-spacing:-.02em;color:#212b36;margin:0 0 24px;font-family:Poppins,sans-serif;font-size:clamp(2.75rem,6vw,4.75rem);font-weight:700;line-height:1.04}.hero__title-accent{background:linear-gradient(135deg,#018156,#02a06b);color:#0000;-webkit-background-clip:text;background-clip:text}.hero__subtitle{color:#616161;max-width:560px;margin:0 auto 32px;font-family:Poppins,sans-serif;font-size:clamp(16px,2.2vw,20px);font-weight:400;line-height:1.6}.hero__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;display:flex}.hero__cta{color:#fff;background:#018156;border-radius:10px;align-items:center;padding:14px 34px;font-family:Poppins,sans-serif;font-size:16px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 8px 24px #01815647}.hero__cta:hover{color:#fff;background:#016547;transform:translateY(-2px);box-shadow:0 12px 30px #01815657}.hero__cta:active{transform:translateY(0)}.hero__cta:focus-visible{box-shadow:var(--gt-focus-ring), 0 8px 24px #01815647;outline:none}.hero__signin{color:#424242;font-family:Poppins,sans-serif;font-size:16px;font-weight:500;text-decoration:none;transition:color .2s}.hero__signin span{transition:transform .2s;display:inline-block}.hero__signin:hover{color:#018156}.hero__signin:hover span{transform:translate(4px)}.hero__signin:focus-visible{border-radius:4px}.hero__cards{z-index:1;pointer-events:none;position:absolute;inset:0}.float-card{text-align:left;background:#fff;border-radius:22px;padding:20px;position:absolute;box-shadow:0 2px 6px #212b360a,0 24px 48px -12px #212b3624}.float-card__head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:16px;display:flex}.float-card__title{color:#212b36;letter-spacing:-.01em;font-family:Poppins,sans-serif;font-size:14px;font-weight:600}.float-card__meta{color:#9aa0a6;font-family:Poppins,sans-serif;font-size:11px;font-weight:500}.float-card--team{width:248px;animation:7s ease-in-out infinite float-team;top:22%;left:3%;transform:rotate(-3deg)}.float-card__avatars{margin-bottom:14px;display:flex}.float-card__avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;margin-left:-10px;font-size:12px;font-weight:600;display:inline-flex;box-shadow:0 0 0 3px #fff}.float-card__avatar:first-child{margin-left:0}.float-card__chips{flex-wrap:wrap;gap:7px;display:flex}.float-card__chip{color:#424242;background:#f3f4f6;border-radius:999px;padding:4px 11px;font-size:11px;font-weight:500}.float-card--tasks{width:252px;animation:9s ease-in-out infinite float-tasks;bottom:18%;left:5%;transform:rotate(3deg)}.float-card__bars{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.float-card__bar-top{justify-content:space-between;align-items:center;margin-bottom:8px;font-family:Poppins,sans-serif;display:flex}.float-card__bar-top span{color:#212b36;font-size:12.5px;font-weight:500}.float-card__bar-top strong{color:#018156;font-size:12px;font-weight:600}.float-card__bar-track{background:#eef0f2;border-radius:999px;height:7px;overflow:hidden}.float-card__bar-fill{background:#018156;border-radius:999px;height:100%}.float-card--tsr{text-align:center;width:184px;animation:8s ease-in-out infinite float-tsr;top:30%;right:4%;transform:rotate(4deg)}.float-card--tsr .float-card__title{text-align:left;margin-bottom:8px;display:block}.float-card__ring{width:84px;height:84px;margin:4px auto 10px;position:relative}.float-card__ring-track{fill:none;stroke:#eef0f2;stroke-width:9px}.float-card__ring-value{fill:none;stroke:#018156;stroke-width:9px;stroke-linecap:round}.float-card__ring-center{color:#212b36;justify-content:center;align-items:center;gap:3px;font-family:Poppins,sans-serif;display:flex;position:absolute;inset:0}.float-card__ring-center strong{font-size:17px;font-weight:700}.float-card__ring-center span{color:#616161;font-size:10px}.float-card__caption{color:#616161;font-size:11.5px}.float-card--roster{width:256px;animation:9.5s ease-in-out infinite float-roster;bottom:7%;right:6%;transform:rotate(-3deg)}.float-card__rows{flex-direction:column;gap:13px;margin:0;padding:0;list-style:none;display:flex}.float-card__row{align-items:center;gap:11px;display:flex}.float-card__row-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.float-card__row-text{flex-direction:column;flex:1;line-height:1.35;display:flex}.float-card__row-text strong{color:#212b36;font-size:13px;font-weight:500}.float-card__row-text em{color:#616161;font-size:11px;font-style:normal}.float-card__row-badge{color:#018156;letter-spacing:.01em;background:#0181561a;border-radius:999px;flex-shrink:0;padding:3px 8px;font-family:Poppins,sans-serif;font-size:10px;font-weight:600}@keyframes float-team{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-12px)rotate(-3deg)}}@keyframes float-tasks{0%,to{transform:translateY(0)rotate(3deg)}50%{transform:translateY(-9px)rotate(3deg)}}@keyframes float-tsr{0%,to{transform:translateY(0)rotate(4deg)}50%{transform:translateY(10px)rotate(4deg)}}@keyframes float-roster{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-10px)rotate(-3deg)}}@media (width<=1080px){.float-card--tasks,.float-card--roster{display:none}.float-card--team{top:22%;left:3%}.float-card--tsr{top:30%;right:3%}}@media (width<=768px){.hero__cards{display:none}}@media (prefers-reduced-motion:reduce){.float-card{animation:none}.hero__cta,.hero__signin span{transition:none}}.solutions{background:#fff;padding:clamp(72px,10vw,120px) 24px clamp(60px,8vw,100px)}.solutions__inner{text-align:center;max-width:1100px;margin:0 auto}.solutions__heading{letter-spacing:-.02em;color:#212b36;margin:0 0 16px;font-family:Poppins,sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:700}.solutions__sub{color:#616161;max-width:520px;margin:0 auto clamp(48px,7vw,72px);font-family:Poppins,sans-serif;font-size:16px;line-height:1.6}.solutions__columns{justify-content:center;align-items:flex-start;gap:0;margin-bottom:clamp(48px,7vw,72px);display:flex}.feature-col{text-align:left;flex:1;max-width:300px;padding:0 24px}.feature-col__icon{color:#018156;background:var(--gt-primary-soft);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:16px;display:inline-flex}.feature-col__title{color:#212b36;margin:0 0 8px;font-family:Poppins,sans-serif;font-size:16px;font-weight:600;line-height:1.3}.feature-col__desc{color:#616161;margin:0;font-family:Poppins,sans-serif;font-size:14px;line-height:1.65}.solutions__preview{background:linear-gradient(160deg,#e8f5f0 0%,#d6eee6 40%,#c8e8dc 100%);border-radius:24px;justify-content:center;align-items:center;padding:clamp(24px,4vw,48px);display:flex}.preview-window{background:#fff;border-radius:14px;width:100%;max-width:860px;overflow:hidden;box-shadow:0 4px 12px #212b3614,0 24px 64px #212b3629}.preview-window__chrome{background:#f3f4f6;border-bottom:1px solid #e5e7eb;align-items:center;gap:6px;padding:10px 16px;display:flex}.preview-window__chrome span{border-radius:50%;width:10px;height:10px;display:block}.preview-window__chrome span:first-child{background:#fc5c65}.preview-window__chrome span:nth-child(2){background:#fed330}.preview-window__chrome span:nth-child(3){background:#26de81}.preview-window__body{aspect-ratio:1512/560;display:block;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,#0000 100%);mask-image:linear-gradient(#000 55%,#0000 100%)}.preview-window__img{object-fit:cover;object-position:top center;width:100%;height:100%;margin-top:-.75px;display:block}.preview-sidebar{background:#1a2332;flex-direction:column;flex-shrink:0;gap:20px;width:140px;padding:16px 12px;display:flex}.preview-sidebar__logo{color:#fff;letter-spacing:.04em;background:#018156;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.preview-sidebar__nav{flex-direction:column;gap:2px;display:flex}.preview-sidebar__item{color:#ffffff80;cursor:default;border-radius:7px;padding:7px 10px;font-family:Poppins,sans-serif;font-size:12px;font-weight:500}.preview-sidebar__item--active{color:#6dd9ae;background:#01815640}.preview-main{flex-direction:column;flex:1;gap:18px;padding:20px 24px;display:flex;overflow:hidden}.preview-main__header{justify-content:space-between;align-items:flex-start;display:flex}.preview-main__greeting{color:#212b36;font-family:Poppins,sans-serif;font-size:16px;font-weight:700;line-height:1.2}.preview-main__date{color:#616161;margin-top:2px;font-family:Poppins,sans-serif;font-size:11px}.preview-main__cards{gap:12px;display:flex}.preview-stat{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;flex:1;padding:12px 14px}.preview-stat__label{color:#616161;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-family:Poppins,sans-serif;font-size:10px;font-weight:500}.preview-stat__value{color:#212b36;margin-bottom:8px;font-family:Poppins,sans-serif;font-size:22px;font-weight:700;line-height:1}.preview-stat__value span{color:#616161;font-size:13px;font-weight:400}.preview-stat__bar{background:#e5e7eb;border-radius:999px;height:4px;overflow:hidden}.preview-stat__fill{background:#018156;border-radius:999px;height:100%}.preview-teams__title{color:#424242;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-family:Poppins,sans-serif;font-size:12px;font-weight:600}.preview-teams{flex-direction:column;gap:10px;display:flex}.preview-team-row{grid-template-columns:100px 70px 1fr 36px;align-items:center;gap:10px;display:grid}.preview-team-row__name{color:#212b36;font-family:Poppins,sans-serif;font-size:12.5px;font-weight:500}.preview-team-row__members{color:#616161;font-family:Poppins,sans-serif;font-size:11px}.preview-team-row__bar{background:#e5e7eb;border-radius:999px;height:5px;overflow:hidden}.preview-team-row__fill{background:#018156;border-radius:999px;height:100%}.preview-team-row__pct{color:#018156;text-align:right;font-family:Poppins,sans-serif;font-size:11px;font-weight:600}@media (width<=900px){.solutions__columns{flex-direction:column;align-items:flex-start;gap:32px}.solutions__divider{display:none}.feature-col{max-width:100%;padding:0}.preview-sidebar{width:110px}.preview-window__body{aspect-ratio:1512/640}}@media (width<=640px){.preview-sidebar{display:none}.preview-main__cards{flex-direction:column}.preview-window__body{aspect-ratio:1512/760}}@media (prefers-reduced-motion:reduce){.feature-col{transition:none}}.landing-footer{color:#ffffffc7;background:#0c1f18}.landing-footer__inner{flex-wrap:wrap;justify-content:space-between;gap:32px;max-width:1080px;margin:0 auto;padding:clamp(56px,8vw,88px) 24px 32px;display:flex}.landing-footer__brand{flex-direction:column;align-items:flex-start;max-width:280px;display:flex}.landing-footer__logo{width:auto;height:56px;margin-bottom:16px;margin-left:-6px;display:block}.landing-footer__tagline{color:#fff9;margin:0;padding-left:2px;font-family:Poppins,sans-serif;font-size:16px}.landing-footer__links{flex-wrap:wrap;gap:clamp(32px,6vw,72px);display:flex}.landing-footer__col{flex-direction:column;gap:12px;display:flex}.landing-footer__col a{color:#ffffffb8;font-family:Poppins,sans-serif;font-size:14px;text-decoration:none;transition-property:color;transition-duration:.2s;transition-timing-function:ease}.landing-footer__col a:hover{color:#fff}.landing-footer__col a:focus-visible{border-radius:3px}.landing-footer__col-title{letter-spacing:.04em;text-transform:uppercase;color:#ffffff73;margin-bottom:4px;font-family:Poppins,sans-serif;font-size:12px;font-weight:600}.landing-footer__bar{text-align:center;color:#ffffff80;border-top:1px solid #ffffff1a;padding:16px 24px;font-family:Poppins,sans-serif;font-size:12px}@media (width<=768px){.landing-footer__inner{flex-direction:column;gap:32px}.landing-footer__links{gap:32px}}@media (prefers-reduced-motion:reduce){.landing-footer__col a{transition:none}}.landing{color:#303030;background:#eee;min-height:100vh;font-family:Poppins,sans-serif;overflow-x:clip}.landing main{display:block}.contact-page{color:#303030;background:#eee;flex-direction:column;min-height:100vh;font-family:Poppins,sans-serif;display:flex;overflow-x:clip}.contact-page__main{flex:1;justify-content:center;align-items:flex-start;padding:clamp(140px,18vh,200px) 24px clamp(64px,10vh,100px);display:flex}.contact-page__card{background:#fff;border:1px solid #212b360d;border-radius:20px;width:100%;max-width:560px;padding:clamp(24px,5vw,48px);box-shadow:0 20px 50px #212b3614}.contact-page__eyebrow{letter-spacing:.04em;text-transform:uppercase;color:#018156;background:var(--gt-primary-soft);border-radius:999px;margin-bottom:16px;padding:6px 14px;font-family:Poppins,sans-serif;font-size:12px;font-weight:600;display:inline-block}.contact-page__title{letter-spacing:-.02em;color:#212b36;margin:0 0 8px;font-family:Poppins,sans-serif;font-size:clamp(2rem,4vw,2.75rem);font-weight:700}.contact-page__sub{color:#616161;margin:0 0 32px;font-family:Poppins,sans-serif;font-size:16px;line-height:1.6}.contact-page__form{flex-direction:column;gap:16px;display:flex}.contact-page__field{flex-direction:column;gap:6px;display:flex}.contact-page__field span{color:#424242;font-size:14px;font-weight:500}.contact-page__field input,.contact-page__field textarea{color:#303030;resize:vertical;background:#fff;border:1px solid #dadada;border-radius:7px;padding:12px 14px;font-family:Poppins,sans-serif;font-size:14px;transition-property:border-color,box-shadow;transition-duration:.2s;transition-timing-function:ease}.contact-page__field input::placeholder,.contact-page__field textarea::placeholder{color:#9aa0a6}.contact-page__field input:focus,.contact-page__field textarea:focus{box-shadow:0 0 0 3px var(--gt-primary-soft);border-color:#018156;outline:none}.contact-page__honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-page__status{margin:8px 0 0;font-size:14px;line-height:1.5}.contact-page__status--success{color:#018156}.contact-page__status--error{color:#c0392b}.contact-page__submit{color:#fff;cursor:pointer;background:#018156;border:none;border-radius:10px;align-self:flex-start;margin-top:8px;padding:13px 30px;font-family:Poppins,sans-serif;font-size:16px;font-weight:600;transition-property:transform,background;transition-duration:.2s;transition-timing-function:ease}.contact-page__submit:hover{color:#fff;background:#016547;transform:translateY(-1px)}.contact-page__submit:active{transform:translateY(0)}.contact-page__submit:disabled{opacity:.7;cursor:not-allowed;transform:none}@media (prefers-reduced-motion:reduce){.contact-page__field input,.contact-page__field textarea,.contact-page__submit{transition:none}}.sidebar{background-color:var(--gt-primary);z-index:1000;flex-direction:column;width:256px;font-family:Poppins,sans-serif;transition-property:width;transition-duration:.3s;transition-timing-function:ease;display:flex;position:fixed;top:0;bottom:0}.sidebar.collapsed{width:64px}.sidebar.collapsed .sidebar-logo,.sidebar.collapsed .sidebar-item span,.sidebar.collapsed .control-label{display:none}@media (width<=768px){.sidebar{width:264px;transition-property:transform;transition-duration:.3s;transition-timing-function:ease;transform:translate(-100%);box-shadow:0 0 40px #00000059}.sidebar.mobile-open{transform:translate(0)}.sidebar .collapse-button{display:none}}.sidebar-header{justify-content:space-between;align-items:center;padding:.875rem 1rem 0;display:flex}.sidebar.collapsed .sidebar-header{justify-content:center;padding:.875rem .5rem}.sidebar-logo{flex:1;align-items:center;display:flex}.sidebar-logo img{width:180px;height:auto}.collapse-button{color:var(--gt-text-inverse);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.5rem;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:flex}.collapse-button:hover{background-color:#ffffff1a}.class-selector{margin:.875rem 1rem;position:relative}.class-selector-header{background-color:var(--gt-canvas);cursor:pointer;width:100%;color:var(--gt-text-primary);border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:.625rem .875rem;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:flex}.class-selector-header:hover{background-color:var(--gt-gray-200)}.class-selector-header .rotated{transition-property:transform;transition-duration:.2s;transition-timing-function:ease;transform:rotate(180deg)}.class-name{text-align:left;font-size:.8125rem;font-weight:500}.class-selector-dropdown{background-color:var(--gt-surface);z-index:1000;border-radius:8px;max-height:300px;margin-top:.5rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.class-selector-empty{text-align:center;color:var(--gt-text-tertiary);padding:1rem;font-size:.875rem}.class-selector-item{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;padding:.75rem 1rem;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:flex}.class-selector-item:hover{background-color:var(--gt-gray-50)}.class-selector-item.active{background-color:var(--gt-green-50)}.class-selector-item:first-child{border-radius:8px 8px 0 0}.class-selector-item:last-child{border-radius:0 0 8px 8px}.class-item-name{color:var(--gt-text-primary);font-size:.875rem;font-weight:500}.class-item-code{color:var(--gt-text-tertiary);font-size:.75rem}.sidebar-nav{overscroll-behavior:contain;flex:1;min-height:0;padding:0 0 .375rem;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:0 0;border-radius:2px}.sidebar-nav:hover::-webkit-scrollbar-thumb{background:#ffffff40}.sidebar-nav{scrollbar-width:thin;scrollbar-color:transparent transparent}.sidebar-nav:hover{scrollbar-color:#ffffff40 transparent}.sidebar-section{margin-bottom:.25rem}.sidebar.collapsed .sidebar-section{margin-bottom:1rem}.section-title{color:var(--gt-text-inverse);text-transform:uppercase;letter-spacing:.5px;margin:0;padding:.375rem 1rem;font-size:.65rem;font-weight:600}.section-items{margin:0;padding:0 1.2rem;list-style:none;overflow:visible}.sidebar.collapsed .section-items{padding:0 .5rem}.section-items li{overflow:visible}.sidebar-item{width:100%;color:var(--gt-text-inverse);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem;font-size:.8125rem;transition-property:background-color,color;transition-duration:.2s;transition-timing-function:ease;display:flex;position:relative;overflow:visible}.sidebar-item span{min-width:0}.sidebar-item .icon-svg{filter:brightness(0)invert();width:18px;height:18px}.sidebar-item__badge{color:var(--gt-text-inverse);text-align:center;background:#ff3b30;border-radius:10px;min-width:18px;margin-left:auto;padding:1px 6px;font-size:.7rem;font-weight:700;line-height:1.4}.sidebar-item:hover{background-color:#ffffff1a}.sidebar-item.active{background-color:var(--gt-canvas);color:var(--gt-text-primary);font-weight:500}.sidebar-item.active .icon-svg{filter:brightness(0)}.sidebar-item.active:before{content:"";background-color:var(--gt-canvas);z-index:1;border-radius:0 8px 8px 0;width:6px;height:95%;position:absolute;top:50%;left:-1.2rem;transform:translateY(-50%)}.sidebar.collapsed .sidebar-item{justify-content:center;width:100%;padding:.75rem}.sidebar.collapsed .sidebar-item.active:before{display:none}.sidebar-item--group .sidebar-item__chevron{flex-shrink:0;margin-left:auto;transition-property:transform;transition-duration:.2s;transition-timing-function:ease}.sidebar-item--group .sidebar-item__chevron.rotated{transform:rotate(180deg)}.sidebar-subitems-wrap{grid-template-rows:0fr;transition-property:grid-template-rows;transition-duration:.3s;transition-timing-function:ease;display:grid}.sidebar-subitems-wrap.open{grid-template-rows:1fr}.sidebar-subitems{min-height:0;margin:0;padding:0 0 0 1.65rem;list-style:none;overflow:hidden}.sidebar-subitems .sidebar-item--child{padding:.5rem .75rem;font-size:.8125rem}.sidebar-subitems .sidebar-item--child.active:before{left:-1.65rem}.app-header{background:var(--gt-surface);z-index:10;justify-content:space-between;align-items:center;height:64px;padding:16px 24px;display:flex;position:sticky;top:0}.app-header--class{height:auto;min-height:64px;padding-top:16px;padding-bottom:10px}.app-header .app-header__page-title{color:var(--gt-text-secondary);margin:0;padding-left:8px;font-family:Poppins,sans-serif;font-size:24px;font-weight:600;line-height:1.2}.app-header .app-header__breadcrumb-link{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0}.app-header .app-header__breadcrumb-link:hover{text-decoration:underline}.app-header .app-header__breadcrumb-separator,.app-header .app-header__breadcrumb-rest{font:inherit;color:inherit}.app-header .app-header__right{align-items:center;gap:16px;display:flex}.app-header__title-block{flex-direction:column;gap:3px;display:flex}.app-header__class-meta{flex-wrap:wrap;align-items:center;gap:6px;padding-left:8px;display:flex}.app-header__class-term{color:var(--gt-text-tertiary);font-family:Poppins,sans-serif;font-size:.8rem;font-weight:500}.app-header__meta-dot{color:var(--gt-text-tertiary);font-size:.8rem}.app-header__meta-label{color:var(--gt-text-tertiary);font-family:Poppins,sans-serif;font-size:.8rem;font-weight:500}.app-header__access-pill{color:var(--gt-primary);cursor:pointer;background-color:#0181562e;border:none;border-radius:5px;align-items:center;gap:6px;padding:2px 10px 2px 12px;transition-property:background-color,box-shadow;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.app-header__access-pill:hover{background-color:#01815638;box-shadow:0 0 0 1px #0181561f}.app-header__access-pill:focus{outline:none}.app-header__access-pill:focus-visible{box-shadow:var(--gt-focus-ring);outline:none}.app-header__access-pill--copied{background-color:#01815642}.app-header__access-code{color:var(--gt-primary);font-family:Poppins,sans-serif;font-size:.8rem;font-weight:600}.app-header__copy-btn{width:18px;height:18px;color:var(--gt-primary);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition-property:transform,opacity,color,background-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.app-header__copy-btn--copied{color:var(--gt-primary-hover);transform:translateY(-1px)}.app-header__search-bar{width:250px;position:relative}.app-header__search-bar .app-header__search-icon{color:var(--gt-text-secondary);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.app-header__search-bar .app-header__search-input{background-color:var(--gt-surface);width:100%;box-shadow:var(--gt-shadow-card);color:var(--gt-text-secondary);border:1px solid #0000;border-radius:7px;padding:8px 12px 8px 40px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;transition-property:all;transition-duration:.2s;transition-timing-function:ease}.app-header__search-bar .app-header__search-input::placeholder{color:var(--gt-text-secondary)}.app-header__search-bar .app-header__search-input:focus{background-color:#fff;border-color:#2771ff;outline:none}.app-header__search-bar .app-header__search-input:focus-visible{box-shadow:var(--gt-focus-ring), var(--gt-shadow-card);outline:none}.app-header__icon-button{background-color:var(--gt-surface);width:40px;height:40px;box-shadow:var(--gt-shadow-card);cursor:pointer;color:var(--gt-text-secondary);border-radius:7px;justify-content:center;align-items:center;display:flex;position:relative}.app-header__icon-button img{filter:brightness(.68)}.app-header__icon-button svg{color:var(--gt-text-secondary)}.app-header__icon-button:hover{background-color:var(--gt-canvas);border-color:var(--gt-text-secondary)}.app-header__icon-button:focus{outline:none}.app-header__icon-button:focus-visible{box-shadow:var(--gt-focus-ring), var(--gt-shadow-card);outline:none}.app-header__menu-button{width:40px;height:40px;color:var(--gt-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;margin-right:8px;display:none}.app-header__menu-button svg{flex-shrink:0}.app-header__menu-button:hover{background-color:var(--gt-canvas)}.app-header__notification-badge{background-color:var(--gt-error);min-width:24px;height:24px;color:var(--gt-text-inverse);border-radius:50%;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:600;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 4px #00000026}.app-header__notification-container{position:relative}.app-header__profile-button{background-color:var(--gt-surface);box-shadow:var(--gt-shadow-card);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:6px 12px;font-family:Poppins,sans-serif;display:flex}.app-header__profile-button:hover{background-color:var(--gt-canvas);border-color:var(--gt-text-secondary)}.app-header__profile-button:focus{outline:none}.app-header__profile-button:focus-visible{box-shadow:var(--gt-focus-ring), var(--gt-shadow-card);outline:none}.app-header__profile-button .app-header__profile-icon{background-color:var(--gt-canvas);width:28px;height:28px;color:var(--gt-text-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden}.app-header__profile-button .app-header__profile-avatar{object-fit:cover;border-radius:50%;width:100%;height:100%}.app-header__profile-button .app-header__chevron-icon{color:var(--gt-text-secondary)}.app-header__profile-container{position:relative}.app-header__dropdown{background-color:var(--gt-surface);box-shadow:var(--gt-shadow-card);z-index:11;border:none;border-radius:10px;animation:.2s appHeaderDropdownFadeIn;position:absolute;top:calc(100% + 8px);right:0}@keyframes appHeaderDropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.app-header__notifications-dropdown{min-width:320px;max-width:400px}.app-header__notifications-dropdown .app-header__dropdown-header{border-bottom:1px solid var(--gt-border);justify-content:space-between;align-items:center;gap:8px;padding:16px 16px 8px;display:flex}.app-header__notifications-dropdown .app-header__dropdown-header h3{color:var(--gt-text-secondary);margin:0;font-family:Poppins,sans-serif;font-size:16px;font-weight:600}.app-header__notifications-dropdown .app-header__mark-all-read{cursor:pointer;color:var(--gt-accent);white-space:nowrap;background:0 0;border:none;padding:0;font-family:Poppins,sans-serif;font-size:12px}.app-header__notifications-dropdown .app-header__mark-all-read:hover{text-decoration:underline}.app-header__notifications-dropdown .app-header__dropdown-content{max-height:400px;overflow-y:auto}.app-header__notifications-dropdown .app-header__empty-state{text-align:center;color:var(--gt-text-secondary);padding:32px;font-family:Poppins,sans-serif;font-size:14px}.app-header__notifications-dropdown .app-header__notification-item{border-bottom:1px solid var(--gt-border);align-items:flex-start;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:flex}.app-header__notifications-dropdown .app-header__notification-item:last-child{border-bottom:none}.app-header__notifications-dropdown .app-header__notification-item:hover{background-color:var(--gt-canvas)}.app-header__notifications-dropdown .app-header__notification-item.unread{background-color:var(--gt-info-soft)}.app-header__notifications-dropdown .app-header__notification-body{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;min-width:0;padding:16px}.app-header__notifications-dropdown .app-header__notification-body .app-header__notification-title{color:var(--gt-text-secondary);margin-bottom:4px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600}.app-header__notifications-dropdown .app-header__notification-body .app-header__notification-content{color:var(--gt-text-secondary);margin-bottom:4px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;line-height:1.4}.app-header__notifications-dropdown .app-header__notification-body .app-header__notification-time{color:var(--gt-text-secondary);font-family:Poppins,sans-serif;font-size:12px;font-weight:500}.app-header__notifications-dropdown .app-header__notification-dismiss{cursor:pointer;color:var(--gt-text-secondary);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin:8px 8px 0 0;padding:8px;transition-property:background-color,color;transition-duration:.2s;transition-timing-function:ease;display:flex}.app-header__notifications-dropdown .app-header__notification-dismiss:hover{background-color:var(--gt-info-soft);color:var(--gt-accent)}.app-header__profile-dropdown{min-width:180px}.app-header__profile-dropdown .app-header__dropdown-item{text-align:left;cursor:pointer;width:100%;color:var(--gt-text-secondary);background-color:#0000;border:none;align-items:center;gap:12px;padding:8px 16px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:flex}.app-header__profile-dropdown .app-header__dropdown-item:first-child{border-radius:10px 10px 0 0}.app-header__profile-dropdown .app-header__dropdown-item:last-child{border-radius:0 0 10px 10px}.app-header__profile-dropdown .app-header__dropdown-item:hover{background-color:var(--gt-canvas)}.app-header__profile-dropdown .app-header__dropdown-item:focus{background-color:var(--gt-canvas);outline:none}.app-header__profile-dropdown .app-header__dropdown-item svg{color:var(--gt-text-secondary)}.app-header__profile-dropdown .app-header__dropdown-item span{font-weight:500}.app-header__profile-dropdown .app-header__dropdown-item.app-header__dropdown-item--logout,.app-header__profile-dropdown .app-header__dropdown-item.app-header__dropdown-item--logout svg{color:var(--gt-error)}@media (width<=768px){.app-header{gap:8px;padding:16px}.app-header__menu-button{flex-shrink:0;display:inline-flex}.app-header__search-bar{display:none}.app-header__title-block{flex:auto;min-width:0}.app-header__page-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-header__right{flex-shrink:0}}.preview-banner{--preview-banner-h:44px;height:var(--preview-banner-h);z-index:1100;color:var(--gt-text-inverse);background:linear-gradient(90deg,#6d28d9,#4f46e5);justify-content:center;align-items:center;gap:1rem;padding:0 1rem;font-size:.875rem;font-weight:600;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 1px 6px #0000002e}.preview-banner__label{align-items:center;gap:.5rem;display:inline-flex}.preview-banner__eye{flex-shrink:0}.preview-banner__pill{letter-spacing:.02em;text-transform:uppercase;background:#ffffff2e;border-radius:999px;align-items:center;gap:.25rem;margin-left:.25rem;padding:.1rem .5rem;font-size:.6875rem;font-weight:700;display:inline-flex}.preview-banner__exit{color:var(--gt-text-inverse);cursor:pointer;background:0 0;border:1px solid #fff9;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8125rem;font-weight:600;transition:background .15s;display:inline-flex;position:absolute;right:1rem}.preview-banner__exit:hover{background:#ffffff29}.preview-banner__toast{z-index:1200;color:var(--gt-text-inverse);background:#1f2937;border-radius:8px;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.8125rem;font-weight:600;animation:.18s preview-toast-in;display:inline-flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000047}@keyframes preview-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (width<=768px){.preview-banner{font-size:.8125rem}.preview-banner__pill{display:none}.preview-banner__exit{padding:.3rem .55rem}}.settings-modal__overlay{background:var(--gt-scrim);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.settings-modal{width:860px;max-width:calc(100vw - 48px);height:620px;max-height:calc(100vh - 48px);box-shadow:var(--gt-shadow-modal);background:#fff;border-radius:10px;font-family:Poppins,sans-serif;display:flex;position:relative;overflow:hidden}.settings-modal__nav{background:var(--gt-gray-50);border-right:1px solid #dadada;flex-direction:column;flex-shrink:0;gap:8px;width:200px;padding:24px 16px;display:flex}.settings-modal__nav-title{color:#303030;margin:0 0 4px;padding:0 8px;font-size:16px;font-weight:600}.settings-modal__nav-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.settings-modal__nav-item{text-align:left;color:#424242;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;width:100%;padding:8px;font-family:Poppins,sans-serif;font-size:14px;transition-property:background,color;transition-duration:.2s;transition-timing-function:ease;display:flex}.settings-modal__nav-item svg{flex-shrink:0;transition-property:color;transition-duration:.2s;transition-timing-function:ease}.settings-modal__nav-item:hover{background:var(--gt-gray-100);color:#303030}.settings-modal__nav-item--active{background:var(--gt-primary-soft);color:#018156;font-weight:500}.settings-modal__nav-item--active svg{color:#018156}.settings-modal__body{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.settings-modal__close{color:#616161;cursor:pointer;z-index:2;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;transition-property:background,color;transition-duration:.2s;transition-timing-function:ease;display:flex;position:absolute;top:16px;right:16px}.settings-modal__close:hover{color:#303030;background:#eee}.settings-modal__section{flex-direction:column;flex:1;gap:16px;padding:32px;display:flex;overflow-y:auto}.settings-modal__section-title{color:#303030;margin:0;font-size:16px;font-weight:600}.settings-modal__section-subtitle{color:#616161;margin:0;font-size:14px}.settings-modal__avatar-row{align-items:center;gap:16px;display:flex}.settings-modal__avatar{background:#eee;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;overflow:hidden}.settings-modal__avatar-img{object-fit:cover;width:100%;height:100%}.settings-modal__avatar-icon{color:#616161}.settings-modal__avatar-actions{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.settings-modal__avatar-change{color:#303030;cursor:pointer;background:#fff;border:1px solid #dadada;border-radius:7px;padding:6px 16px;font-family:Poppins,sans-serif;font-size:12px;font-weight:500;transition-property:background;transition-duration:.2s;transition-timing-function:ease}.settings-modal__avatar-change:hover{background:#eee}.settings-modal__avatar-remove{color:#616161;cursor:pointer;background:0 0;border:none;padding:0;font-family:Poppins,sans-serif;font-size:12px;text-decoration:underline}.settings-modal__avatar-remove:hover{color:#dc2626}.settings-modal__file-input{display:none}.settings-modal__row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.settings-modal__field{flex-direction:column;gap:4px;display:flex}.settings-modal__label{color:#424242;font-size:12px;font-weight:500}.settings-modal__input{color:#303030;background:#fff;border:1px solid #dadada;border-radius:7px;padding:10px 16px;font-family:Poppins,sans-serif;font-size:14px;transition-property:border-color;transition-duration:.2s;transition-timing-function:ease}.settings-modal__input:focus{border-color:#018156;outline:none}.settings-modal__input--readonly{color:#616161;cursor:default;background:#eee}.settings-modal__input--grouped{border:none;flex:1;padding:10px 16px}.settings-modal__input--grouped:focus{outline:none}.settings-modal__input-group{border:1px solid #dadada;border-radius:7px;align-items:center;transition-property:border-color;transition-duration:.2s;transition-timing-function:ease;display:flex;overflow:hidden}.settings-modal__input-group:focus-within{border-color:#018156}.settings-modal__prefix{color:#616161;white-space:nowrap;background:#eee;border-right:1px solid #dadada;flex-shrink:0;align-items:center;gap:6px;padding:10px 16px;font-family:Poppins,sans-serif;font-size:12px;display:flex}.settings-modal__footer{border-top:1px solid #dadada;flex-shrink:0;justify-content:flex-end;align-items:center;gap:16px;padding:16px 32px;display:flex}.settings-modal__feedback{align-items:center;gap:6px;font-family:Poppins,sans-serif;font-size:12px;font-weight:500;animation:.2s settingsFeedbackIn;display:flex}.settings-modal__feedback--success{color:#018156}.settings-modal__feedback--error{color:#dc2626}@keyframes settingsFeedbackIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.settings-modal{flex-direction:column;width:calc(100vw - 32px);max-width:calc(100vw - 32px);height:calc(100dvh - 48px);max-height:calc(100dvh - 48px)}.settings-modal__nav{border-bottom:1px solid #dadada;border-right:none;flex-direction:row;flex-shrink:0;align-items:center;gap:16px;width:100%;padding:8px 16px}.settings-modal__nav-title{margin:0;font-size:14px}.settings-modal__nav-list{flex-direction:row}.settings-modal__section{padding:16px}.settings-modal__row{grid-template-columns:1fr}.settings-modal__footer{padding:8px 16px}}.settings-modal__save{color:#fff;cursor:pointer;background:#018156;border:none;border-radius:7px;padding:10px 32px;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;transition-property:background;transition-duration:.2s;transition-timing-function:ease}.settings-modal__save:hover:not(:disabled){background:#016547}.settings-modal__save:disabled{cursor:not-allowed;background:#ccc}.message-widget__unread,.messages-list__unread{background:var(--gt-primary);color:var(--gt-text-inverse);border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.messages-page{background:var(--gt-canvas);height:calc(100vh - 64px);color:var(--gt-text-primary);grid-template-columns:320px 1fr;display:grid}.messages-page__list{border-right:1px solid var(--gt-border);background:var(--gt-surface);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.messages-page__thread{background:var(--gt-surface);flex-direction:column;min-height:0;display:flex}.messages-page__back-btn{display:none}@media (width<=768px){.messages-page{grid-template-rows:1fr;grid-template-columns:1fr;height:calc(100dvh - 64px)}.messages-page__list{border-right:none;height:100%}.messages-page--thread-active .messages-page__list,.messages-page:not(.messages-page--thread-active) .messages-page__thread{display:none}.messages-page--thread-active .messages-page__thread{height:100%;overflow:hidden}.messages-page__back-btn{border:none;border-bottom:1px solid var(--gt-border);color:var(--gt-primary);cursor:pointer;background:0 0;flex-shrink:0;align-items:center;gap:4px;width:100%;padding:8px 16px;font-size:.9rem;font-weight:600;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.messages-page__back-btn:hover{background:var(--gt-surface-muted)}.messages-page .messages-list__item .conversation-menu{display:none}.messages-page .messages-list__item{touch-action:manipulation}}.messages-avatar{background:var(--gt-canvas);color:var(--gt-text-secondary);letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.messages-list{flex-direction:column;flex:1;min-height:0;display:flex}.messages-list__header{border-bottom:1px solid var(--gt-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.messages-list__title{color:var(--gt-text-primary);font-size:1.125rem;font-weight:600}.messages-list__search{color:var(--gt-text-tertiary);cursor:pointer;font-size:inherit;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:4px;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.messages-list__search:hover,.messages-list__search:focus-visible{background:var(--gt-surface-muted);border-color:#0000}.messages-list__search-input{border:1px solid var(--gt-border);min-width:0;color:var(--gt-text-primary);background:var(--gt-surface);border-radius:20px;flex:1;padding:4px 16px;font-family:inherit;font-size:.9rem;transition-property:border-color,box-shadow;transition-duration:.2s;transition-timing-function:ease}.messages-list__search-input::placeholder{color:var(--gt-text-tertiary)}.messages-list__search-input:focus{border-color:var(--gt-accent);box-shadow:var(--gt-focus-ring-tight);outline:none}.messages-list__empty{color:var(--gt-text-tertiary);text-align:center;padding:32px 16px;font-size:.95rem}.messages-list__items{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.messages-list__item{border-bottom:1px solid var(--gt-border);cursor:pointer;outline:none;align-items:center;gap:16px;padding:16px 24px;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:flex;position:relative}.messages-list__item:hover,.messages-list__item:focus-visible{background:var(--gt-surface-muted)}.messages-list__item:hover .conversation-menu:not(.conversation-menu--always-visible) .conversation-menu__trigger,.messages-list__item:focus-within .conversation-menu:not(.conversation-menu--always-visible) .conversation-menu__trigger{opacity:1}.messages-list__item--active{background:var(--gt-green-50);border-left:3px solid var(--gt-primary);padding-left:21px}.messages-list__item:has(.messages-list__unread) .messages-list__name{font-weight:var(--gt-weight-bold)}.messages-list__item:has(.messages-list__unread) .messages-list__preview{color:var(--gt-text-secondary);font-weight:var(--gt-weight-medium)}.messages-list__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.messages-list__row{justify-content:space-between;align-items:center;gap:8px;display:flex}.messages-list__name{font-weight:var(--gt-weight-semibold);color:var(--gt-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.95rem;overflow:hidden}.messages-list__time{color:var(--gt-text-tertiary);flex-shrink:0;font-size:.8rem}.messages-list__preview{color:var(--gt-text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;overflow:hidden}.messages-list__unread{flex-shrink:0}.gt-convo__chip{font-size:10px;font-weight:var(--gt-weight-semibold);letter-spacing:var(--gt-tracking-wide);text-transform:uppercase;border-radius:var(--gt-radius-lg);flex-shrink:0;padding:1px 6px}.gt-convo__chip--team_ta{background:var(--gt-info-soft);color:var(--gt-info-text)}.gt-convo__chip--team_instructor{background:var(--gt-warning-soft);color:var(--gt-warning-text)}.gt-convo__chip--team_members{background:var(--gt-success-soft);color:var(--gt-success-text)}.conversation-menu{flex-shrink:0;position:relative}.conversation-menu__trigger{color:var(--gt-text-tertiary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition-property:opacity,background-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.conversation-menu__trigger:hover,.conversation-menu__trigger:focus-visible{background:var(--gt-surface-muted);opacity:1;border-color:#0000}.conversation-menu--always-visible .conversation-menu__trigger{opacity:1}.conversation-menu__dropdown{background:var(--gt-surface);border:1px solid var(--gt-border);min-width:140px;box-shadow:var(--gt-shadow-pop);z-index:10;border-radius:7px;padding:4px 0;position:absolute;top:calc(100% + 4px);right:0}.conversation-menu__item{text-align:left;width:100%;color:var(--gt-text-primary);cursor:pointer;background:0 0;border:none;border-radius:0;padding:8px 16px;font-family:inherit;font-size:.9rem;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:block}.conversation-menu__item:hover:not(:disabled),.conversation-menu__item:focus-visible:not(:disabled){background:var(--gt-surface-muted);border-color:#0000}.conversation-menu__item--unread{font-weight:600}.conversation-menu__item--danger{color:#dc2626}.conversation-menu__item:disabled{cursor:not-allowed;opacity:.6}.messages-thread{flex-direction:column;height:100%;min-height:0;display:flex}.messages-thread--empty{color:var(--gt-text-tertiary);text-align:center;justify-content:center;align-items:center;padding:32px;font-size:.95rem}.messages-thread__header{border-bottom:1px solid var(--gt-border);flex-shrink:0;justify-content:space-between;align-items:center;height:76px;padding:16px 24px;display:flex}.messages-thread__header-left{align-items:center;gap:16px;min-width:0;display:flex}.messages-thread__title{color:var(--gt-text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.125rem;font-weight:600;overflow:hidden}.messages-thread__scroll{flex-direction:column;flex:1;gap:8px;min-height:0;padding:16px 24px;display:flex;overflow-y:auto}.messages-thread__loading,.messages-thread__empty{color:var(--gt-text-tertiary);text-align:center;padding:24px;font-size:.9rem}.messages-thread__skeleton{flex-direction:column;gap:8px;display:flex}.messages-thread__seen{color:var(--gt-text-tertiary);align-self:flex-end;margin-top:4px;font-size:.75rem}.messages-thread__header-text{flex-direction:column;min-width:0;display:flex}.messages-thread__subtitle{font-size:var(--gt-text-caption);color:var(--gt-text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.messages-thread__day{font-size:var(--gt-text-caption);color:var(--gt-text-tertiary);background:var(--gt-surface-sunken);border-radius:var(--gt-radius-lg);margin:var(--gt-space-sm) 0;align-self:center;padding:2px 10px}.messages-thread__older{min-height:20px;font-size:var(--gt-text-caption);color:var(--gt-text-tertiary);align-self:center}.messages-bubble{border-radius:var(--gt-radius-md);max-width:72%;padding:8px 12px;animation:.2s both gt-rise-in}.messages-bubble--mine{background:var(--gt-primary);color:var(--gt-text-inverse);align-self:flex-end}.messages-bubble--mine .messages-bubble__time{color:var(--gt-text-inverse)}.messages-bubble--theirs{background:var(--gt-surface);border:1px solid var(--gt-border);color:var(--gt-text-primary);align-self:flex-start}.messages-bubble--pending{opacity:.6;animation:none}.messages-bubble__author{font-size:var(--gt-text-caption);font-weight:var(--gt-weight-medium);color:var(--gt-text-tertiary);margin-bottom:2px}.messages-bubble__body{font-size:var(--gt-text-body);line-height:var(--gt-leading-snug);white-space:pre-wrap;word-break:break-word}.messages-bubble__time{color:var(--gt-text-tertiary);text-align:right;margin-top:2px;font-size:11px}.messages-composer{border-top:1px solid var(--gt-border);background:var(--gt-surface);flex-direction:column;gap:8px;padding:16px 24px;display:flex}.messages-composer--disabled{color:var(--gt-text-tertiary);text-align:center;padding:16px 24px;font-size:.9rem}.messages-composer__input{border:1px solid var(--gt-border);color:var(--gt-text-primary);background:var(--gt-surface);resize:none;border-radius:20px;min-height:48px;padding:8px 16px;font-family:inherit;font-size:.95rem;transition-property:border-color,box-shadow;transition-duration:.2s;transition-timing-function:ease}.messages-composer__input::placeholder{color:var(--gt-text-tertiary)}.messages-composer__input:focus{border-color:var(--gt-accent);box-shadow:var(--gt-focus-ring-tight);outline:none}.messages-composer__footer{justify-content:flex-end;align-items:center;gap:16px;display:flex}.messages-composer__counter{color:var(--gt-text-tertiary);margin-right:auto;font-size:.8rem}.messages-composer__counter--over{color:#dc2626;font-weight:600}.messages-composer__error{color:#dc2626;font-size:.85rem}.messages-composer__send{background:var(--gt-primary);color:var(--gt-text-inverse);cursor:pointer;border:none;border-radius:7px;padding:8px 24px;font-size:.9rem;font-weight:600;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease}.messages-composer__send:active{transform:translateY(.5px)}.messages-composer__send:hover:not(:disabled){background:var(--gt-primary-hover)}.messages-composer__send:disabled{opacity:.45;cursor:not-allowed}.message-btn{background:var(--gt-surface);color:var(--gt-primary);border:1px solid var(--gt-primary);cursor:pointer;border-radius:7px;padding:4px 16px;font-size:.85rem;font-weight:600;transition-property:background-color,color;transition-duration:.2s;transition-timing-function:ease}.message-btn:hover{background:var(--gt-primary);color:var(--gt-text-inverse)}.message-widget{z-index:10;background:var(--gt-surface);color:var(--gt-text-primary);font-family:inherit;position:fixed;bottom:0;right:24px}.message-widget--tab{cursor:pointer;height:48px;color:var(--gt-text-primary);border:none;border-radius:10px 10px 0 0;align-items:center;gap:8px;padding:0 16px;font-size:.9rem;font-weight:600;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex;box-shadow:0 -2px 12px #00000014}.message-widget--tab:hover{background:var(--gt-surface-muted)}.message-widget--tab:focus-visible{box-shadow:var(--gt-focus-ring), 0 -2px 12px #00000014;outline:none}.message-widget__label{font-weight:600}.message-widget--popover{border-radius:var(--gt-radius-md) var(--gt-radius-md) 0 0;width:360px;height:480px;box-shadow:var(--gt-shadow-card);flex-direction:column;display:flex;overflow:hidden}.message-widget__header{border-bottom:1px solid var(--gt-border);flex-shrink:0;align-items:center;gap:8px;height:56px;padding:8px 16px;display:flex}.message-widget__title{color:var(--gt-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:1rem;font-weight:600;overflow:hidden}.message-widget__back,.message-widget__minimize{color:var(--gt-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.message-widget__back:hover,.message-widget__back:focus-visible,.message-widget__minimize:hover,.message-widget__minimize:focus-visible{background:var(--gt-surface-muted)}.message-widget__body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}@media (width<=767px){.message-widget{display:none}}.new-conv-search{position:relative}.new-conv-search__trigger{color:var(--gt-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:4px;transition-property:background-color,color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.new-conv-search__trigger:hover,.new-conv-search__trigger:focus-visible{background:var(--gt-surface-muted);color:var(--gt-primary)}.new-conv-search__panel{background:var(--gt-surface);border:1px solid var(--gt-border);z-index:200;border-radius:20px;flex-direction:column;width:300px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.new-conv-search__input-row{border-bottom:1px solid var(--gt-border);align-items:center;gap:8px;padding:8px 16px;display:flex}.new-conv-search__icon{color:var(--gt-text-tertiary);flex-shrink:0}.new-conv-search__input{color:var(--gt-text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.9rem}.new-conv-search__input::placeholder{color:var(--gt-text-tertiary)}.new-conv-search__results{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.new-conv-search__status{color:var(--gt-text-tertiary);text-align:center;padding:16px 24px;font-size:.875rem}.new-conv-search__status--error{color:#dc2626}.new-conv-search__result{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:16px;width:100%;padding:8px 16px;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:flex}.new-conv-search__result:hover,.new-conv-search__result:focus-visible{background:var(--gt-surface-muted);outline:none}.new-conv-search__result-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.new-conv-search__result-name{color:var(--gt-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:500;overflow:hidden}.app-view{background-color:var(--gt-surface);min-height:100vh;position:relative}.app-view--previewing .sidebar{top:44px}.app-view--previewing .app-main{margin-top:44px}.app-view--previewing .app-header{top:44px}.app-main{min-height:100vh;margin-left:256px;transition-property:margin-left,width;transition-duration:.3s;transition-timing-function:ease}.sidebar.collapsed~.app-main{width:calc(100vw - 64px);margin-left:64px}.app-nav-backdrop{background:var(--gt-scrim);z-index:999;animation:.15s both app-nav-backdrop-fade-in;position:fixed;inset:0}@keyframes app-nav-backdrop-fade-in{0%{opacity:0}to{opacity:1}}@media (width<=768px){.app-main{margin-left:0}.sidebar.collapsed~.app-main{width:100%;margin-left:0}}.dev-mode-toggle{z-index:1001;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#000c;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:fixed;bottom:1rem;left:18rem}.dev-control-label{color:#ffeb3b;align-items:center;gap:.5rem;font-family:Poppins,sans-serif;font-size:.8125rem;display:flex}.dev-toggle-switch{cursor:pointer;background-color:#ffffff4d;border:none;border-radius:12px;width:48px;height:24px;transition-property:background-color;transition-duration:.3s;transition-timing-function:ease;position:relative}.dev-toggle-switch.active{background-color:#4caf50}.dev-toggle-switch:hover{background-color:#fff6}.dev-toggle-slider{background-color:var(--gt-surface);border-radius:50%;width:20px;height:20px;transition-property:transform;transition-duration:.3s;transition-timing-function:ease;position:absolute;top:2px;left:2px}.active .dev-toggle-slider{transform:translate(24px)}.requests-modal-backdrop{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.requests-modal{background:#fff;border-radius:10px;flex-direction:column;width:min(640px,100%);max-height:85vh;font-family:Poppins,sans-serif;display:flex;position:relative;box-shadow:0 20px 60px #0000004d}.requests-modal__close{color:#424242;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:background-color .2s;display:flex;position:absolute;top:16px;right:16px}.requests-modal__close:hover:not(:disabled){color:#303030;background-color:#eee}.requests-modal__close:disabled{opacity:.5;cursor:not-allowed}.requests-modal__header{border-bottom:1px solid #dadada99;padding:24px 3rem 16px 24px}.requests-modal__title{color:#303030;margin:0 0 4px;font-size:1.35rem;font-weight:600}.requests-modal__subtitle{color:#424242;margin:0;font-size:12px;line-height:1.45}.requests-modal__tabs{background:#eee;border-radius:7px;gap:0;margin:16px 24px 0;padding:4px;display:flex}.requests-modal__tab{color:#424242;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-family:Poppins,sans-serif;font-size:12px;font-weight:600;transition:background-color .2s,color .2s;display:inline-flex}.requests-modal__tab--active{color:#303030;background:#fff;box-shadow:0 1px 3px #00000014}.requests-modal__tab--active:focus-visible{box-shadow:var(--gt-focus-ring), 0 1px 3px #00000014;outline:none}.requests-modal__tab-count{color:#018156;background:#0181561f;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.requests-modal__error{color:#dc2626;background:#dc26261a;border:1px solid #dc262640;border-radius:7px;margin:16px 24px 0;padding:8px 16px;font-size:12px}.requests-modal__body{flex:1;padding:16px 24px 24px;overflow-y:auto}.requests-modal__loading,.requests-modal__empty{text-align:center;color:#424242;margin:24px 0;font-size:12px}.requests-modal__loading{justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}.requests-modal__spinner,.requests-modal__btn-spinner{animation:.65s linear infinite requests-modal-spin}.requests-modal__list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.requests-modal__card{background:#fffffff2;border:1px solid #dadada;border-radius:10px;align-items:flex-start;gap:16px;padding:16px;display:flex}.requests-modal__avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:12px;font-weight:600;display:flex}.requests-modal__avatar--thumbnail{object-fit:cover;border-radius:8px}.requests-modal__card-main{flex:1;min-width:0}.requests-modal__card-title{color:#303030;margin:0 0 4px;font-size:14px;font-weight:600}.requests-modal__card-sub{color:#424242;margin:0 0 8px;font-size:12px}.requests-modal__card-message{color:#424242;white-space:pre-wrap;overflow-wrap:anywhere;background:#61616114;border-left:3px solid #6161614d;border-radius:6px;margin:0 0 8px;padding:8px 16px;font-size:12px;font-style:italic}.requests-modal__badges{flex-wrap:wrap;gap:8px;display:flex}.requests-modal__badge{color:#424242;background:#6161611f;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.requests-modal__badge--purple{color:#7d3c98;background:#8e44ad24}.requests-modal__badge--denied{color:#c0392b;background:#c0392b24}.requests-modal__meta{color:#616161;align-items:center;gap:6px;margin-top:16px;font-size:12px;display:flex}.requests-modal__actions{gap:8px;margin-top:16px;display:flex}.requests-modal__btn{cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;transition:background-color .2s,opacity .2s;display:inline-flex}.requests-modal__btn:disabled{cursor:not-allowed;opacity:.85}.requests-modal__btn--accept{color:#fff;background:#018156}.requests-modal__btn--accept:hover:not(:disabled){background:#016547}.requests-modal__btn--decline{color:#fff;background:#dc2626}.requests-modal__btn--decline:hover:not(:disabled){opacity:.92}@keyframes requests-modal-spin{to{transform:rotate(360deg)}}.student-home{background-color:#fff;min-height:calc(100vh - 64px);padding:24px 24px 60px;font-family:Poppins,sans-serif;position:relative}.student-home__toolbar{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin:0;display:grid}@media (width<=380px){.student-home__toolbar{grid-template-columns:1fr}}.student-home__toolbar-btn{white-space:nowrap;color:#fff;cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:12.5px 8px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;line-height:1.2;transition:background-color .2s;display:inline-flex}.student-home__toolbar-btn svg{color:inherit;flex-shrink:0}.student-home__toolbar-btn:hover{filter:none}.student-home__toolbar-btn:focus{outline:none}.student-home__toolbar-btn--join{background-color:#2771ff}.student-home__toolbar-btn--join:hover{background-color:#1f5cd6}.student-home__toolbar-btn--messages{background-color:#7d3c98}.student-home__toolbar-btn--messages:hover{background-color:#6a3382}.student-home__toolbar-btn--browse{background-color:#018156}.student-home__toolbar-btn--browse:hover{background-color:#016547}.student-home__grid{grid-template-columns:2fr 1fr;align-items:start;gap:24px;display:grid}@media (width<=900px){.student-home__grid{grid-template-columns:1fr}}.student-home__column{flex-direction:column;gap:24px;min-width:0;display:flex}.student-home__card{background:#fff;border-radius:10px;padding:24px;box-shadow:0 0 2.61px #00000040}.student-home__card--deadlines{flex-direction:column;min-height:0;display:flex}.student-home__deadlines-scroll{-webkit-overflow-scrolling:touch;max-height:min(34vh,240px);margin:0 -24px;padding:0 24px;overflow:auto}.student-home__card-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.student-home__card-title{color:#303030;margin:0;font-size:16px;font-weight:600}.student-home__link{color:#018156;cursor:pointer;background:0 0;border:none;padding:0;font-family:Poppins,sans-serif;font-size:14px;font-weight:600}.student-home__link:hover{text-decoration:underline}.student-home__team-project{color:#018156;text-align:right;flex-shrink:0;font-size:14px;font-weight:600}.student-home__team-project-select{color:#018156;cursor:pointer;appearance:none;text-align:left;text-align-last:left;background:#0181560f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23018156' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 8px center no-repeat;border:1px solid #01815659;border-radius:7px;flex-shrink:1;min-width:0;max-width:min(200px,55vw);padding:4px 28px 4px 10px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600}.student-home__team-project-select:focus{outline:none}.student-home__deadlines-table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.student-home__deadlines-table thead th{z-index:2;background-color:#fff;background-clip:padding-box;position:sticky;top:0;box-shadow:0 1px #dadada}.student-home__deadlines-table th{text-align:left;color:#616161;text-transform:uppercase;letter-spacing:.04em;vertical-align:bottom;border-bottom:1px solid #dadada;padding:8px 16px 16px;font-size:12px;font-weight:600}.student-home__deadlines-table td{vertical-align:middle;border-bottom:1px solid #dadada99;padding:16px 16px 16px 0}.student-home__deadlines-empty{text-align:center;color:#424242;border-bottom:none;padding:24px 16px;font-size:14px;font-weight:500}.student-home__deadline-row{cursor:pointer;transition:background-color .2s}.student-home__deadline-row:hover{background-color:#6161610f}.student-home__deadline-row:focus{outline:none}.student-home__deadline-row:focus-visible{box-shadow:inset var(--gt-focus-ring-tight);outline:none}.student-home__deadline-row--highlight{background-color:#2771ff0f}.student-home__deadline-name{color:#303030;font-weight:600}.student-home__deadline-course{color:#616161;margin-top:2px;font-size:12px;font-weight:400;display:block}.student-home__deadline-date{color:#424242;font-weight:500}.student-home__chevron{color:#616161;text-align:right;width:28px}.student-home__pill{border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.student-home__pill--due-soon{color:#c62828;background:#ff3b301f}.student-home__pill--not-started{color:#b26a00;background:#f5a6232e}.student-home__pill--in-progress{color:#1e5bb8;background:#2771ff1f}.student-home__pill--submitted{color:#016547;background:#01815624}.student-home__schedule-list{margin:0;padding:0;list-style:none;position:relative}.student-home__schedule-item{grid-template-columns:72px 1fr;gap:16px;padding-bottom:24px;display:grid;position:relative}.student-home__schedule-item:not(:last-child):before{content:"";background:#dadada;width:2px;position:absolute;top:14px;bottom:0;left:5px}.student-home__schedule-time{color:#616161;padding-top:2px;font-size:12px;font-weight:500}.student-home__schedule-body{align-items:flex-start;gap:8px;display:flex}.student-home__schedule-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:4px}.student-home__schedule-dot--green{background:#018156}.student-home__schedule-dot--blue{background:#2771ff}.student-home__schedule-dot--orange{background:#f5a623}.student-home__schedule-title{color:#303030;margin:0 0 4px;font-size:14px;font-weight:600}.student-home__schedule-sub{color:#616161;margin:0;font-size:12px}.student-home__schedule-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 24px;display:flex}.student-home__schedule-empty-icon{color:#018156;background:#0181561a;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:4px;display:flex;box-shadow:0 1px 4px #0000000f}.student-home__schedule-empty-title{color:#303030;max-width:14rem;margin:0;font-size:14px;font-weight:400;line-height:1.5}.student-home__request-feedback{color:#8b1a1a;background:#dc26261a;border:1px solid #dc262640;border-radius:7px;margin:-8px 0 16px;padding:8px 16px;font-size:12px;font-weight:500}.student-home__requests-list{flex-direction:column;gap:16px;display:flex}.student-home__request-card{background:#ffffffe6;border:1px solid #dadada;border-radius:10px;padding:16px}.student-home__request-top{align-items:flex-start;gap:16px;display:flex}.student-home__avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:12px;font-weight:600;display:flex}.student-home__avatar--thumbnail{object-fit:cover;border-radius:8px}.student-home__request-main{flex:1;min-width:0}.student-home__request-title{color:#303030;margin:0 0 4px;font-size:14px;font-weight:600}.student-home__request-sub{color:#424242;margin:0 0 8px;font-size:12px}.student-home__request-message{color:#424242;white-space:pre-wrap;overflow-wrap:anywhere;background:#61616114;border-left:3px solid #6161614d;border-radius:6px;margin:0 0 8px;padding:8px 16px;font-size:12px;font-style:italic}.student-home__badges{flex-wrap:wrap;gap:8px;display:flex}.student-home__badge{color:#424242;background:#6161611f;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.student-home__badge--purple{color:#7d3c98;background:#8e44ad24}.student-home__badge--denied{color:#c0392b;background:#c0392b24}.student-home__request-actions{gap:8px;margin-top:16px;display:flex}.student-home__btn-accept{color:#fff;cursor:pointer;background:#018156;border:none;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;transition:background-color .2s;display:inline-flex}.student-home__btn-accept:hover:not(:disabled){background:#016547}.student-home__btn-accept:disabled{cursor:not-allowed;opacity:.85}.student-home__btn-deny{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;transition:opacity .2s;display:inline-flex}.student-home__btn-deny:hover:not(:disabled){opacity:.92}.student-home__btn-deny:disabled{cursor:not-allowed;opacity:.85}.student-home__btn-spinner{flex-shrink:0;animation:.65s linear infinite student-home-spin}@keyframes student-home-spin{to{transform:rotate(360deg)}}.student-home__awaiting{color:#616161;align-items:center;gap:6px;margin-top:16px;font-size:12px;display:flex}.student-home__team-list{margin:0;padding:0;list-style:none}.student-home__team-item{border-bottom:1px solid #dadada80;align-items:center;gap:16px;padding:8px 0;display:flex}.student-home__team-item:last-child{border-bottom:none}.student-home__team-avatar-wrap{flex-shrink:0;position:relative}.student-home__team-avatar{color:#212b36;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:12px;font-weight:600;display:flex}.student-home__team-avatar--0{background:#01815633}.student-home__team-avatar--1{background:#2771ff33}.student-home__team-avatar--2{background:#8e44ad33}.student-home__team-avatar--3{background:#f5a62340}.student-home__team-avatar--4{background:#e91e632e}.student-home__team-avatar--photo{object-fit:cover;background:0 0}.student-home__status-dot{border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;bottom:0;right:0}.student-home__status-dot--green{background:#2ecc71}.student-home__status-dot--orange{background:#f5a623}.student-home__status-dot--gray{background:#9e9e9e}.student-home__team-text{flex:1;min-width:0}.student-home__team-name{color:#303030;font-size:14px;font-weight:600}.student-home__you{color:#018156;margin-left:4px;font-weight:600}.student-home__team-role{color:#616161;margin-top:2px;font-size:12px;display:block}.student-home__empty{color:#424242;margin:0;font-size:14px;line-height:1.5}.student-home__loading{color:#616161;font-size:14px}@media (width<=600px){.student-home{padding:16px 16px 32px}.student-home__card{padding:16px}.student-home__deadlines-scroll{margin:0 -16px;padding:0 16px}.student-home__chevron{display:none}.student-home__deadlines-table{font-size:12px}.student-home__deadlines-table th,.student-home__deadlines-table td{padding-left:0;padding-right:8px}.student-home__deadlines-table td:last-child,.student-home__deadlines-table th:last-child{padding-right:0}.student-home__pill{white-space:nowrap;padding:4px 10px}}.student-home__fab{color:#fff;cursor:pointer;z-index:10;background:#212121;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;font-weight:600;transition:transform .2s,background-color .2s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 14px #0003}.student-home__fab:hover{background:#424242;transform:scale(1.04)}.student-home__fab:focus-visible{box-shadow:var(--gt-focus-ring), 0 4px 14px #0003}.instructor-home{background-color:#fff;min-height:calc(100vh - 64px);padding:24px 24px 60px;font-family:Poppins,sans-serif}.instructor-home__grid{grid-template-columns:2fr 1fr;align-items:start;gap:24px;display:grid}@media (width<=900px){.instructor-home__grid{grid-template-columns:1fr}}.instructor-home__column{flex-direction:column;gap:24px;min-width:0;display:flex}.instructor-home__card{background:#fff;border:1px solid #dadada;border-radius:10px;padding:24px;box-shadow:0 0 4px #00000014}.instructor-home__card-header{align-items:center;gap:8px;margin-bottom:16px;display:flex}.instructor-home__card-title{color:#212b36;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;display:inline-flex}.instructor-home__card-title svg{color:#018156;flex-shrink:0}.instructor-home__count-badge{color:#b3261e;background:#dc262624;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:12px;font-weight:600;display:inline-flex}.instructor-home__muted{color:#616161;margin:0;font-size:14px}.instructor-home__all-clear{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:32px 0;display:flex}.instructor-home__all-clear-icon{color:#018156;background:#0181561f;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:4px;display:flex}.instructor-home__all-clear-title{color:#212b36;margin:0;font-size:16px;font-weight:600}.instructor-home__all-clear-sub{color:#616161;margin:0;font-size:14px}.instructor-home__alert-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.instructor-home__alert{border-bottom:1px solid #dadada;align-items:center;gap:8px;width:100%;display:flex}.instructor-home__alert:last-child{border-bottom:none}.instructor-home__alert-main{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;align-items:center;gap:16px;min-width:0;padding:16px 8px;font-family:Poppins,sans-serif;transition:background-color .2s;display:flex}.instructor-home__alert-main:hover{background-color:#6161610f}.instructor-home__alert-main:focus-visible{box-shadow:inset var(--gt-focus-ring-tight);outline:none}.instructor-home__alert-icon{flex-shrink:0}.instructor-home__alert--roster_missing .instructor-home__alert-icon{color:#d08700}.instructor-home__alert--unmatched .instructor-home__alert-icon{color:#dc2626}.instructor-home__alert-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.instructor-home__alert-class{color:#303030;font-size:14px;font-weight:600}.instructor-home__alert-msg{color:#616161;font-size:12px}.instructor-home__alert-chevron{color:#616161;flex-shrink:0}.instructor-home__alert-dismiss{color:#616161;cursor:pointer;background:#fff;border:1px solid #dadada;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:background-color .2s,color .2s,border-color .2s;display:flex}.instructor-home__alert-dismiss svg{flex-shrink:0}.instructor-home__alert-dismiss:hover{color:#dc2626;background:#dc26261a;border-color:#dc262659}.instructor-home__activity-empty{text-align:center;color:#616161;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 0;display:flex}.instructor-home__activity-empty svg{color:#dadada}.instructor-home__activity-empty p{margin:0;font-size:14px}.instructor-home__create-btn{justify-content:center;align-self:stretch;width:100%}.instructor-home__class-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.instructor-home__class-list li{border-bottom:1px solid #dadada}.instructor-home__class-list li:last-child{border-bottom:none}.instructor-home__class-row{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:16px;width:100%;padding:16px 8px;font-family:Poppins,sans-serif;transition:background-color .2s;display:flex}.instructor-home__class-row:hover{background-color:#6161610f}.instructor-home__class-row:focus-visible{box-shadow:inset var(--gt-focus-ring-tight);outline:none}.instructor-home__class-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.instructor-home__class-name{color:#303030;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.instructor-home__class-meta{color:#616161;flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.instructor-home__status-tag{border-radius:20px;flex-shrink:0;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.instructor-home__status-tag--active{color:#018156;background-color:#d4f5ee}.instructor-home__status-tag--complete{color:#2771ff;background-color:#dce8f5}.instructor-home__class-arrow{color:#616161;flex-shrink:0}.home-page{font-family:Poppins,sans-serif}.home-page--guest,.home-page--loading,.home-page--instructor{background-color:#eee;min-height:calc(100vh - 64px);padding:32px 24px}.home-page--guest{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.home-page--guest h1{color:#303030;margin-bottom:16px}.home-page--guest p{color:#424242;margin-bottom:24px}.home-page--guest button{color:#fff;cursor:pointer;background:#018156;border:none;border-radius:7px;padding:10px 20px;font-family:Poppins,sans-serif;font-weight:600}.home-page--guest button:hover{background:#016547}.home-page--loading{color:#424242}.home-page__welcome-card{max-width:520px;box-shadow:var(--gt-shadow-card);background:#fff;border-radius:10px;padding:32px}.home-page__title{color:#303030;margin:0 0 16px;font-size:24px;font-weight:600}.home-page__lede{color:#424242;margin:0 0 24px;line-height:1.5}.home-page__actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.home-page__link{color:#018156;font-weight:600;text-decoration:none}.home-page__link:hover{text-decoration:underline}.home-page__link--secondary{color:#2771ff}.class-management{max-width:1400px;margin:0 auto;padding:2rem}.class-management h1{color:var(--gt-text-primary);margin-bottom:.5rem}.class-management .user-role{color:var(--gt-text-tertiary);margin-bottom:2rem;font-size:.9rem}.class-management .error-message{background-color:var(--gt-error-soft);color:var(--gt-error);border:1px solid var(--gt-error);border-radius:8px;margin-bottom:1rem;padding:1rem}.class-management .success-message{background-color:var(--gt-success-soft);color:#3c3;border:1px solid #cfc;border-radius:8px;margin-bottom:1rem;padding:1rem}.class-management .class-management-container{grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;display:grid}@media (width<=968px){.class-management .class-management-container{grid-template-columns:1fr}}.class-management .left-panel,.class-management .right-panel{box-shadow:var(--gt-shadow-hover);background:#fff;border-radius:12px;padding:2rem}.class-management .create-class-section{border-bottom:2px solid var(--gt-gray-100);margin-bottom:2rem;padding-bottom:2rem}.class-management .create-class-section h2{color:var(--gt-text-primary);margin-bottom:1rem;font-size:1.5rem}.class-management .create-class-section form .form-group{margin-bottom:1rem}.class-management .create-class-section form .form-group label{color:var(--gt-text-tertiary);margin-bottom:.5rem;font-weight:600;display:block}.class-management .create-class-section form .form-group input,.class-management .create-class-section form .form-group textarea{border:1px solid var(--gt-border);border-radius:8px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;transition-property:border-color;transition-duration:.2s;transition-timing-function:ease}.class-management .create-class-section form .form-group input:focus,.class-management .create-class-section form .form-group textarea:focus{border-color:#4a90e2;outline:none}.class-management .create-class-section form .form-group textarea{resize:vertical}.class-management .create-class-section form button{color:#fff;cursor:pointer;background:#4a90e2;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease}.class-management .create-class-section form button:hover:not(:disabled){background:#357abd}.class-management .create-class-section form button:disabled{cursor:not-allowed;background:#ccc}.class-management .join-class-section{border-bottom:2px solid var(--gt-gray-100);margin-bottom:2rem;padding-bottom:2rem}.class-management .join-class-section h2{color:var(--gt-text-primary);margin-bottom:1rem;font-size:1.5rem}.class-management .join-class-section form .form-group{margin-bottom:1rem}.class-management .join-class-section form .form-group label{color:var(--gt-text-tertiary);margin-bottom:.5rem;font-weight:600;display:block}.class-management .join-class-section form .form-group input{border:1px solid var(--gt-border);border-radius:8px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;transition-property:border-color;transition-duration:.2s;transition-timing-function:ease}.class-management .join-class-section form .form-group input:focus{border-color:#4a90e2;outline:none}.class-management .join-class-section form button{color:#fff;cursor:pointer;background:#4a90e2;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease}.class-management .join-class-section form button:hover:not(:disabled){background:#357abd}.class-management .join-class-section form button:disabled{cursor:not-allowed;background:#ccc}.class-management .classes-list-section h2{color:var(--gt-text-primary);margin-bottom:1rem;font-size:1.5rem}.class-management .classes-list-section .no-classes{color:#999;text-align:center;padding:2rem;font-style:italic}.class-management .classes-list-section .classes-list{flex-direction:column;gap:1rem;display:flex}.class-management .classes-list-section .classes-list .class-card{border:2px solid var(--gt-gray-200);cursor:pointer;border-radius:8px;padding:1rem;transition-property:border-color,box-shadow,background-color;transition-duration:.2s;transition-timing-function:ease}.class-management .classes-list-section .classes-list .class-card:hover{border-color:#4a90e2;box-shadow:0 2px 8px #4a90e233}.class-management .classes-list-section .classes-list .class-card.selected{background-color:var(--gt-info-soft);border-color:#4a90e2}.class-management .classes-list-section .classes-list .class-card h3{color:var(--gt-text-primary);margin:0 0 .5rem;font-size:1.1rem}.class-management .classes-list-section .classes-list .class-card p{color:var(--gt-text-tertiary);margin:0 0 .5rem;font-size:.9rem}.class-management .classes-list-section .classes-list .class-card .teacher-email{color:var(--gt-text-secondary);font-weight:500}.class-management .classes-list-section .classes-list .class-card .course-code{color:#2a5aa5;font-weight:600}.class-management .classes-list-section .classes-list .class-card small{color:#999;font-size:.85rem}.class-management .right-panel .no-selection{color:#999;justify-content:center;align-items:center;height:400px;font-size:1.1rem;display:flex}.class-management .right-panel .class-details{border-bottom:2px solid var(--gt-gray-100);margin-bottom:2rem;padding-bottom:2rem}.class-management .right-panel .class-details h2{color:var(--gt-text-primary);margin-bottom:.5rem}.class-management .right-panel .class-details p{color:var(--gt-text-tertiary)}.class-management .right-panel .class-details .teacher-email{color:var(--gt-text-secondary);font-weight:500}.class-management .right-panel .class-details .course-code{color:#2a5aa5;font-weight:600}.class-management .right-panel .invite-section{border-bottom:2px solid var(--gt-gray-100);margin-bottom:2rem;padding-bottom:2rem}.class-management .right-panel .invite-section h3{color:var(--gt-text-primary);margin-bottom:1rem;font-size:1.3rem}.class-management .right-panel .invite-section form .form-group{margin-bottom:1rem}.class-management .right-panel .invite-section form .form-group label{color:var(--gt-text-tertiary);margin-bottom:.5rem;font-weight:600;display:block}.class-management .right-panel .invite-section form .form-group input{border:1px solid var(--gt-border);border-radius:8px;width:100%;padding:.75rem;font-size:1rem;transition-property:border-color;transition-duration:.2s;transition-timing-function:ease}.class-management .right-panel .invite-section form .form-group input:focus{border-color:#4a90e2;outline:none}.class-management .right-panel .invite-section form button{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease}.class-management .right-panel .invite-section form button:hover:not(:disabled){background:#218838}.class-management .right-panel .invite-section form button:disabled{cursor:not-allowed;background:#ccc}.class-management .right-panel .students-section h3{color:var(--gt-text-primary);margin-bottom:1rem;font-size:1.3rem}.class-management .right-panel .students-section .no-students{color:#999;text-align:center;padding:2rem;font-style:italic}.class-management .right-panel .students-section .students-list{flex-direction:column;gap:.75rem;display:flex}.class-management .right-panel .students-section .students-list .student-card{border:1px solid var(--gt-gray-200);background-color:var(--gt-gray-50);border-radius:8px;padding:1rem}.class-management .right-panel .students-section .students-list .student-card .student-email{color:var(--gt-text-primary);margin:0 0 .25rem;font-weight:500}.class-management .right-panel .students-section .students-list .student-card small{color:#999;font-size:.85rem}.assignment-list__header{align-items:center;gap:8px;display:flex}.assignment-list__title{color:#303030;margin:0;font-size:1.1rem;font-weight:600}.assignment-list__count-badge{color:#fff;background-color:#018156;border-radius:13px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 7px;font-size:.8rem;font-weight:600;display:inline-flex}.assignment-list{flex-direction:column;gap:8px;display:flex}.assignment-list__table-card{box-shadow:var(--gt-shadow-hairline);background:#fff;border-radius:10px;overflow:hidden}.assignment-list__table-wrapper{overflow-x:auto}.assignment-list__table{border-collapse:collapse;width:100%;font-size:.875rem}.assignment-list__table thead tr{background-color:var(--gt-surface-sunken)}.assignment-list__table th{text-align:left;color:#616161;white-space:nowrap;padding:10px 16px;font-size:.8125rem;font-weight:500}.assignment-list__table td{color:#303030;vertical-align:middle;background-color:#fff;border-bottom:1px solid #dadada;padding:16px;font-weight:500}.assignment-list__table tbody tr:last-child td{border-bottom:none}.assignment-list__table tbody tr:hover td{background-color:var(--gt-surface-muted)}.assignment-list__td-title{color:#303030;font-weight:500}.assignment-list__row--clickable{cursor:pointer}.assignment-list__title-link{font:inherit;color:#018156;cursor:pointer;text-align:left;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.assignment-list__title-link:hover{color:#016547}.assignment-list__title-link:focus{outline:none}.assignment-list__td-date{color:#424242;white-space:nowrap}.assignment-list__td-submissions{min-width:140px}.submissions__label{color:#303030;margin-bottom:6px;font-size:.8125rem;font-weight:500;display:block}.submissions__pct{color:#616161}.submissions__bar{background-color:#eee;border-radius:10px;height:5px;overflow:hidden}.submissions__bar-fill{background-color:#e6a817;border-radius:10px;height:100%;transition-property:width;transition-duration:.3s;transition-timing-function:ease}.status-badge--active{color:var(--gt-primary);background-color:#d4f5ee}.status-badge--draft{background-color:var(--gt-gray-100);color:var(--gt-gray-600)}.status-badge--closed{color:var(--gt-blue-500);background-color:#dce8f5}@media (width<=768px){.assignment-list__table-wrapper{overflow-x:visible}.assignment-list__table{display:block}.assignment-list__table thead{display:none}.assignment-list__table tbody{flex-direction:column;gap:8px;padding:8px;display:flex}.assignment-list__table tbody tr{cursor:default;background:#fff;border:1px solid #dadada;border-radius:10px;grid-template-rows:auto auto auto auto;grid-template-columns:1fr auto;gap:4px 8px;padding:16px;display:grid}.assignment-list__table tbody tr td{border-bottom:none;min-width:0;padding:0;background:0 0!important}.assignment-list__table tbody tr td:first-child{color:#303030;grid-area:1/1;align-self:center;font-size:1rem;font-weight:600}.assignment-list__table tbody tr td:nth-child(2){color:#424242;grid-area:2/1;align-self:center;font-size:.8rem}.assignment-list__table tbody tr td:nth-child(3){grid-area:3/1/5;padding-top:2px}.assignment-list__table tbody tr td:nth-child(3) .submissions__label{margin-bottom:4px;font-size:.8rem}.assignment-list__table tbody tr td:nth-child(3) .submissions__bar{width:100%}.assignment-list__table tbody tr td:nth-child(4){flex-shrink:0;grid-area:1/2;justify-content:flex-end;align-items:center;display:flex}.assignment-list__table tbody tr td:nth-child(5){grid-area:2/2;justify-content:flex-end;align-items:center;display:flex}.assignment-list__table tbody tr:hover td{background:0 0!important}.assignment-list__table tbody tr.assignment-list__row--clickable{cursor:pointer;touch-action:manipulation}.assignment-list__table tbody tr.assignment-list__row--clickable:active{background-color:var(--gt-gray-50)}}.edit-btn{color:var(--gt-primary);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:5px;padding:5px 12px;font-family:Poppins,sans-serif;font-size:.8125rem;font-weight:500;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.edit-btn:hover{background-color:var(--gt-info-soft)}.edit-btn:focus{outline:none}.turn-in-card{background:var(--gt-canvas);border-radius:10px;padding:24px}.turn-in-card__heading{color:#424242;margin:0 0 16px;font-size:.9rem;font-weight:600}.turn-in-card__percentage{color:#303030;text-align:center;margin-bottom:16px;font-size:2.75rem;font-weight:700;line-height:1}.turn-in-card__items{flex-direction:column;gap:4px;display:flex}.turn-in-item{color:#424242;justify-content:space-between;align-items:center;font-size:.8125rem;display:flex}.turn-in-item--spaced{margin-top:10px}.turn-in-item__label{align-items:center;gap:6px;display:flex}.turn-in-item__icon{flex-shrink:0}.turn-in-item__icon--green{color:var(--gt-primary)}.turn-in-item__icon--orange{color:#e6a817}.turn-in-item__count{color:#303030;font-weight:600}.turn-in-bar{background-color:var(--gt-gray-300);border-radius:10px;height:6px;margin-top:4px;overflow:hidden}.turn-in-bar--green .turn-in-bar__fill{background-color:var(--gt-primary)}.turn-in-bar--orange .turn-in-bar__fill{background-color:#e6a817}.turn-in-bar__fill{border-radius:10px;height:100%;transition-property:width;transition-duration:.3s;transition-timing-function:ease}.turn-in-card__divider{background-color:#ccc;height:1px;margin:16px 0}.turn-in-card__current{flex-direction:column;gap:4px;display:flex}.turn-in-card__current p{color:#424242;margin:0;font-size:.8rem}.turn-in-card__current p strong{color:#303030;font-weight:600}.modules{min-height:100%;padding:24px;font-family:Poppins,sans-serif}.modules__empty{color:#424242;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:60vh;display:flex}.modules__empty h2{margin-bottom:8px;font-size:1.25rem;font-weight:600}.modules__empty p{color:#616161;font-size:14px}.modules__layout{align-items:flex-start;gap:24px;display:flex}.modules__main{flex-direction:column;flex:1;gap:24px;min-width:0;max-width:calc(100% - 369px);display:flex}.modules__stats{flex-direction:column;flex-shrink:0;gap:24px;width:345px;display:flex}@media (width<=768px){.modules{padding:8px}.modules__layout{flex-direction:column}.modules__stats{display:none}.modules__main{width:100%;max-width:100%}}.ta-management{color:#424242;padding:24px;font-family:Poppins,sans-serif}.ta-management__empty{text-align:center;padding:60px 24px}.ta-management__empty h2{color:#303030;margin-bottom:8px;font-weight:600}.ta-management__intro{margin-bottom:24px}.ta-management__intro h2{color:#303030;margin:0 0 4px;font-size:24px;font-weight:600}.ta-management__intro p{color:#616161;max-width:720px;margin:0;font-size:14px}.ta-management__error{background:var(--gt-error-soft);color:#dc2626;border-radius:7px;margin-bottom:16px;padding:8px 16px;font-size:12px}.ta-management__layout{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=980px){.ta-management__layout{grid-template-columns:1fr}}.ta-management__panel{background:#fff;border:1px solid #dadada;border-radius:10px;padding:16px}.ta-management__panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.ta-management__panel-header h3{color:#303030;align-items:center;gap:4px;margin:0;font-size:16px;font-weight:600;display:flex}.ta-management__count{background:var(--gt-primary-soft);color:#018156;border-radius:20px;margin-left:4px;padding:1px 8px;font-size:12px;font-weight:600}.ta-management__search{color:#616161;border:1px solid #dadada;border-radius:7px;align-items:center;gap:4px;padding:6px 8px;display:flex}.ta-management__search input{color:#303030;background:0 0;border:none;outline:none;font-family:Poppins,sans-serif;font-size:12px}.ta-management__hint{color:#616161;font-size:12px}.ta-management__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ta-card{border:1px solid #dadada;border-radius:7px;padding:8px 16px}.ta-card__top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.ta-card__identity{flex-direction:column;display:flex}.ta-card__name{color:#303030;font-weight:600}.ta-card__email{color:#616161;font-size:12px}.ta-card__demote{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #dadada;border-radius:7px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;transition-property:background;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.ta-card__demote:hover:not(:disabled){background:var(--gt-error-soft)}.ta-card__demote:disabled{opacity:.5;cursor:not-allowed}.ta-card__projects{flex-wrap:wrap;gap:4px;margin:8px 0;display:flex}.ta-card__no-projects{color:#616161;font-size:12px;font-style:italic}.ta-card__assign{gap:8px;display:flex}.ta-card__assign select{color:#303030;background:#fff;border:1px solid #dadada;border-radius:7px;flex:1;padding:6px 8px;font-family:Poppins,sans-serif;font-size:12px}.ta-card__assign-btn{color:#fff;cursor:pointer;background:#018156;border:none;border-radius:7px;align-items:center;gap:4px;padding:6px 16px;font-size:12px;font-weight:500;transition-property:background;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.ta-card__assign-btn:hover:not(:disabled){background:#016547}.ta-card__assign-btn:disabled{opacity:.5;cursor:not-allowed}.ta-chip{background:var(--gt-primary-soft);color:#018156;border-radius:20px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.ta-chip button{color:#018156;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ta-chip button:hover:not(:disabled){color:#016547}.ta-chip button:disabled{opacity:.5;cursor:not-allowed}.student-row{border:1px solid #dadada;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;display:flex}.student-row__identity{flex-direction:column;display:flex}.student-row__name{color:#303030;font-weight:500}.student-row__email{color:#616161;font-size:12px}.student-row__promote{color:#018156;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #018156;border-radius:7px;align-items:center;gap:4px;padding:5px 16px;font-size:12px;font-weight:500;transition-property:background,color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.student-row__promote:hover:not(:disabled){color:#fff;background:#018156}.student-row__promote:disabled{opacity:.5;cursor:not-allowed}.ta-card{border:1px solid var(--gt-gray-200);background:#fff;border-radius:12px;flex-direction:column;gap:14px;padding:16px 18px;font-family:Poppins,sans-serif;display:flex}.ta-card__avatar{background:var(--gt-primary-soft);color:#018156;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex}.ta-card__header{align-items:center;gap:16px;display:flex}.ta-card__name-block{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ta-card__name{color:#303030;font-size:.875rem;font-weight:600}.ta-card__sub{color:#616161;font-size:.6875rem}.ta-card__pill{white-space:nowrap;border-radius:20px;flex-shrink:0;padding:4px 11px;font-size:.6875rem;font-weight:500}.ta-card__pill--ok{background:var(--gt-primary-soft);color:#018156}.ta-card__pill--warn{color:var(--gt-warning-text);background:#e8833a26}.ta-card__chevron{color:#616161;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ta-card__meta{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.ta-card__col{flex-direction:column;gap:6px;min-width:0;display:flex}.ta-card__label{letter-spacing:.03em;color:#9a9a9a;font-size:.625rem;font-weight:500}.ta-card__value{color:#303030;align-items:center;gap:6px;font-size:.75rem;display:flex}.ta-card__value-icon{color:#616161;flex-shrink:0}.ta-card__value-icon--ok{color:#018156}.ta-card__muted{color:#9a9a9a}.ta-card__ta-select{color:#303030;background:#fff;border:1px solid #dadada;border-radius:7px;max-width:100%;padding:6px 8px;font-family:Poppins,sans-serif;font-size:.75rem}.ta-card__ta-select:focus{border-color:#2771ff;outline:none}.ta-card__own{font-weight:500}.ta-card__own--present{color:#018156}.ta-card__own--late{color:#e8833a}.ta-card__own--absent{color:#dc2626}.ta-card__own--unmarked{color:#9a9a9a}.ta-card__actions{align-items:center;gap:8px;display:flex}.ta-card__btn{cursor:pointer;border:1px solid #0000;border-radius:9px;align-items:center;gap:7px;padding:8px 14px;font-family:Poppins,sans-serif;font-size:.75rem;font-weight:500;text-decoration:none;transition-property:filter;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.ta-card__btn--join{color:#fff;background:#2771ff}.ta-card__btn--join:hover{filter:brightness(1.05)}.ta-card__btn--add{color:#2771ff;background:#fff;border:1px dashed #2771ff}.ta-card__btn--checkin{color:#424242;background:#fff;border:1px solid #dadada}.ta-card__btn--checkin:hover{background:#eee}.ta-card__btn--disabled{color:#9a9a9a;cursor:default;background:#fff;border:1px solid #dadada}.ta-card__roster{border-top:1px solid var(--gt-gray-100);flex-direction:column;gap:4px;padding-top:16px;display:flex}.ta-card__roster-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ta-card__roster-title{color:#424242;font-size:.75rem;font-weight:600}.ta-card__mark-all{color:#018156;cursor:pointer;background:0 0;border:none;font-family:Poppins,sans-serif;font-size:.75rem;font-weight:500}.ta-card__roster-empty{color:#9a9a9a;margin:0;font-size:.75rem}.ta-card__student{align-items:center;gap:8px;padding:7px 0;display:flex}.ta-card__student+.ta-card__student{border-top:1px solid var(--gt-gray-50)}.ta-card__student-name{color:#303030;flex:1;min-width:0;font-size:.75rem}.ta-toggle{flex-shrink:0;gap:6px;display:inline-flex}.ta-toggle__seg{color:#7a7a7a;cursor:pointer;background:#fff;border:1px solid #dadada;border-radius:7px;padding:4px 9px;font-family:Poppins,sans-serif;font-size:.6875rem;font-weight:500}.ta-toggle__seg.is-selected{color:#fff;border-color:#0000}.ta-toggle__seg--present.is-selected{background:#018156;border-color:#018156}.ta-toggle__seg--late.is-selected{background:#e8833a;border-color:#e8833a}.ta-toggle__seg--absent.is-selected{background:#dc2626;border-color:#dc2626}.ta-card__status-pill{border-radius:7px;flex-shrink:0;padding:4px 10px;font-size:.6875rem;font-weight:500}.ta-card__status-pill--present{background:var(--gt-primary-soft);color:#018156}.ta-card__status-pill--late{color:var(--gt-warning-text);background:#e8833a26}.ta-card__status-pill--absent{background:var(--gt-error-soft);color:#dc2626}.ta-card__status-pill--unmarked{background:var(--gt-gray-50);color:#9a9a9a}@media (width<=720px){.ta-card__meta{grid-template-columns:1fr}.ta-card__student{flex-wrap:wrap}}.week-navigator{background:#fff;border:1px solid #dadada;border-radius:10px;align-items:center;gap:8px;padding:6px 10px;font-family:Poppins,sans-serif;display:inline-flex}.week-navigator__btn{color:#616161;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:2px;display:inline-flex}.week-navigator__btn:hover:not(:disabled){color:#303030;background:#eee}.week-navigator__btn:disabled{opacity:.4;cursor:default}.week-navigator__label{color:#424242;white-space:nowrap;font-size:.8125rem;font-weight:500}.week-navigator__sub{color:#616161;font-weight:400}.zoom-modal-backdrop{background-color:var(--gt-scrim);z-index:100;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out zoomFadeIn;display:flex;position:fixed;inset:0}.zoom-modal-backdrop.closing{animation:.2s ease-out zoomFadeOut}@keyframes zoomFadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomFadeOut{0%{opacity:1}to{opacity:0}}.zoom-modal{width:100%;max-width:460px;box-shadow:var(--gt-shadow-modal);background:#fff;border-radius:14px;flex-direction:column;gap:16px;padding:22px 24px;font-family:Poppins,sans-serif;animation:.2s ease-out zoomSlideIn;display:flex}.zoom-modal.closing{animation:.2s ease-out zoomSlideOut}@keyframes zoomSlideIn{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes zoomSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}.zoom-modal__header{justify-content:space-between;align-items:center;display:flex}.zoom-modal__title{color:#303030;margin:0;font-size:1.125rem;font-weight:600}.zoom-modal__close{color:#616161;cursor:pointer;background:0 0;border:none;padding:2px;display:inline-flex}.zoom-modal__close:hover{color:#303030}.zoom-modal__context{color:#616161;margin:-8px 0 0;font-size:.75rem}.zoom-modal__row{gap:16px;display:flex}.zoom-modal__row .zoom-modal__field{flex:1}.zoom-modal__field{flex-direction:column;gap:7px;display:flex}.zoom-modal__label{color:#424242;font-size:.75rem;font-weight:500}.zoom-modal__input{color:#303030;background:#fff;border:1px solid #dadada;border-radius:7px;width:100%;padding:10px 12px;font-family:Poppins,sans-serif;font-size:.8125rem}.zoom-modal__input::placeholder{color:#9a9a9a}.zoom-modal__input:focus{border-color:#2771ff;outline:none}.zoom-modal__error{background:var(--gt-error-soft);border:1px solid var(--gt-error);color:var(--gt-error);border-radius:7px;padding:10px 12px;font-size:.75rem}.zoom-modal__actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.zoom-modal__cancel,.zoom-modal__save{cursor:pointer;border-radius:10px;padding:10px 18px;font-family:Poppins,sans-serif;font-size:.8125rem;font-weight:500}.zoom-modal__cancel:disabled,.zoom-modal__save:disabled{opacity:.6;cursor:default}.zoom-modal__cancel{color:#424242;background:#fff;border:1px solid #dadada}.zoom-modal__cancel:hover:not(:disabled){background:#eee}.zoom-modal__save{color:#fff;background:#018156;border:1px solid #018156;font-weight:600}.zoom-modal__save:hover:not(:disabled){background:#016547}.designate-modal-backdrop{background-color:var(--gt-scrim);z-index:100;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out dmFadeIn;display:flex;position:fixed;inset:0}.designate-modal-backdrop.closing{animation:.2s ease-out dmFadeOut}@keyframes dmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dmFadeOut{0%{opacity:1}to{opacity:0}}.designate-modal{width:100%;max-width:460px;max-height:80vh;box-shadow:var(--gt-shadow-modal);background:#fff;border-radius:14px;flex-direction:column;padding:22px 24px;font-family:Poppins,sans-serif;animation:.2s ease-out dmSlideIn;display:flex}.designate-modal.closing{animation:.2s ease-out dmFadeOut}@keyframes dmSlideIn{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.designate-modal__header{justify-content:space-between;align-items:center;display:flex}.designate-modal__title{color:#303030;margin:0;font-size:1.125rem;font-weight:600}.designate-modal__close{color:#616161;cursor:pointer;background:0 0;border:none;display:inline-flex}.designate-modal__close:hover{color:#303030}.designate-modal__hint{color:#616161;margin:4px 0 16px;font-size:.75rem;line-height:1.5}.designate-modal__list{flex-direction:column;display:flex;overflow-y:auto}.designate-modal__empty{color:#616161;text-align:center;margin:16px 0;font-size:.8125rem}.designate-modal__row{align-items:center;gap:8px;padding:8px 0;display:flex}.designate-modal__row+.designate-modal__row{border-top:1px solid var(--gt-gray-50)}.designate-modal__avatar{color:#424242;background:#eee;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.6875rem;font-weight:600;display:inline-flex}.designate-modal__person{flex-direction:column;flex:1;min-width:0;display:flex}.designate-modal__name{color:#303030;font-size:.8125rem;font-weight:500}.designate-modal__email{color:#616161;white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;overflow:hidden}.designate-modal__toggle{color:#424242;cursor:pointer;background:#fff;border:1px solid #dadada;border-radius:10px;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;font-family:Poppins,sans-serif;font-size:.75rem;font-weight:500;display:inline-flex}.designate-modal__toggle:hover:not(:disabled){background:#eee}.designate-modal__toggle:disabled{opacity:.6;cursor:default}.designate-modal__toggle.is-ta{color:#fff;background:#018156;border-color:#018156}.designate-modal__error{background:var(--gt-error-soft);border:1px solid var(--gt-error);color:var(--gt-error);border-radius:7px;margin-top:8px;padding:10px 12px;font-size:.75rem}.designate-modal__actions{justify-content:flex-end;margin-top:16px;display:flex}.designate-modal__done{color:#fff;cursor:pointer;background:#018156;border:1px solid #018156;border-radius:10px;padding:10px 18px;font-family:Poppins,sans-serif;font-size:.8125rem;font-weight:600}.designate-modal__done:hover{background:#016547}.ta-page{min-height:100%;padding:24px;font-family:Poppins,sans-serif}.ta-page__topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.ta-page__heading{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.ta-page__title{color:#303030;margin:0;font-size:1.5rem;font-weight:600}.ta-page__subtitle{color:#616161;font-size:.9375rem}.ta-page__topbar-actions{align-items:center;gap:8px;display:flex}.ta-page__manage-btn{color:#424242;cursor:pointer;background:#fff;border:1px solid #dadada;border-radius:10px;align-items:center;gap:7px;padding:7px 12px;font-family:Poppins,sans-serif;font-size:.8125rem;font-weight:500;display:inline-flex}.ta-page__manage-btn:hover{background:#eee}.ta-page__section-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.ta-page__section-title{color:#303030;font-size:1rem;font-weight:600}.ta-page__count{color:#fff;background:#018156;border-radius:11px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:.75rem;font-weight:600;display:inline-flex}.ta-page__divider{background:#dadada;height:1px;margin-bottom:16px}.ta-page__cadence{color:#616161;margin-left:auto;font-size:.8125rem}.ta-page__cadence-edit{color:#424242;align-items:center;gap:4px;margin-left:auto;font-size:.8125rem;display:inline-flex}.ta-page__cadence-edit select{color:#303030;cursor:pointer;background:#fff;border:1px solid #dadada;border-radius:7px;padding:4px 6px;font-family:Poppins,sans-serif;font-size:.8125rem}.ta-page__cadence-edit select:focus{border-color:#2771ff;outline:none}.ta-page__cadence-edit select:disabled{opacity:.6;cursor:default}.ta-page__cadence-dur{color:#616161}.ta-page__meeting-tabs{background:#eee;border-radius:10px;gap:4px;margin-bottom:16px;padding:3px;display:inline-flex}.ta-page__meeting-tab{color:#424242;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 14px;font-family:Poppins,sans-serif;font-size:.8125rem;font-weight:500}.ta-page__meeting-tab.is-active{color:#018156;box-shadow:var(--gt-shadow-hairline);background:#fff}.ta-page__list{flex-direction:column;gap:16px;display:flex}.ta-page__empty{color:#424242;text-align:center;justify-content:center;align-items:center;min-height:30vh;font-size:14px;display:flex}.ta-page__empty p{margin:0}.ta-page__empty--stack{flex-direction:column;gap:16px;padding:24px}.ta-page__empty-text{max-width:28rem;line-height:1.5}.project-health{flex-direction:column;gap:6px;display:flex}.project-health__heading{color:#303030;margin:0;font-size:1.1rem;font-weight:600}.project-health__container{background-color:var(--gt-canvas);border-radius:10px;flex-direction:column;flex-shrink:0;gap:16px;max-height:290px;padding:16px;display:flex;overflow-y:auto}.project-health__container::-webkit-scrollbar{width:4px}.project-health__container::-webkit-scrollbar-track{background:0 0}.project-health__container::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:4px}.project-health__container{scrollbar-width:thin;scrollbar-color:#ccc transparent}.health-card{border-radius:10px;flex-shrink:0;overflow:hidden}.health-card--excellent{background-color:var(--gt-primary);color:#fff}.health-card--excellent .health-card__header{background-color:var(--gt-primary)}.health-card--excellent .health-card__body{background-color:var(--gt-primary-soft);color:#303030}.health-card--excellent .health-card__via,.health-card--excellent .health-card__description{color:#424242}.health-card--warning{color:#fff;background-color:#e6a817}.health-card--warning .health-card__header{background-color:#e6a817}.health-card--warning .health-card__body{color:#303030;background-color:#fdf3dc}.health-card--warning .health-card__via,.health-card--warning .health-card__description{color:#424242}.health-card--poor{color:#fff;background-color:#c0392b}.health-card--poor .health-card__header{background-color:#c0392b}.health-card--poor .health-card__body{background-color:var(--gt-error-soft);color:#303030}.health-card--poor .health-card__via,.health-card--poor .health-card__description{color:#424242}.health-card__header{justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.health-card__name-row{align-items:center;gap:8px;display:flex}.health-card__face-icon{color:currentColor;justify-content:center;align-items:center;line-height:1;display:flex}.health-card__name{color:#fff;font-size:.9375rem;font-weight:600}.health-card__trend-icon{color:#fff;opacity:.9;align-items:center;display:flex}.health-card__body{padding:10px 16px 16px}.health-card__description{margin:0 0 8px;font-size:.8125rem;line-height:1.5}.health-card__footer{justify-content:space-between;align-items:center;display:flex}.health-card__via{font-size:.75rem}.health-card__details-btn{color:#424242;cursor:pointer;background:0 0;border:none;padding:0;font-family:Poppins,sans-serif;font-size:.8rem;font-weight:600;transition-property:color;transition-duration:.2s;transition-timing-function:ease}.health-card__details-btn:hover{color:#303030}.health-card__details-btn:focus{outline:none}.project-health__coming-soon{background-color:var(--gt-canvas);border-radius:10px;justify-content:center;align-items:center;min-height:80px;padding:16px;display:flex}.project-health__coming-soon p{color:#424242;letter-spacing:.02em;margin:0;font-size:.9rem;font-weight:600}.stat-tooltip__trigger{cursor:default;align-items:center;display:inline-flex}.stat-tooltip__trigger--underline{cursor:pointer;background-image:radial-gradient(circle,currentColor 1px,#0000 1px);background-position:0 100%;background-repeat:repeat-x;background-size:5px 2px;padding-bottom:3px}.stat-tooltip{z-index:1000;border:1px solid var(--gt-gray-200);box-shadow:var(--gt-shadow-pop);color:#303030;white-space:nowrap;pointer-events:none;background:#fff;border-radius:7px;padding:8px 12px;font-size:12px;font-weight:400;animation:.1s stat-tooltip-in;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.stat-tooltip:after{content:"";border-right:1px solid var(--gt-gray-200);border-bottom:1px solid var(--gt-gray-200);background:#fff;width:8px;height:8px;position:absolute;top:100%;left:50%;transform:translate(-50%,-4px)rotate(45deg)}@keyframes stat-tooltip-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 4px))}to{opacity:1;transform:translate(-50%,calc(-100% - 8px))}}.metric-card{text-align:left;background:#fff;border:1px solid #dadada;border-radius:10px;flex-direction:column;gap:4px;width:100%;padding:16px 16px 8px;font-family:Poppins,sans-serif;display:flex;box-shadow:0 0 4px #00000014}.metric-card__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.metric-card__label{color:#616161;text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}.metric-card__icon{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.metric-card__value{color:#303030;font-size:2rem;font-weight:600;line-height:1.1}.metric-card__hint{color:#616161;min-height:1.1em;font-size:12px}.metric-card--clickable{cursor:pointer;transition:box-shadow .2s,border-color .2s}.metric-card--clickable:hover{border-color:#c6c6c6;box-shadow:0 2px 12px #0000001a}.metric-card--clickable:focus-visible{box-shadow:var(--gt-focus-ring), 0 0 4px #00000014;outline:none}.metric-card--primary .metric-card__icon{color:#018156;background:#01815624}.metric-card--blue .metric-card__icon{color:#2771ff;background:#2771ff1f}.metric-card--purple .metric-card__icon{color:#7d3c98;background:#8e44ad24}.metric-card--amber .metric-card__icon{color:#b26a00;background:#f5a6232e}.dashboard{max-width:1400px;margin:0 auto;padding:24px 24px 60px;font-family:Poppins,sans-serif}.dashboard__empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.dashboard__empty h2{color:#303030;margin-bottom:.5rem;font-size:1.5rem}.dashboard__empty p{color:#424242;font-size:1rem}.dashboard__inline-error{background:var(--gt-error-soft);color:var(--gt-error-text);border-radius:7px;margin-bottom:24px;padding:8px 16px;font-size:14px}.dashboard__metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}@media (width<=1000px){.dashboard__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.dashboard__metrics{grid-template-columns:1fr}}.dashboard__content{grid-template-columns:2fr 1fr;align-items:start;gap:24px;display:grid}@media (width<=900px){.dashboard__content{grid-template-columns:1fr}}.dashboard__aside{flex-direction:column;gap:24px;min-width:0;display:flex}.dashboard__card{box-shadow:var(--gt-shadow-hairline);background:#fff;border:1px solid #dadada;border-radius:10px;flex-direction:column;gap:16px;padding:24px;display:flex}.dashboard__card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.dashboard__card-title{color:#212b36;align-items:center;gap:8px;font-size:16px;font-weight:600;display:inline-flex}.dashboard__card-title svg{color:#018156;flex-shrink:0}.dashboard__card-link{cursor:pointer;color:#018156;background:0 0;border:none;border-radius:7px;align-items:center;gap:2px;padding:4px 6px;font-family:Poppins,sans-serif;font-size:12px;font-weight:600;transition-property:background-color,color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.dashboard__card-link:hover{background:var(--gt-primary-soft);color:#016547}.dashboard__card-empty{color:#616161;margin:0;padding:8px 0;font-size:14px}.dashboard__health-scroll{max-height:300px;margin:0 -8px;padding:0 8px;overflow-y:auto}.dashboard__assignment-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dashboard__assignment-row{border-bottom:1px solid #dadada;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.dashboard__assignment-row:first-child{padding-top:0}.dashboard__assignment-row:last-child{border-bottom:none;padding-bottom:0}.dashboard__assignment-text{flex-direction:column;gap:2px;min-width:0;display:flex}.dashboard__assignment-title{color:#303030;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.dashboard__assignment-title-link{font:inherit;color:#018156;cursor:pointer;text-align:left;text-underline-offset:2px;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;max-width:100%;padding:0;font-size:14px;font-weight:500;text-decoration:underline;overflow:hidden}.dashboard__assignment-title-link:hover{color:#016547}.dashboard__assignment-due{color:#616161;font-size:12px}.dashboard__assignment-end{flex-shrink:0;align-items:center;gap:16px;display:flex}.dashboard__assignment-count{color:#616161;font-size:12px;font-weight:500}.dashboard__pill{white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.dashboard__pill--draft{color:#424242;background:#6161611f}.dashboard__pill--active{background:var(--gt-info-soft);color:#1e5bb8}.dashboard__pill--closed{background:var(--gt-primary-soft);color:#016547}.dashboard__tsr{align-items:baseline;gap:8px;display:flex}.dashboard__tsr-num{color:#303030;font-size:2.25rem;font-weight:600;line-height:1}.dashboard__tsr-total{color:#616161;font-size:1.25rem}.dashboard__tsr-label{color:#616161;font-size:14px}.dashboard__progress{background:#eee;border-radius:999px;height:8px;overflow:hidden}.dashboard__progress-fill{background:#018156;border-radius:999px;height:100%;transition-property:width;transition-duration:.3s;transition-timing-function:ease}.dashboard__tsr-meta{justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.dashboard__tsr-current{color:#424242;white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.dashboard__tsr-due{color:#616161;flex-shrink:0}.confirm-modal-backdrop{background-color:var(--gt-scrim);z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal{width:90%;max-width:500px;box-shadow:var(--gt-shadow-modal);background:#fff;border-radius:12px;padding:2rem;position:relative}.confirm-modal__close{color:#424242;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:flex;position:absolute;top:1rem;right:1rem}.confirm-modal__close:hover{background-color:#eee}.confirm-modal__content{flex-direction:column;gap:1.5rem;display:flex}.confirm-modal__title{color:#303030;margin:0;font-family:Poppins,sans-serif;font-size:1.75rem;font-weight:600}.confirm-modal__message{color:#424242;margin:0;font-family:Poppins,sans-serif;font-size:1rem;line-height:1.5}.confirm-modal__actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.confirm-modal__button{cursor:pointer;border:none;border-radius:7px;padding:.75rem 1.5rem;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:500;transition-property:background,color;transition-duration:.2s;transition-timing-function:ease}.confirm-modal__button--cancel{color:#424242;background:#fff;border:1px solid #dadada}.confirm-modal__button--cancel:hover{color:#303030;background:#eee}.confirm-modal__button--confirm{color:#fff;background:#018156}.confirm-modal__button--confirm:hover{background:#016547}.class-settings-modal-backdrop{background-color:var(--gt-scrim);z-index:100;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out classSettingsFadeIn;display:flex;position:fixed;inset:0}.class-settings-modal-backdrop.closing{animation:.2s ease-out classSettingsFadeOut}@keyframes classSettingsFadeIn{0%{opacity:0}to{opacity:1}}@keyframes classSettingsFadeOut{0%{opacity:1}to{opacity:0}}.class-settings-modal{background-color:var(--gt-canvas);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--gt-shadow-modal);border-radius:10px;animation:.2s ease-out classSettingsSlideIn;overflow-y:auto}.class-settings-modal.closing{animation:.2s ease-out classSettingsSlideOut}.class-settings-modal__header{justify-content:space-between;align-items:center;padding:24px 24px 8px;display:flex}.class-settings-modal__title{color:#303030;margin:0;font-family:Poppins,sans-serif;font-size:1.25rem;font-weight:600}.class-settings-modal__close-button{color:#424242;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:4px;transition-property:background-color,color;transition-duration:.2s;transition-timing-function:ease;display:flex}.class-settings-modal__close-button:hover{background-color:var(--gt-gray-200);color:#303030}.class-settings-modal__class-name{color:#424242;margin:0;padding:0 24px 16px;font-family:Poppins,sans-serif;font-size:.9375rem}.class-settings-modal__content{flex-direction:column;gap:24px;padding:0 24px 24px;display:flex}.class-settings-modal__section{flex-direction:column;gap:8px;display:flex}.class-settings-modal__section--danger{border-top:1px solid var(--gt-border);padding-top:16px}.class-settings-modal__section-heading{flex-direction:column;gap:2px;display:flex}.class-settings-modal__label{color:#303030;margin:0;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:600}.class-settings-modal__hint{color:#424242;margin:0;font-family:Poppins,sans-serif;font-size:.8125rem;line-height:1.45}.class-settings-modal__hint--inline{margin-top:2px}.class-settings-modal__status-toggle{background-color:#fff;border:1px solid #dadada;border-radius:999px;align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.class-settings-modal__status-pill{color:#424242;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 18px;font-family:Poppins,sans-serif;font-size:.8125rem;font-weight:500;transition-property:background-color,color;transition-duration:.2s;transition-timing-function:ease}.class-settings-modal__status-pill.active{color:#fff;background-color:#018156}.class-settings-modal__export-button{color:#303030;cursor:pointer;background:#fff;border:1px solid #dadada;border-radius:7px;align-self:flex-start;align-items:center;gap:8px;padding:10px 16px;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:500;transition-property:background-color,border-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.class-settings-modal__export-button:hover:not(:disabled){color:#018156;background:#eee;border-color:#018156}.class-settings-modal__export-button:disabled{cursor:wait;opacity:.7}.class-settings-modal__export-error{color:var(--gt-error-text);margin:0;font-family:Poppins,sans-serif;font-size:.8125rem}.class-settings-modal__delete-button{color:var(--gt-error-text);cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:7px;align-self:flex-start;align-items:center;gap:8px;padding:10px 16px;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:500;transition-property:background-color,border-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.class-settings-modal__delete-button:hover{background:#fee2e2;border-color:#fca5a5}@keyframes classSettingsSlideIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes classSettingsSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}.add-assignment-btn{color:#fff;cursor:pointer;background-color:#018156;border:none;border-radius:7px;align-self:flex-start;align-items:center;gap:8px;padding:10px 16px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;transition-property:background-color;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.add-assignment-btn:hover{background-color:#016547}.add-assignment-btn:focus{outline:none}.my-classes{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;max-width:1200px;height:calc(100vh - 64px);max-height:calc(100vh - 64px);margin:0;padding:0 16px 16px;font-family:Poppins,sans-serif;display:flex;overflow:hidden}.my-classes-success{color:#047857;background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:7px;flex-shrink:0;margin:0 24px 16px;padding:8px 16px;font-size:14px;font-weight:500}.my-classes-toolbar{background-color:#fff;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.my-classes-toolbar__filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.my-classes-toolbar__filters .my-classes-toolbar__filter-btn{min-width:unset;flex:0 auto;padding:10px 16px}.my-classes-toolbar__create-btn{flex-shrink:0;align-self:center}.my-classes-list-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.my-classes-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;padding:24px 24px 32px;display:grid}.my-classes-empty{text-align:center;color:#424242;grid-column:1/-1;padding:60px 24px;font-family:Poppins,sans-serif}.my-classes-empty p{margin:8px 0;line-height:1.6}.my-classes-card{background:#fff;border-radius:10px;flex-direction:column;transition:box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 0 4px #00000014}.my-classes-card--student{cursor:pointer;text-align:left}.my-classes-card--student:hover{box-shadow:0 2px 12px #0000001a}.my-classes-card--student:hover .my-classes-select-cta{opacity:1}.my-classes-card--student:focus-visible{box-shadow:var(--gt-focus-ring), 0 0 4px #00000014;outline:none}.my-classes-card--student:focus-visible .my-classes-select-cta{opacity:1}.my-classes-card--instructor{text-align:left}.my-classes-card--instructor:hover{box-shadow:0 2px 12px #0000001a}.my-classes-card--instructor:hover .my-classes-select-cta{opacity:1}.my-classes-card-hero--student{background-color:#eee;flex-shrink:0;justify-content:center;align-items:center;min-height:120px;display:flex;position:relative}.my-classes-card-hero--instructor{background-color:#eee;flex-shrink:0;min-height:120px;position:relative}.my-classes-card-code-tag{white-space:nowrap;cursor:pointer;color:#fff;letter-spacing:.04em;background-color:#018156;border:none;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-family:Poppins,sans-serif;font-size:.75rem;font-weight:500;transition:background-color .2s,transform .2s;display:inline-flex;position:absolute;top:16px;left:16px}.my-classes-card-code-tag:hover{background-color:#016547}.my-classes-card-code-tag:active{transform:scale(.98)}.my-classes-card-code-tag--copied{background-color:#016547}.my-classes-card-code-tag__text{font-variant-numeric:tabular-nums}.my-classes-card-code-tag__copy-icon{opacity:.92;flex-shrink:0}.my-classes-card-hero-edit{cursor:pointer;color:#303030;opacity:0;background-color:#ffffffeb;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:opacity .2s,background-color .2s,color .2s;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 1px 3px #0000001f}.my-classes-card-hero-edit:hover{color:#018156;background-color:#fff}.my-classes-card-hero-edit:focus-visible{opacity:1;box-shadow:var(--gt-focus-ring), 0 1px 3px #0000001f;outline:none}.my-classes-card-hero-edit:active{transform:scale(.96)}.my-classes-card--instructor:hover .my-classes-card-hero-edit,.my-classes-card--instructor:focus-within .my-classes-card-hero-edit{opacity:1}.my-classes-card-hero-leave{cursor:pointer;color:#303030;background-color:#ffffffeb;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:background-color .2s,color .2s,transform .2s;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 1px 3px #0000001f}.my-classes-card-hero-leave:hover{color:#dc2626;background-color:#fff}.my-classes-card-hero-leave:focus-visible{box-shadow:var(--gt-focus-ring), 0 1px 3px #0000001f;outline:none}.my-classes-card-hero-leave:active{transform:scale(.96)}.my-classes-card-hero-leave:after{content:attr(data-tooltip);white-space:nowrap;color:#fff;pointer-events:none;opacity:0;background-color:#303030;border-radius:4px;padding:4px 8px;font-size:.72rem;font-weight:500;transition:opacity .2s,transform .2s;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(-4px)}.my-classes-card-hero-leave:hover:after,.my-classes-card-hero-leave:focus-visible:after{opacity:1;transform:translateY(0)}.my-classes-card-body--student{flex-direction:column;flex:1;gap:4px;padding:16px;display:flex}.my-classes-card-body--student .my-classes-card-row{margin-top:auto}.my-classes-card-body--instructor{background:#fff;flex-direction:column;flex:1;gap:0;padding:16px;display:flex}.my-classes-card-instructor-main{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;flex-direction:column;gap:4px;margin:0;padding:0;transition:opacity .2s;display:flex}.my-classes-card-instructor-main:hover .my-classes-card-title{color:#018156}.my-classes-card-instructor-main:focus-visible .my-classes-select-cta{opacity:1}.my-classes-card-title{color:#303030;margin:0;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;line-height:1.3}.my-classes-card-subtitle{color:#424242;margin:0;font-family:Poppins,sans-serif;font-size:.8125rem;font-weight:500;line-height:1.35}.my-classes-card-status-tag{border-radius:20px;align-self:flex-start;align-items:center;margin-top:2px;padding:4px 10px;font-family:Poppins,sans-serif;font-size:.75rem;font-weight:500;line-height:1.2;display:inline-flex}.my-classes-card-status-tag--active{color:#018156;background-color:#d4f5ee}.my-classes-card-status-tag--complete{color:#2771ff;background-color:#dce8f5}.my-classes-card-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.my-classes-card-row-spacer{flex:1;min-width:0}.my-classes-select-cta{color:#018156;opacity:0;pointer-events:none;flex-shrink:0;align-items:center;gap:4px;font-size:.875rem;font-weight:500;transition:opacity .2s;display:inline-flex}.my-classes-card-enrollment{color:#424242;letter-spacing:.04em;text-transform:uppercase;font-size:.8125rem;font-weight:500}.my-classes-loading{text-align:center;color:#424242;padding:60px;font-family:Poppins,sans-serif;font-size:1.05rem}.sortable-header__button{font:inherit;color:inherit;text-align:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:6px;margin:0;padding:0;display:inline-flex}.sortable-header__button:hover .sortable-header__icon{opacity:.9}.sortable-header__button:focus-visible{box-shadow:inset var(--gt-focus-ring-tight);border-radius:4px;outline:none}.sortable-header__icon{opacity:.35;flex-shrink:0;align-items:center;transition:opacity .15s;display:inline-flex}.sortable-header--active .sortable-header__icon{opacity:1}.student-assignments__header{align-items:center;gap:8px;display:flex}.student-assignments__title{color:#303030;margin:0;font-size:1.1rem;font-weight:600}.student-assignments__count-badge{color:#fff;background-color:#018156;border-radius:13px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 7px;font-size:.8rem;font-weight:600;display:inline-flex}.student-assignments{flex-direction:column;gap:8px;display:flex}.student-assignments__table-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 0 4px #00000014}.student-assignments__table-wrapper{overflow-x:auto}.student-assignments__table{border-collapse:collapse;width:100%;font-size:.875rem}.student-assignments__table thead tr{background-color:#eee}.student-assignments__table th{text-align:left;color:#616161;white-space:nowrap;padding:10px 16px;font-size:.8125rem;font-weight:500}.student-assignments__table td{color:#303030;vertical-align:middle;background-color:#fff;border-bottom:1px solid #dadada;padding:16px;font-weight:500}.student-assignments__table tbody tr:last-child td{border-bottom:none}.student-assignments__table tbody tr:hover td{background-color:#fafafa}.student-assignments__td-name{color:#303030;font-weight:500}.student-assignments__td-date{color:#424242;white-space:nowrap}.student-assignments__td-project{color:#303030}.status-badge{white-space:nowrap;border-radius:20px;justify-content:center;align-items:center;padding:4px 14px;font-size:.8rem;font-weight:500;display:inline-flex}.status-badge--not-started{color:#616161;background-color:#eee}.status-badge--in-progress{color:#2771ff;background-color:#dce8f5}.status-badge--submitted{color:#018156;background-color:#d4f5ee}.student-assignments__action-btn{cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;padding:6px 14px;font-family:Poppins,sans-serif;font-size:.8125rem;font-weight:500;transition:background-color .2s,color .2s,box-shadow .2s;display:inline-flex}.student-assignments__action-btn--start{color:#fff;background-color:#018156;box-shadow:0 1px 2px #0000001a}.student-assignments__action-btn--start:hover{background-color:#016d49}.student-assignments__action-btn--start:focus-visible{box-shadow:inset var(--gt-focus-ring-tight), 0 1px 2px #0000001a;outline:none}.student-assignments__action-btn--edit_submission{color:#018156;background-color:#01815614}.student-assignments__action-btn--edit_submission:hover{background-color:#01815624}.student-assignments__action-btn--closed,.student-assignments__action-btn--opens_later{color:#616161;cursor:default;background-color:#f3f3f3}.student-assignments__action-btn:disabled{cursor:default;box-shadow:none}.student-assignments__row--clickable{cursor:default}@media (width<=768px){.student-assignments__table-wrapper{overflow-x:visible}.student-assignments__table{display:block}.student-assignments__table thead{display:none}.student-assignments__table tbody{flex-direction:column;gap:8px;padding:8px;display:flex}.student-assignments__table tbody tr{cursor:default;background:#fff;border:1px solid #dadada;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:4px 8px;padding:16px;transition:background-color .2s,box-shadow .2s;display:grid}.student-assignments__table tbody tr td{border-bottom:none;padding:0;background:0 0!important}.student-assignments__table tbody tr td:first-child{color:#303030;grid-area:1/1;font-size:1rem;font-weight:600}.student-assignments__table tbody tr td:nth-child(2){color:#424242;white-space:nowrap;grid-area:2/1;font-size:.8rem}.student-assignments__table tbody tr td:nth-child(3){color:#616161;text-align:right;white-space:nowrap;grid-area:2/2;align-self:center;font-size:.8rem}.student-assignments__table tbody tr td:nth-child(4){grid-area:1/2;justify-content:flex-end;align-items:center;display:flex}.student-assignments__table tbody tr td:nth-child(5){display:none}.student-assignments__table tbody tr:hover td{background:0 0!important}.student-assignments__table tbody tr.student-assignments__row--clickable{cursor:pointer;touch-action:manipulation}.student-assignments__table tbody tr.student-assignments__row--clickable:active{background-color:#f5f5f5;box-shadow:0 1px 4px #0000000f}}.assignments{min-height:100%;padding:24px;font-family:Poppins,sans-serif}.assignments__empty{color:#424242;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:60vh;display:flex}.assignments__empty h2{margin-bottom:8px;font-size:1.25rem;font-weight:600}.assignments__empty p{color:#616161;font-size:14px}.assignments__content{flex-direction:column;gap:24px;display:flex}.assignments__header{justify-content:space-between;align-items:flex-start;display:flex}.assignments__title{color:#303030;margin:0;font-size:1.25rem;font-weight:600}.assignments__subtitle{color:#424242;margin-top:4px;margin-bottom:0;font-size:12px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.project-grid__card{color:inherit;background:#fff;border-radius:10px;flex-direction:column;text-decoration:none;transition:box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 0 4px #00000014}.project-grid__card:hover{box-shadow:0 2px 12px #0000001a}.project-grid__card:hover .project-grid__see-all{opacity:1}.project-grid__card:focus-visible{box-shadow:var(--gt-focus-ring), 0 0 4px #00000014;outline:none}.project-grid__banner{background-color:#eee;justify-content:center;align-items:center;min-height:120px;display:flex;position:relative}.project-grid__tag{white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:500;position:absolute;top:8px;right:8px}.project-grid__tag--open{color:#fff;background-color:#018156}.project-grid__tag--closed{color:#2771ff;background-color:#dce8f5}.project-grid__tag--member{color:#018156;background-color:#0181561f}.project-grid__banner-icon{color:#616161;flex-shrink:0}.project-grid__logo{object-fit:cover;border:2px solid #fff;border-radius:50%;flex-shrink:0;width:64px;height:64px;box-shadow:0 1px 4px #0000001f}.project-grid__content{flex-direction:column;gap:4px;padding:16px;display:flex}.project-grid__name{color:#303030;margin:0;font-size:1rem;font-weight:600;line-height:1.3}.project-grid__row{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.project-grid__members{color:#424242;align-items:center;gap:8px;font-size:.8125rem;font-weight:500;display:flex}.project-grid__members-icon{object-fit:contain;flex-shrink:0;width:20px;height:20px}.project-grid__see-all{color:#018156;opacity:0;flex-shrink:0;align-items:center;gap:4px;font-size:.875rem;font-weight:500;transition:opacity .2s;display:inline-flex}.browse-projects{min-height:100%;padding:24px;font-family:Poppins,sans-serif}.browse-projects__empty{color:#424242;justify-content:center;align-items:center;min-height:40vh;font-size:14px;display:flex}.browse-projects__empty p{margin:0}.browse-projects__empty--stack{text-align:center;flex-direction:column;gap:16px;padding:24px}.browse-projects__empty-title{color:#303030;margin:0;font-size:1.125rem;font-weight:600}.browse-projects__empty-text{max-width:28rem;margin:0;line-height:1.5}.browse-projects__cta{color:#fff;background-color:#018156;border-radius:10px;justify-content:center;align-items:center;margin-top:8px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;transition-property:filter,box-shadow;transition-duration:.2s;transition-timing-function:ease;display:inline-flex}.browse-projects__cta:hover,.browse-projects__cta:visited,.browse-projects__cta:active{color:#fff}.browse-projects__cta:hover{filter:brightness(1.05);box-shadow:var(--gt-shadow-hover)}.browse-projects__cta:focus-visible{box-shadow:var(--gt-focus-ring), var(--gt-shadow-hover)}.browse-projects__header{align-items:center;gap:8px;margin-bottom:24px;display:flex}.browse-projects__title{color:#303030;margin:0;font-size:1.1rem;font-weight:600}.browse-projects__count-badge{color:#fff;background-color:#018156;border-radius:13px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 7px;font-size:.8rem;font-weight:600;display:inline-flex}
