[hidden]{display:none!important}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #96b4ff;outline-offset:3px}input,select{font:inherit}.settings-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.settings-row select{min-width:100px;border:1px solid var(--line);border-radius:10px;padding:10px;background:white}.settings-row button{margin-inline-start:auto}.push-settings{border:1px solid var(--line);border-radius:15px;background:#fff;padding:16px;margin-bottom:18px}.push-settings p{font-size:.88rem;color:var(--muted);line-height:1.5}.button-row{display:flex;gap:8px;flex-wrap:wrap}.text-button{background:transparent;border:0;color:var(--blue);padding:15px 0;font-weight:700}.help-text,.sync-note,.source-link{font-size:.82rem;color:var(--muted);line-height:1.6}.source-link{display:inline-block;margin-bottom:20px}.connection-status{padding:12px;border-radius:12px;background:var(--amber-soft);color:#785015}.day-events>p{background:var(--blue-soft);padding:12px;border-radius:12px}.lesson.change-source,.lesson.change-added{border-inline-start:4px solid #6242c0}.lesson:not(.has-change){cursor:default}.lesson .time{white-space:nowrap;direction:ltr;unicode-bidi:isolate}.time-stack{align-items:center}.free-gap .gap-time{direction:ltr;unicode-bidi:isolate}.subject-head{text-align:right}.teacher-option span{overflow-wrap:anywhere}.pill{max-width:100%;overflow-wrap:anywhere}.auth-sheet input[type=email],.auth-sheet input[type=password],.auth-sheet .password-field input{direction:ltr;text-align:left}.sticky-action #unsaved{font-size:.78rem;color:var(--muted)}.change-comparison>div{padding:8px 0}.change-comparison time{direction:ltr;unicode-bidi:isolate;display:inline-block}.auth-dialog,.change-dialog{margin:auto;max-width:none;max-height:none;background:transparent;border:0;width:100%;height:100%;color:var(--ink)}.auth-dialog[open],.change-dialog[open]{display:flex}.auth-dialog::backdrop,.change-dialog::backdrop{background:rgba(10,21,39,.65);backdrop-filter:blur(4px)}.auth-sheet{box-shadow:0 35px 90px rgba(0,0,0,.25)}.toast{z-index:100}.account-card strong{overflow-wrap:anywhere}.day-button[aria-current=true]{box-shadow:inset 0 0 0 2px var(--blue)}.overlap-note{font-size:.8rem;color:#8a5600;padding:0 6px}body{padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:700px){.day-strip{grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible;gap:5px}.day-button{padding:10px 0;font-size:.82rem}.day-button span{font-size:.7rem}.lesson,.free-gap{grid-template-columns:85px minmax(0,1fr)}.auth-dialog{align-items:center;padding:14px}.auth-sheet{border-radius:22px;max-height:calc(100dvh - 28px);width:min(440px,100%)}.account-card{min-width:0}.sticky-action .primary{flex:1}.room{max-width:100%;white-space:normal}.time-stack .old-value{font-size:.73rem}}
#weekLabel{direction:ltr;unicode-bidi:isolate;display:block}.sticky-action{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(1180px,100%);padding:14px 12px calc(14px + env(safe-area-inset-bottom));z-index:12;border-top:1px solid var(--line)}#settingsView{padding-bottom:110px}

.settings-row select{flex:1;min-height:44px}
.sticky-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px}
.sticky-action #unsaved{grid-column:1/-1;text-align:center;line-height:1.4}
.sticky-action button{min-height:46px;white-space:nowrap}
.compact,.pill,.profile-button,.ghost,.dialog-close{min-height:44px}
.ghost,.dialog-close{min-width:44px}
.teacher-option{min-height:44px}
.subject-head{gap:12px;min-height:50px}
.subject-head small{flex-shrink:0;white-space:nowrap}
.expand-icon{display:inline-block;min-width:16px;text-align:center;margin-inline-start:5px}
.show-password{top:0;bottom:0;left:4px;min-width:44px;min-height:44px;background:transparent}
.password-field input{min-height:46px}
body:has(#settingsView.active) .toast{bottom:calc(125px + env(safe-area-inset-bottom))}
@media(max-width:700px){.selection-count{font-size:.78rem}.section-title{gap:10px}.account-avatar{width:40px;height:40px}.account-card{gap:10px}.account-card>div{min-width:0}}
#accountView{max-width:680px;margin-inline:auto}
.profile-button.active{background:rgba(255,255,255,.2);border-color:#96b4ff;box-shadow:0 0 0 2px #96b4ff}
