.rating-item.with-timeframe{grid-template-columns:minmax(0,1fr) auto minmax(180px,230px)}.timeframe-field{align-self:center;gap:5px;display:grid}.timeframe-field span{color:#9a493c;font-size:9px;font-weight:800}.timeframe-field input{width:100%;font:inherit;color:var(--ink);background:#fff8f5;border:1px solid #e2b1a5;border-radius:8px;padding:9px 10px;font-size:10px}@media (width<=850px){.rating-item.with-timeframe{grid-template-columns:1fr}.timeframe-field{width:100%}}.record-actions{align-items:center;gap:8px;display:flex}.record-actions .danger{color:#9a493c;cursor:pointer;background:#fff5f2;border:1px solid #e3a99b;border-radius:8px;padding:8px 11px;font-size:10px;font-weight:800}.record-actions .danger:hover{background:#f8ddd6}.record-actions .danger:disabled{opacity:.55;cursor:not-allowed}.strike{letter-spacing:.03em;border-radius:999px;align-items:center;margin-right:8px;padding:5px 9px;font-size:9px;font-weight:900;display:inline-flex}.strike-1{color:#21613b;background:#dff1e5}.strike-2{color:#7a5a00;background:#fff0b8}.strike-3{color:#994c0b;background:#ffe0bd}.strike-red{color:#9a2929;background:#f7d1ce}.reminder-status{color:#78521c!important;font-size:10px!important}.modal-backdrop{z-index:50;background:#102d2788;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.reminder-modal{background:#fff;border-radius:18px;width:min(600px,100%);padding:26px;box-shadow:0 24px 70px #102d2755}.reminder-modal h2{margin:5px 0 9px}.reminder-modal>p:not(.eyebrow){color:var(--muted);font-size:11px;line-height:1.6}.reminder-modal textarea{width:100%;min-height:145px;margin:12px 0}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.modal-actions .primary{padding:9px 12px}.pd-notification-modal{text-align:center;width:min(540px,100%);padding:34px}.pd-notification-icon{color:#315f8d;width:54px;height:54px;font:900 17px var(--font-display);background:#e5f0f7;border-radius:16px;place-items:center;margin:0 auto 14px;display:grid}.pd-notification-modal h2{text-wrap:balance;font-size:22px;line-height:1.35}.pd-notification-modal .modal-question{margin:16px 0;color:#53625e!important;font-size:14px!important}.pd-notification-modal .modal-actions{justify-content:center;margin-top:20px}.pd-notification-modal .modal-actions button{min-width:100px;font-size:13px}.notification-queue{color:var(--muted);margin-top:-5px;font-size:12px;display:block}.pd-report-modal{width:min(680px,100%)}.pd-report-heading{justify-content:space-between;align-items:center;gap:18px;margin:7px 0 16px;display:flex}.pd-report-heading>div>small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.pd-report-heading>span{color:#315f8d;text-align:center;background:#e5f0f7;border-radius:15px;min-width:92px;padding:12px}.pd-report-heading>span b{font:900 28px var(--font-display)}.pd-report-heading>span small{font-size:12px}.pd-report-topic{background:#f5f7f4;border-radius:10px;padding:10px 12px;font-size:13px!important}.pd-report-section{border-top:1px solid var(--line);padding:14px 2px}.pd-report-section>b{font-size:13px}.pd-report-section>p{color:#53625e!important;margin:5px 0 0!important;font-size:13px!important;line-height:1.55!important}.rating-breakdown-modal{width:min(760px,100%);max-height:min(82vh,780px);overflow:auto}.rating-breakdown-heading{justify-content:space-between;align-items:center;gap:18px;margin:7px 0 16px;display:flex}.rating-breakdown-heading>div>small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.rating-breakdown-heading>span{color:#28634f;text-align:center;background:#e1f2eb;border-radius:15px;min-width:105px;padding:12px}.rating-breakdown-heading>span b,.rating-breakdown-heading>span small{display:block}.rating-breakdown-heading>span b{font:900 28px var(--font-display)}.rating-breakdown-heading>span small{margin-top:2px;font-size:8px}.rating-video-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.rating-video-list article{border:1px solid var(--line);background:#fbfcfa;border-radius:13px;padding:14px}.rating-video-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.rating-video-title>b{font-size:13px}.rating-video-title>strong{color:#28634f;font-size:14px}.rating-video-list article>small{color:var(--muted);margin:4px 0 10px;font-size:9px;display:block}.rating-video-list article>p{color:#53625e!important;margin:6px 0!important;font-size:10px!important;line-height:1.5!important}.rating-video-list article>a{color:#315f8d;margin-top:6px;font-size:9px;font-weight:800;display:inline-block}.rating-video-list article>.secondary{margin-top:10px;display:block}@media (width<=600px){.pd-notification-modal,.pd-report-modal,.rating-breakdown-modal{padding:24px}.pd-report-heading,.rating-breakdown-heading{align-items:flex-start}.pd-report-heading>span{min-width:76px}.pd-notification-modal h2{font-size:19px}.rating-video-list{grid-template-columns:1fr}}.login-page{background:radial-gradient(circle at 14% 16%,#fff1d9 0,#0000 32%),radial-gradient(circle at 88% 82%,#dceaf6 0,#0000 34%),linear-gradient(145deg,#f8fbfd,#edf4f8);place-items:center;min-height:100vh;padding:24px;display:grid}.login-shell{justify-items:center;gap:22px;width:min(940px,100%);display:grid}.login-quote{color:#315b83;text-align:center;max-width:700px;font:700 clamp(19px,2.4vw,27px)/1.4 var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0}.login-card{background:#fff;border:1px solid #dce7ee;border-radius:24px;grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);align-items:center;gap:56px;width:100%;padding:42px 48px;display:grid;box-shadow:0 28px 80px #315b831f}.login-intro{border-right:1px solid #e4e9e5;padding-right:48px}.login-intro>img{object-fit:contain;object-position:center;width:180px;height:76px;margin:0 auto 22px;display:block}.login-intro>.eyebrow,.login-intro>h1,.login-intro>p:not(.eyebrow){text-align:center}.login-card h1{color:#17342e;margin:5px 0 12px;font-size:30px;line-height:1.15}.login-intro>p:not(.eyebrow){color:#68756f;margin:0;font-size:12px;line-height:1.65}.login-form .field{margin-top:14px}.login-form .field:first-child{margin-top:0}.login-card input{width:100%;font:inherit;border:1px solid #d7ddd9;border-radius:10px;padding:12px}.login-submit{width:100%;margin-top:20px;padding:12px}.login-message{color:#33564c;background:#f2f6f3;border-radius:9px;margin-top:14px;padding:11px;font-size:11px}.login-links{flex-wrap:wrap;justify-content:center;gap:10px 18px;margin-top:16px;display:flex}.login-links button,.signout-button{color:#28715f;font:inherit;cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:800}.signout-button{padding:8px}.login-links button:hover,.signout-button:hover{text-decoration:underline}.login-page>.login-shell{grid-column:1/-1}@media (width<=760px){.login-page{padding:20px}.login-shell{gap:16px}.login-card{grid-template-columns:1fr;gap:26px;padding:30px 24px}.login-intro{border-bottom:1px solid #e4e9e5;border-right:0;padding:0 0 24px}.login-intro>img{width:150px;height:62px;margin-bottom:14px}.login-card h1{font-size:25px}.login-quote{font-size:17px}}.tomorrow-reminder{color:#5f4a19;text-align:left;cursor:pointer;background:linear-gradient(90deg,#fff8df,#fffdf6);border:1px solid #efd28b;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:100%;margin:-8px 0 18px;padding:13px 16px;display:grid;box-shadow:0 7px 20px #8e6a1812}.tomorrow-reminder>span{background:#ffe8a8;border-radius:11px;place-items:center;width:37px;height:37px;display:grid}.tomorrow-reminder strong,.tomorrow-reminder small{display:block}.tomorrow-reminder strong{font-size:12px}.tomorrow-reminder small{color:#7b6a42;margin-top:3px;font-size:9px}.tomorrow-reminder>b{color:#745b1c;font-size:10px}.calendar-entry{margin-bottom:16px}.calendar-form-actions{gap:9px;display:flex}.calendar-layout{grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);align-items:start;gap:16px;display:grid}.calendar-panel,.upcoming-panel{padding:20px}.calendar-toolbar{text-align:center;grid-template-columns:auto 1fr auto;align-items:center;margin-bottom:18px;display:grid}.calendar-toolbar h2{font-size:23px}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{text-align:center;color:#7c8a94;text-transform:uppercase;letter-spacing:.08em;padding:8px 3px;font-size:9px;font-weight:900}.calendar-grid{border-top:1px solid #e2e8ec;border-left:1px solid #e2e8ec}.calendar-cell{background:#fff;border-bottom:1px solid #e2e8ec;border-right:1px solid #e2e8ec;min-height:108px;padding:7px;overflow:hidden}.calendar-cell.blank{background:#f8fafb}.calendar-cell>b{border-radius:50%;place-items:center;width:24px;height:24px;margin-bottom:4px;font-size:10px;display:grid}.calendar-cell.today{background:#f7fbff;box-shadow:inset 0 0 0 2px #8bb2d2}.calendar-cell.today>b{color:#fff;background:#315f8d}.calendar-cell>div{gap:4px;display:grid}.calendar-cell small{color:#6f7c82;font-size:8px}.calendar-chip{text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;color:#315b83;background:#e7f0f8;border:0;border-radius:6px;padding:5px 6px;font-size:8px;font-weight:800;overflow:hidden}.calendar-chip span{opacity:.75;margin-bottom:1px;font-size:7px;display:block}.calendar-chip.meeting,.event-type.meeting{color:#3f5689;background:#e8eef9}.calendar-chip.live-observation,.event-type.live-observation{color:#28634f;background:#e1f2eb}.calendar-chip.video-review,.event-type.video-review{color:#965443;background:#f8e6df}.calendar-chip.training,.event-type.training{color:#75528d;background:#f1e8f7}.calendar-chip.other,.event-type.other{color:#725f27;background:#f2eddc}.upcoming-panel{position:sticky;top:24px}.upcoming-panel h2{margin-bottom:14px}.upcoming-list{display:grid}.upcoming-list article{border-top:1px solid #e8ecee;grid-template-columns:52px 1fr;gap:11px;padding:13px 0;display:grid;position:relative}.upcoming-list time{text-align:center;color:#315b83;background:#edf4f8;border-radius:10px;align-content:center;place-items:center;width:46px;height:52px;display:grid}.upcoming-list time b,.upcoming-list time small{display:block}.upcoming-list time b{font-size:10px}.upcoming-list time small{font-size:8px}.upcoming-list article>div:nth-child(2){min-width:0}.upcoming-list strong,.upcoming-list article small{display:block}.upcoming-list strong{margin:5px 0 3px;font-size:11px}.upcoming-list article small{color:var(--muted);font-size:8px}.upcoming-list p{color:#67746f;margin:6px 0 0;font-size:9px;line-height:1.45}.event-type{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;width:max-content;padding:4px 7px;font-size:7px;font-weight:900;display:inline-block}.event-actions{grid-column:2;gap:6px;margin-top:4px;display:flex}.event-actions .secondary,.event-actions .danger{padding:5px 8px;font-size:8px}.event-actions .danger{color:#9a493c;cursor:pointer;background:#fff5f2;border:1px solid #e3a99b;border-radius:8px;font-weight:800}@media (width<=1050px){.calendar-layout{grid-template-columns:1fr}.upcoming-panel{position:relative;top:auto}.calendar-cell{min-height:92px}}@media (width<=720px){.tomorrow-reminder{grid-template-columns:auto 1fr}.tomorrow-reminder>b{display:none}.calendar-panel{padding:12px;overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:680px}.calendar-cell{min-height:88px}.calendar-entry{padding:18px}.calendar-toolbar{min-width:680px}}.calendar-records{margin-top:16px;padding:20px}.calendar-record-list{display:grid}.calendar-record-list article{border-top:1px solid #e8ecee;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 0;display:grid}.calendar-record-list strong,.calendar-record-list small{display:block}.calendar-record-list strong{margin:6px 0 3px;font-size:11px}.calendar-record-list small{color:var(--muted);font-size:8px}.calendar-record-list p{color:#67746f;margin:6px 0 0;font-size:9px;line-height:1.45}.calendar-record-list .event-actions{grid-column:auto;margin:0}.calendar-status{border-radius:999px;padding:5px 9px;font-size:8px;font-weight:900}.calendar-status.scheduled{color:#315b83;background:#e7f0f8}.calendar-status.completed{color:#21613b;background:#dff1e5}.calendar-status.cancelled{color:#6f7472;background:#eee}@media (width<=720px){.calendar-records{padding:16px}.calendar-record-list article{grid-template-columns:1fr auto}.calendar-record-list .event-actions,.calendar-record-list p{grid-column:1/-1}}.cycle-select{color:#334b59;max-width:190px;font:inherit;background:#fff;border:1px solid #d9e2e7;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:800}.export-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.export-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.overdue-reminder{color:#7d342b;text-align:left;cursor:pointer;background:#fff5f3;border:1px solid #e9b2aa;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:100%;margin:-8px 0 18px;padding:13px 16px;display:grid}.overdue-reminder>span{background:#f7d5d0;border-radius:11px;place-items:center;width:37px;height:37px;font-weight:900;display:grid}.overdue-reminder strong,.overdue-reminder small{display:block}.overdue-reminder strong{font-size:12px}.overdue-reminder small{color:#8b5d56;margin-top:3px;font-size:9px}.overdue-reminder>b{font-size:10px}.admin-stack{gap:16px;display:grid}.admin-form-actions,.cycle-create{align-items:center;gap:8px;margin:14px 0;display:flex}.cycle-create input{font:inherit;border:1px solid #dbe2df;border-radius:9px;flex:1;padding:10px}.admin-user-table{border-top:1px solid #e7ece9;margin-top:16px;overflow-x:auto}.admin-user-row{border-bottom:1px solid #edf0ee;grid-template-columns:1fr 1.5fr .8fr .7fr auto;align-items:center;gap:12px;min-width:760px;padding:11px 4px;font-size:10px;display:grid}.admin-user-head{text-transform:uppercase;letter-spacing:.08em;color:#78847f;font-size:8px;font-weight:900}.user-status{border-radius:999px;width:max-content;padding:4px 8px;font-size:8px;font-weight:900}.user-status.active{color:#21613b;background:#dff1e5}.user-status.inactive{color:#6f7472;background:#eee}.cycle-list,.admin-history-list{display:grid}.cycle-list article,.admin-history-list article{border-top:1px solid #e8ecea;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;display:flex}.cycle-list article>div,.admin-history-list article>div{flex:1;min-width:0}.cycle-list b,.cycle-list small,.admin-history-list b,.admin-history-list small{display:block}.cycle-list small,.admin-history-list small{color:var(--muted);margin-top:3px;font-size:8px}.admin-history-list p{color:#5f6c67;margin:5px 0 0;font-size:9px;line-height:1.45}.admin-history-list time{color:var(--muted);white-space:nowrap;font-size:8px}.branch-tags{flex-wrap:wrap;gap:8px;margin-top:15px;display:flex}.branch-tags span{color:#315b83;background:#edf4f8;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:800}@media (width<=720px){.cycle-select{max-width:150px}.overdue-reminder{grid-template-columns:auto 1fr}.overdue-reminder>b{display:none}.admin-user-row{min-width:680px}.admin-history-list article{flex-direction:column;align-items:flex-start}}.management-readonly-page{gap:16px;display:grid}.management-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.management-summary-grid>article{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:48px 1fr;align-items:center;gap:14px;padding:18px;display:grid}.management-summary-grid small,.management-summary-grid strong,.management-summary-grid p{display:block}.management-summary-grid small{color:var(--muted);font-size:14px;font-weight:700}.management-summary-grid strong{font:900 30px var(--font-display);margin-top:2px;line-height:1.1}.management-summary-grid p{color:var(--muted);margin:3px 0 0;font-size:12px}.summary-icon{width:46px;height:46px;font:900 17px var(--font-display);border-radius:14px;place-items:center;display:grid}.strike-summary{color:#a14c3e;background:#f7d9d1}.teacher-summary-icon{color:#236351;background:#dcece4}.reminder-summary{color:#8a6422;background:#fff0c8}.case-summary{color:#765c91;background:#e9e3f1}.followup-summary{color:#236351;background:#dcece4}.management-register{padding:24px}.management-register>.panel-head{margin-bottom:18px}.management-register>.panel-head small{color:var(--muted);font-size:12px}.management-table-head,.management-accordion details>summary{grid-template-columns:minmax(210px,1.5fr) minmax(100px,.8fr) minmax(120px,.7fr) minmax(105px,.7fr) minmax(90px,.6fr);align-items:center;gap:16px;display:grid}.management-table-head{color:#7d8783;text-transform:uppercase;letter-spacing:.06em;padding:0 16px 10px;font-size:12px;font-weight:800}.management-accordion details{border-top:1px solid var(--line)}.management-accordion details:last-child{border-bottom:1px solid var(--line)}.management-accordion details>summary{cursor:pointer;border-radius:10px;padding:14px 16px;list-style:none}.management-accordion details>summary::-webkit-details-marker{display:none}.management-accordion details>summary:hover{background:#f7f9f7}.management-accordion details[open]>summary{background:#f1f6f3}.management-accordion summary>span,.management-accordion summary>strong{font-size:14px}.management-accordion summary>strong{font:900 18px var(--font-display)}.management-teacher{align-items:center;gap:10px;min-width:0;display:flex}.management-teacher b{font-size:14px}.management-status,.case-pill{border-radius:999px;width:max-content;padding:6px 10px;font-size:12px;font-style:normal;font-weight:900}.management-status.clear{color:#65706c;background:#edf1ef}.management-status.green{color:#21613b;background:#dff1e5}.management-status.yellow{color:#7a5a00;background:#fff0b8}.management-status.orange{color:#994c0b;background:#ffe0bd}.management-status.red{color:#9a2929;background:#f7d1ce}.management-details{background:#f8faf8;gap:12px;padding:2px 16px 16px;display:grid}.management-details>article{background:#fff;border:1px solid #e4eae6;border-radius:13px;padding:16px}.management-record-heading{align-items:center;gap:10px;display:flex}.management-record-heading>b{font-size:14px}.management-record-heading>time{color:var(--muted);margin-left:auto;font-size:12px}.management-details article>p{color:#52605c;margin:12px 0;font-size:14px;line-height:1.55}.management-details dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.management-details dl>div{background:#f6f8f6;border-radius:9px;padding:10px}.management-details dt{color:var(--muted);font-size:12px;font-weight:800}.management-details dd{margin:4px 0 0;font-size:14px;line-height:1.45}.management-row-footer{background:#f8faf8;justify-content:flex-end;padding:0 16px 16px;display:flex}.management-row-footer .secondary{font-size:12px}.case-table-head,.case-accordion details>summary{grid-template-columns:minmax(210px,1.5fr) minmax(110px,.8fr) minmax(120px,.7fr) minmax(105px,.7fr)}.case-pill{color:#6d4e83;background:#eee7f4}.management-details .file-links a{padding:7px 9px;font-size:12px}@media (width<=1000px){.management-summary-grid{grid-template-columns:1fr}.management-table-head{display:none}.management-accordion details>summary,.case-accordion details>summary{grid-template-columns:minmax(180px,1.5fr) 1fr auto}.management-accordion details>summary>span:nth-child(4),.management-accordion details>summary>em,.case-accordion details>summary>span:nth-child(4){display:none}.management-details dl{grid-template-columns:1fr}}@media (width<=600px){.management-register{padding:16px}.management-register>.panel-head{flex-direction:column;align-items:flex-start;gap:8px}.management-summary-grid>article{padding:15px}.management-accordion details>summary,.case-accordion details>summary{grid-template-columns:1fr auto;padding:13px 8px}.management-accordion details>summary>span:nth-child(2),.case-accordion details>summary>span:nth-child(2){display:none}.management-details{padding:2px 8px 12px}.management-details>article{padding:13px}.management-record-heading{flex-wrap:wrap;align-items:flex-start}.management-record-heading>time{width:100%;margin:0}.management-row-footer{padding:0 8px 12px}.management-row-footer .secondary{width:100%}}@media print{.sidebar,.header-actions,.toolbar .segmented,.demo-banner,.tomorrow-reminder,.overdue-reminder,.photo-panel,.export-actions .export-button{display:none!important}.content{margin:0!important;padding:0!important}.panel{break-inside:avoid;box-shadow:none!important}}
