.app-header{background:linear-gradient(160deg,var(--color-primary-900) 0%,var(--color-primary-800) 100%);color:var(--color-text-inverse);padding:calc(env(safe-area-inset-top) + var(--space-5)) var(--space-4) var(--space-6);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--space-5)}.app-header__brand{display:flex;align-items:baseline;gap:var(--space-3)}.app-header__logo{font-family:var(--font-family-brand);font-weight:var(--font-weight-bold);font-size:1.5rem;letter-spacing:.04em;color:var(--color-text-inverse)}.app-header__tagline{font-size:var(--font-size-label);color:var(--color-primary-300);letter-spacing:.02em;text-transform:uppercase}.app-header__greeting{display:flex;flex-direction:column;gap:var(--space-1)}.app-header__hello{font-size:1.5rem;font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.app-header__summary{font-size:var(--font-size-t3);color:#ffffffd1}.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.quick-actions__item{width:100%;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-2) var(--space-3);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease}.quick-actions__item:active{transform:scale(.95);box-shadow:none}.quick-actions__icon{width:40px;height:40px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary-800),var(--color-primary-700));color:var(--color-text-inverse);display:inline-flex;align-items:center;justify-content:center}.quick-actions__icon svg{width:20px;height:20px}.quick-actions__label{font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);line-height:1}.quick-actions__hint{font-size:.625rem;color:var(--color-text-muted);line-height:1}.next-class{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.next-class:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background-color:var(--color-primary-500)}.next-class--online:before{background-color:var(--color-primary-700)}.next-class__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.next-class__tag{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary-800);background-color:var(--color-surface-alt);border-radius:var(--radius-pill);padding:4px 10px}.next-class--online .next-class__tag{color:var(--color-text-inverse);background-color:var(--color-primary-700)}.next-class__time{font-size:var(--font-size-t3);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.next-class__subject{font-size:1.125rem;font-weight:var(--font-weight-bold);color:var(--color-text-strong);line-height:var(--line-height-tight)}.next-class__teacher{font-size:var(--font-size-t3);color:var(--color-text-muted)}.next-class__where{font-size:var(--font-size-t3);color:var(--color-text);margin-top:var(--space-1)}.next-class__actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.next-class__action{flex:1;background-color:var(--color-primary-500);color:var(--color-primary-900);font-weight:var(--font-weight-semibold);text-align:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);transition:transform .12s ease,background-color .12s ease;display:block}.next-class__action:active{transform:scale(.98);background-color:var(--color-primary-300)}.next-class__action--secondary{background-color:var(--color-surface-alt);color:var(--color-primary-900);border:1px solid var(--color-border)}.pending-activities{display:flex;flex-direction:column;gap:var(--space-2)}.pending-activities__item{width:100%;background-color:var(--color-surface);border:1px solid var(--color-border);border-left-width:4px;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);box-shadow:var(--shadow-sm);transition:background-color .12s ease;text-align:left}.pending-activities__item:active{background-color:var(--color-surface-alt)}.pending-activities__item--high{border-left-color:var(--color-warning)}.pending-activities__item--medium{border-left-color:var(--color-primary-500)}.pending-activities__item--low{border-left-color:var(--color-primary-300)}.pending-activities__content{display:flex;flex-direction:column;min-width:0}.pending-activities__title{font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-activities__subject{font-size:var(--font-size-t3);color:var(--color-text-muted)}.pending-activities__right{display:flex;align-items:center;gap:var(--space-2);flex:0 0 auto}.pending-activities__due{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-primary-800);background-color:var(--color-surface-alt);padding:4px 10px;border-radius:var(--radius-pill);white-space:nowrap}.pending-activities__chevron{width:16px;height:16px;color:var(--color-text-muted);flex:0 0 auto}.pending-activities__item--high .pending-activities__due{color:var(--color-warning);background-color:#fce9d3}.pending-activities__empty{font-size:var(--font-size-t3);color:var(--color-text-muted);padding:var(--space-3);text-align:center}.financial{background:linear-gradient(135deg,var(--color-primary-800) 0%,var(--color-primary-700) 100%);color:var(--color-text-inverse);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);box-shadow:var(--shadow-md)}.financial__info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.financial__reference{font-size:var(--font-size-t3);color:#ffffffd1}.financial__amount{font-size:1.375rem;font-weight:var(--font-weight-bold);color:var(--color-text-inverse)}.financial__due{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em}.financial__due--pending{color:var(--color-primary-300)}.financial__due--paid{color:#ffffffb3}.financial__action{background-color:var(--color-primary-500);color:var(--color-primary-900);font-weight:var(--font-weight-bold);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);white-space:nowrap;transition:transform .12s ease,background-color .12s ease}.financial__action:active{transform:scale(.97);background-color:var(--color-primary-300)}.notices{display:flex;flex-direction:column;gap:var(--space-3)}.notices__item{width:100%;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1);box-shadow:var(--shadow-sm);text-align:left;transition:background-color .12s ease}.notices__item:active{background-color:var(--color-surface-alt)}.notices__item--important{background-color:#f4faeb;border-color:var(--color-primary-300)}.notices__head{display:flex;align-items:center;gap:var(--space-2)}.notices__tag{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-primary-800);text-transform:uppercase;letter-spacing:.04em}.notices__badge{font-size:.625rem;font-weight:var(--font-weight-bold);color:var(--color-primary-900);background-color:var(--color-primary-300);padding:2px 8px;border-radius:var(--radius-pill);text-transform:uppercase}.notices__title{font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.notices__summary{font-size:var(--font-size-t3);color:var(--color-text-muted)}.bottom-nav{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:var(--content-max-width);background-color:var(--color-surface);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -8px 24px #03362a1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}.bottom-nav__list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:var(--bottom-nav-height)}.bottom-nav__button{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--color-text-muted);transition:color .12s ease,transform .12s ease}.bottom-nav__button--active{color:var(--color-primary-800);font-weight:var(--font-weight-semibold)}.bottom-nav__button--active:before{content:"";position:absolute;top:4px;width:28px;height:3px;border-radius:var(--radius-pill);background:var(--color-primary-500)}.bottom-nav__icon{width:20px;height:20px;line-height:0}.bottom-nav__icon svg{width:100%;height:100%}.bottom-nav__label{font-size:.6875rem}.bottom-nav__button--active .bottom-nav__icon{color:var(--color-primary-700)}.bottom-nav__button:active{transform:scale(.96)}.home{width:100%;max-width:var(--content-max-width);min-height:100vh;min-height:100dvh;background-color:var(--color-bg);display:flex;flex-direction:column;position:relative}.home__main{flex:1;padding:var(--space-5) var(--space-4) calc(var(--bottom-nav-height) + var(--space-7));display:flex;flex-direction:column;gap:var(--space-7)}.home__section{display:flex;flex-direction:column;gap:var(--space-3)}.home__section-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.home__section-link{font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold);color:var(--color-primary-700)}.home__section-link:active{opacity:.6}@media (min-width: 520px){.home{box-shadow:var(--shadow-lg)}}.page-header{background:linear-gradient(160deg,var(--color-primary-900) 0%,var(--color-primary-800) 100%);color:var(--color-text-inverse);padding:calc(env(safe-area-inset-top) + var(--space-5)) var(--space-4) var(--space-5);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--space-3)}.page-header__brand{display:flex;align-items:baseline;gap:var(--space-3)}.page-header__logo{font-family:var(--font-family-brand);font-weight:var(--font-weight-bold);font-size:1.5rem;letter-spacing:.04em;color:var(--color-text-inverse)}.page-header__tagline{font-size:var(--font-size-label);color:var(--color-primary-300);letter-spacing:.02em;text-transform:uppercase}.page-header__title{font-size:1.5rem;font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-inverse)}.chamadas-tab{display:flex;flex-direction:column;gap:var(--space-5)}.chamadas-stats{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.chamadas-stats--alert{border-color:#b3261e47}.chamadas-stats__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.chamadas-stats__item{display:flex;flex-direction:column;align-items:center}.chamadas-stats__value{font-size:var(--font-size-t1);font-weight:var(--font-weight-bold);color:var(--color-text-strong);line-height:var(--line-height-tight)}.chamadas-stats__value--present{color:var(--color-primary-700)}.chamadas-stats__value--warn{color:var(--color-warning)}.chamadas-stats__value--danger{color:var(--color-danger)}.chamadas-stats__label{margin-top:var(--space-1);font-size:var(--font-size-label);color:var(--color-text-muted)}.chamadas-stats__bar-wrap{margin-top:var(--space-3)}.chamadas-stats__bar-track{position:relative;height:8px;border-radius:var(--radius-pill);background:var(--color-surface-alt);overflow:hidden}.chamadas-stats__bar-fill{height:100%;background:var(--color-primary-700)}.chamadas-stats__bar-fill--danger{background:var(--color-danger)}.chamadas-stats__bar-min{position:absolute;top:-2px;width:2px;height:12px;background:var(--color-text-muted)}.chamadas-stats__bar-label{display:inline-block;margin-top:var(--space-1);font-size:var(--font-size-label);color:var(--color-text-muted)}.chamadas-stats__alert{margin-top:var(--space-2);font-size:var(--font-size-t3);color:var(--color-danger);font-weight:var(--font-weight-semibold)}.chamadas-quick-summary__grid{margin-top:var(--space-3);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.chamadas-quick-summary__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-sm)}.chamadas-quick-summary__value{font-size:var(--font-size-t1);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.chamadas-quick-summary__value--present{color:var(--color-primary-700)}.chamadas-quick-summary__value--absent{color:var(--color-danger)}.chamadas-quick-summary__value--warning{color:var(--color-warning)}.chamadas-quick-summary__label{margin-top:var(--space-1);font-size:var(--font-size-label);color:var(--color-text-muted)}.chamadas-quick-summary__hint{margin-top:var(--space-2);font-size:var(--font-size-t3);color:var(--color-text-muted)}.chamadas-cal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.chamadas-cal__month{font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.chamadas-cal__week{margin-top:var(--space-3);display:grid;grid-template-columns:repeat(7,1fr)}.chamadas-cal__wday{text-align:center;font-size:var(--font-size-label);color:var(--color-text-muted)}.chamadas-cal__grid{margin-top:var(--space-2);display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1)}.chamadas-cal__cell{min-height:36px;border-radius:var(--radius-sm);border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;background:var(--color-surface-alt);color:var(--color-text);font-weight:var(--font-weight-medium)}.chamadas-cal__cell--empty{background:transparent}.chamadas-cal__cell--none{background:transparent;color:var(--color-text-muted);opacity:.5}.chamadas-cal__cell--presente{background:#1d8c4f1f;color:var(--color-primary-800)}.chamadas-cal__cell--parcial{background:#c7761a2e;color:var(--color-warning)}.chamadas-cal__cell--falta{background:#b3261e1f;color:var(--color-danger)}.chamadas-cal__cell--hoje{border-color:var(--color-primary-700);box-shadow:inset 0 0 0 1px #065f3138}.chamadas-cal__cell--futuro{opacity:.55}.chamadas-cal__day-num{font-size:var(--font-size-t3);line-height:1}.chamadas-cal__dot{width:5px;height:5px;border-radius:var(--radius-pill);background:currentColor}.chamadas-legend{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chamadas-legend__item{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);border-radius:var(--radius-pill);padding:3px var(--space-2)}.chamadas-legend__item--presente{color:var(--color-primary-800);background:#1d8c4f1f}.chamadas-legend__item--parcial{color:var(--color-warning);background:#c7761a2e}.chamadas-legend__item--falta{color:var(--color-danger);background:#b3261e1f}.chamadas-legend__item--hoje{color:var(--color-primary-800);background:var(--color-surface-alt);border:1px solid var(--color-primary-300)}.chamadas-subjects__title{margin-bottom:var(--space-3)}.chamadas-subjects__list{display:flex;flex-direction:column;gap:var(--space-3)}.chamadas-subject{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-sm)}.chamadas-subject__header{display:flex;justify-content:space-between;gap:var(--space-2)}.chamadas-subject__name{font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.chamadas-subject__pct{font-size:var(--font-size-t2);font-weight:var(--font-weight-bold);color:var(--color-primary-700)}.chamadas-subject__pct--warn{color:var(--color-warning)}.chamadas-subject__pct--danger{color:var(--color-danger)}.chamadas-subject__track{position:relative;margin-top:var(--space-2);height:6px;border-radius:var(--radius-pill);background:var(--color-surface-alt);overflow:hidden}.chamadas-subject__fill{height:100%;background:var(--color-primary-700)}.chamadas-subject__fill--danger{background:var(--color-danger)}.chamadas-subject__min-mark{position:absolute;top:-2px;width:2px;height:10px;background:var(--color-text-muted)}.chamadas-subject__meta{margin-top:var(--space-2);font-size:var(--font-size-t3);color:var(--color-text-muted)}.chamadas-subject__absence-breakdown{margin-top:var(--space-2);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.chamadas-subject__absence-item{display:flex;flex-direction:column;gap:2px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);padding:var(--space-2)}.chamadas-subject__absence-label{font-size:var(--font-size-label);color:var(--color-text-muted)}.chamadas-subject__absence-value{font-size:var(--font-size-t2);color:var(--color-text-strong)}@media (max-width: 420px){.chamadas-subject__absence-breakdown{grid-template-columns:1fr}}.view-tabs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin:var(--space-4) var(--space-4) 0;padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface)}.view-tab{padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-align:center;transition:background-color .12s ease,color .12s ease}.view-tab--active{background:var(--color-primary-800);color:var(--color-text-inverse)}.day-tabs{display:flex;gap:var(--space-2);padding:var(--space-4) var(--space-4) 0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.day-tabs::-webkit-scrollbar{display:none}.day-tab{flex:0 0 auto;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);font-size:var(--font-size-t3);font-weight:var(--font-weight-medium);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);transition:all .12s ease}.day-tab--today{color:var(--color-primary-800);font-weight:var(--font-weight-semibold);border-color:var(--color-primary-300)}.day-tab--active{background:var(--color-primary-800);color:var(--color-text-inverse);border-color:var(--color-primary-800);font-weight:var(--font-weight-semibold)}.class-list{display:flex;flex-direction:column;gap:var(--space-4)}.class-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);border-left:4px solid var(--color-border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-2)}.class-card--online{border-left-color:var(--color-primary-500)}.class-card--presencial{border-left-color:var(--color-primary-700)}.class-card--done{opacity:.55}.class-card--next{box-shadow:var(--shadow-md)}.class-card__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.class-card__badges{display:flex;align-items:center;gap:var(--space-2)}.class-card__format{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);padding:2px var(--space-2);border-radius:var(--radius-pill);letter-spacing:.02em;text-transform:uppercase}.class-card__format--online{background:#62b55026;color:var(--color-primary-800)}.class-card__format--presencial{background:var(--color-surface-alt);color:var(--color-text-muted)}.class-card__live{font-size:var(--font-size-label);font-weight:var(--font-weight-bold);color:#fff;background:var(--color-primary-700);padding:2px var(--space-2);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.04em}.class-card__next{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-primary-800);background:#065f311a;padding:2px var(--space-2);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.02em}.class-card__time{font-size:var(--font-size-t3);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.class-card__subject{font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);line-height:var(--line-height-tight)}.class-card__teacher,.class-card__location{font-size:var(--font-size-t3);color:var(--color-text-muted)}.class-card__actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.class-card__action{flex:1;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold);text-align:center;background:var(--color-primary-500);color:var(--color-text-inverse);transition:opacity .12s ease;display:block}.class-card__action--secondary{background:var(--color-surface-alt);color:var(--color-primary-800);border:1px solid var(--color-border)}.class-card__action:active{opacity:.7}.seg-tabs{display:flex;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 var(--space-4);gap:var(--space-1)}.seg-tab__badge{background:var(--color-primary-500);color:#fff;font-size:.625rem;font-weight:var(--font-weight-bold);min-width:18px;height:18px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-1)}.activity-list{display:flex;flex-direction:column;gap:var(--space-1)}.activity-item{width:100%;display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm);text-align:left;transition:background-color .12s ease}.activity-item:active{background-color:var(--color-surface-alt)}.activity-item__indicator{flex:0 0 4px;height:36px;border-radius:var(--radius-pill);background:var(--color-border);align-self:center}.activity-item--high .activity-item__indicator{background:var(--color-danger)}.activity-item--medium .activity-item__indicator{background:var(--color-warning)}.activity-item--low .activity-item__indicator{background:var(--color-primary-300)}.delivered-item{width:100%;display:flex;align-items:flex-start;gap:var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm);text-align:left;border-left:4px solid var(--color-border);transition:background-color .12s ease}.delivered-item:active{background-color:var(--color-surface-alt)}.delivered-item--graded{border-left-color:var(--color-primary-500)}.delivered-item--submitted{border-left-color:var(--color-warning)}.delivered-item__icon{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}.delivered-item__icon svg{width:16px;height:16px}.delivered-item__icon--graded{background:#1d8c4f1f;color:var(--color-primary-700)}.delivered-item__icon--submitted{background:#c7761a1a;color:var(--color-warning)}.delivered-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.delivered-item__title{font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delivered-item__subject{font-size:var(--font-size-t3);color:var(--color-text-muted)}.delivered-item__meta{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-1)}.delivered-item__date{font-size:var(--font-size-label);color:var(--color-text-muted)}.delivered-item__file{font-size:var(--font-size-label);color:var(--color-primary-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delivered-item__right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);flex:0 0 auto;padding-top:2px}.delivered-item__grade{font-size:1.25rem;font-weight:var(--font-weight-bold);color:var(--color-primary-800);line-height:1}.delivered-item__awaiting{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-warning);background:#c7761a1a;padding:3px var(--space-2);border-radius:var(--radius-pill);white-space:nowrap}.delivered-item__chevron{width:14px;height:14px;color:var(--color-text-muted)}.activity-item__check{flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--color-primary-700);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:var(--font-weight-bold)}.activity-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.activity-item__title{font-size:var(--font-size-t2);font-weight:var(--font-weight-medium);color:var(--color-text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-item--delivered .activity-item__title{color:var(--color-text-muted)}.activity-item__subject{font-size:var(--font-size-t3);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-item__right-group{display:flex;align-items:center;gap:var(--space-2);flex:0 0 auto}.activity-item__due{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);white-space:nowrap}.activity-item__chevron{width:14px;height:14px;color:var(--color-text-muted);flex:0 0 auto}.activity-item__due--high{color:var(--color-danger)}.activity-item__due--medium{color:var(--color-warning)}.activity-item__due--low{color:var(--color-text-muted)}.activity-item__delivered-label{font-size:var(--font-size-label);color:var(--color-text-muted)}.activity-item__grade{flex:0 0 auto;font-size:var(--font-size-t2);font-weight:var(--font-weight-bold);color:var(--color-primary-800)}.section-title{margin-bottom:var(--space-3)}.bill-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-3);border-top:4px solid var(--color-border)}.bill-card--pending{border-top-color:var(--color-warning)}.bill-card--paid{border-top-color:var(--color-primary-500)}.bill-card--overdue{border-top-color:var(--color-danger)}.bill-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.bill-card__reference{font-size:var(--font-size-t3);color:var(--color-text-muted)}.bill-card__status-tag{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);padding:2px var(--space-3);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.03em}.bill-card__status-tag--pending{background:#c7761a1f;color:var(--color-warning)}.bill-card__status-tag--paid{background:#1d8c4f1f;color:var(--color-primary-700)}.bill-card__status-tag--overdue{background:#b3261e1a;color:var(--color-danger)}.bill-card__amount{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--color-text-strong);line-height:1}.bill-card__due{font-size:var(--font-size-t3);color:var(--color-text-muted)}.bill-card__action{width:100%;padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);text-align:center;transition:opacity .12s ease;margin-top:var(--space-1)}.bill-card__action--primary{background:var(--color-primary-500);color:var(--color-text-inverse)}.bill-card__action--secondary{background:var(--color-surface-alt);color:var(--color-primary-800);border:1px solid var(--color-border)}.bill-card__action:active{opacity:.7}.boleto-panel,.receipt-panel{margin-top:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.boleto-panel__row,.receipt-panel__row{display:flex;justify-content:space-between;gap:var(--space-2);align-items:baseline}.boleto-panel__label,.receipt-panel__label{font-size:var(--font-size-label);color:var(--color-text-muted)}.boleto-panel__value,.receipt-panel__value{font-size:var(--font-size-t3);font-weight:var(--font-weight-medium);color:var(--color-text-strong);text-align:right}.boleto-panel__line-wrap{background:#fff;border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2)}.boleto-panel__line-label{font-size:var(--font-size-label);color:var(--color-text-muted)}.boleto-panel__line{margin-top:2px;font-size:var(--font-size-t3);color:var(--color-text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;word-break:break-all}.boleto-panel__actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.boleto-panel__btn{border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold)}.boleto-panel__btn--ghost{background:#fff;border:1px solid var(--color-border);color:var(--color-primary-800)}.boleto-panel__btn--primary{background:var(--color-primary-800);color:var(--color-text-inverse)}.boleto-panel__btn:active{opacity:.75}.boleto-panel__hint{font-size:var(--font-size-label);color:var(--color-text-muted)}.receipt-panel__value--ok{color:var(--color-primary-700)}.receipt-panel__value--mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.enrollment-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3)}.enrollment-card__info{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.enrollment-card__semester{font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.enrollment-card--badge-open{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);padding:2px var(--space-3);border-radius:var(--radius-pill);background:#1d8c4f1f;color:var(--color-primary-700);text-transform:uppercase;letter-spacing:.03em}.enrollment-card--badge-closed{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);padding:2px var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-alt);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.enrollment-card__deadline{font-size:var(--font-size-t3);color:var(--color-text-muted)}.enrollment-card__action{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);text-align:center;background:var(--color-primary-800);color:var(--color-text-inverse);transition:opacity .12s ease}.enrollment-card__action:active{opacity:.7}.payment-list{display:flex;flex-direction:column;gap:var(--space-2)}.payment-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}.payment-item__info{display:flex;flex-direction:column;gap:2px}.payment-item__reference{font-size:var(--font-size-t3);font-weight:var(--font-weight-medium);color:var(--color-text-strong)}.payment-item__paid-on{font-size:var(--font-size-label);color:var(--color-text-muted)}.payment-item__right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.payment-item__amount{font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.payment-item__status{font-size:var(--font-size-label);color:var(--color-primary-700);font-weight:var(--font-weight-medium)}.avisos-page .page__main--chat{padding-bottom:calc(var(--bottom-nav-height) + 64px + var(--space-4))}.seg-tabs{display:flex;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 var(--space-4)}.seg-tab{flex:1;padding:var(--space-3) var(--space-2);font-size:var(--font-size-t3);font-weight:var(--font-weight-medium);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;gap:var(--space-2);border-bottom:2px solid transparent;transition:all .12s ease}.seg-tab--active{color:var(--color-primary-800);font-weight:var(--font-weight-semibold);border-bottom-color:var(--color-primary-700)}.notices-list{display:flex;flex-direction:column;gap:var(--space-3)}.notice-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-2);border-left:3px solid var(--color-border)}.notice-card--important{border-left-color:var(--color-primary-700);background:linear-gradient(135deg,rgba(29,140,79,.04),var(--color-surface))}.notice-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.notice-card__tag{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);padding:2px var(--space-2);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.02em}.notice-card__tag--institutional{background:#03362a1a;color:var(--color-primary-900)}.notice-card__tag--event{background:#62b55026;color:var(--color-primary-800)}.notice-card__tag--academic{background:#c7761a1f;color:var(--color-warning)}.notice-card__tag--library{background:var(--color-surface-alt);color:var(--color-text-muted)}.notice-card__time{font-size:var(--font-size-label);color:var(--color-text-muted);white-space:nowrap}.notice-card__title{font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);line-height:var(--line-height-tight)}.notice-card__summary{font-size:var(--font-size-t3);color:var(--color-text-muted);line-height:var(--line-height-base)}.poll-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3)}.poll-card__label{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-primary-700);text-transform:uppercase;letter-spacing:.04em}.poll-card__question{font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);line-height:var(--line-height-base)}.poll-card__author{font-size:var(--font-size-t3);color:var(--color-text-muted)}.poll-card__options{display:flex;flex-direction:column;gap:var(--space-2)}.poll-option{width:100%;border-radius:var(--radius-md);font-size:var(--font-size-t3);font-weight:var(--font-weight-medium);transition:all .12s ease}.poll-option--vote{padding:var(--space-3) var(--space-4);background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border);text-align:left}.poll-option--vote:active{background:var(--color-primary-300);border-color:var(--color-primary-300)}.poll-option--result{position:relative;padding:var(--space-3) var(--space-4);background:var(--color-surface-alt);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);overflow:hidden}.poll-option--selected{border-color:var(--color-primary-500);background:#62b55014}.poll-option__bar{position:absolute;inset:0 auto 0 0;background:#62b55033;transition:width .4s ease;pointer-events:none}.poll-option--selected .poll-option__bar{background:#62b55059}.poll-option__label{position:relative;flex:1;color:var(--color-text-strong)}.poll-option__pct{position:relative;color:var(--color-primary-800);font-weight:var(--font-weight-semibold)}.poll-card__total{font-size:var(--font-size-label);color:var(--color-text-muted);text-align:right}.chat-section{display:flex;flex-direction:column;gap:var(--space-4)}.chat-section__title{font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.chat-list{display:flex;flex-direction:column;gap:var(--space-3)}.chat-bubble-wrap{display:flex;align-items:flex-end;gap:var(--space-2)}.chat-bubble-wrap--mine{flex-direction:row-reverse}.chat-avatar{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--color-primary-300);color:var(--color-primary-900);font-size:.625rem;font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center}.chat-bubble{max-width:76%;background:var(--color-surface);border-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:2px}.chat-bubble-wrap--mine .chat-bubble{background:var(--color-primary-800);border-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-sm)}.chat-bubble__author{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-primary-700)}.chat-bubble__message{font-size:var(--font-size-t3);color:var(--color-text-strong);line-height:var(--line-height-base)}.chat-bubble-wrap--mine .chat-bubble__message{color:var(--color-text-inverse)}.chat-bubble__time{font-size:.625rem;color:var(--color-text-muted);text-align:right}.chat-bubble-wrap--mine .chat-bubble__time{color:#ffffffa6}.chat-input-bar{position:fixed;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:100%;max-width:var(--content-max-width);background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);z-index:9}.chat-input{flex:1;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-family:var(--font-family-base);font-size:var(--font-size-t3);color:var(--color-text);outline:none}.chat-input:focus-visible{border-color:var(--color-primary-500)}.chat-send{width:40px;height:40px;border-radius:50%;background:var(--color-primary-700);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-size:1rem;flex:0 0 40px;transition:opacity .12s ease}.chat-send:active{opacity:.7}.chat-send:disabled{opacity:.45;cursor:not-allowed}.detail-header{background:linear-gradient(160deg,var(--color-primary-900) 0%,var(--color-primary-800) 100%);color:var(--color-text-inverse);padding:calc(env(safe-area-inset-top) + var(--space-4)) var(--space-4) var(--space-5);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--space-3)}.detail-header__top{display:flex;align-items:center}.detail-header__back{display:flex;align-items:center;gap:var(--space-2);color:var(--color-primary-300);font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold);transition:opacity .12s ease;padding:var(--space-1) 0}.detail-header__back svg{width:18px;height:18px}.detail-header__back:active{opacity:.6}.detail-header__title{font-size:1.375rem;font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-inverse)}.subject-list{display:flex;flex-direction:column;gap:var(--space-2)}.subject-item{width:100%;background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:var(--space-4);text-align:left;transition:background-color .12s ease}.subject-item:active{background-color:var(--color-surface-alt)}.subject-item__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.subject-item__name{font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subject-item__teacher{font-size:var(--font-size-t3);color:var(--color-text-muted)}.subject-item__situation{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);padding:2px var(--space-2);border-radius:var(--radius-pill);align-self:flex-start;margin-top:var(--space-1)}.subject-item__situation--ok{background:#1d8c4f1f;color:var(--color-primary-700)}.subject-item__situation--risk{background:#c7761a1f;color:var(--color-warning)}.subject-item__situation--fail{background:#b3261e1a;color:var(--color-danger)}.subject-item__right{display:flex;align-items:center;gap:var(--space-2);flex:0 0 auto}.subject-item__average{font-size:1.5rem;font-weight:var(--font-weight-bold);line-height:1}.subject-item__average--ok{color:var(--color-primary-700)}.subject-item__average--risk{color:var(--color-warning)}.subject-item__average--fail{color:var(--color-danger)}.subject-item__chevron{width:16px;height:16px;color:var(--color-text-muted)}.disc-teacher{font-size:var(--font-size-t3);color:var(--color-text-muted);padding:0 0 var(--space-1)}.disc-summary{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.disc-avg{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.disc-avg__label{font-size:var(--font-size-t3);color:var(--color-text-muted)}.disc-avg__value{font-size:2.5rem;font-weight:var(--font-weight-bold);line-height:1}.disc-avg__value--ok{color:var(--color-primary-700)}.disc-avg__value--risk{color:var(--color-warning)}.disc-avg__value--fail{color:var(--color-danger)}.disc-situation{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);padding:2px var(--space-3);border-radius:var(--radius-pill)}.disc-situation--ok{background:#1d8c4f1f;color:var(--color-primary-700)}.disc-situation--risk{background:#c7761a1f;color:var(--color-warning)}.disc-situation--fail{background:#b3261e1a;color:var(--color-danger)}.disc-attendance{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-2)}.disc-attendance__label{font-size:var(--font-size-t3);color:var(--color-text-muted)}.disc-attendance__value{font-size:2.5rem;font-weight:var(--font-weight-bold);line-height:1}.disc-attendance__value--ok{color:var(--color-primary-700)}.disc-attendance__value--risk{color:var(--color-warning)}.disc-attendance__bar{position:relative;height:6px;background:var(--color-surface-alt);border-radius:var(--radius-pill);overflow:visible}.disc-attendance__fill{height:100%;border-radius:var(--radius-pill);transition:width .4s ease}.disc-attendance__fill--ok{background:var(--color-primary-500)}.disc-attendance__fill--risk{background:var(--color-warning)}.disc-attendance__min{position:absolute;top:-3px;width:2px;height:12px;background:var(--color-danger);border-radius:var(--radius-pill);transform:translate(-50%)}.disc-attendance__hint{font-size:var(--font-size-label);color:var(--color-text-muted)}.disc-section-title{font-size:var(--font-size-t1);font-weight:var(--font-weight-bold);color:var(--color-text-strong);margin-bottom:var(--space-3)}.grade-list{display:flex;flex-direction:column;gap:var(--space-2)}.grade-item{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.grade-item--pending{opacity:.55}.grade-item__label{font-size:var(--font-size-t3);font-weight:var(--font-weight-medium);color:var(--color-text-strong)}.grade-item__value{font-size:var(--font-size-t2);font-weight:var(--font-weight-bold);color:var(--color-primary-800)}.grade-item--pending .grade-item__value{color:var(--color-text-muted)}.aula-info{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3);border-top:4px solid var(--color-border)}.aula-info--online{border-top-color:var(--color-primary-500)}.aula-info--presencial{border-top-color:var(--color-primary-700)}.aula-info__badges{display:flex;gap:var(--space-2);align-items:center}.aula-info__format{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);padding:3px var(--space-3);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.02em}.aula-info__format--online{background:#62b55026;color:var(--color-primary-800)}.aula-info__format--presencial{background:var(--color-surface-alt);color:var(--color-text-muted)}.aula-info__badge-next{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);padding:3px var(--space-3);border-radius:var(--radius-pill);background:#065f311a;color:var(--color-primary-800);text-transform:uppercase;letter-spacing:.02em}.aula-info__teacher{font-size:var(--font-size-t3);color:var(--color-text-muted)}.aula-info__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;border-top:1px solid var(--color-border)}.aula-info__row-label{font-size:var(--font-size-t3);color:var(--color-text-muted)}.aula-info__row-value{font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.call-link-btn{display:block;width:100%;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-primary-500);color:var(--color-text-inverse);font-weight:var(--font-weight-semibold);text-align:center;font-size:var(--font-size-t2);transition:opacity .12s ease}.call-link-btn:active{opacity:.7}.aula-section-title{font-size:var(--font-size-t1);font-weight:var(--font-weight-bold);color:var(--color-text-strong);margin-bottom:var(--space-3)}.material-list{display:flex;flex-direction:column;gap:var(--space-2)}.material-item{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:var(--space-3)}.material-item__type{flex:0 0 auto;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);padding:3px var(--space-2);border-radius:var(--radius-sm);letter-spacing:.02em}.material-item__name{flex:1;font-size:var(--font-size-t3);font-weight:var(--font-weight-medium);color:var(--color-text-strong);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-item__download{flex:0 0 18px;width:18px;height:18px;color:var(--color-primary-700)}.ativ-meta{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:0}.ativ-meta__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.ativ-meta__row:last-child{border-bottom:none}.ativ-meta__label{font-size:var(--font-size-t3);color:var(--color-text-muted)}.ativ-meta__value{font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);text-align:right}.ativ-meta__due--high{color:var(--color-danger)}.ativ-meta__due--medium{color:var(--color-warning)}.ativ-meta__due--low{color:var(--color-text-muted)}.ativ-meta__badge{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);padding:2px var(--space-3);border-radius:var(--radius-pill)}.ativ-meta__badge--high{background:#b3261e1a;color:var(--color-danger)}.ativ-meta__badge--medium{background:#c7761a1f;color:var(--color-warning)}.ativ-meta__badge--low{background:var(--color-surface-alt);color:var(--color-text-muted)}.ativ-meta__badge--graded{background:#1d8c4f1f;color:var(--color-primary-700)}.ativ-meta__badge--submitted{background:#c7761a1a;color:var(--color-warning)}.ativ-meta__file{font-size:var(--font-size-label);color:var(--color-primary-700);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.ativ-section-title{font-size:var(--font-size-t1);font-weight:var(--font-weight-bold);color:var(--color-text-strong);margin-bottom:var(--space-3)}.ativ-description{font-size:var(--font-size-t3);color:var(--color-text);line-height:var(--line-height-base);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}.ativ-attachment-list{display:flex;flex-direction:column;gap:var(--space-2)}.ativ-attachment{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:var(--space-3)}.ativ-attachment__type{flex:0 0 auto;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);padding:3px var(--space-2);border-radius:var(--radius-sm);letter-spacing:.02em}.ativ-attachment__name{flex:1;font-size:var(--font-size-t3);font-weight:var(--font-weight-medium);color:var(--color-text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ativ-attachment__icon{flex:0 0 18px;width:18px;height:18px;color:var(--color-primary-700)}.ativ-submit{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.ativ-submit__btn{width:100%;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-primary-800);color:var(--color-text-inverse);font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);text-align:center;transition:opacity .12s ease}.ativ-submit__btn:active{opacity:.7}.ativ-submit__btn:disabled{opacity:.6;cursor:not-allowed}.ativ-submit__hint{font-size:var(--font-size-t3);color:var(--color-text-muted);text-align:center}.ativ-result{display:flex;flex-direction:column;gap:var(--space-3)}.ativ-grade-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.ativ-grade-card__score{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-5);background:linear-gradient(135deg,var(--color-primary-900),var(--color-primary-800))}.ativ-grade-card__label{font-size:var(--font-size-t3);color:#ffffffb3;flex:1}.ativ-grade-card__value{font-size:3rem;font-weight:var(--font-weight-bold);color:var(--color-text-inverse);line-height:1}.ativ-grade-card__max{font-size:var(--font-size-t2);color:#ffffff8c;align-self:flex-end;padding-bottom:4px}.ativ-grade-card__feedback{padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--color-border)}.ativ-grade-card__feedback-label{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.ativ-grade-card__feedback-text{font-size:var(--font-size-t3);color:var(--color-text);line-height:var(--line-height-base)}.ativ-awaiting{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-7) var(--space-5);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.ativ-awaiting__icon{width:56px;height:56px;border-radius:50%;background:#c7761a1a;color:var(--color-warning);display:flex;align-items:center;justify-content:center}.ativ-awaiting__icon svg{width:28px;height:28px}.ativ-awaiting__title{font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.ativ-awaiting__text{font-size:var(--font-size-t3);color:var(--color-text-muted);line-height:var(--line-height-base);max-width:280px}.matricula-section-title{font-size:var(--font-size-t1);font-weight:var(--font-weight-bold);color:var(--color-text-strong);margin-bottom:var(--space-3)}.matricula-badge{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);padding:3px var(--space-3);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.03em}.matricula-badge--open{background:#1d8c4f1f;color:var(--color-primary-700)}.matricula-badge--reserved{background:#065f311a;color:var(--color-primary-800)}.matricula-badge--confirmed{background:#62b5502e;color:var(--color-primary-800)}.matricula-badge--closed{background:var(--color-surface-alt);color:var(--color-text-muted)}.matricula-status-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-3);border-top:4px solid var(--color-border)}.matricula-status-card--open{border-top-color:var(--color-primary-500)}.matricula-status-card--reserved{border-top-color:var(--color-primary-700)}.matricula-status-card--confirmed{border-top-color:var(--color-primary-300)}.matricula-status-card--closed{border-top-color:var(--color-border)}.matricula-status-card__top{display:flex;align-items:center;justify-content:space-between}.matricula-status-card__days{font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold);color:var(--color-primary-800);background:#1d8c4f14;padding:3px var(--space-3);border-radius:var(--radius-pill)}.matricula-status-card__desc{font-size:var(--font-size-t3);color:var(--color-text-muted);line-height:var(--line-height-base)}.matricula-deadline-bar{height:6px;background:var(--color-surface-alt);border-radius:var(--radius-pill);overflow:hidden}.matricula-deadline-bar__fill{height:100%;background:linear-gradient(90deg,var(--color-primary-700),var(--color-primary-500));border-radius:var(--radius-pill);transition:width .4s ease}.matricula-status-card__cta{width:100%;padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);text-align:center;transition:opacity .12s ease;margin-top:var(--space-1)}.matricula-status-card__cta--primary{background:var(--color-primary-700);color:var(--color-text-inverse)}.matricula-status-card__cta--secondary{background:var(--color-surface-alt);color:var(--color-primary-800);border:1px solid var(--color-border)}.matricula-status-card__cta:active{opacity:.7}.matricula-status-card__cta:disabled{opacity:.4}.matricula-detail-list{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.matricula-detail-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.matricula-detail-row:last-child{border-bottom:none}.matricula-detail-row__label{font-size:var(--font-size-t3);color:var(--color-text-muted)}.matricula-detail-row__value{font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.matricula-detail-row__value--mono{font-family:SF Mono,Fira Code,monospace;font-size:var(--font-size-label);color:var(--color-primary-800);background:#065f3114;padding:2px var(--space-2);border-radius:var(--radius-sm)}.matricula-period-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.matricula-period-card__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.matricula-period-card__row:last-child{border-bottom:none}.matricula-period-card__label{font-size:var(--font-size-t3);color:var(--color-text-muted)}.matricula-period-card__value{font-size:var(--font-size-t3);font-weight:var(--font-weight-medium);color:var(--color-text-strong)}.matricula-history-list{display:flex;flex-direction:column;gap:var(--space-2)}.matricula-history-item{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.matricula-history-item__info{display:flex;flex-direction:column;gap:2px}.matricula-history-item__semester{font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.matricula-history-item__meta{font-size:var(--font-size-label);color:var(--color-text-muted)}.matricula-history-item__protocol{font-size:var(--font-size-label);color:var(--color-primary-700);font-family:SF Mono,Fira Code,monospace}.flow-step-indicator-wrap{padding:var(--space-4) var(--space-4) 0;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.step-indicator{display:flex;align-items:center;padding-bottom:var(--space-4)}.step-indicator__item{display:flex;align-items:center;flex:1}.step-indicator__item:last-child{flex:0 0 auto}.step-dot{flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:var(--color-surface-alt);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);color:var(--color-text-muted);transition:all .2s ease}.step-dot svg{width:14px;height:14px}.step-dot--active{background:var(--color-primary-700);border-color:var(--color-primary-700);color:#fff;box-shadow:0 0 0 4px #1d8c4f2e}.step-dot--done{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.step-line{flex:1;height:2px;background:var(--color-border);margin:0 var(--space-1);transition:background .2s ease}.step-line--done{background:var(--color-primary-500)}.flow-step{display:flex;flex-direction:column;gap:var(--space-5)}.flow-step__title{font-size:var(--font-size-t1);font-weight:var(--font-weight-bold);color:var(--color-text-strong);line-height:var(--line-height-tight)}.flow-step__subtitle{font-size:var(--font-size-t3);color:var(--color-text-muted);margin-top:calc(-1 * var(--space-3))}.subject-group{display:flex;flex-direction:column;gap:var(--space-2)}.subject-group__title{font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between}.subject-group__credits{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-primary-700);background:#1d8c4f14;padding:2px var(--space-2);border-radius:var(--radius-pill);text-transform:none;letter-spacing:0}.subject-list-flow{display:flex;flex-direction:column;gap:var(--space-2)}.subject-row{width:100%;display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm);border:1.5px solid var(--color-border);text-align:left;transition:all .12s ease}.subject-row--locked{opacity:.75}.subject-row--selectable{cursor:pointer}.subject-row--selected{border-color:var(--color-primary-500);background:#62b5500a}.subject-row--disabled{opacity:.4;cursor:not-allowed}.subject-row--selectable:not(.subject-row--disabled):active{transform:scale(.98)}.subject-row__check{flex:0 0 24px;width:24px;height:24px;border-radius:var(--radius-sm);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;transition:all .12s ease}.subject-row__check svg{width:14px;height:14px}.subject-row__check--locked{border:none;background:transparent;color:var(--color-text-muted)}.subject-row__check--on{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.subject-row__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.subject-row__code{font-size:var(--font-size-label);color:var(--color-primary-700);font-weight:var(--font-weight-semibold)}.subject-row__name{font-size:var(--font-size-t3);font-weight:var(--font-weight-medium);color:var(--color-text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subject-row__meta{font-size:var(--font-size-label);color:var(--color-text-muted)}.subject-row__credits{flex:0 0 auto;font-size:var(--font-size-t3);font-weight:var(--font-weight-bold);color:var(--color-text-muted)}.subject-row--selected .subject-row__credits{color:var(--color-primary-800)}.flow-credits-bar{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-2)}.flow-credits-bar__info{display:flex;align-items:center;justify-content:space-between}.flow-credits-bar__label{font-size:var(--font-size-t3);color:var(--color-text-muted)}.flow-credits-bar__value{font-size:var(--font-size-t3);font-weight:var(--font-weight-bold);color:var(--color-primary-800)}.flow-credits-bar__track{height:8px;background:var(--color-surface-alt);border-radius:var(--radius-pill);overflow:hidden}.flow-credits-bar__fill{height:100%;background:linear-gradient(90deg,var(--color-primary-700),var(--color-primary-500));border-radius:var(--radius-pill);transition:width .25s ease}.flow-btn{width:100%;padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);text-align:center;transition:opacity .12s ease}.flow-btn--primary{background:var(--color-primary-700);color:var(--color-text-inverse)}.flow-btn--ghost{background:transparent;color:var(--color-primary-700);border:1.5px solid var(--color-primary-300)}.flow-btn:active{opacity:.7}.flow-btn:disabled{opacity:.4}.flow-actions{display:flex;flex-direction:column;gap:var(--space-3)}.review-summary{background:linear-gradient(135deg,var(--color-primary-900),var(--color-primary-800));border-radius:var(--radius-lg);padding:var(--space-5);display:flex;align-items:center;justify-content:center;gap:0}.review-summary__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.review-summary__number{font-size:1.75rem;font-weight:var(--font-weight-bold);color:var(--color-text-inverse);line-height:1}.review-summary__label{font-size:var(--font-size-label);color:#fff9}.review-summary__divider{width:1px;height:40px;background:#ffffff26}.review-group-title{font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2)}.review-subject-list{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.review-subject-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.review-subject-item:last-child{border-bottom:none}.review-subject-item__dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--color-primary-700)}.review-subject-item__dot--elective{background:var(--color-primary-300)}.review-subject-item__info{display:flex;flex-direction:column;gap:1px}.review-subject-item__name{font-size:var(--font-size-t3);font-weight:var(--font-weight-medium);color:var(--color-text-strong)}.review-subject-item__meta{font-size:var(--font-size-label);color:var(--color-text-muted)}.review-no-elective{font-size:var(--font-size-t3);color:var(--color-text-muted);text-align:center;padding:var(--space-3)}.flow-step--success{align-items:center;text-align:center;padding-top:var(--space-7)}.success-icon{width:72px;height:72px;border-radius:50%;background:#1d8c4f1f;color:var(--color-primary-700);display:flex;align-items:center;justify-content:center;border:2px solid rgba(29,140,79,.25)}.success-icon svg{width:36px;height:36px}.success-title{font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--color-text-strong)}.success-sub{font-size:var(--font-size-t3);color:var(--color-text-muted);max-width:280px;line-height:var(--line-height-base)}.success-protocol{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);width:100%}.success-protocol__label{font-size:var(--font-size-label);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.success-protocol__code{font-family:SF Mono,Fira Code,monospace;font-size:var(--font-size-t2);font-weight:var(--font-weight-bold);color:var(--color-primary-800)}.success-details{width:100%;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.success-detail-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.success-detail-item:last-child{border-bottom:none}.success-detail-item__label{font-size:var(--font-size-t3);color:var(--color-text-muted)}.success-detail-item__value{font-size:var(--font-size-t3);font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.success-email{font-size:var(--font-size-t3);color:var(--color-text-muted);max-width:260px;line-height:var(--line-height-base)}.flow-step--success .flow-btn{width:100%}.attendance-day-summary{background:linear-gradient(145deg,var(--color-surface) 0%,#eef5ec 100%);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-sm)}.attendance-day-summary__title{font-size:var(--font-size-t1);font-weight:var(--font-weight-bold);color:var(--color-text-strong)}.attendance-day-summary__badges{margin-top:var(--space-3);display:flex;gap:var(--space-2);flex-wrap:wrap}.attendance-day-summary__badge{border-radius:var(--radius-pill);padding:5px var(--space-2);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold)}.attendance-day-summary__badge--present{color:var(--color-primary-800);background:#1d8c4f1f}.attendance-day-summary__badge--absent{color:var(--color-danger);background:#b3261e1f}.attendance-day-summary__badge--absent-lessons{color:var(--color-warning);background:#c7761a29}.attendance-section-title{font-size:var(--font-size-t2);font-weight:var(--font-weight-bold);color:var(--color-text-strong);margin-bottom:var(--space-2)}.attendance-class-list{display:flex;flex-direction:column;gap:var(--space-3)}.attendance-class-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-2)}.attendance-class-item__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.attendance-class-item__subject{font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.attendance-class-item__status{border-radius:var(--radius-pill);padding:3px var(--space-2);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold)}.attendance-class-item__status--present{color:var(--color-primary-800);background:#1d8c4f1f}.attendance-class-item__status--absent{color:var(--color-danger);background:#b3261e1f}.attendance-class-item__status--partial{color:var(--color-warning);background:#c7761a2e}.attendance-class-item__status--future{color:var(--color-text-muted);background:var(--color-surface-alt)}.attendance-class-item__teacher{font-size:var(--font-size-t3);color:var(--color-text-muted)}.attendance-class-item__meta{display:flex;flex-wrap:wrap;gap:6px;font-size:var(--font-size-t3);color:var(--color-text-muted)}.attendance-class-item__content{font-size:var(--font-size-t3);color:var(--color-text)}.attendance-class-item__pending{font-size:var(--font-size-t3);color:var(--color-text-muted);font-style:italic}.attendance-class-item__link{align-self:flex-start;border-radius:var(--radius-pill);padding:7px var(--space-3);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-primary-800);background:var(--color-surface-alt);border:1px solid var(--color-border)}.actions-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2)}.action-card{text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-sm);transition:transform .12s ease,border-color .12s ease}.action-card:active{transform:scale(.98)}.action-card--muted{background:#fbfcfb}.action-card__title{font-size:var(--font-size-t3);font-weight:var(--font-weight-bold);color:var(--color-primary-800)}.action-card__text{margin-top:var(--space-1);font-size:var(--font-size-label);color:var(--color-text-muted)}.appeal-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.appeal-panel--success{border-color:#1d8c4f3d;background:linear-gradient(150deg,#a6d06229,#1d8c4f12)}.appeal-panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.appeal-panel__title{font-size:var(--font-size-t2);font-weight:var(--font-weight-bold);color:var(--color-text-strong)}.appeal-panel__counter{border-radius:var(--radius-pill);background:var(--color-surface-alt);color:var(--color-primary-800);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);padding:4px var(--space-2);border:1px solid var(--color-border)}.appeal-panel__text{margin-top:var(--space-2);font-size:var(--font-size-t3);color:var(--color-text)}.appeal-form{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.appeal-form__fieldset{margin:0;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:#fbfcfb}.appeal-form__legend{padding:0 var(--space-2);font-size:var(--font-size-label);color:var(--color-text-muted)}.appeal-classes{display:flex;flex-direction:column;gap:var(--space-2)}.appeal-class-option{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-t3);border:1px solid transparent;border-radius:var(--radius-sm);padding:var(--space-2);transition:border-color .12s ease,background-color .12s ease}.appeal-class-option--active{border-color:var(--color-primary-300);background:#a6d0621f}.appeal-class-option__label{color:var(--color-text);display:flex;flex-direction:column;gap:2px}.appeal-class-option__label small{font-size:var(--font-size-label);color:var(--color-text-muted)}.appeal-form__field{display:flex;flex-direction:column;gap:var(--space-1)}.appeal-form__label{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.appeal-form select,.appeal-form textarea,.appeal-form input[type=file]{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font:inherit;background:var(--color-surface);color:var(--color-text)}.appeal-form textarea{resize:vertical}.appeal-form__check{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-t3)}.appeal-form__submit{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);background:linear-gradient(145deg,var(--color-primary-800),var(--color-primary-700));color:var(--color-text-inverse);transition:opacity .12s ease,transform .12s ease}.appeal-form__submit:disabled{opacity:.45}.appeal-form__submit:active:not(:disabled){transform:scale(.98)}:root{--color-primary-900: #03362A;--color-primary-800: #065F31;--color-primary-700: #1D8C4F;--color-primary-500: #62B550;--color-primary-300: #A6D062;--color-bg: #F6F8F6;--color-surface: #FFFFFF;--color-surface-alt: #F0F4EF;--color-border: #E3E8E3;--color-text-strong: #0F1A15;--color-text: #1F2A24;--color-text-muted: #5E6B63;--color-text-inverse: #FFFFFF;--color-warning: #C7761A;--color-danger: #B3261E;--color-success: var(--color-primary-700);--font-family-base: "Fira Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-family-brand: "Avenir Black", "Fira Sans", sans-serif;--font-size-t1: 1.375rem;--font-size-t2: 1rem;--font-size-t3: .8125rem;--font-size-label: .75rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-base: 1.45;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(3, 54, 42, .06);--shadow-md: 0 4px 12px rgba(3, 54, 42, .08);--shadow-lg: 0 8px 24px rgba(3, 54, 42, .12);--header-height: 112px;--bottom-nav-height: 64px;--content-max-width: 480px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%}html,body{background-color:#000}body{font-family:var(--font-family-base);font-size:var(--font-size-t2);line-height:var(--line-height-base);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain}#root{display:flex;justify-content:center;min-height:100vh;min-height:100dvh;background-color:transparent}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}a{color:var(--color-primary-700);text-decoration:none}h1,h2,h3,h4,h5,h6,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--radius-sm)}.t1{font-size:var(--font-size-t1);font-weight:var(--font-weight-bold);color:var(--color-text-strong);line-height:var(--line-height-tight)}.t2{font-size:var(--font-size-t2);font-weight:var(--font-weight-semibold);color:var(--color-text)}.t3{font-size:var(--font-size-t3);font-weight:var(--font-weight-regular);color:var(--color-text-muted)}.page{width:100%;max-width:var(--content-max-width);min-height:100vh;min-height:100dvh;background-color:var(--color-bg);display:flex;flex-direction:column;position:relative;box-shadow:0 0 0 1px #ffffff0a,var(--shadow-lg)}.page__main{flex:1;padding:var(--space-5) var(--space-4) calc(var(--bottom-nav-height) + var(--space-7));display:flex;flex-direction:column;gap:var(--space-6)}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4)}.empty-state__text{font-size:var(--font-size-t2);color:var(--color-text-muted);text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
