/* Approved My Week layout. Shared activity, provider and admin styles remain in app.css. */
.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}
#weekly-view{max-width:1840px}.week-heading{margin-bottom:12px}.week-heading>div:first-child{min-width:0}.week-heading p{font-size:.85rem;margin-top:6px}.week-heading-actions{flex-direction:row;align-items:center;max-width:none}.week-heading-actions .btn{min-width:110px;padding:12px 18px}.week-secondary{border:1px solid #cddcd1;border-radius:8px;background:white;padding:10px 13px;color:var(--teal);font-size:.82rem;cursor:pointer}
.week-datebar,.week-date-navigation{display:flex;align-items:center;gap:10px}.week-datebar{justify-content:space-between;margin:12px 0}.week-date-navigation strong{font-size:1rem}.saved-week-label{max-width:340px;min-width:0}.saved-week-label select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--teal)}.week-status{min-height:22px;margin:6px 0 12px;font-size:.8rem}.week-overview-section{background:white;border:1px solid var(--line);border-radius:11px;padding:10px 14px;margin:0 0 18px}.week-mix-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.week-overview-section h2{font-size:.85rem;display:flex;align-items:center;gap:4px;white-space:nowrap;margin:0}#week-overview{margin:0;gap:7px}.overview-count{font-size:.7rem;padding:5px 8px;border-left-width:5px;font-weight:500}.week-overview-section p{font-size:.68rem;margin:5px 0 0}.week-workspace{grid-template-columns:216px minmax(0,1fr);gap:18px;align-items:start}.week-shelf{padding:15px;top:90px}.week-shelf h2{font-size:1rem;margin:0 0 5px}.week-shelf p{font-size:.7rem;margin:0 0 10px}.week-shelf select{width:100%;margin:0 0 8px;padding:9px;border:1px solid var(--line);border-radius:7px;background:white}.search-row{margin:0 0 8px}.search-row input{padding:8px;font-size:.75rem}.search-row button{padding:6px;font-size:.7rem}#week-library{display:block;max-height:60vh;overflow-y:auto;padding:1px 4px 3px 1px;overscroll-behavior:contain}.shelf-pagination{margin-top:9px}.week-calendar{min-width:0;overflow-x:auto;padding:1px 1px 5px}.week-grid{display:block;min-width:1120px}.week-calendar-head,.week-session-row{display:grid;grid-template-columns:40px repeat(6,minmax(0,1fr));gap:8px}.week-calendar-head h3{text-align:center;font-size:.82rem;padding:9px 1px 11px;font-weight:650;margin:0}.week-calendar-head small{display:block;color:var(--muted);font-size:.68rem;font-weight:400;margin-top:3px}.week-session-row{margin-bottom:9px;align-items:stretch}.week-session-label{font-size:.8rem;padding-top:12px;margin:0}.week-session-label small{display:block;font-size:.6rem;color:var(--muted);font-weight:400;margin-top:4px}.week-slot{min-height:338px;padding:8px;display:flex;flex-direction:column;gap:8px;background:#eaf0e8;border:1px solid #dce5da;border-radius:10px;min-width:0}.week-slot+.week-slot{border-top:1px solid #dce5da}.week-slot h4{font-size:.65rem;line-height:14px;min-height:14px;letter-spacing:0;text-align:right;margin:0;color:#768b77}.week-source,.week-assignment{position:relative;display:block;box-sizing:border-box;height:92px;min-height:92px;max-height:92px;flex:0 0 92px;padding:13px 10px 6px;margin:0;overflow:hidden;border:1px solid #d5e1d4;border-radius:9px;background:#fffdf8;touch-action:pan-y;font-size:.78rem;font-weight:500}.week-source{background:#f0f5ed;margin:8px 0}.week-source:hover{background:#f0f5ed}.week-source-title,.assignment-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:36px;height:auto;border:0;background:transparent;font-size:.76rem;line-height:18px;font-weight:600;text-align:left;width:100%;padding:0 9px 0 0;touch-action:pan-y;color:var(--ink)}.week-area-strip{height:4px;left:0;right:0;top:0;position:absolute;display:flex;border-radius:8px 8px 0 0;overflow:hidden}.week-area-strip>span{flex:1}.week-status-clicker,.week-note-button,.week-drag-handle{position:absolute;height:32px;border:1px solid #d5dfce;border-radius:6px;background:#f2f5ed;color:#607450;bottom:6px;padding:0;cursor:pointer}.week-status-clicker{left:8px;width:82px;text-align:left;padding-left:7px;font-size:.65rem;white-space:nowrap}.week-status-clicker[data-status=done]{background:#e4f0de;color:#365b36}.week-status-clicker[data-status=skipped]{background:#f2eee5;color:#756449}.week-note-button{right:24px;width:32px;display:flex;align-items:center;justify-content:center}.week-status-clicker::before,.week-note-button::before{content:"";position:absolute;inset:-5px}.week-note-button[data-has-note=true]::after{content:"";position:absolute;top:3px;right:3px;width:5px;height:5px;border-radius:50%;background:#16756d}.week-drag-handle{right:1px;width:20px;border:0;background:transparent;color:#8ba08a;font-size:18px;touch-action:none;cursor:grab;z-index:1}.week-drag-handle:active{cursor:grabbing}.week-shelf-caption{position:absolute;left:10px;bottom:13px;font-size:.63rem;font-weight:400;color:#768c71}.week-moved-marker{position:absolute;top:7px;right:5px;font-size:12px;color:#6b7c69}.place-button{margin-top:auto;min-height:30px;padding:5px 4px;font-size:.65rem;border-radius:6px;line-height:1.3}.full-slot-action{font-size:.6rem;min-height:24px}.week-legacy-note{font-size:.65rem;line-height:1.4;margin:0}.drop-target{background:#d9e9d8}.week-footnote{font-size:.7rem;margin:10px 0}.week-mobile-shelf,.week-shelf-close,.week-phone-days{display:none}#week-options .week-toolbar{display:grid;box-shadow:none;border:0;padding:0;margin:16px 0}#week-options .week-toolbar label{min-width:0}#week-options .week-copy-controls{align-items:flex-start}#week-detail-dialog{max-width:450px;width:calc(100% - 24px);height:100dvh;max-height:100dvh;margin:0 0 0 auto;border-radius:14px 0 0 14px;padding:24px;overflow-y:auto}#week-detail-title{font-size:1.3rem;line-height:1.4;margin-bottom:12px;overflow-wrap:anywhere}#week-detail-dialog p{font-size:.85rem;line-height:1.6;color:var(--muted);margin:10px 0}#week-note-editor label{display:block;font-size:.85rem;font-weight:600;margin:18px 0 7px}#week-detail-note{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.9rem;min-height:120px;resize:vertical}#week-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}#week-note-editor[hidden]{display:none}
@media(max-width:800px){.week-heading{gap:10px;align-items:flex-start}.week-heading-actions{gap:6px;flex-direction:column;align-items:stretch;min-width:98px}.week-heading-actions .btn{font-size:.8rem;min-width:0;padding:10px}.week-heading-actions .week-secondary{font-size:.7rem;padding:8px}.week-heading p{font-size:.75rem}.week-datebar{align-items:flex-start;flex-wrap:wrap}.week-date-navigation{gap:7px}.week-date-navigation strong{font-size:.8rem}.saved-week-label{max-width:100%;width:100%}.saved-week-label select{font-size:.78rem}.week-overview-section{padding:10px;margin-bottom:12px}.week-mix-line{gap:8px}.week-overview-section h2{font-size:.8rem;width:100%}.overview-count{font-size:.62rem;padding:4px 6px}#week-overview{gap:5px}.week-overview-section p{font-size:.63rem}.week-workspace{display:block}.week-mobile-shelf{display:block;width:100%;text-align:left;background:#edf4e8;color:#3d6543;border:1px solid #bed0bd;border-radius:8px;padding:12px;margin-bottom:12px;font-size:.8rem}.week-shelf{display:none}.week-shelf.mobile-open{display:block;position:fixed;z-index:90;inset:125px 12px 12px;max-height:calc(100dvh - 137px);overflow-y:auto;box-shadow:0 0 0 200vmax #173d2950;padding:16px}.week-shelf-close{display:block;margin-left:auto;margin-bottom:8px}#week-library{display:block;max-height:45vh;padding-right:5px}.week-source{margin:8px 0;height:92px;font-size:.8rem}.week-source-title,.assignment-title{font-size:.8rem;line-height:18px}.week-calendar{overflow:visible}.week-grid{min-width:0}.week-calendar-head{display:none}.week-phone-days{display:flex;gap:5px;margin-bottom:12px}.week-phone-days button{flex:1;min-width:0;min-height:44px;padding:6px 2px;border:0;background:#e9efe5;color:#56704f;border-radius:7px;font-size:.65rem;line-height:1.5}.week-phone-days button[aria-pressed=true]{background:#176e61;color:white}.week-session-row{display:block;margin-bottom:14px}.week-session-label{padding:0 0 7px;font-size:.8rem}.week-session-label small{display:inline;margin-left:7px;font-size:.7rem}.week-slot{display:none;min-height:0;gap:8px;padding:10px}.week-slot.phone-selected{display:flex}.week-slot h4{font-size:.65rem}.week-assignment{height:92px;min-height:92px;max-height:92px}.place-button{min-height:40px;margin-top:4px;font-size:.75rem}.week-footnote{font-size:.65rem}.week-status{font-size:.75rem}#week-detail-dialog{border-radius:0;width:100%;max-width:100%;padding:22px}.week-status-clicker{font-size:.7rem}}
@media print{.week-calendar-head,.week-session-row{display:grid;grid-template-columns:40px repeat(6,1fr)}.week-slot{display:flex!important}.week-grid{min-width:0}.week-mobile-shelf,.week-phone-days,.week-datebar,.week-heading-actions{display:none!important}}

.week-assignment .week-status-clicker{left:6px;width:66px;padding-left:4px;font-size:.62rem}.week-assignment .week-note-button{right:22px;width:28px}.week-assignment .week-drag-handle{width:18px}.week-remove-button{position:absolute;right:52px;bottom:6px;width:24px;height:32px;padding:0;border:1px solid #dccfc7;border-radius:6px;background:#fff8f3;color:#8b392d;font-size:19px;line-height:1;cursor:pointer}.week-remove-button:hover{background:#fbe4dd}.week-assignment .week-status-clicker::before,.week-assignment .week-note-button::before{inset:0}

#week-placement-picker{margin-top:20px;border-top:1px solid #cddcd1;padding-top:16px}#week-placement-picker h3{font-size:1rem;color:#193e3b}#week-placement-picker h3:focus{outline:3px solid #d78933;outline-offset:4px}.week-placement-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px}.week-placement-choices button{min-height:48px;text-align:left;background:#edf5ec;border-color:#9fbea9;color:#193e3b}.week-placement-choices button:hover:not(:disabled){background:#dcecdc}.week-placement-choices button:disabled{background:#f0f0ec;color:#657064}.week-awaiting-placement .place-button{border:2px solid #16746b;background:#edf5ec}
.week-placement-confirmation{font-size:.72rem;line-height:1.4;color:#175d55;background:#fff;padding:8px;border-radius:6px;margin:0}

/* Readable weekly typography, retaining equal compact cards. */
#weekly-view .week-source-title,#weekly-view .assignment-title{font-size:14px;line-height:20px;max-height:40px}
#weekly-view .week-assignment .week-status-clicker{font-size:12px}
#weekly-view .week-shelf p{font-size:12px;line-height:1.4}
#weekly-view .week-shelf select,#weekly-view .search-row input,#weekly-view .search-row button{font-size:14px}
#weekly-view .shelf-pagination,#weekly-view .shelf-pagination button{font-size:12px}
#weekly-view .week-status,#weekly-view .week-heading p,#weekly-view .week-date-navigation strong,#weekly-view .saved-week-label select{font-size:14px;line-height:1.5}
#weekly-view .week-calendar-head h3,#weekly-view .week-session-label{font-size:14px}
#weekly-view .week-calendar-head small,#weekly-view .week-session-label small,#weekly-view .week-slot h4{font-size:12px}
#weekly-view .place-button{font-size:13px;min-height:36px}
#weekly-view .week-footnote,#weekly-view .week-overview-section p,#weekly-view .week-legacy-note,#weekly-view .week-placement-confirmation{font-size:13px;line-height:1.5}
#weekly-view .week-overview-section h2{font-size:14px}
#weekly-view .week-phone-days button{font-size:12px}
#weekly-view .week-mobile-shelf,#weekly-view .week-heading-actions .week-secondary{font-size:14px}
@media(max-width:800px){#weekly-view .place-button{min-height:40px}}

.week-schedule-download{margin-left:auto;font-size:14px;min-height:40px;background:#16746b;color:#fff;border-color:#16746b;white-space:nowrap}.week-schedule-download:hover{background:#105c55}@media(max-width:800px){.week-schedule-download{width:100%;margin-left:0}}
.week-full-actions{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;position:sticky;top:0;background:white;padding-bottom:8px;z-index:2}.week-full-actions .dialog-close{margin-bottom:0;position:static}.week-full-actions .week-secondary{font-size:14px}#week-full-export-status{margin:8px 0;font-size:14px}

/* Filled learning-area summary chips, scoped to My Week. */
#week-overview .area-chip{display:inline-flex;align-items:center;gap:6px;background:var(--area-chip-bg);color:var(--area-chip-fg);border:0;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600;line-height:1.25;max-width:100%;box-sizing:border-box}
#weekly-view .week-source-title{max-height:60px;-webkit-line-clamp:3;padding-right:20px}

/* Compact shelf only: retain two readable lines and a separate touch handle. */
#weekly-view .week-source{height:64px;min-height:64px;max-height:64px;flex-basis:64px;padding:11px 48px 11px 10px;margin:6px 0}
#weekly-view .week-source-title{max-height:40px;-webkit-line-clamp:2;padding:0;font-size:14px;line-height:20px}
#weekly-view .week-source .week-drag-handle{width:44px;height:44px;right:3px;bottom:9px}

/* Approved learning-area mix and quiet download actions. */
#week-overview .area-chip{min-height:32px;padding:6px 10px;border:1px solid #c7d6c2;border-left:5px solid var(--area-chip-bg);border-radius:5px;background:#edf4e9;color:#193e3b;font-size:13px;line-height:18px;font-weight:600}
.week-overview-section{padding:14px 16px;border-color:#d5e0d7}.week-mix-line{gap:16px}.week-download-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.week-download-actions .week-secondary{margin:0;min-height:34px;padding:7px 11px;background:#f8faf7;color:#42645e;border:1px solid #bdcfc5;border-radius:6px;font-size:13px;font-weight:400;line-height:18px;white-space:nowrap}.week-download-actions .week-secondary:hover{background:#edf4e9}
@media(max-width:800px){.week-overview-section{padding:14px 16px}.week-mix-line{gap:12px}.week-download-actions{width:100%;margin-left:0}.week-download-actions .week-secondary{flex:1;width:auto}}
