@font-face{font-family:Inter;src:url("brand/inter.65850a373e25.woff2") format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:'Plus Jakarta Sans';src:url("brand/jakarta.52d04440a9fa.woff2") format('woff2');font-weight:200 800;font-display:swap}
:root{--navy:#0a2d52;--green:#147bd1;--ink:#0a2d52;--muted:#496177;--line:#d9e8f1;--bg:#f4f9fc;--radius:18px;--teal:#09bcb5}body{font-family:Inter,Arial,sans-serif;font-size:15px;line-height:1.6}h1,h2,h3,.brand{font-family:'Plus Jakarta Sans',Inter,sans-serif;letter-spacing:-.025em}h1{font-size:30px}.sidebar{background:#fff;border-right:1px solid var(--line);padding:26px 14px 18px;width:240px}.main-wrap{margin-left:240px;width:calc(100% - 240px)}.brand{padding:4px 0}.brand img{display:block;width:100%;height:auto}.nav-label{margin-top:26px;color:#72879a}.sidebar nav>a{color:#496177;padding:12px 13px;font-size:13px;gap:10px}.sidebar nav>a:hover{background:#f4f9fc;color:#0a2d52}.sidebar nav>a.active{background:#eaf5fb;color:#0a2d52;box-shadow:inset 3px 0 #09bcb5}.sidebar-bottom{border-top-color:var(--line)}.sidebar-bottom strong{color:#0a2d52}.sidebar-bottom>a,.signout,.role-label{color:#496177}.topbar{border-top:3px solid #09bcb5}.eyebrow{color:#147bd1}.btn{border-radius:10px;min-height:42px;font-weight:600}.btn.primary{background:#147bd1;border-color:#147bd1;color:white}.btn.primary:hover{background:#103f70;border-color:#103f70}.card{box-shadow:0 5px 20px #082f5405}.avatar{background:#eaf5fb;color:#103f70}.nav-count{background:#d5f5f2;color:#0a2d52}.patient-summary{border-top:3px solid #09bcb5}.date-block{background:#eaf5fb;color:#147bd1}.login-brand{background:linear-gradient(150deg,#061d36,#103f70)}.login-logo{background:white;border-radius:14px;padding:8px 18px;max-width:440px}.login-logo img{width:100%;display:block}.login-brand .eyebrow{color:#23d0c7}.login-brand h1{font-size:48px}.field{margin-bottom:20px}.field>label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.field input:not([type=radio]):not([type=checkbox]),.field select,.field textarea{width:100%}.field .helptext{display:block;color:var(--muted);margin-top:5px}input,select,textarea{border-color:#cbdde9;border-radius:9px;min-height:44px}input[type=checkbox],input[type=radio]{min-height:0;accent-color:#147bd1}input:focus,select:focus,textarea:focus{outline:2px solid #147bd1;outline-offset:2px}.ql-toolbar.ql-snow{border-radius:10px 10px 0 0;border-color:#cbdde9;background:#f4f9fc}.ql-container.ql-snow{border-color:#cbdde9;border-radius:0 0 10px 10px;font-family:Inter,Arial,sans-serif}.editor-host .ql-editor{min-height:150px;font-size:14px}.ql-editor.note-body{min-height:0;padding:8px 0}.appointment-comments{margin:0 24px 20px;padding:14px 18px;background:#f4f9fc;border-radius:10px;font-size:14px}.appointment-row:hover{background:#f4f9fc}.actions{flex-wrap:wrap}.page-heading .actions{justify-content:flex-end}.profile-grid{grid-template-columns:minmax(0,1fr) 320px}
#app-modal{border:1px solid var(--line);border-radius:22px;padding:0;width:min(680px,calc(100vw - 32px));max-height:90vh;box-shadow:0 24px 90px #061d3640;color:var(--ink)}#app-modal::backdrop{background:#061d3699;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:2}.dialog-head h2{font-size:22px}.dialog-close{font-size:28px;line-height:1;border:0;background:#f4f9fc;color:#496177;border-radius:50%;width:34px;height:34px}.dialog-body{padding:24px 26px}.dialog-body .form-fields{padding:0}.dialog-patient{background:#eaf5fb;padding:12px 16px;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:16px;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding-top:18px}.dialog-loading{padding:40px;text-align:center}.action-form>.errorlist{background:#fff1f1;padding:12px 26px}.call-form [id$="outcome"]{display:grid;grid-template-columns:1fr 1fr;gap:9px}.call-form [id$="outcome"] label{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:12px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;height:100%;background:#fff}.call-form [id$="outcome"] label:has(input:checked){border-color:#147bd1;background:#eaf5fb;box-shadow:0 0 0 1px #147bd1}.call-form [id$="outcome"] input{width:17px;height:17px;margin:0;flex-shrink:0}.callback-toggle{display:flex;gap:10px;align-items:center;font-weight:600;margin:18px 0}.callback-toggle input{width:18px;height:18px}.call-not-interested{font-size:13px}.invalid{outline:2px solid #b73535}.calendar-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:22px;border-bottom:1px solid var(--line);align-items:end}.calendar-filter-grid label,.report-filters label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}.calendar-filter-grid input,.calendar-filter-grid select{width:100%;font-size:13px}.calendar-filter-grid>button{justify-self:start}.calendar-info{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 22px 0}.legend .initial:before{background:#147bd1}.legend .social_security:before{background:#0a2d52}.legend .follow_up:before{background:#087d79}.fc{--fc-border-color:#e2edf4;--fc-today-bg-color:#eaf5fb;--fc-button-bg-color:#fff;--fc-button-border-color:#d9e8f1;--fc-button-text-color:#0a2d52;--fc-button-hover-bg-color:#eaf5fb;--fc-button-hover-border-color:#147bd1;--fc-button-active-bg-color:#147bd1;--fc-button-active-border-color:#147bd1}.fc .fc-button{box-shadow:none!important;text-transform:none;border-radius:8px;font-size:13px;padding:8px 12px}.fc .fc-button-primary:not(:disabled).fc-button-active{color:white}.fc .fc-toolbar-title{font-size:21px}.fc .fc-col-header-cell{padding:10px;background:#f4f9fc}.fc .fc-timegrid-slot{height:34px}.fc .fc-daygrid-day-number{padding:8px;font-weight:600}.fc .fc-event{border-radius:6px;cursor:pointer;overflow:hidden}.calendar-event{padding:3px 6px;line-height:1.4;min-width:0}.calendar-event strong{font-size:12px;display:block}.calendar-event span{display:block;font-size:10px;white-space:normal}.fc-list-event .calendar-event{color:#0a2d52}.fc .fc-daygrid-dot-event .calendar-event{color:#0a2d52}.report-filters{display:flex;gap:14px;padding:20px;align-items:end;flex-wrap:wrap}.report-filters input,.report-filters select{width:100%}.worker-identity{display:flex;gap:14px;align-items:center}.report-body{padding:22px}.report-body h3{font-size:16px;margin:4px 0 16px}.report-body h3 small{font-size:12px;font-weight:400;margin-left:8px}.worker-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.worker-stats>div,.worker-stats>a{padding:15px;border-radius:12px;background:#f4f9fc;display:flex;flex-direction:column;color:#0a2d52}.worker-stats strong{font-size:27px;line-height:1.4;font-family:'Plus Jakarta Sans',sans-serif}.worker-stats span{font-size:12px;color:#496177}.activity-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.activity-stats>div:first-child{background:#eaf5fb}.progress-track{height:7px;border-radius:6px;background:#eaf5fb;margin-top:18px;overflow:hidden}.progress-track span{display:block;height:100%;background:#09bcb5}.outcomes-detail{margin-top:18px}.outcomes-detail summary{cursor:pointer;font-size:13px;font-weight:600}.outcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.outcome-grid>div{display:flex;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--line);font-size:13px}.tutorial-checklist{padding:26px;border-top:4px solid #09bcb5}.tutorial-checklist ol{columns:2;column-gap:40px;padding-left:22px}.tutorial-checklist li{break-inside:avoid;padding:8px}.tutorial-topic{margin-top:14px}.tutorial-topic summary{padding:22px;cursor:pointer;font-weight:650;display:flex;align-items:center;gap:16px}.tutorial-topic summary:after{content:'+';margin-left:auto;font-size:22px;color:#147bd1}.tutorial-topic[open] summary:after{content:'−'}.tutorial-topic ol{padding:0 42px 22px 64px;max-width:1050px}.tutorial-topic li{padding:7px 0}.action-form{padding:24px}.dialog-body .action-form{padding:0}[hidden]{display:none!important}
@media(min-width:1600px){.calendar-filter-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:1100px){.profile-grid{grid-template-columns:minmax(0,1fr) 280px}.worker-stats,.activity-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.sidebar{position:static;width:100%;padding:12px 16px}.sidebar .brand{max-width:230px}.main-wrap{width:100%;margin:0}.app-shell{display:block}.sidebar nav{display:flex;flex-wrap:wrap;gap:4px}.sidebar nav>a{padding:9px;font-size:12px}.sidebar-bottom,.nav-label{display:none}.profile-grid{grid-template-columns:1fr}.profile-grid>aside{margin-top:20px}.page-heading{align-items:start;gap:15px;flex-wrap:wrap}.calendar-filter-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){h1{font-size:25px}.page-heading .actions{justify-content:flex-start}.btn{font-size:13px}.dialog-body{padding:18px}.dialog-head{padding:18px}.dialog-patient{flex-direction:column;gap:0}.call-form [id$="outcome"]{grid-template-columns:1fr}.calendar-filter-grid{padding:14px;gap:10px}.fc .fc-toolbar{flex-wrap:wrap;gap:12px}.fc .fc-toolbar-title{font-size:18px}.fc .fc-button{font-size:11px;padding:7px}.worker-stats,.activity-stats{grid-template-columns:1fr 1fr}.worker-report .card-head{flex-wrap:wrap;gap:14px}.report-body h3 small{display:block;margin:4px 0}.tutorial-checklist ol{columns:1}.tutorial-topic ol{padding-left:40px;padding-right:24px}.outcome-grid{grid-template-columns:1fr}.reminder-row{flex-wrap:wrap}.reminder-row>.actions{margin-left:40px}.calendar-caption{font-size:12px}.login-brand h1{font-size:32px}}
/* Keep the save controls visible while long forms scroll. */
#app-modal{overflow:hidden}#modal-content{display:flex;flex-direction:column;max-height:90vh}.dialog-head{flex:0 0 auto}.dialog-body{padding:0;display:flex;flex-direction:column;min-height:0}.dialog-body .action-form{display:flex;flex-direction:column;min-height:0;margin:0;overflow:hidden}.dialog-scroll{padding:24px 26px;overflow:auto;min-height:0}.dialog-actions{flex:0 0 auto;padding:16px 26px;background:white;margin:0}.action-form{padding:0}.call-form [id$="outcome"] label{padding:10px}.dialog-body .field{margin-bottom:16px}.dialog-body .call-form p.muted{font-size:13px}@media(max-width:600px){.dialog-scroll{padding:16px}.dialog-actions{padding:12px 16px}.call-form [id$="outcome"]{grid-template-columns:1fr 1fr;gap:7px}.call-form [id$="outcome"] label{font-size:12px;padding:9px;gap:7px}}
