.teacher-planner{--tp-ink:#22364b;--tp-blue:#3768a8;--tp-open:#e8f0fa;--tp-line:#dce5ed;color:var(--tp-ink);margin-top:20px}.teacher-planner button:focus-visible{outline-offset:3px;outline:3px solid #3768a8}.tp-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.tp-heading h2{letter-spacing:-.04em;margin:0 0 10px;font-family:Georgia,Times New Roman,serif;font-size:2.6rem;font-weight:400}.tp-heading p{margin:0;font-size:.94rem}.tp-zone{color:#52677b;align-items:center;gap:9px;max-width:270px;font-size:.78rem;display:flex}.tp-zone strong{font-weight:600;display:block}.tp-tutor-choice{max-width:340px;margin-bottom:20px}.tp-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:24px;display:grid}.tp-schedule{border:1px solid var(--tp-line);background:#fff;border-radius:14px;overflow:hidden}.tp-weekbar{align-items:center;gap:10px;padding:18px 16px;display:flex}.tp-weekbar h3{letter-spacing:-.02em;flex:1;margin:0;font-size:1rem}.tp-arrows{gap:2px;display:flex}.tp-arrows [data-slot=button]{min-width:30px;min-height:36px;padding:7px}.tp-weekbar>[data-slot=button]{min-height:36px;padding:7px 10px;font-size:.73rem}.tp-legend{color:#52677b;gap:20px;padding:0 20px 20px;font-size:.75rem;display:flex}.tp-legend span{align-items:center;gap:6px;display:flex}.tp-legend i{border-radius:2px;width:9px;height:9px}.tp-dot-open{background:#3768a8}.tp-dot-booked{background:#256b64}.tp-dot-off{background:#8895a3}.tp-week-grid{border-top:1px solid var(--tp-line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.tp-day{border-right:1px solid var(--tp-line);flex-direction:column;min-width:0;min-height:360px;display:flex}.tp-day:last-child{border-right:0}.tp-day>header{text-align:center;background:#f7fafc;flex-direction:column;align-items:center;gap:4px;min-height:95px;padding:16px 7px;display:flex}.tp-day>header span{color:#657386;font-size:.72rem}.tp-day>header strong{letter-spacing:-.04em;font-size:1.55rem;font-weight:500;line-height:1.2}.tp-day>header small{color:var(--tp-blue);font-size:.6rem}.tp-today>header strong{background:var(--tp-blue);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.tp-day-entries{flex:1;padding:7px}.tp-day-empty{text-align:center;color:#657386;margin:28px 0;font-size:.67rem}.tp-entry{border-left:3px solid var(--tp-blue);background:var(--tp-open);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;border-radius:5px;flex-direction:column;gap:4px;margin-bottom:8px;padding:11px 7px 8px;font-size:.66rem;display:flex}.tp-entry strong{font-size:.78rem;font-weight:650}.tp-entry small{margin-top:5px;font-size:.62rem}.tp-entry button{text-align:left;color:#47617b;background:0 0;border:0;align-items:center;gap:3px;min-height:28px;margin-top:5px;padding:4px 0;font-size:.62rem;display:flex}.tp-entry-booked{color:#205c56;background:#e8f3f0;border-color:#256b64}.tp-entry-off,.tp-entry-covered{color:#536475;background:repeating-linear-gradient(135deg,#f0f3f6,#f0f3f6 5px,#e8edf2 5px 6px);border-color:#8895a3}.tp-add-day{border:0;border-top:1px dashed var(--tp-line);color:var(--tp-blue);background:#fff;justify-content:center;align-items:center;gap:3px;min-height:44px;padding:12px 3px;font-size:.68rem;display:flex}.tp-add-day:hover{background:#f1f6fc}.tp-schedule-note{border-top:1px solid var(--tp-line);background:#f7fafc;align-items:flex-start;gap:10px;padding:18px 20px;display:flex}.tp-schedule-note svg{color:#657386;flex-shrink:0}.tp-schedule-note p{max-width:65ch;margin:0;font-size:.74rem;line-height:1.6}.tp-editor{border:1px solid var(--tp-line);background:#f7fafc;border-radius:14px;padding:23px;scroll-margin-top:25px}.tp-editor-title{align-items:center;gap:10px;margin-bottom:20px;display:flex}.tp-editor-title h3{letter-spacing:-.025em;margin:0;font-size:1.16rem}.tp-mode{background:#e5ebf1;border-radius:8px;margin-bottom:22px;padding:4px;display:flex}.tp-mode button{background:0 0;border:0;border-radius:5px;flex:1;min-height:40px;padding:8px 6px;font-size:.78rem}.tp-mode button[aria-pressed=true]{color:#264f82;background:#fff;font-weight:600;box-shadow:0 1px 3px #22364b18}.tp-editor form{gap:15px;display:grid}.tp-editor .field{min-width:0;margin:0}.tp-editor .field>span{color:#455b71;font-size:.76rem;font-weight:600}.tp-editor input,.tp-editor select{background:#fff;width:100%;min-width:0;font-size:.84rem}.tp-time-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tp-preview{border-top:1px solid var(--tp-line);border-bottom:1px solid var(--tp-line);margin:2px 0;padding:17px 0}.tp-preview>strong{font-size:.91rem}.tp-preview p{margin:7px 0 0;font-size:.73rem;line-height:1.55}.tp-start-preview{flex-wrap:wrap;gap:6px;margin-top:11px;display:flex}.tp-start-preview span{border:1px solid var(--tp-line);color:#365a87;font-variant-numeric:tabular-nums;background:#fff;border-radius:4px;padding:4px 7px;font-size:.71rem}.tp-editor .tick{align-items:flex-start;font-size:.74rem;line-height:1.5}.tp-editor .tick [role=checkbox]{flex-shrink:0;margin-top:2px}.tp-editor .tp-publish{background:var(--tp-blue);color:#fff;width:100%}.tp-editor-hint{margin:0;font-size:.72rem;line-height:1.6}.tp-success{color:#256b64;align-items:center;gap:7px;margin:0;font-size:.78rem;display:flex}.tp-success svg{flex-shrink:0}.tp-notice{border:1px solid var(--tp-line);background:#f7fafc;border-radius:10px;padding:25px}.tp-mobile-days{display:none}@media (min-width:1450px){.tp-entry strong{font-size:.9rem}}@media (max-width:1100px){.tp-layout{grid-template-columns:minmax(0,1fr)}.tp-editor{max-width:none}.tp-editor form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tp-editor .tp-preview,.tp-editor .tick,.tp-editor .form-error,.tp-editor .tp-success,.tp-editor .tp-publish,.tp-editor-hint{grid-column:1/-1}.tp-day{min-height:270px}.tp-editor-title{margin-bottom:12px}.tp-mode{max-width:400px}}@media (max-width:600px){.tp-heading{flex-direction:column;align-items:flex-start;gap:16px}.tp-heading h2{font-size:2.1rem}.tp-zone{max-width:none}.tp-zone strong{display:inline}.tp-weekbar{flex-wrap:wrap;gap:5px;padding:12px 8px}.tp-weekbar h3{min-width:140px;font-size:.85rem}.tp-legend{gap:15px;padding:0 14px 14px}.tp-mobile-days{border-top:1px solid var(--tp-line);background:#f7fafc;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;padding:7px;display:grid}.tp-mobile-days button{background:0 0;border:0;border-radius:6px;flex-direction:column;align-items:center;gap:5px;min-height:60px;padding:8px 2px;display:flex}.tp-mobile-days span{font-size:.64rem}.tp-mobile-days strong{font-size:1.05rem;font-weight:600}.tp-mobile-days button[aria-pressed=true]{background:var(--tp-blue);color:#fff}.tp-week-grid{display:block}.tp-day{border:0;min-height:180px;display:none}.tp-day-selected{display:flex}.tp-day>header{min-height:0;display:none}.tp-day-entries{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.tp-entry{margin:0;padding:14px 12px}.tp-entry strong{font-size:1rem}.tp-entry span,.tp-entry small,.tp-entry button{font-size:.75rem}.tp-entry button{min-height:36px}.tp-day-empty{grid-column:1/-1;font-size:.84rem}.tp-add-day{font-size:.85rem}.tp-editor{padding:20px}.tp-editor form{grid-template-columns:1fr}.tp-editor .field,.tp-editor .tp-preview,.tp-editor .tick,.tp-editor .form-error,.tp-editor .tp-success,.tp-editor .tp-publish,.tp-editor-hint{grid-column:auto}.tp-time-fields .field{min-width:0}.tp-time-fields input{padding:9px}.tp-layout{gap:18px}}.tp-always{background:#f2f8f5;border:1px solid #cadbd4;border-radius:12px;justify-content:space-between;align-items:center;gap:24px;margin:20px 0;padding:22px;display:flex}.tp-always h3{margin:0 0 6px;font-size:1.15rem}.tp-always p{margin:5px 0;line-height:1.5}.tp-always button{flex-shrink:0}.tp-always-day{color:#205c56;background:#e8f3f0;border-radius:5px;grid-column:1/-1;padding:9px;font-size:.72rem}.teacher-planner>.tp-success{margin:12px 0}@media (max-width:600px){.tp-always{flex-direction:column;align-items:stretch;gap:12px}.tp-always button{width:100%}}.ag-calendar{background:#fff;border-top:1px solid #e3e8ef}.ag-instructions{justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.ag-instructions p{color:#626d7b;margin:0!important;font-size:.8rem!important}.ag-instructions>button{color:#3563a9;background:#f1f5fb;border-radius:8px;flex-shrink:0;padding:7px 9px;font-size:.75rem}.ag-columns{grid-template-columns:58px repeat(7,minmax(0,1fr));display:grid}.ag-axis{border-top:1px solid #e3e8ef;min-width:0}.ag-axis-header{border-bottom:1px solid #e3e8ef;height:112px}.ag-axis>div:last-child{position:relative}.ag-axis>div>span{white-space:nowrap;color:#667383;font-variant-numeric:tabular-nums;font-size:.66rem;position:absolute;right:8px;transform:translateY(-50%)}.ag-day{border-top:1px solid #e3e8ef;border-left:1px solid #e3e8ef;min-width:0}.ag-day-header{background:#fafbfc;border-bottom:1px solid #e3e8ef;flex-direction:column;justify-content:center;align-items:center;gap:7px;height:112px;display:flex}.ag-day-header>span{color:#697687;font-size:.72rem}.ag-day-header>strong{place-items:center;width:31px;height:31px;font-size:1.2rem;font-weight:600;display:grid}.ag-today .ag-day-header>strong{color:#fff;background:#3563a9;border-radius:50%}.ag-day-header>button{color:#3563a9;white-space:normal;border-radius:7px;justify-content:center;align-items:center;gap:3px;min-height:30px;padding:5px 4px;font-size:.67rem;line-height:1.3;display:flex}.ag-day-header>button:hover{background:#e9f0fb}.ag-day-header>button:disabled{opacity:.35}.ag-lane{touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:crosshair;background:repeating-linear-gradient(#0000 0 26px,#f1f3f7 26px 27px,#0000 27px 53px,#e3e8ef 53px 54px);min-width:0;position:relative}.ag-past .ag-lane{cursor:default;background-color:#fafbfc}.ag-always-label{color:#426d61;pointer-events:none;background:#eef7f2;padding:3px 5px;font-size:.58rem;position:absolute;inset:0 0 auto}.ag-block{color:#254d84;text-align:left;z-index:1;font-variant-numeric:tabular-nums;cursor:pointer;background:#eaf1fc;border:1px solid #c5d7ef;border-left:3px solid #3563a9;border-radius:6px;min-width:0;padding:4px 5px;position:absolute;left:3px;right:3px;overflow:hidden}.ag-block strong,.ag-block>span{white-space:nowrap;text-overflow:ellipsis;font-size:.64rem;line-height:1.35;display:block;overflow:hidden}.ag-block>span{margin-top:4px;font-size:.61rem}.ag-block-booked{color:#20594e;cursor:default;z-index:3;background:#e2f1ec;border-color:#badad0 #badad0 #badad0 #28786b}.ag-block-off,.ag-block-covered{color:#566271;background:#eef0f4;border-color:#d0d7df #d0d7df #d0d7df #8994a2}.ag-block-covered{opacity:.6}.ag-block-off{z-index:2}.ag-draft{color:#fff;z-index:5;touch-action:none;background:#3563a9;border-color:#244e8e;padding:0;overflow:visible;box-shadow:0 2px 8px #234a7e25}.ag-draft-body{width:100%;height:100%;color:inherit;cursor:grab;touch-action:none;background:0 0;border:0;align-items:flex-start;gap:4px;padding:8px 5px;display:flex;overflow:hidden}.ag-draft-body strong{white-space:normal;font-size:.66rem;line-height:1.3}.ag-draft-body svg{flex-shrink:0}.ag-invalid{background:#a93447;border-color:#812637}.ag-resize{z-index:2;cursor:ns-resize;touch-action:none;background:0 0;border:0;place-items:center;height:14px;padding:0;display:grid;position:absolute;left:0;right:0}.ag-resize-start{top:-7px}.ag-resize-end{bottom:-7px}.ag-resize>span{background:#fff;border:1px solid #6f93c3;border-radius:3px;width:23px;height:4px}.ag-mobile-days,.ag-mobile-hint{display:none}.ag-selection{background:#eef4fd;border-top:1px solid #dce6f5;flex-wrap:wrap;align-items:center;gap:14px;padding:18px;display:flex}.ag-selection>div{flex:1;min-width:180px}.ag-selection strong{font-size:.94rem}.ag-selection p{margin:5px 0 0!important;font-size:.78rem!important}.ag-selection .actions{gap:8px;margin:0}.ag-fine-tune{border-top:1px solid #e3e8ef;padding:15px 18px}.ag-fine-tune>summary{color:#3563a9;cursor:pointer;font-size:.8rem;font-weight:600}.ag-fine-tune form{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.ag-fine-tune .tp-time-fields{grid-column:span 2}.ag-fine-tune .field{margin:0}.ag-fine-tune .tp-preview{grid-column:1/-1;margin:0}.ag-fine-tune .tp-start-preview{max-height:none}.ag-fine-tune .tp-publish{grid-column:1/-1;justify-self:start}.ag-fine-tune .tp-editor-hint{grid-column:1/-1}.ag-options{flex-wrap:wrap;align-items:flex-end;gap:14px;padding:0 16px 15px;display:flex}.ag-options>.field{flex:1;min-width:150px;max-width:190px;margin:0}.ag-options .tp-mode{min-width:230px;margin:0}.ag-save-error{background:#fff2f4;padding:12px 18px;color:#92263d!important;margin:0!important;font-size:.82rem!important}.ag-empty-prompt{color:#657180;border-top:1px solid #e3e8ef;padding:14px 18px;margin:0!important;font-size:.8rem!important}.teacher-planner .tp-schedule-note{margin-top:0}.ag-availability-layout{display:block}.ag-availability-layout .tp-schedule{overflow:visible}.ag-options .field>span{font-size:.75rem}.ag-always-message{font-size:.8rem!important}@container (width<=850px){.ag-columns{grid-template-columns:52px minmax(0,1fr)}.ag-day{display:none}.ag-day.ag-selected{display:block}.ag-day-header{flex-direction:row;justify-content:space-between;gap:10px;height:66px;padding:10px 16px}.ag-axis-header{height:66px}.ag-day-header>button{min-height:42px;font-size:.8rem}.ag-mobile-days{border-top:1px solid #e3e8ef;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:6px;display:grid}.ag-mobile-days button{border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:57px;font-size:.72rem;display:flex}.ag-mobile-days button[aria-pressed=true]{color:#254f8a;background:#eaf1fc}.ag-mobile-days strong{font-size:1rem}.ag-mobile-hint{padding:12px 16px;display:block;margin:0!important;font-size:.77rem!important}.ag-draft-body strong,.ag-block strong{font-size:.78rem}.ag-block>span{font-size:.73rem}.ag-fine-tune form{grid-template-columns:1fr 1fr}.ag-fine-tune .tp-time-fields{grid-column:1/-1}}@media (max-width:850px){.ag-columns{grid-template-columns:52px minmax(0,1fr)}.ag-day{display:none}.ag-day.ag-selected{display:block}.ag-day-header{flex-direction:row;justify-content:space-between;gap:10px;height:66px;padding:10px 16px}.ag-axis-header{height:66px}.ag-day-header>button{min-height:42px;font-size:.8rem}.ag-mobile-days{border-top:1px solid #e3e8ef;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:6px;display:grid}.ag-mobile-days button{border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:57px;font-size:.72rem;display:flex}.ag-mobile-days button[aria-pressed=true]{color:#254f8a;background:#eaf1fc}.ag-mobile-days strong{font-size:1rem}.ag-mobile-hint{padding:12px 16px;display:block;margin:0!important;font-size:.77rem!important}.ag-draft-body strong,.ag-block strong{font-size:.78rem}.ag-block>span{font-size:.73rem}.ag-instructions{align-items:flex-start;gap:8px}.ag-instructions p{font-size:.74rem!important}.ag-instructions>button{max-width:95px;font-size:.7rem}.ag-options{gap:10px;padding:0 12px 12px}.ag-options .tp-mode{flex-basis:100%;max-width:none}.ag-options>.field{min-width:120px;max-width:none}.ag-selection{padding:15px}.ag-selection .actions{width:100%}.ag-fine-tune form{grid-template-columns:1fr}.ag-fine-tune .tp-time-fields{grid-column:1/-1}.ag-selection .actions button{flex:1}}.dashboard-widget:has(.teacher-planner){overflow:visible}.ag-selection{z-index:12;position:sticky;top:72px;box-shadow:0 2px 6px #234a7e08}:is(.ag-day-header button:focus-visible,.ag-draft button:focus-visible){outline-offset:3px;outline:3px solid #3563a9}.ag-draft button:focus-visible{outline-color:#152e52}.ag-scope{background:#f4f7fc;border:1px solid #dbe5f2;border-radius:14px;grid-template-columns:minmax(220px,300px) 1fr;align-items:center;gap:22px;margin:0 16px 18px;padding:20px;display:grid}.ag-scope .field{max-width:none;margin:0}.ag-scope .field>span{color:#243b59;font-size:.85rem;font-weight:650}.ag-scope select{background:#fff;min-height:52px;font-weight:600}.ag-scope strong{color:#254d84;font-size:.95rem}.ag-scope p{max-width:65ch;margin:5px 0 0!important;font-size:.81rem!important;line-height:1.55!important}.ag-scope .ag-scope-warning{color:#815024;font-weight:600}.ag-scope .ag-scope-detail{color:#677383;font-size:.74rem!important}.ag-always-settings{color:#536579;border:1px solid #e3e8ef;border-radius:12px;margin:0 0 20px;padding:12px 16px;font-size:.8rem}.ag-always-settings summary{cursor:pointer;font-weight:600}.ag-always-settings p{margin:10px 0!important;font-size:.8rem!important}.ag-scope:focus-within{border-color:#3563a9;box-shadow:0 0 0 2px #3563a910}@container (width<=700px){.ag-scope{grid-template-columns:1fr;gap:12px;padding:16px}}@media (max-width:700px){.ag-scope{grid-template-columns:1fr;gap:12px;margin:0 12px 16px;padding:16px}.ag-selection .actions{flex-wrap:wrap}}.ag-editor-controls:has(.ag-selection){z-index:12;background:#fff;padding-top:8px;position:sticky;top:70px;box-shadow:0 3px 6px #234a7e0b}.ag-editor-controls .ag-selection{box-shadow:none;position:static}.ag-editor-controls:has(.ag-selection) .ag-scope{border-radius:14px 14px 0 0;margin-bottom:0}.ag-editor-controls:has(.ag-selection) .ag-selection{border:1px solid #dbe5f2;border-top:0;border-radius:0 0 14px 14px;margin:0 16px 12px;padding:12px 20px}.ag-editor-controls:has(.ag-selection) .ag-scope{padding:14px 20px}.ag-editor-controls:has(.ag-selection) .ag-scope-detail{display:none}@media (max-width:700px){.ag-editor-controls:has(.ag-selection){top:62px}.ag-editor-controls:has(.ag-selection) .ag-scope{grid-template-columns:1fr;gap:6px;padding:12px}.ag-editor-controls:has(.ag-selection) .ag-scope>div>strong{display:none}.ag-editor-controls:has(.ag-selection) .ag-selection{margin:0 12px 10px;padding:12px}.ag-editor-controls:has(.ag-selection) .ag-selection>div{min-width:0}.ag-editor-controls:has(.ag-selection) .ag-selection .actions{gap:5px}.ag-editor-controls:has(.ag-selection) .ag-selection .actions button{font-size:.74rem}}
