:root{color:#172033;font-synthesis:none;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,select,input{font:inherit}.app-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:linear-gradient(#1647ca,#1034a4);flex-direction:column;min-height:100vh;padding:24px 14px 14px;display:flex}.brand{align-items:center;gap:12px;padding:0 10px 28px;display:flex}.brand-mark,.provider-avatar{background:#ffffff2b;border-radius:13px;place-items:center;width:40px;height:40px;display:grid}.brand b,.profile b{font-size:16px;display:block}.brand small,.profile small{color:#dbeafe;margin-top:2px;font-size:11px;display:block}nav{gap:5px;display:grid}nav a{color:#eef3ff;border-radius:15px;align-items:center;gap:13px;padding:13px 14px;font-size:14px;font-weight:650;text-decoration:none;display:flex}nav a:hover,nav a.active{background:#ffffff2e}nav em{background:#f43f5e;border-radius:20px;margin-left:auto;padding:2px 6px;font-size:10px;font-style:normal}.profile{align-items:center;gap:10px;margin-top:auto;padding:15px 10px 4px;display:flex}.profile>span,.avatar{color:#fff;background:#f59e0b;border-radius:50%;place-items:center;width:36px;height:36px;font-size:12px;font-weight:800;display:grid}main{min-width:0}.topbar{color:#fff;background:linear-gradient(90deg,#1949cc,#1039b5);justify-content:space-between;align-items:center;height:66px;padding:0 28px;display:flex}.mobile-brand{font-weight:800;display:none}.search{color:#dbeafe;background:#ffffff1f;border-radius:15px;align-items:center;gap:9px;width:min(430px,50vw);padding:8px 12px;display:flex}.search input{color:#fff;background:0 0;border:0;outline:0;flex:1;min-width:0}.search input::placeholder{color:#dbeafe}.search kbd{border:1px solid #ffffff40;border-radius:6px;padding:2px 5px;font-size:10px}.top-actions{align-items:center;gap:20px;display:flex}.top-actions button{color:#fff;background:0 0;border:0;padding:0;position:relative}.top-actions i{background:#ef4444;border-radius:50%;place-items:center;width:15px;height:15px;font-size:9px;font-style:normal;display:grid;position:absolute;top:-10px;right:-8px}.page-content{max-width:1450px;margin:0 auto;padding:32px}.schedule-toolbar{background:#ffffffeb;border:1px solid #e2e8f0;border-radius:22px;flex-wrap:wrap;align-items:center;gap:20px;padding:18px 20px;display:flex;box-shadow:0 9px 26px #0f172a0f}.toolbar-title{align-items:center;gap:11px;min-width:220px;display:flex}.toolbar-title>span{color:#4f46e5;background:#e0e7ff;border-radius:13px;place-items:center;width:39px;height:39px;display:grid}.toolbar-title h1{letter-spacing:-.03em;margin:0;font-size:17px}.toolbar-title p{color:#64748b;margin:4px 0 0;font-size:11px}.toolbar-title p b{color:#4f46e5;text-transform:uppercase;background:#e0e7ff;border-radius:10px;margin-left:4px;padding:3px 6px;font-size:9px}.toolbar-switch{background:#eef2f7;border-radius:13px;margin-left:auto;padding:4px;display:flex}.toolbar-switch button,.date-control button,.icon-button{cursor:pointer;color:#64748b;background:0 0;border:0}.toolbar-switch button{border-radius:9px;padding:7px 12px;font-size:12px;font-weight:700}.toolbar-switch .selected{color:#4338ca;background:#fff;box-shadow:0 2px 5px #cbd5e1}.toolbar-controls{align-items:center;gap:8px;display:flex}.date-control{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;border-radius:12px;align-items:center;gap:10px;padding:3px 6px;display:flex}.date-control b{font-size:12px}.toolbar-controls select{color:#475569;background:#fff;border:1px solid #dbe2ea;border-radius:12px;padding:9px 11px;font-size:12px}.icon-button{background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px;place-items:center;width:35px;height:35px;display:grid}.status-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0;display:grid}.status-card{cursor:pointer;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:17px;justify-content:space-between;align-items:center;padding:13px;transition:all .18s;display:flex;box-shadow:0 4px 12px #0f172a09}.status-card:hover,.status-card.active{transform:translateY(-2px);box-shadow:0 10px 22px #0f172a1a}.status-card b{font-size:19px}.status-card span{text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:750}.pending{color:#475569}.en_route{color:#2563eb}.completed{color:#059669}.missed{color:#e11d48}.status-card.completed{background:linear-gradient(135deg,#fff,#ecfdf5);border-color:#a7f3d0}.section-caption{justify-content:space-between;align-items:center;margin:24px 2px 13px;display:flex}.section-caption>div{align-items:center;gap:10px;display:flex}.provider-avatar{color:#2563eb;background:#dbeafe;width:34px;height:34px;font-size:11px;font-weight:800}.section-caption h2{margin:0;font-size:14px}.section-caption p,.section-caption>span{color:#64748b;margin:3px 0 0;font-size:11px}.section-caption>span{border:1px solid #dbe2ea;border-radius:20px;padding:6px 9px}.visit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.visit-card{background:#0f172a;border:1px solid #1e293b;border-radius:19px;overflow:hidden;box-shadow:0 10px 28px #0f172a21}.visit-card-head{color:#fff;background:linear-gradient(135deg,#334155,#64748b);justify-content:space-between;align-items:flex-start;min-height:72px;padding:13px 15px;display:flex}.visit-card.en_route .visit-card-head{background:linear-gradient(135deg,#1e3a8a,#3b82f6)}.visit-card.completed .visit-card-head{background:linear-gradient(135deg,#064e3b,#10b981)}.visit-card.missed .visit-card-head{background:linear-gradient(135deg,#7f1d1d,#fb7185)}.visit-order,.visit-time{background:#ffffff29;border:1px solid #ffffff40;border-radius:20px;padding:4px 9px;font-size:11px;font-weight:800}.visit-card-body{color:#cbd5e1;padding:16px}.visit-type{color:#a5b4fc;background:#6366f133;border:1px solid #818cf866;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:800;display:inline-block}.visit-title{justify-content:space-between;align-items:center;gap:12px;margin:13px 0;display:flex}.visit-title h3{color:#f8fafc;letter-spacing:-.035em;margin:0;font-size:20px}.visit-title a{color:#6ee7b7;white-space:nowrap;background:#10b9811f;border:1px solid #10b98159;border-radius:10px;align-items:center;gap:5px;padding:6px 9px;font-size:11px;font-weight:750;text-decoration:none;display:flex}.visit-card-body p{align-items:flex-start;gap:8px;margin:9px 0;font-size:13px;line-height:1.4;display:flex}.visit-card-body p svg{color:#94a3b8;flex:none;margin-top:2px}.visit-card-body .visit-note{color:#fde68a;background:#fbbf241a;border:1px solid #fbbf2440;border-radius:11px;margin-top:13px;padding:9px 10px;font-size:12px;font-weight:650}.visit-action{gap:9px;margin-top:17px;display:flex}.visit-action button{color:#6ee7b7;cursor:pointer;background:#10b9812e;border:1px solid #10b98159;border-radius:30px;flex:1;justify-content:center;align-items:center;gap:7px;padding:12px;font-weight:800;display:flex}.visit-action small{opacity:.76;font-size:10px}.visit-action span{color:#94a3b8;background:#94a3b81c;border:1px solid #94a3b840;border-radius:50%;place-items:center;width:43px;display:grid}.floating-clock{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f8fafc;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#0f172ae0;border-radius:10px;align-items:center;gap:5px;padding:5px 10px;font:11px ui-monospace,monospace;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 3px 13px #0000004d}.data-state{color:#64748b;text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:18px;gap:6px;padding:28px;display:grid}.data-state.error{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.data-state small{color:#64748b}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.page-content{padding:18px}.mobile-brand{display:block}.topbar{padding:0 18px}.search{width:46vw}.visit-grid{grid-template-columns:1fr}.status-grid{grid-template-columns:repeat(2,1fr)}.toolbar-switch{margin-left:0}.schedule-toolbar{gap:13px}.toolbar-controls{width:100%;overflow:auto}.toolbar-controls select{min-width:130px}}@media (width<=520px){.page-content{padding:12px}.topbar{height:58px}.search kbd{display:none}.top-actions{gap:13px}.schedule-toolbar{border-radius:18px;padding:15px}.toolbar-title{min-width:0}.toolbar-switch{margin-left:auto}.status-grid{gap:8px}.status-card{padding:11px}.visit-title{align-items:flex-start}.visit-title h3{font-size:18px}.visit-title a{justify-content:center;width:34px;height:34px;padding:0;font-size:0}.visit-title a svg{width:15px}.section-caption>span{display:none}}.profile>div{flex:1;min-width:0}.profile b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.profile>button{color:#dbeafe;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px}.profile>button:hover{color:#fff;background:#ffffff24}.session-loading,.login-page{place-items:center;min-height:100vh;display:grid}.session-loading{color:#64748b;font-weight:650}.login-page{background:radial-gradient(circle at 25% 15%,#60a5fa47,#0000 28%),linear-gradient(135deg,#0f2f90,#1647ca 52%,#0b256e);padding:24px}.login-card{background:#fffffffa;border-radius:24px;width:min(430px,100%);padding:34px;box-shadow:0 28px 70px #030f3259}.login-brand{align-items:center;gap:12px;display:flex}.login-brand>span{color:#fff;background:linear-gradient(135deg,#2563eb,#4338ca);border-radius:15px;place-items:center;width:47px;height:47px;display:grid}.login-brand b{font-size:18px;display:block}.login-brand small{color:#64748b;margin-top:2px;font-size:11px;display:block}.login-heading{margin:31px 0 24px}.login-heading h1{letter-spacing:-.04em;margin:0;font-size:27px}.login-heading p{color:#64748b;margin:8px 0 0;font-size:13px}.login-card form{gap:17px;display:grid}.login-card form>label{color:#334155;gap:7px;font-size:12px;font-weight:750;display:grid}.login-input{color:#94a3b8;background:#fff;border:1px solid #d8e0ea;border-radius:13px;align-items:center;gap:10px;height:48px;padding:0 13px;display:flex}.login-input:focus-within{border-color:#4f46e5;box-shadow:0 0 0 3px #6366f11f}.login-input input{color:#172033;border:0;outline:0;flex:1;min-width:0}.login-input button{color:#64748b;cursor:pointer;background:0 0;border:0;place-items:center;padding:4px;display:grid}.login-card form>.remember{color:#64748b;flex-direction:row;align-items:center;gap:8px;font-weight:550;display:flex}.remember input{accent-color:#4f46e5}.login-error{color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;padding:10px 12px;font-size:12px}.login-submit{color:#fff;cursor:pointer;background:linear-gradient(90deg,#2563eb,#4338ca);border:0;border-radius:13px;height:48px;font-weight:800;box-shadow:0 9px 18px #4338ca38}.login-submit:disabled{opacity:.65;cursor:wait}.staging-note{text-align:center;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;margin:24px 0 0;font-size:10px}.mobile-logout{display:none}@media (width<=900px){.mobile-logout{display:grid!important}}@media (width<=520px){.login-card{border-radius:20px;padding:26px 22px}.login-page{padding:14px}}.page-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;display:flex}.page-heading h1{letter-spacing:-.04em;margin:0;font-size:27px}.page-heading p{color:#64748b;margin:5px 0 0;font-size:13px}.page-heading>button,.panel-head button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:12px;align-items:center;gap:8px;padding:11px 16px;font-size:12px;font-weight:750;display:flex}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;align-items:center;gap:13px;padding:17px;display:flex;box-shadow:0 5px 18px #0f172a0b}.metric-card>span{border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.metric-card b{font-size:23px;line-height:1;display:block}.metric-card small{color:#64748b;margin-top:6px;font-size:11px;display:block}.metric-card.blue>span{color:#2563eb;background:#dbeafe}.metric-card.violet>span{color:#7c3aed;background:#ede9fe}.metric-card.amber>span{color:#d97706;background:#fef3c7}.metric-card.emerald>span{color:#059669;background:#d1fae5}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:20px;margin-top:20px;overflow:hidden;box-shadow:0 6px 20px #0f172a0b}.panel-head{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.panel-head h2{margin:0;font-size:15px}.panel-head p{color:#94a3b8;margin:4px 0 0;font-size:11px}.panel-head button{color:#2563eb;background:#eff6ff;padding:8px 11px}.panel-empty{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:210px;display:flex}.panel-empty b{color:#475569;font-size:13px}.panel-empty span{font-size:11px}.dashboard-visits{display:grid}.dashboard-visits>button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:14px 20px;display:flex}.dashboard-visits>button:hover{background:#f8fafc}.dashboard-visits>button>div{flex:1}.dashboard-visits b{font-size:13px;display:block}.dashboard-visits small{color:#64748b;margin-top:3px;display:block}.dashboard-visits time{color:#64748b;font-size:11px}.visit-dot{background:#94a3b8;border-radius:50%;width:9px;height:9px}.visit-dot.en_route{background:#3b82f6}.visit-dot.completed{background:#10b981}.visit-dot.missed{background:#f43f5e}.patient-tools{background:#fff;border:1px solid #e2e8f0;border-radius:18px;align-items:center;gap:14px;margin-bottom:18px;padding:13px;display:flex}.patient-tools>label{color:#94a3b8;background:#f8fafc;border:1px solid #dbe2ea;border-radius:12px;flex:1;align-items:center;gap:9px;height:42px;padding:0 12px;display:flex}.patient-tools input{background:0 0;border:0;outline:0;flex:1;min-width:0}.patient-tools>div{gap:6px;display:flex}.patient-tools>div button{color:#64748b;cursor:pointer;background:#f1f5f9;border:0;border-radius:10px;padding:9px 11px;font-size:11px;font-weight:700}.patient-tools>div button.selected{color:#fff;background:#2563eb}.patient-tools button span{opacity:.72;margin-left:3px}.patient-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.patient-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:16px;transition:all .18s;box-shadow:0 4px 14px #0f172a09}.patient-card:hover{border-color:#bfdbfe;transform:translateY(-2px);box-shadow:0 11px 25px #0f172a17}.patient-card-top{align-items:center;gap:11px;display:flex}.patient-card-top>span,.patient-card-top>img{object-fit:cover;border-radius:13px;width:43px;height:43px}.patient-card-top>span{color:#fff;background:linear-gradient(135deg,#3b82f6,#4338ca);place-items:center;font-size:12px;font-weight:800;display:grid}.patient-card h2{margin:0;font-size:14px}.patient-status{color:#047857;text-transform:capitalize;background:#d1fae5;border-radius:20px;margin-top:4px;padding:2px 7px;font-size:9px;font-weight:800;display:inline-block}.patient-status.inactive{color:#b45309;background:#fef3c7}.patient-status.discharged{color:#be123c;background:#ffe4e6}.patient-details{min-height:59px;margin:14px 0}.patient-details p{color:#64748b;align-items:center;gap:7px;margin:7px 0;font-size:11px;display:flex}.patient-details p svg{flex:none}.patient-company{color:#94a3b8;border-top:1px solid #f1f5f9;justify-content:space-between;padding-top:11px;font-size:10px;display:flex}.patient-company span{color:#2563eb;font-weight:750}.patient-empty{background:#fff;border:1px dashed #cbd5e1;border-radius:18px}.pagination{justify-content:center;align-items:center;gap:14px;margin-top:20px;display:flex}.pagination button{color:#475569;background:#fff;border:1px solid #dbe2ea;border-radius:10px;align-items:center;gap:5px;padding:8px 11px;font-size:11px;font-weight:700;display:flex}.pagination button:disabled{opacity:.4}.pagination span{color:#64748b;font-size:11px}.data-state button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:10px;justify-self:center;padding:9px 12px}@media (width<=1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.patient-tools{flex-direction:column;align-items:stretch}.patient-tools>div{overflow:auto}.patient-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start}.metric-grid{gap:9px}.metric-card{padding:13px}.metric-card b{font-size:19px}.metric-card>span{width:37px;height:37px}}@media (width<=430px){.page-heading>button{padding:11px;font-size:0}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{gap:8px}.metric-card small{font-size:9px}}
