*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--teal-50: #e8f4f8;--teal-100: #c5dae5;--teal-200: #a3c5d6;--teal-300: #6ba5be;--teal-400: #3d88a5;--teal-500: #007ba3;--teal-600: #005e82;--teal-700: #004d6b;--teal-800: #003d55;--teal-900: #002d3f;--coral-50: #fef8e8;--coral-100: #fdefc4;--coral-200: #fbe39d;--coral-300: #f8d26c;--coral-400: #F4B223;--coral-500: #F4B223;--coral-600: #d99c1a;--coral-700: #b88115;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--slate-950: #020617;--green-500: #22c55e;--green-600: #16a34a;--red-500: #ef4444;--red-600: #dc2626;--amber-500: #f59e0b;--amber-600: #d97706;--blue-500: #3b82f6;--blue-600: #2563eb;--purple-500: #a855f7;--primary: #005e82;--primary-light: #3d88a5;--primary-dark: #003d55;--accent: #F4B223;--accent-light: #f8d26c;--bg: #c5dae5;--bg-card: #ffffff;--bg-sidebar: #003d55;--bg-sidebar-hover: #004d6b;--bg-sidebar-active: #005e82;--text: #333333;--text-secondary: #64748b;--text-sidebar: #c5dae5;--text-sidebar-active: #ffffff;--border: #d5e3ec;--border-focus: #005e82;--success: var(--green-500);--danger: var(--red-500);--warning: var(--amber-500);--info: var(--blue-500);--font: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .875rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.25rem;--fs-2xl: 1.5rem;--fs-3xl: 1.875rem;--fs-4xl: 2.25rem;--fw-light: 300;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .15);--sidebar-width: 260px;--sidebar-collapsed: 0px;--topbar-height: 64px;--transition: .2s cubic-bezier(.4, 0, .2, 1)}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font);font-size:var(--fs-base);color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:var(--font)}img{max-width:100%;display:block}input,select,textarea{font-family:var(--font)}.app-layout{display:flex;min-height:100vh}.main-area{flex:1;margin-left:var(--sidebar-width);transition:margin-left var(--transition);min-width:0}.main-area.sidebar-closed{margin-left:0}.topbar{height:var(--topbar-height);background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-8);position:sticky;top:0;z-index:40;box-shadow:var(--shadow-sm)}.topbar-left,.topbar-right{display:flex;align-items:center;gap:var(--sp-4)}.topbar h1{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text)}.hamburger{display:none;background:none;border:none;font-size:1.5rem;color:var(--text);padding:var(--sp-2)}.page-content{padding:var(--sp-8);width:100%}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);position:fixed;left:0;top:0;bottom:0;overflow-y:auto;z-index:50;transition:transform var(--transition);display:flex;flex-direction:column}.sidebar.closed{transform:translate(-100%)}.sidebar-header{padding:var(--sp-6) var(--sp-6) var(--sp-4);border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand{display:flex;align-items:center;gap:var(--sp-3)}.sidebar-brand-icon{width:40px;height:40px;border-radius:var(--radius-md);background:none;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xl);font-weight:var(--fw-extrabold);color:#fff;flex-shrink:0}.sidebar-brand-text{display:flex;flex-direction:column}.sidebar-brand-name{font-size:var(--fs-md);font-weight:var(--fw-bold);color:#fff;line-height:1.2}.sidebar-brand-sub{font-size:var(--fs-xs);color:var(--slate-400)}.sidebar-nav{flex:1;padding:var(--sp-4) 0}.sidebar-section{padding:var(--sp-2) var(--sp-6) var(--sp-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--slate-500);text-transform:uppercase;letter-spacing:.08em}.sidebar-link{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-6);color:var(--text-sidebar);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:all var(--transition);border-left:3px solid transparent}.sidebar-link:hover{background:var(--bg-sidebar-hover);color:#fff}.sidebar-link.active{background:#f4b22326;color:#f4b223;border-left-color:#f4b223}.sidebar-link .icon{width:20px;text-align:center;font-size:var(--fs-md)}.sidebar-user{padding:var(--sp-4) var(--sp-6);border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:var(--sp-3)}.sidebar-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:linear-gradient(135deg,#005e82,#007ba3);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--fw-bold);font-size:var(--fs-sm);flex-shrink:0}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:var(--fs-xs);color:var(--slate-400)}.sidebar-logout{background:none;border:none;color:var(--slate-400);font-size:var(--fs-md);padding:var(--sp-2);transition:color var(--transition)}.sidebar-logout:hover{color:var(--red-500)}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:box-shadow var(--transition)}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-header h2{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.card-body{padding:var(--sp-6)}.card-footer{padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:var(--sp-3)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-6);margin-bottom:var(--sp-8)}.kpi-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--sp-6);box-shadow:var(--shadow-sm);border:1px solid var(--border);display:flex;align-items:flex-start;gap:var(--sp-4);transition:all var(--transition)}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xl);flex-shrink:0}.kpi-icon.teal,.kpi-icon.primary{background:var(--teal-100);color:var(--primary)}.kpi-icon.coral,.kpi-icon.accent{background:var(--coral-100);color:var(--coral-700)}.kpi-icon.blue,.kpi-icon.info{background:var(--teal-50);color:var(--primary)}.kpi-icon.green,.kpi-icon.success{background:var(--teal-100);color:var(--teal-700)}.kpi-icon.amber,.kpi-icon.warning{background:var(--coral-100);color:var(--coral-700)}.kpi-icon.purple,.kpi-icon.secondary{background:var(--teal-50);color:var(--primary-dark)}.kpi-value{font-size:var(--fs-2xl);font-weight:var(--fw-bold);line-height:1.2}.kpi-label{font-size:var(--fs-sm);color:var(--text-secondary)}.kpi-trend{font-size:var(--fs-xs);font-weight:var(--fw-semibold);display:flex;align-items:center;gap:2px;margin-top:2px}.kpi-trend.up{color:var(--green-600)}.kpi-trend.down{color:var(--red-600)}.btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-5);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border:none;border-radius:var(--radius-sm);transition:all var(--transition);white-space:nowrap;line-height:1.8}.btn-primary{background:#f4b223;color:#1a1a1a}.btn-primary:hover{background:#d99c1a;box-shadow:var(--shadow-md)}.btn-accent{background:#005e82;color:#fff}.btn-accent:hover{background:#007ba3}.btn-secondary{background:var(--slate-100);color:var(--slate-700);border:1px solid var(--border)}.btn-secondary:hover{background:var(--slate-200)}.btn-danger{background:var(--red-500);color:#fff}.btn-danger:hover{background:var(--red-600)}.btn-success{background:var(--green-500);color:#fff}.btn-success:hover{background:var(--green-600)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--slate-100);color:var(--text)}.btn-sm{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs)}.btn-lg{padding:var(--sp-3) var(--sp-8);font-size:var(--fs-md)}.btn-icon{padding:var(--sp-2);border-radius:var(--radius-sm);background:none;border:none;color:var(--text-secondary);font-size:var(--fs-md);transition:all var(--transition)}.btn-icon:hover{background:var(--slate-100);color:var(--text)}.data-table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card)}.data-table{width:100%;border-collapse:collapse}.data-table th{background:var(--slate-50);padding:var(--sp-3) var(--sp-4);text-align:left;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th:hover{color:var(--text)}.data-table th .sort-icon{margin-left:4px;opacity:.4}.data-table th.sorted .sort-icon{opacity:1;color:var(--primary)}.data-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);font-size:var(--fs-sm);vertical-align:middle}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:hover{background:#e8f4f8}.data-table tbody tr:last-child td{border-bottom:none}.table-actions{display:flex;gap:var(--sp-1)}.badge{display:inline-flex;align-items:center;padding:2px 10px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);border-radius:var(--radius-full);line-height:1.8}.badge-active,.badge-paid,.badge-signed,.badge-approved{background:#dcfce7;color:var(--green-600)}.badge-pending,.badge-draft{background:#fef3c7;color:var(--amber-600)}.badge-inactive,.badge-rejected,.badge-overdue,.badge-expired{background:#fee2e2;color:var(--red-600)}.badge-new{background:#dbeafe;color:var(--blue-600)}.badge-info{background:#c5dae5;color:#005e82}.badge-sent{background:#f3e8ff;color:var(--purple-500)}.form-group{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-5)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--sp-5)}.form-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text)}.form-label .required{color:var(--red-500);margin-left:2px}.form-input,.form-select,.form-textarea{padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--text);background:#fff;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #005e8226}.form-input.error{border-color:var(--red-500)}.form-error{font-size:var(--fs-xs);color:var(--red-500)}.form-textarea{resize:vertical;min-height:80px}.form-checkbox{display:flex;align-items:center;gap:var(--sp-2)}.form-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.form-actions{display:flex;gap:var(--sp-3);justify-content:flex-end;padding-top:var(--sp-4);border-top:1px solid var(--border);margin-top:var(--sp-4)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease}.modal{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:90%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease}.modal-lg{max-width:900px}.modal-header h2{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.modal-close{background:none;border:none;font-size:var(--fs-xl);color:var(--text-secondary);padding:var(--sp-1);transition:color var(--transition)}.modal-close:hover{color:var(--text)}.modal-body{padding:var(--sp-6);overflow-y:auto;flex:1}.modal-footer{padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:var(--sp-3)}.tabs{display:flex;border-bottom:2px solid var(--border);margin-bottom:var(--sp-6);gap:0}.tab{padding:var(--sp-3) var(--sp-5);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition)}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.pipeline{display:flex;gap:var(--sp-4);overflow-x:auto;padding-bottom:var(--sp-4)}.pipeline-column{min-width:280px;flex:1;background:var(--slate-50);border-radius:var(--radius-lg);padding:var(--sp-4)}.pipeline-column-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.pipeline-column-title{font-size:var(--fs-sm);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.05em}.pipeline-count{background:var(--slate-200);border-radius:var(--radius-full);padding:0 8px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-secondary)}.pipeline-card{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--sp-4);margin-bottom:var(--sp-3);box-shadow:var(--shadow-sm);border:1px solid var(--border);cursor:pointer;transition:all var(--transition)}.pipeline-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.pipeline-card-title{font-weight:var(--fw-semibold);margin-bottom:var(--sp-1)}.pipeline-card-meta{font-size:var(--fs-xs);color:var(--text-secondary)}.toolbar{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap}.search-box{flex:1;min-width:200px;position:relative}.search-box input{width:100%;padding:var(--sp-2) var(--sp-3) var(--sp-2) 36px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-sm);background:var(--bg-card)}.search-box input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #005e8226}.search-box .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:var(--fs-sm)}.filter-select{padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-sm);background:var(--bg-card);color:var(--text)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-6);flex-wrap:wrap;gap:var(--sp-4)}.page-header h1{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:#1a1a1a}.page-header p{color:var(--text-secondary);font-size:var(--fs-sm);margin-top:2px}.toast-container{position:fixed;top:var(--sp-4);right:var(--sp-4);z-index:200;display:flex;flex-direction:column;gap:var(--sp-3)}.toast{padding:var(--sp-3) var(--sp-5);border-radius:var(--radius-md);color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-medium);box-shadow:var(--shadow-lg);animation:slideIn .3s ease,fadeOut .3s ease 2.7s;min-width:280px}.toast-success{background:var(--green-600)}.toast-error{background:var(--red-600)}.toast-warning{background:var(--amber-600)}.toast-info{background:var(--blue-600)}.signature-pad-container{border:2px dashed var(--border);border-radius:var(--radius-md);padding:var(--sp-2);background:#fafafa}.signature-pad-container canvas{width:100%;height:150px;cursor:crosshair}.signature-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-2);justify-content:flex-end}.calendar-grid{display:grid;grid-template-columns:80px repeat(7,1fr);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-card)}.calendar-header-cell{padding:var(--sp-3);background:var(--slate-50);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-align:center;border-bottom:1px solid var(--border);color:var(--text-secondary)}.calendar-time-cell{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xs);color:var(--text-secondary);border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:right}.calendar-cell{padding:var(--sp-1);border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:60px;position:relative}.calendar-event{padding:2px 6px;font-size:var(--fs-xs);border-radius:4px;margin-bottom:2px;cursor:pointer;font-weight:var(--fw-medium);transition:opacity var(--transition)}.calendar-event:hover{opacity:.85}.calendar-event.teal{background:var(--teal-100);color:var(--teal-800);border-left:3px solid var(--teal-500)}.calendar-event.coral{background:var(--coral-100);color:var(--coral-700);border-left:3px solid var(--coral-500)}.calendar-event.blue{background:#dbeafe;color:var(--blue-600);border-left:3px solid var(--blue-500)}.calendar-event.purple{background:#f3e8ff;color:var(--purple-500);border-left:3px solid var(--purple-500)}.stepper{display:flex;align-items:center;margin-bottom:var(--sp-8)}.stepper-step{display:flex;align-items:center;gap:var(--sp-2)}.stepper-circle{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--fs-sm);font-weight:var(--fw-bold);background:var(--slate-200);color:var(--text-secondary);transition:all var(--transition)}.stepper-step.active .stepper-circle{background:var(--primary);color:#fff}.stepper-step.completed .stepper-circle{background:var(--green-500);color:#fff}.stepper-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.stepper-step.active .stepper-label{color:var(--text)}.stepper-line{flex:1;height:2px;background:var(--slate-200);margin:0 var(--sp-3)}.stepper-line.completed{background:var(--green-500)}.checklist-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--border)}.checklist-item:last-child{border-bottom:none}.checklist-check{width:22px;height:22px;border-radius:var(--radius-sm);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);flex-shrink:0}.checklist-check.checked{background:var(--green-500);border-color:var(--green-500);color:#fff}.checklist-text{flex:1;font-size:var(--fs-sm)}.checklist-text.checked{text-decoration:line-through;color:var(--text-secondary)}.empty-state{text-align:center;padding:var(--sp-16) var(--sp-8);color:var(--text-secondary)}.empty-state-icon{font-size:3rem;margin-bottom:var(--sp-4);opacity:.4}.empty-state h3{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text);margin-bottom:var(--sp-2)}.pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) 0}.pagination-info{font-size:var(--fs-sm);color:var(--text-secondary)}.pagination-buttons{display:flex;gap:var(--sp-1)}.pagination-btn{padding:var(--sp-1) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);font-size:var(--fs-sm);color:var(--text-secondary);transition:all var(--transition)}.pagination-btn:hover{background:var(--slate-50);color:var(--text)}.pagination-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-btn:disabled{opacity:.4;cursor:default}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-6)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-6)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:url(https://alohaseniorhomecare.com/wp-content/uploads/2024/10/chronic-condition-management-San-Diego.jpg) center/cover no-repeat;position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#002d3fa6}.login-page:after{content:none}.login-card{background:#fffffff7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-xl);padding:var(--sp-10);width:90%;max-width:440px;box-shadow:var(--shadow-xl);position:relative;z-index:1}.login-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--sp-8)}.login-logo-icon{width:auto;height:auto;border-radius:0;background:none;display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-3)}.login-logo-icon img{max-width:200px;height:auto}.login-logo h1{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:#1a1a1a}.login-logo p{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:2px}.login-form{margin-bottom:var(--sp-6)}.login-divider{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-6) 0;font-size:var(--fs-xs);color:var(--text-secondary)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.demo-logins{display:flex;flex-direction:column;gap:var(--sp-2)}.demo-login-btn{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);font-size:var(--fs-sm);color:var(--text);transition:all var(--transition);width:100%}.demo-login-btn:hover{border-color:var(--primary);background:var(--teal-50)}.demo-login-btn .role-dot{width:8px;height:8px;border-radius:var(--radius-full)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .5s ease}.animate-slide-up{animation:slideUp .5s ease}@media (max-width: 1024px){.grid-4,.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.hamburger{display:block}.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-area{margin-left:0!important}.page-content{padding:var(--sp-4)}.topbar{padding:0 var(--sp-4)}.form-row,.grid-2,.grid-3,.grid-4,.kpi-grid{grid-template-columns:1fr}.pipeline{flex-direction:column}.pipeline-column{min-width:100%}.page-header{flex-direction:column;align-items:flex-start}.toolbar{flex-direction:column;align-items:stretch}.calendar-grid{grid-template-columns:60px repeat(7,1fr);font-size:var(--fs-xs)}.stepper{flex-wrap:wrap}.modal{width:95%;max-width:none;margin:var(--sp-4)}.tabs{overflow-x:auto}}@media (max-width: 480px){.login-card{padding:var(--sp-6)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}.text-center{text-align:center}.text-right{text-align:right}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--green-600)}.text-danger{color:var(--red-500)}.text-warning{color:var(--amber-600)}.font-mono{font-family:SF Mono,Fira Code,monospace}.mt-2{margin-top:var(--sp-2)}.mt-4{margin-top:var(--sp-4)}.mt-6{margin-top:var(--sp-6)}.mb-2{margin-bottom:var(--sp-2)}.mb-4{margin-bottom:var(--sp-4)}.mb-6{margin-bottom:var(--sp-6)}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap-2{gap:var(--sp-2)}.gap-4{gap:var(--sp-4)}.hidden{display:none}.dropdown-panel{position:absolute;background:#fff;border-radius:var(--radius-md);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;border:1px solid var(--border);z-index:100}.dropdown-header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.dropdown-item-btn{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border:none;background:none;cursor:pointer;font-size:var(--fs-sm);color:var(--text);border-radius:var(--radius-sm);transition:background .2s;text-align:left}.dropdown-item-btn:hover{background:var(--bg-hover)}.dropdown-item-btn.text-danger:hover{background:#fef2f2}.notifications-trigger{position:relative;background:none;border:none;padding:8px;border-radius:50%;cursor:pointer;color:var(--text-secondary);transition:all .2s;display:flex;align-items:center;justify-content:center}.notifications-trigger:hover,.notifications-trigger.active{background:var(--bg-hover);color:var(--primary)}.notifications-badge{position:absolute;top:6px;right:6px;width:16px;height:16px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white}.alert-card{cursor:pointer;transition:all var(--transition);position:relative;overflow:hidden}.alert-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.alert-card .hover-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%) translate(10px);opacity:0;transition:all var(--transition);color:var(--text-secondary)}.alert-card:hover .hover-icon{opacity:1;transform:translateY(-50%) translate(0)}.alert-card.amber:hover{border-color:var(--amber-500);background:#fff9db!important}.alert-card.red:hover{border-color:var(--red-500);background:#fff5f5!important}.alert-card.teal:hover{border-color:var(--teal-500);background:#e6fffa!important}.global-search{position:relative;display:flex;align-items:center;width:300px;background:var(--slate-100);border-radius:var(--radius-full);padding:4px 12px;transition:all var(--transition);border:1px solid transparent}.global-search:focus-within{background:#fff;border-color:var(--teal-300);box-shadow:0 0 0 3px #005e821a}.global-search .search-icon{color:var(--slate-400);margin-right:8px}.global-search .search-input{flex:1;border:none;background:transparent;padding:4px 0;font-size:var(--fs-sm);color:var(--text);outline:none}.global-search .search-clear{background:none;border:none;color:var(--slate-400);padding:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%}.global-search .search-clear:hover{color:var(--text);background:var(--slate-200)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;animation:fadeIn .2s ease-out}.drawer-panel{position:fixed;top:0;right:0;bottom:0;background:#fff;box-shadow:-4px 0 24px #0000001a;z-index:101;display:flex;flex-direction:column;animation:slideInRight .3s cubic-bezier(.16,1,.3,1)}.drawer-header{padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.drawer-header h2{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0}.drawer-body{padding:var(--sp-6);flex:1;overflow-y:auto}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);animation:fadeIn .2s ease-out}.modal{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:90vh;display:flex;flex-direction:column;animation:scaleIn .2s ease-out;width:100%}.modal-md{max-width:500px}.modal-lg{max-width:800px}.modal-xl{max-width:1100px}.modal-header{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0}.modal-close{background:var(--slate-100);border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--slate-500);cursor:pointer;transition:all var(--transition)}.modal-close:hover{background:var(--slate-200);color:var(--text)}.modal-body{padding:var(--sp-6);overflow-y:auto}.modal-footer{padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border);background:var(--slate-50);display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.step-form{display:flex;flex-direction:column;gap:var(--sp-6)}.step-indicator{display:flex;justify-content:space-between;margin-bottom:var(--sp-2);position:relative}.step-indicator:before{content:"";position:absolute;top:14px;left:0;right:0;height:2px;background:var(--slate-200);z-index:1}.step-item{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);z-index:2;position:relative}.step-circle{width:30px;height:30px;border-radius:50%;background:var(--slate-100);border:2px solid var(--slate-300);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--fs-sm);color:var(--slate-500);transition:all var(--transition)}.step-label{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--slate-500);text-align:center;transition:color var(--transition)}.step-item.active .step-circle{border-color:var(--primary);background:#fff;color:var(--primary);box-shadow:0 0 0 4px var(--teal-50)}.step-item.active .step-label{color:var(--primary);font-weight:var(--fw-bold)}.step-item.completed .step-circle{background:var(--primary);border-color:var(--primary);color:#fff;cursor:pointer}.step-item.completed .step-label{color:var(--text);cursor:pointer}.step-content{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-6);min-height:200px;box-shadow:var(--shadow-sm)}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-4)}.filter-chip{display:inline-flex;align-items:center;gap:var(--sp-2);padding:4px 12px;border-radius:var(--radius-full);background:var(--slate-50);border:1px solid var(--border);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);font-family:inherit}.filter-chip:hover{background:var(--slate-100);color:var(--text);border-color:var(--slate-300)}.filter-chip.active{background:var(--teal-50);border-color:var(--primary-light);color:var(--primary-dark)}.filter-chip .chip-icon{opacity:.7}.filter-chip.active .chip-icon{opacity:1}.filter-chip .chip-count{background:#00000014;padding:0 6px;border-radius:99px;font-size:11px}.filter-chip.active .chip-count{background:#005e8226}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-12) var(--sp-6);text-align:center;background:var(--bg-card);border:1px dashed var(--slate-300);border-radius:var(--radius-lg);margin:var(--sp-4) 0}.empty-state-icon{width:64px;height:64px;border-radius:50%;background:var(--slate-50);display:flex;align-items:center;justify-content:center;color:var(--slate-400);margin-bottom:var(--sp-4)}.empty-state-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text);margin-bottom:var(--sp-2)}.empty-state-description{font-size:var(--fs-sm);color:var(--text-secondary);max-width:400px;margin-bottom:var(--sp-6)}.empty-state-action{display:flex;gap:var(--sp-3)}.quick-actions{display:flex;align-items:center;gap:var(--sp-2)}.notifications-trigger{position:relative;background:none;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--slate-500);cursor:pointer;transition:all var(--transition)}.notifications-trigger:hover{background:var(--slate-100);color:var(--text)}.notifications-badge{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--red-500);border:2px solid #fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.mobile-bottom-nav{display:none}@media (max-width: 768px){.main-area{margin-left:0;padding-bottom:70px}.sidebar.staff-mobile-hidden{display:none}.topbar{padding:0 var(--sp-4)}.page-content{padding:var(--sp-4)}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:64px;background:#fff;border-top:1px solid var(--border);z-index:50;box-shadow:0 -2px 10px #0000000d}.mobile-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--slate-500);font-size:10px;font-weight:var(--fw-medium);transition:all var(--transition);gap:4px}.mobile-nav-item .icon{font-size:20px}.mobile-nav-item.active{color:var(--primary)}.mobile-nav-item.active .icon{transform:translateY(-2px)}.global-search{width:auto;max-width:200px}}.scheduling-container{display:flex;flex-direction:column;gap:var(--sp-6)}.status-filter-row{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-2)}.status-filter-bar{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-4);background:#fff;border-radius:var(--radius-md);border:1px solid var(--border);flex:1}.color-legend{display:flex;gap:var(--sp-4);background:#fff;padding:10px 20px;border-radius:var(--radius-md);border:1px solid var(--border);font-size:11px;font-weight:600;color:var(--text-secondary)}.legend-item{display:flex;align-items:center;gap:6px}.legend-item .dot{width:10px;height:10px;border-radius:50%}.legend-item .dot.scheduled{background:#0284c7}.legend-item .dot.in-progress{background:#0d9488}.legend-item .dot.completed{background:#16a34a}.legend-item .dot.missed-clock-in{background:#dc2626}.legend-item .dot.unfulfilled{background:#a855f7}.status-chip{padding:6px 12px;border-radius:4px;font-size:12px;font-weight:600;background:#fff;border:1px solid #e2e8f0;color:#64748b;cursor:pointer;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:6px}.status-chip .count-badge{background:#0000000d;padding:1px 6px;border-radius:4px;font-size:10px}.status-chip:hover{background:#f8fafc;border-color:#cbd5e1}.status-chip.active{background:#f1f5f9;border-color:#94a3b8;color:#1e293b;box-shadow:inset 0 2px 4px #0000000d}.status-chip.scheduled,.shift-block.scheduled{background:#e0f2fe;color:#0369a1;border-color:#bae6fd;border-left:3px solid #0ea5e9}.status-chip.in-progress,.shift-block.in-progress{background:#fef9c3;color:#854d0e;border-color:#fef08a;border-left:3px solid #eab308}.status-chip.completed,.shift-block.completed{background:#dcfce7;color:#166534;border-color:#bbf7d0;border-left:3px solid #22c55e}.status-chip.unfulfilled,.shift-block.unfulfilled{background:#f3e8ff;color:#7e22ce;border-color:#e9d5ff;border-left:3px solid #a855f7}.status-chip.missed-clock-in,.shift-block.missed-clock-in{background:#fee2e2;color:#991b1b;border-color:#fecaca;border-left:3px solid #ef4444}.status-chip.missed-clock-out,.shift-block.missed-clock-out{background:#ffedd5;color:#9a3412;border-color:#fed7aa;border-left:3px solid #f97316}.status-chip.open,.shift-block.open{background:#ccfbf1;color:#0f766e;border:1px dashed #2dd4bf;border-left:3px solid #14b8a6}.status-chip.cancelled-client,.shift-block.cancelled-client,.status-chip.cancelled-caregiver,.shift-block.cancelled-caregiver,.status-chip.cancelled-office,.shift-block.cancelled-office{background:#f1f5f9;color:#475569;border-color:#e2e8f0;border-left:3px solid #94a3b8;opacity:.8}.status-chip.tentative,.shift-block.tentative{background:#f8fafc;color:#64748b;border-color:#f1f5f9;border-left:3px solid #cbd5e1}.status-chip.confirmation,.shift-block.confirmation{background:#ecfdf5;color:#065f46;border-color:#d1fae5;border-left:3px solid #10b981}.status-chip.attention,.shift-block.attention{background:#991b1b;color:#fff;border-color:#7f1d1d;border-left:3px solid #ef4444}.scheduling-container{padding:var(--sp-4) 10px;width:100%;max-width:100%;overflow-x:hidden}.scheduling-grid-wrapper{overflow:auto;max-height:720px;border:1px solid #e2e8f0;position:relative;background:#fff}.scheduling-grid{display:flex;flex-direction:column;min-width:1400px}.grid-header{display:grid;grid-template-columns:220px repeat(7,1fr);background:#f8fafc;border-bottom:2px solid #e2e8f0;position:sticky;top:0;z-index:100}.grid-header-cell{padding:10px;background:#f8fafc;border-right:1px solid #e2e8f0;font-weight:700;text-align:center;position:sticky;top:0;z-index:10}.grid-header-cell:first-child{text-align:left;position:sticky;left:0;z-index:110;background:#f1f5f9;padding-left:15px}.grid-header-cell.today{background:#f0f9ff;color:#0369a1}.grid-row{display:grid;grid-template-columns:220px repeat(7,1fr)}.client-cell{padding:10px 15px;background:#fff;border-bottom:1px solid #e2e8f0;border-right:2px solid #f1f5f9;position:sticky;left:0;z-index:50;display:flex;flex-direction:column;justify-content:center;box-shadow:2px 0 5px #00000005}.grid-row:hover .client-cell{background:#f8fafc}.grid-row:hover .shift-cell{background:#fafafa}.client-name-link{font-weight:700;font-size:14px;color:#1e293b;text-decoration:none;cursor:pointer}.client-name-link:hover{color:#0ea5e9;text-decoration:underline}.client-meta-row{display:flex;gap:8px;margin-top:4px}.client-tag{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;display:flex;align-items:center;gap:4px;background:#f1f5f9;color:#64748b}.client-tag.hours{background:#f0fdf4;color:#166534}.client-tag.shifts{background:#f0f9ff;color:#0369a1}.client-tag.level{background:#fff7ed;color:#9a3412}.shift-cell{padding:6px;border-right:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;min-height:80px;position:relative;background:#fff;display:flex;flex-direction:column;gap:4px}.shift-cell.today{background:#fdfdfd}.shift-block{padding:6px 8px;border-radius:4px;font-size:11px;border:1px solid rgba(0,0,0,.08);cursor:pointer;position:relative;transition:box-shadow .2s;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:1px;margin-bottom:4px}.shift-block:hover{box-shadow:0 4px 8px #0000001a;z-index:10}.shift-staff-name{font-weight:700;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shift-service-tag{font-size:9px;text-transform:uppercase;font-weight:800;opacity:.7;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shift-tooltip{position:absolute;bottom:115%;left:0;transform:translateY(10px);background:#0f172afa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;padding:16px;border-radius:14px;width:260px;box-shadow:0 20px 50px #0000004d;z-index:1000;opacity:0;visibility:hidden;transition:all .2s cubic-bezier(.16,1,.3,1);pointer-events:none}.shift-tooltip.tooltip-bottom{bottom:auto!important;top:115%!important;transform:translateY(-10px)!important}.shift-tooltip.tooltip-bottom:after{top:auto!important;bottom:100%!important;transform:translate(-50%) rotate(180deg)!important}.shift-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:rgba(15,23,42,.98) transparent transparent transparent}.shift-block:hover .shift-tooltip,.shift-block.showing-tooltip .shift-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.shift-tooltip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);font-size:13px;font-weight:700}.shift-tooltip-row{display:flex;gap:8px;margin-bottom:6px;font-size:11px;line-height:1.4}.shift-tooltip-label{color:#ffffff80;width:70px;flex-shrink:0}.shift-tooltip-value{color:#fff;flex:1;font-weight:500;word-break:break-word}.shift-tooltip-alerts{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.alert-badge{font-size:9px;font-weight:800;padding:3px 8px;border-radius:6px;display:flex;align-items:center;gap:4px;text-transform:uppercase;letter-spacing:.04em}.alert-badge.danger{background:#ef444433;color:#fecaca;border:1px solid rgba(239,68,68,.3)}.alert-badge.warning{background:#f59e0b33;color:#fef3c7;border:1px solid rgba(245,158,11,.3)}.shift-tooltip-status-row{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.clock-status{width:10px;height:10px;border-radius:50%}.clock-status.recorded{background:#10b981;box-shadow:0 0 10px #10b98166}.clock-status.waiting{background:#64748b}.clock-status.missing{background:#ef4444;box-shadow:0 0 10px #ef444466}.shift-status-mini{display:inline-block;padding:1px 5px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;background:#0000000d}.shift-inline-actions{position:absolute;top:4px;right:4px;display:flex;gap:2px;opacity:0;transition:opacity .2s;background-color:#ffffffe6;padding:2px;border-radius:4px;box-shadow:0 1px 3px #0000001a;z-index:5}.shift-block:hover .shift-inline-actions{opacity:1}.inline-action-btn{background:none;border:none;padding:2px 4px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:4px;color:var(--slate-500);transition:all .2s}.inline-action-btn:hover{background:var(--slate-100);color:var(--primary)}.inline-action-btn.delete:hover{background:var(--red-50);color:var(--red-600)}.shift-block.scheduled{background:#f0f9ff;color:#0369a1;border-left:3px solid #0ea5e9}.shift-block.in-progress{background:#f0fdf4;color:#166534;border-left:3px solid #22c55e}.shift-block.completed{background:#f8fafc;color:#475569;border-left:3px solid #64748b}.shift-block.missed-clock-in{background:#fef2f2;color:#991b1b;border-left:3px solid #ef4444}.shift-block.missed-clock-out{background:#fff7ed;color:#9a3412;border-left:3px solid #f97316}.shift-block.open{background:#fff;color:#0369a1;border:1px dashed #0ea5e9;border-left:3px solid #0ea5e9}.shift-block.cancelled-client,.shift-block.cancelled-caregiver,.shift-block.cancelled-office{background:#f1f5f9;color:#64748b;border-left:3px solid #94a3b8;opacity:.8}.shift-block.tentative{background:#fffbeb;color:#92400e;border-left:3px solid #f59e0b}.shift-block.confirmation{background:#faf5ff;color:#6b21a8;border-left:3px solid #a855f7}.shift-block.attention{background:#fff7ed;color:#c2410c;border-left:3px solid #f97316;border-right:1px solid #ffedd5;border-top:1px solid #ffedd5;border-bottom:1px solid #ffedd5}.search-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:0 0 6px 6px;box-shadow:0 10px 15px -3px #0000001a;z-index:1000;max-height:250px;overflow-y:auto}.search-item{padding:8px 12px;font-size:13px;cursor:pointer;transition:background .2s;border-bottom:1px solid #f8fafc}.search-item:last-child{border-bottom:none}.search-item:hover{background:#f1f5f9}.search-item.active{background:#e0f2fe;color:#0369a1;font-weight:600}
