@media (max-width:767px){input,select,textarea{font-size:max(1rem,16px)!important}.grid-2col,.grid-3col{grid-template-columns:1fr}.section-header{flex-wrap:wrap;gap:var(--space-sm)}.section-header .flex-row{flex-wrap:wrap}}@media (max-width:1024px){.assignment-row{flex-wrap:wrap;row-gap:.5rem}.assignment-row .flex-fill{flex:1 1 calc(100% - 2.75rem);min-width:0}.assignment-row .instructor-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-row>.flex-row.flex-shrink-0{flex-basis:100%;flex-wrap:wrap;justify-content:flex-start}}@media (max-width:767px){.data-table--cards,.data-table--cards tbody{display:block;width:100%}.data-table--cards thead{display:none}.data-table--cards tbody tr{display:block;position:relative;padding:.75rem 1rem;margin-bottom:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.data-table--cards td{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.3rem 0;border:none;text-align:left}.data-table--cards td[data-label]:before{content:attr(data-label);flex-shrink:0;font-size:var(--font-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-secondary)}.data-table--cards td:first-child{font-size:var(--font-base);font-weight:600;padding-right:3rem}.data-table--cards td:first-child a:after{content:"";position:absolute;inset:0}.data-table--cards td.text-right{z-index:1;position:absolute;top:.5rem;right:.5rem;padding:0}.table-wrapper:has(.data-table--cards){overflow-x:visible}}@media (max-width:767px){.payroll-table-wrap{overflow-x:auto}.payroll-table{border-collapse:separate;border-spacing:0}.payroll-table td:first-child,.payroll-table th:first-child{position:sticky;left:0;z-index:1;background:var(--color-surface)}.data-table--sticky-col .earnings-detail-row td{position:static;background:var(--color-surface-hover)}.data-table--sticky-col{border-collapse:separate;border-spacing:0}.data-table--sticky-col td:first-child,.data-table--sticky-col th:first-child{position:sticky;left:0;z-index:1;background:var(--color-surface)}.data-table--earn,.data-table--earn tbody{display:block;width:100%}.data-table--earn thead{display:none}.data-table--earn tbody tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"event event" "date  amount";column-gap:1rem;row-gap:.35rem;align-items:baseline;padding:.85rem 1rem;margin-bottom:.6rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.data-table--earn td{display:block;padding:0;border:none}.data-table--earn .earn-event{grid-area:event;font-size:var(--font-md);font-weight:600;line-height:1.3;overflow-wrap:anywhere}.data-table--earn .earn-event .flex-row{flex-wrap:wrap}.data-table--earn .earn-date{grid-area:date;font-size:var(--font-sm);color:var(--color-text-secondary);white-space:nowrap}.data-table--earn .earn-amount{grid-area:amount;justify-self:end;font-size:var(--font-md);font-weight:700;white-space:nowrap}.data-table--earn .earn-amount--missing{font-weight:400;color:var(--color-text-secondary)}.data-table--earn .subtotal-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label amount";padding:.35rem 1rem .15rem;margin-bottom:0;border:none;background:transparent}.data-table--earn .subtotal-row td:first-child{grid-area:label}}@media (max-width:767px){.table-wrapper:has(.data-table--earn){overflow-x:visible}}@media (max-width:479px){.sched-month-wrapper{overflow-x:visible}.sched-month-grid{min-width:0}.sched-month-cell{min-height:2.75rem}.sched-month-events{flex-direction:row;flex-wrap:wrap;align-items:center;gap:3px}.sched-month-event{width:.5rem;height:.5rem;padding:0;border-radius:50%;pointer-events:none}.sched-month-blocked-who,.sched-month-event__title{display:none}}@media (max-width:767px){.modal-overlay{align-items:flex-end;padding:0}.modal-panel{max-width:none;max-height:92vh;max-height:92svh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:none;animation:sheet-slide-up .2s ease-out}.modal-panel .confirm-actions,.modal-panel .form-actions{position:sticky;bottom:0;z-index:1;background:var(--color-surface);padding-top:.75rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom, 0px));margin-bottom:-24px}}@keyframes sheet-slide-up{0%{transform:translateY(24px);opacity:.6}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion:reduce){.modal-panel{animation:none}}@media (max-width:767px){.lines-grid:has(.lines-header){display:none}.lines-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .75rem;position:relative;padding:.75rem 3rem .75rem .75rem;margin-bottom:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.line-field{display:flex;flex-direction:column;gap:.25rem}.line-field:before{content:attr(data-label);font-size:var(--font-xs);font-weight:600;color:var(--color-text-secondary)}.line-field:first-child{grid-column:1/-1}.lines-grid .btn-icon-remove{position:absolute;top:.5rem;right:.5rem}.settings-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}}@media (max-width:767px){.settings-tabs::-webkit-scrollbar{display:none}.settings-tab{white-space:nowrap;flex-shrink:0}}@media (pointer:coarse){.app-topbar-hamburger,.btn-icon,.events-delete-btn,.modal-close,.sidebar-logout-btn{min-width:2.75rem;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center}.btn-xs,.invoice-sync-btn,.toggle-btn,.upload-row>.btn{min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center}}