.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}.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}}@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}}
