*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1a2233;background:#f4f6f8;-webkit-font-smoothing:antialiased}.container{max-width:720px;margin:32px auto;padding:32px;background:white;border-radius:18px;box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 16px rgba(0,0,0,.04)}h1{color:#1a2233;margin-top:0;font-weight:700;letter-spacing:-.02em;font-size:26px}h2{letter-spacing:-.01em}h2,h3{color:#1a2233;font-weight:600}.status{padding:12px 16px;border-radius:12px;margin:12px 0;font-size:14px}.status.ok{background:#e8f5e9;color:#2e7d32}.status.error{background:#ffebee;color:#b71c1c}.status.pending{background:#fff8e1;color:#6b5300}.row{margin:12px 0;padding:12px 0;border-bottom:1px solid #e1e5ea}.row:last-child{border:0}.row .k{display:inline-block;width:200px;color:#5b6878;font-size:13px;vertical-align:top}.row .v{font-family:SF Mono,Consolas,monospace;font-size:13px}form{display:flex;flex-direction:column;gap:12px}button,input,select,textarea{padding:10px 14px;border:1px solid #e1e5ea;border-radius:10px;font-size:14px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:#0b6bcb;box-shadow:0 0 0 3px rgba(11,107,203,.15)}button{background:#0b6bcb;color:white;border:none;cursor:pointer;font-weight:500}button:hover{background:#084d96}button:disabled{background:#99b8d6;cursor:not-allowed}.stacked-form{display:flex;flex-direction:column;gap:16px;margin-top:8px}.stacked-form .field{display:flex;flex-direction:column;gap:6px}.stacked-form label{font-size:13px;font-weight:500;color:#1a2233}.stacked-form .req{color:#d32f2f}.stacked-form .row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.stacked-form .row-3{display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:600px){.stacked-form .row-2,.stacked-form .row-3{grid-template-columns:1fr}}.stacked-form .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px;padding-top:16px;border-top:1px solid #e1e5ea}.header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.btn-accent,.btn-danger,.btn-link,.btn-primary,.btn-secondary{display:inline-block;padding:9px 16px;border-radius:10px;font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;border:1px solid transparent;font-family:inherit;transition:transform .1s ease,background .15s ease,border-color .15s ease}.btn-accent,.btn-danger,.btn-primary,.btn-secondary{box-shadow:0 1px 2px rgba(0,0,0,.04)}.btn-accent:active,.btn-danger:active,.btn-primary:active,.btn-secondary:active{transform:translateY(1px)}.btn-primary{background:#0b6bcb;color:white;border-color:#0b6bcb}.btn-primary:hover{background:#084d96;border-color:#084d96}.btn-secondary{background:white;color:#1a2233;border-color:#e1e5ea}.btn-secondary:hover{background:#fafbfc;border-color:#cbd2da}.btn-link{background:transparent;color:#0b6bcb;padding:4px 8px}.btn-link:hover{text-decoration:underline}.btn-danger{background:#b71c1c;color:white;border-color:#b71c1c}.btn-danger:hover{background:#8e1313;border-color:#8e1313}.btn-accent{background:linear-gradient(135deg,#ff7a8a,#ec3367);color:white;border-color:transparent}.btn-accent:hover{filter:brightness(.95)}.data-table{width:100%;border-collapse:collapse;font-size:14px;background:white;border-radius:14px;overflow:hidden;border:1px solid #f0f2f5;box-shadow:0 1px 3px rgba(0,0,0,.03)}.data-table td,.data-table th{padding:13px 16px;text-align:left;border-bottom:1px solid #f0f2f5;vertical-align:top}.data-table th{background:#fafbfc;font-weight:600;font-size:11px;color:#5b6878;text-transform:uppercase;letter-spacing:.06em}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover{background:#fafbfc}.cred-pill{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600;background:#e3f2fd;color:#084d96}.cred-pill.RN{background:#e8f5e9;color:#2e7d32}.cred-pill.LPN{background:#fff3e0;color:#e65100}.cred-pill.HHA{background:#f3e5f5;color:#6a1b9a}.cred-pill.CNA{background:#e1f5fe;color:#01579b}.cred-pill.HMK{background:#fff8e1;color:#6b5300}.cred-pill.PCA{background:#fce4ec;color:#ad1457}.cred-pill.RESP{background:#e0f2f1;color:#00695c}.cred-pill.COMP{background:#ede7f6;color:#4527a0}.source-tag{display:inline-block;padding:1px 8px;border-radius:8px;font-size:11px;background:#f4f6f8;color:#5b6878;text-transform:uppercase;letter-spacing:.03em}.empty-state{text-align:center;padding:60px 20px;background:white;border:2px dashed #e1e5ea;border-radius:14px;color:#5b6878}.empty-state p{margin:0 0 16px}.info-grid{background:#fafbfc;border:1px solid #f0f2f5;border-radius:14px;padding:0 20px}.nav-strip{display:flex;gap:12px;margin:20px 0 16px;flex-wrap:wrap}.nav-strip .nav-card{flex:1 1;min-width:200px;padding:16px 20px;border:1px solid #e1e5ea;border-radius:8px;background:white;text-decoration:none;color:inherit;transition:all .15s}.nav-strip .nav-card:hover{border-color:#0b6bcb;box-shadow:0 2px 6px rgba(11,107,203,.08)}.nav-strip .nav-card .label{font-size:13px;color:#5b6878;margin-bottom:4px}.nav-strip .nav-card .count{font-size:28px;font-weight:600;color:#0b6bcb}.nav-strip .nav-card .sub{font-size:12px;color:#5b6878;margin-top:2px}.muted{color:#5b6878;font-size:13px}a{color:#0b6bcb}.search-bar{background:white;padding:14px 16px;border:1px solid #f0f2f5;border-radius:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;box-shadow:0 1px 3px rgba(0,0,0,.03)}.search-bar .lbl{font-size:13px;color:#5b6878}.search-bar input[type=text]{padding:8px 12px}.search-bar select{padding:8px 10px}.creds-filter{display:flex;gap:6px}.creds-filter label{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid #e1e5ea;border-radius:16px;font-size:12px;cursor:pointer;background:white;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:500}.creds-filter label.active{background:#e3f2fd;border-color:#0b6bcb;color:#084d96}.creds-filter input{display:none}.legend{background:white;padding:10px 16px;border:1px solid #f0f2f5;border-radius:12px;display:flex;gap:18px;align-items:center;font-size:13px;flex-wrap:wrap;margin-top:12px;box-shadow:0 1px 3px rgba(0,0,0,.03)}.legend .item{display:inline-flex;align-items:center;gap:6px;color:#5b6878}.legend .dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px rgba(0,0,0,.2)}.legend .dot.blue{background:#1976d2}.legend .dot.red{background:#d32f2f}.legend .star{font-size:16px;color:#f9a825;line-height:1}.legend .stat{margin-left:auto;font-weight:500;color:#1a2233}code{background:#f4f6f8;padding:1px 6px;border-radius:3px;font-size:12px}.role-pill{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.role-pill.role-admin{background:#fce4ec;color:#b71c1c}.role-pill.role-scheduler{background:#e3f2fd;color:#084d96}.role-pill.role-viewer{background:#f4f6f8;color:#5b6878}.dash-wrap{max-width:1280px;margin:24px auto;padding:0 24px}.dash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;flex-wrap:wrap}.dash-header h1{font-size:28px;margin:0;color:#1a2233;font-weight:700;letter-spacing:-.02em}.dash-header .greeting{color:#5b6878;font-size:14px;margin-top:4px}.dash-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.metric-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:20px}@media (max-width:1000px){.metric-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.metric-row{grid-template-columns:1fr}}.metric-card{background:white;padding:22px 24px;border-radius:18px;box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 16px rgba(0,0,0,.04);text-decoration:none;color:inherit;display:block;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(11,107,203,.12)}.metric-card .label{font-size:13px;color:#5b6878;font-weight:500}.metric-card .value{font-size:36px;font-weight:700;margin-top:8px;letter-spacing:-.03em;color:#1a2233;line-height:1}.metric-card .sub{font-size:12px;color:#5b6878;margin-top:6px}.metric-card.gradient{background:linear-gradient(135deg,#ff7a8a,#ff4f7a 60%,#ec3367);color:white}.metric-card.gradient .label,.metric-card.gradient .sub,.metric-card.gradient .value{color:white}.metric-card.gradient .sub{opacity:.85}.metric-card.gradient:after{content:"";position:absolute;right:-20px;top:-20px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.12)}.dash-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-bottom:20px}@media (max-width:1000px){.dash-grid-2{grid-template-columns:1fr}}.panel{background:white;border-radius:18px;padding:22px 24px;box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 16px rgba(0,0,0,.04)}.panel h3{margin:0 0 16px;font-size:15px;color:#1a2233;font-weight:600}.panel .panel-sub{font-size:12px;color:#5b6878;margin-top:-10px;margin-bottom:16px}.donut-wrap{display:flex;gap:24px;align-items:center}.donut-wrap svg{flex-shrink:0}.donut-legend{display:flex;flex-direction:column;gap:10px;flex:1 1;min-width:0}.donut-legend .item{display:flex;align-items:center;gap:8px;font-size:13px}.donut-legend .item .swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0}.donut-legend .item .name{color:#1a2233;flex:1 1}.donut-legend .item .pct{color:#5b6878;font-weight:500;font-size:12px}.donut-legend .item .num{color:#1a2233;font-weight:600;min-width:28px;text-align:right}.bar-chart{display:flex;flex-direction:column;gap:10px}.bar-chart .row{display:grid;grid-template-columns:130px 1fr 40px;grid-gap:10px;gap:10px;align-items:center;font-size:13px;border:0;padding:0;margin:0}.bar-chart .row .name{color:#1a2233;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-chart .row .bar-track{background:#f4f6f8;height:18px;border-radius:9px;overflow:hidden}.bar-chart .row .bar-fill{height:100%;background:linear-gradient(90deg,#ff7a8a,#ec3367);border-radius:9px}.bar-chart .row .num{font-weight:600;color:#1a2233;text-align:right;font-size:13px}.activity-feed{display:flex;flex-direction:column}.activity-item{display:grid;grid-template-columns:36px 1fr auto;grid-gap:12px;gap:12px;padding:12px 0;border-bottom:1px solid #f0f2f5;align-items:center}.activity-item:last-child{border-bottom:0}.activity-item .icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;background:#f4f6f8}.activity-item .icon.create{background:#e8f5e9}.activity-item .icon.edit{background:#fff8e1}.activity-item .icon.delete{background:#ffebee}.activity-item .icon.view{background:#e3f2fd}.activity-item .icon.import{background:#f3e5f5}.activity-item .body{min-width:0}.activity-item .body .who{font-weight:500;font-size:13px;color:#1a2233}.activity-item .body .what{font-size:12px;color:#5b6878}.activity-item .when{font-size:11px;color:#5b6878;white-space:nowrap}.admin-strip{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-top:20px}@media (max-width:800px){.admin-strip{grid-template-columns:repeat(2,1fr)}}.admin-strip .nav-card{padding:16px 18px;border-radius:12px;background:white;text-decoration:none;color:inherit;border:1px solid #f0f2f5;transition:all .15s;display:flex;align-items:center;gap:12px}.admin-strip .nav-card:hover{border-color:#cbd2da;background:#fafbfc}.admin-strip .nav-card .ico{font-size:22px}.admin-strip .nav-card .lbl{font-size:13px;font-weight:600}.admin-strip .nav-card .desc{font-size:11px;color:#5b6878}.section-title{font-size:13px;color:#5b6878;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin:24px 0 12px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px}.table-scroll .data-table{border-radius:0;box-shadow:none}.map-canvas{height:min(78vh,820px);min-height:600px}@media (max-width:900px){.map-canvas{min-height:500px;height:min(70vh,700px)}}@media (max-width:600px){.map-canvas{min-height:380px;height:60vh}}@media (max-width:900px){.dash-wrap{padding:0 16px;margin-top:16px}.dash-header h1{font-size:22px}.metric-card,.panel{padding:18px;border-radius:14px}.metric-card .value{font-size:30px}}@media (max-width:600px){body{font-size:15px}.container{margin:12px auto;padding:18px 16px;border-radius:14px}h1{font-size:22px}h2{font-size:17px}.header-row{flex-direction:column;align-items:stretch;gap:12px}.header-row>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.btn-accent,.btn-danger,.btn-link,.btn-primary,.btn-secondary{padding:11px 16px;font-size:14px}.data-table{font-size:13px;display:block;overflow-x:auto;white-space:nowrap}.data-table td,.data-table th{padding:10px 12px}.stacked-form .actions{flex-direction:column-reverse}.stacked-form .actions a,.stacked-form .actions button{width:100%;text-align:center}.nav-strip{flex-direction:column;gap:8px}.nav-strip .nav-card{min-width:0}.dash-wrap{padding:0 12px;margin-top:12px}.dash-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.dash-header h1{font-size:20px}.dash-header-actions{width:100%}.dash-header-actions .btn-primary,.dash-header-actions form{flex:1 1}.dash-header-actions form button{width:100%}.metric-row{gap:10px;margin-bottom:12px}.metric-card{padding:14px 16px}.metric-card .value{font-size:26px}.metric-card .label{font-size:12px}.metric-card .sub{font-size:11px}.panel{padding:16px 14px;border-radius:14px}.panel h3{font-size:14px}.donut-wrap{flex-direction:column;gap:12px;align-items:stretch}.donut-wrap svg{align-self:center}.donut-legend .item{font-size:13px}.bar-chart .row{grid-template-columns:90px 1fr 32px;gap:8px;font-size:12px}.activity-item{gap:10px;padding:10px 0}.activity-item .icon{width:32px;height:32px;font-size:14px}.activity-item .body .who{font-size:13px}.activity-item .body .what{font-size:12px}.activity-item .when{font-size:10px}.admin-strip{grid-template-columns:1fr;gap:8px}.search-bar{flex-direction:column;align-items:stretch;padding:12px;gap:10px}.search-bar input[type=text]{width:100%;min-width:0}.search-bar .creds-filter,.search-bar button,.search-bar select{width:100%}.search-bar .lbl{display:none}.creds-filter{flex-wrap:wrap;justify-content:center}.creds-filter label{flex:1 1;min-width:60px;justify-content:center;padding:9px 8px}.legend{font-size:12px;gap:10px}.legend .stat{width:100%;margin-left:0;padding-top:4px}.row .k{width:auto;margin-bottom:4px}.row .k,.row .v{display:block}}@media (max-width:380px){.metric-row{grid-template-columns:1fr}.metric-card .value{font-size:28px}.dash-header h1{font-size:19px}.creds-filter label{font-size:11px;padding:8px 6px}}