/* Week navigation. Lesson content is owned by avera-content.css. */
/* Compact week chrome: navigation stays useful without pushing lessons below the fold. */
.aw-calendar{margin:0 0 16px;min-width:0;color:var(--av-text-primary)}
.aw-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 2px 8px}.aw-top h2{font-size:22px;letter-spacing:-.04em;line-height:1.15;margin:0;font-weight:750}.aw-fresh{font-size:9.5px;color:var(--av-text-secondary);text-align:right;max-width:52%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aw-weeknav{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:6px;align-items:stretch;margin-bottom:8px}
.aw-week-arrow{display:grid;place-items:center;padding:0;min-height:42px;border:0;border-radius:14px;background:var(--av-control-bg);color:var(--av-text-primary);box-shadow:var(--av-shadow-control);cursor:pointer}.aw-week-arrow svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.aw-week-arrow:active{box-shadow:var(--av-shadow-pressed);transform:translateY(1px)}.aw-week-arrow:disabled{opacity:.32;box-shadow:none;cursor:default}
.aw-week-current{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;min-width:0;border-radius:14px;background:var(--av-well);box-shadow:var(--av-shadow-well);padding:6px 10px;white-space:nowrap}.aw-week-current b{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:12.5px;font-weight:680}.aw-week-current span{flex:0 0 auto;font-size:9px;color:var(--av-text-secondary)}
.aw-days{display:grid;grid-template-columns:repeat(var(--aw-day-count,7),minmax(0,1fr));gap:3px;padding:4px;border:0;border-radius:17px;background:var(--av-well);box-shadow:var(--av-shadow-well);margin-bottom:10px}
.aw-days button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:49px;padding:5px 1px 6px;border:0;border-radius:13px;background:transparent;color:var(--av-text-secondary);font:inherit;cursor:pointer}.aw-days button span{font-size:8.8px;line-height:1;font-weight:620;letter-spacing:.01em}.aw-days button b{font-size:15.5px;line-height:1;font-weight:720;letter-spacing:-.025em}.aw-days button[aria-pressed="true"]{background:var(--av-surface-elevated);box-shadow:var(--av-shadow-control);color:var(--av-accent);transform:translateY(-1px)}.aw-days button[aria-pressed="true"] span{font-weight:700}.aw-days button[aria-pressed="true"] b{font-size:16.5px;font-weight:780}.aw-days button:active{box-shadow:var(--av-shadow-pressed);transform:translateY(1px)}.aw-days button.is-empty-day:not([aria-pressed="true"]){opacity:.62}.aw-days button.is-today:not([aria-pressed="true"]){color:var(--av-accent)}.aw-change{position:absolute;top:4px;right:5px;width:4px;height:4px;background:var(--av-warning);border-radius:50%}
.aw-time-note{font-size:12px;line-height:1.5;color:var(--av-text-secondary);margin:6px 0}.aw-day{margin-top:8px}.aw-day-heading{display:flex;justify-content:space-between;padding:14px}.aw-day-heading h3{margin:0;font-size:18px}.aw-day-heading>span{font-size:12px;color:var(--av-text-secondary)}
.aw-day .m-day-head{padding:14px 16px 12px;gap:10px}.aw-day .m-day-date{display:none}.aw-day .m-day-copy{gap:2px}.aw-day .m-day-copy b{font-size:17px}.aw-day .m-day-copy>span{font-size:10.5px}.aw-day .m-day-tags{margin-left:auto}.aw-day .m-day-schedule{padding-top:1px}
#mobileShell[data-page="week"] #mobileContent{padding-top:6px}
@media(max-width:390px){.aw-week-current{gap:5px;padding-inline:7px}.aw-week-current b{font-size:11.5px}.aw-week-current span{font-size:8.5px}.aw-days button{gap:2px;min-height:47px}.aw-days button span{font-size:8.4px}.aw-days button b{font-size:14.5px}.aw-days button[aria-pressed="true"] b{font-size:15.5px}}
.aw-empty{padding:28px 20px;background:var(--av-well);box-shadow:var(--av-shadow-well);border:0;border-radius:20px;text-align:center}.aw-empty b{font-size:17px}.aw-empty p{font-size:13px;color:var(--av-text-secondary);line-height:1.55;margin:8px 0 0}.aw-changes{padding:16px;border-top:1px solid var(--av-divider);font-size:13px}
/* REV36 — isolated teacher schedule viewer. */
.teacher-schedule-overlay{z-index:12120!important;align-items:center!important;padding:14px!important}
.teacher-schedule-box{position:relative!important;width:min(900px,100%)!important;max-height:calc(100dvh - 28px)!important;overflow:hidden!important;padding:0!important;border-radius:26px!important;display:flex!important;flex-direction:column!important;background:var(--panel,#fff)!important}
.teacher-schedule-box>header{padding:22px 72px 14px 22px!important;border-bottom:1px solid var(--border,#dce6ea)!important;flex:0 0 auto!important}
.teacher-schedule-box>header>span{display:block;color:var(--accent,#008f91);font-size:9.5px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.teacher-schedule-box>header h2{margin:5px 0 3px!important;font-size:25px!important}.teacher-schedule-box>header p{margin:0!important;font-size:11.5px!important}
.teacher-schedule-content{min-height:0;overflow:auto;padding:16px 18px 22px;overscroll-behavior:contain;scrollbar-width:thin}.teacher-schedule-content .aw-calendar{margin:0!important}
.teacher-schedule-close{top:18px!important;right:18px!important;left:auto!important}
@media(max-width:640px){.teacher-schedule-overlay{padding:0!important;align-items:stretch!important}.teacher-schedule-box{max-height:100dvh!important;height:100dvh!important;width:100%!important;border-radius:0!important}.teacher-schedule-box>header{padding:calc(18px + env(safe-area-inset-top)) 64px 13px 16px!important}.teacher-schedule-content{padding:12px 12px calc(18px + env(safe-area-inset-bottom))}.teacher-schedule-close{top:calc(14px + env(safe-area-inset-top))!important;right:14px!important}}

/* 0.7.0: horizontal day gestures use the same motion in every schedule surface. */
.aw-calendar{touch-action:pan-y pinch-zoom}
.aw-calendar .m-day{transform-origin:center center;will-change:transform,opacity}
@keyframes awDayOutLeft{to{opacity:0;transform:translate3d(-34px,0,0) scale(.992)}}
@keyframes awDayOutRight{to{opacity:0;transform:translate3d(34px,0,0) scale(.992)}}
@keyframes awDayInRight{from{opacity:0;transform:translate3d(34px,0,0) scale(.992)}to{opacity:1;transform:none}}
@keyframes awDayInLeft{from{opacity:0;transform:translate3d(-34px,0,0) scale(.992)}to{opacity:1;transform:none}}
.aw-swipe-out-left{animation:awDayOutLeft .17s cubic-bezier(.4,0,1,1) both;pointer-events:none}
.aw-swipe-out-right{animation:awDayOutRight .17s cubic-bezier(.4,0,1,1) both;pointer-events:none}
.aw-swipe-in-right{animation:awDayInRight .24s cubic-bezier(.16,1,.3,1) both}
.aw-swipe-in-left{animation:awDayInLeft .24s cubic-bezier(.16,1,.3,1) both}
@media(prefers-reduced-motion:reduce){.aw-swipe-out-left,.aw-swipe-out-right,.aw-swipe-in-right,.aw-swipe-in-left{animation:none!important}}
/* Stage 3A: stable six-day rail, with a separate non-overlapping today mark. */
.aw-weeknav{grid-template-columns:44px minmax(0,1fr) 44px}.aw-week-arrow{min-height:44px;transition:color var(--av-motion-interaction) var(--av-ease-standard),box-shadow var(--av-motion-ui) var(--av-ease-standard)}
.aw-days{grid-template-columns:repeat(var(--aw-day-count,6),minmax(44px,1fr));gap:3px;padding:4px;border-radius:16px;overflow-x:auto}.aw-days button{min-height:48px;padding:7px 1px 9px;gap:4px;transition:color var(--av-motion-ui) var(--av-ease-standard)}/* RC3: no background/shadow fade — the moving capsule carries the selection; a fading background blinked */
.aw-days button span{font-size:10px;font-weight:600}.aw-days button b,.aw-days button[aria-pressed="true"] b{font-size:15px;font-weight:700}
.aw-days button.is-today::after{content:"";position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:3px;border-radius:3px;background:var(--av-accent)}
.aw-days button.is-weekend:not([aria-pressed="true"]){background:color-mix(in srgb,var(--av-text-secondary) 4%,transparent);color:var(--av-text-secondary)}
.aw-days button.is-empty-day:not([aria-pressed="true"]){opacity:1}.aw-days button:focus-visible{outline:none;outline-offset:-2px}
.aw-week-arrow:focus-visible{outline:none;outline-offset:-2px;background:var(--av-focus-action);}
.aw-calendar .m-day{will-change:auto}.aw-swipe-out-left,.aw-swipe-out-right{animation:avScheduleOut 180ms var(--av-ease-exit) both}.aw-swipe-in-right,.aw-swipe-in-left{animation:avScheduleIn 200ms var(--av-ease-enter) both}
@keyframes avScheduleOut{to{opacity:0;transform:none}}@keyframes avScheduleIn{from{opacity:0;transform:none}to{opacity:1;transform:none}}
.aw-empty{padding:25px 18px;margin:8px 0;background:var(--av-well);border-radius:16px}.aw-empty b{font-size:16px}.aw-empty p{font-size:12px}
@media(prefers-reduced-motion:reduce){.aw-week-arrow{transition:none!important;transform:none!important}
.aw-days button{transition:none!important;transform:none!important}.aw-swipe-out-left,.aw-swipe-out-right,.aw-swipe-in-right,.aw-swipe-in-left{animation:none!important}}


/* Rev183 F-M2: preserve vertical scrolling, reserve horizontal gestures for
   the personal Week page even below a short timetable. Native touch-action
   negotiation happens before JS pointermove (which may be cancelled). */
#mobileShell[data-page="week"],
#mobileShell[data-page="week"] #mobileContent{touch-action:pan-y pinch-zoom}
