:root{--navy:#083e78;--blue:#1589e8;--blue2:#0d6fbe;--soft:#eef6fd;--bg:#f5f8fb;--line:#dbe6f0;--text:#183752;--muted:#6d8296;--danger:#b64040;--success:#17764b;--shadow:0 14px 35px rgba(15,65,105,.12);--r:10px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg);font-size:14px}button,input,select,textarea{font:inherit}.hidden{display:none!important}button{cursor:pointer}
.topbar{height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:7px 14px;position:sticky;top:0;z-index:90}.brand{display:flex;align-items:center;gap:10px}.brand img{width:40px;height:44px;object-fit:contain}.brand b{display:block;color:var(--navy);font-size:16px}.brand span{display:block;color:var(--blue);font-size:10px}.top-actions{display:flex;gap:6px;align-items:center}.network{font-size:10px;font-weight:700;color:var(--success);background:#eaf8f1;border:1px solid #cce9d9;border-radius:999px;padding:5px 8px}.network.offline{color:var(--danger);background:#fff1f1}
.btn{border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--navy);padding:7px 11px;min-height:34px;font-weight:700;font-size:12px;transition:.16s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(30,80,120,.08)}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.secondary{background:#fff}.ghost{background:transparent;color:var(--muted)}.danger{color:var(--danger);border-color:#efcccc;background:#fff6f6}.small{padding:5px 8px;min-height:29px;font-size:11px}.icon-btn{width:32px;height:32px;border:0;border-radius:7px;background:#f0f6fb;color:var(--navy);font-size:18px}
.shell{display:flex;min-height:calc(100vh - 62px)}.sidebar{width:215px;flex:0 0 215px;background:#eaf4fd;border-right:1px solid var(--line);padding:9px 8px 20px;position:sticky;top:62px;height:calc(100vh - 62px);overflow:auto;z-index:70}.new-lead{width:100%;border:0;border-radius:7px;background:var(--blue);color:#fff;font-weight:800;padding:9px;margin-bottom:7px}.nav{display:block;width:100%;border:0;background:transparent;text-align:left;color:#27516f;padding:7px 9px;border-radius:6px;font-size:11.5px;transition:.15s}.nav:hover{background:#dbeeff}.nav.active{background:#fff;color:var(--navy);font-weight:800;box-shadow:0 2px 7px rgba(30,70,110,.08)}.reminder-nav{color:#765200}.nav-label{margin:12px 9px 4px;text-transform:uppercase;font-weight:800;letter-spacing:.06em;color:#7590a7;font-size:9px}
.main{width:100%;min-width:0;padding:16px}.page-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.page-head h1{margin:0;color:var(--navy);font-size:21px}.page-head p{margin:3px 0 0;color:var(--muted);font-size:11.5px}.page-actions{display:flex;gap:6px;flex-wrap:wrap}
.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:9px}.metric{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px;text-align:left;display:flex;justify-content:space-between;align-items:center;min-height:58px}.metric span{font-size:10px;color:var(--muted)}.metric b{font-size:19px;color:var(--navy)}.metric.warning{border-color:#ecdca7;background:#fffdf5}
.toolbar,.table-card,.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r)}.toolbar{display:flex;gap:7px;align-items:end;padding:8px;margin-bottom:9px}.search{flex:1;display:flex;align-items:center;gap:6px;height:36px;border:1px solid var(--line);border-radius:7px;padding:0 9px}.search input{border:0;outline:0;width:100%;background:transparent}.date-filter{display:grid;gap:3px;font-size:9px;color:var(--muted);font-weight:700}.date-filter input,input,select,textarea{border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--text);outline:0;padding:8px 9px}.date-filter input{height:36px}.table-card{overflow:hidden}.table-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--line)}.table-head b{font-size:12px;color:var(--navy)}#viewHint{color:var(--muted);font-size:10px;margin-left:8px}.table-scroll{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;min-width:1120px}th,td{padding:8px 9px;border-bottom:1px solid #edf2f6;text-align:left;white-space:nowrap;font-size:11px}th{background:#f0f6fb;color:#315c7e;text-transform:uppercase;font-size:9px;letter-spacing:.04em;position:sticky;top:0;z-index:2}tbody tr:hover td{background:#fbfdff}.link-btn{border:0;background:transparent;padding:0;color:var(--blue);font-weight:800}.name-btn{border:0;background:transparent;padding:0;color:var(--text);font-weight:700}.status{display:inline-block;border:1px solid #d4e3ee;background:#f4f8fb;border-radius:999px;padding:3px 7px;font-size:9.5px;font-weight:700}.miss{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#fff0f0;color:var(--danger);font-weight:800}.reminder-called{color:var(--success);font-weight:700}.reminder-pending{color:#8b6500;font-weight:700}.row-actions{display:flex;gap:4px}.empty{text-align:center;color:var(--muted);padding:40px!important}
.modal{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:14px}.patient-modal{z-index:190}.detail-modal{z-index:170}.backdrop{position:absolute;inset:0;background:rgba(6,31,53,.48);backdrop-filter:blur(3px)}.modal-card{position:relative;background:#fff;border:1px solid #d6e3ed;border-radius:12px;box-shadow:var(--shadow);width:min(760px,100%);max-height:calc(100vh - 28px);overflow:auto}.wide{width:min(920px,100%)}.detail-wide{width:min(1180px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:5}.modal-head h2{margin:0;color:var(--navy);font-size:18px}.modal-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.modal-body{padding:14px}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--navy);font-weight:800;border-bottom:1px solid var(--line);padding-bottom:6px;margin:1px 0 9px}.section-title:not(:first-of-type){margin-top:15px}.helper{color:var(--muted);font-size:10px;margin:-3px 0 9px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 11px}.form-grid label,.notes-label{display:grid;gap:4px;color:#48657d;font-size:10px;font-weight:700}.form-grid input,.form-grid select{min-height:36px}.span2{grid-column:span 2}.notes-label{margin-top:11px}.notes-label textarea{resize:vertical;line-height:1.45}.modal-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:13px}.detail-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.code-badge{display:inline-block;background:#eaf4fd;color:var(--navy);border:1px solid #cce1f3;padding:3px 7px;border-radius:5px;font-size:11px;font-weight:900}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:9px}.panel{margin-bottom:9px;overflow:hidden}.panel h3,.panel-head{margin:0;padding:9px 10px;border-bottom:1px solid var(--line);color:var(--navy);font-size:12px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head h3{border:0;padding:0}.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:11px}.info-item span{display:block;color:var(--muted);font-size:9px}.info-item b{display:block;font-size:11px;margin-top:2px;overflow-wrap:anywhere}.note-box{border-top:1px solid var(--line);padding:10px;white-space:pre-wrap;font-size:11px}.note-box b{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}.quick-stack{display:grid;gap:7px;padding:10px}.inline-form{display:grid;grid-template-columns:1fr auto;gap:6px}.appt-form{display:grid;grid-template-columns:150px 120px 150px 1fr auto;gap:6px;padding:9px;border-bottom:1px solid var(--line)}.compact{min-width:850px}.timeline{padding:10px}.timeline-item{border-left:2px solid #d8e8f4;padding:0 0 10px 10px;margin-left:4px}.timeline-item b{font-size:11px}.timeline-item p{margin:2px 0;color:#566f83;font-size:10px}.timeline-item time{color:var(--muted);font-size:9px}.toasts{position:fixed;right:14px;bottom:14px;z-index:300;display:grid;gap:6px;width:min(350px,calc(100vw - 28px))}.toast{background:#fff;border:1px solid var(--line);border-left:4px solid var(--success);border-radius:8px;padding:9px 11px;box-shadow:var(--shadow);font-size:11px}.toast.error{border-left-color:var(--danger)}.toast.warn{border-left-color:#d39a1f}
.mobile-only{display:none}.drawer-backdrop{display:none}
.login-page{min-height:100vh;background:linear-gradient(145deg,#f8fbfe,#e8f3fc)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(410px,100%);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:26px}.login-brand{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}.login-brand img{width:52px;height:52px;object-fit:contain}.login-brand h1{margin:0;color:var(--navy);font-size:20px}.login-brand p{margin:3px 0 0;color:var(--muted);font-size:11px}.login-title{font-size:20px;font-weight:800;color:var(--navy);margin:20px 0 3px}.login-sub{color:var(--muted);font-size:11px;margin-bottom:15px}.login-form{display:grid;gap:12px}.login-form label{display:grid;gap:5px;font-size:10px;color:#48657d;font-weight:700}.login-form input{min-height:40px}.login-error{background:#fff0f0;color:var(--danger);border:1px solid #efcccc;border-radius:7px;padding:8px;font-size:10px}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appt-form{grid-template-columns:1fr 1fr 1fr}.appt-form input:nth-of-type(2){grid-column:auto}}
@media(max-width:820px){.mobile-only{display:inline-grid;place-items:center}.topbar{height:58px;padding:6px 9px}.brand img{width:35px;height:39px}.brand span{display:none}.top-actions .secondary,#networkBadge{display:none}.sidebar{position:fixed;top:58px;left:0;bottom:0;height:auto;transform:translateX(-105%);transition:transform .2s ease;box-shadow:12px 0 30px rgba(15,55,85,.16);z-index:130}.sidebar.open{transform:translateX(0)}.drawer-backdrop{display:block;position:fixed;inset:58px 0 0;background:rgba(8,30,48,.35);z-index:120}.main{padding:10px}.page-head{display:block}.page-actions{margin-top:8px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{flex-wrap:wrap}.search{flex-basis:100%}.date-filter{flex:1}.detail-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.appt-form{grid-template-columns:1fr 1fr}.patient-modal,.detail-modal{padding:6px}.modal-card{max-height:calc(100vh - 12px)}}
@media(max-width:650px){.page-head h1{font-size:18px}.metrics{gap:5px}.metric{padding:8px;min-height:51px}.metric b{font-size:16px}.top-actions .primary{padding:6px 8px}.table-scroll{overflow:visible}.table-card{background:transparent;border:0}.table-head{background:#fff;border:1px solid var(--line);border-radius:9px;margin-bottom:7px}table.patient-table,table:not(.compact){min-width:0}#patientRows{display:grid;gap:7px}table:not(.compact) thead{display:none}table:not(.compact),table:not(.compact) tbody,table:not(.compact) tr,table:not(.compact) td{display:block;width:100%}table:not(.compact) tr{background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px}table:not(.compact) td{border:0;padding:5px 6px;white-space:normal;display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:center}table:not(.compact) td:before{content:attr(data-label);font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:800}.row-actions{flex-wrap:wrap}.toolbar .btn{flex:0 0 auto}.detail-actions .secondary{display:none}.info-grid{grid-template-columns:1fr 1fr}.appt-form{grid-template-columns:1fr}.compact{min-width:760px}}

.field-help{display:block;margin-top:4px;color:var(--muted,#6b7f93);font-size:10px;font-weight:500}
select:disabled{background:#f4f8fc;color:#315d83;opacity:1;cursor:not-allowed}
