:root{color-scheme:light;--navy:#0d1b3e;--navy-active:#1b2e63;--content-bg:#f5f6fa;--card-bg:#ffffff;--border:#e2e4ed;--fg:#1a1d29;--muted-fg:#6b7280;--heading-muted:#6b7280;--secondary-bg:#e7e9f7}*{box-sizing:border-box}body{margin:0;background:var(--content-bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow-x:hidden}a{color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:264px;flex-shrink:0;background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;z-index:40;transition:width .2s ease}.app-main{flex:1 1;margin-left:264px;display:flex;flex-direction:column;min-height:100vh;min-width:0;transition:margin-left .2s ease}.app-header{background:var(--navy);color:#fff;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:30}.app-content{flex:1 1;padding:1.5rem;max-width:1100px;width:100%}.sidebar-backdrop{display:none}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;background:transparent;border:none;color:#fff;cursor:pointer;flex-shrink:0}.menu-toggle:hover{background:rgba(255,255,255,.1)}.sidebar-nav{padding:1rem .75rem;display:flex;flex-direction:column;gap:.15rem}.nav-item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.6rem .75rem;border-radius:6px;background:none;border:none;color:#e4e7f5;font:inherit;font-size:.9rem;text-align:left;cursor:pointer}.nav-item-disabled{opacity:.5;cursor:default}.nav-item-parent:hover{background:rgba(255,255,255,.06)}.nav-item-active{background:var(--navy-active);color:#fff;font-weight:700}.nav-caret{margin-left:auto;transition:transform .15s ease}.nav-caret-open{transform:rotate(180deg)}.nav-children{display:flex;flex-direction:column;gap:.1rem;padding-left:2.4rem;margin:.15rem 0 .5rem}.nav-subitem{display:block;padding:.4rem .5rem;border-radius:6px;color:#c7cce6;font-size:.85rem;text-decoration:none}.nav-subitem:hover{background:rgba(255,255,255,.06);color:#fff}.nav-subitem-active{background:rgba(255,255,255,.08);color:#fff;font-weight:700}.nav-subitem-disabled{opacity:.5;cursor:default}.sidebar-footer{padding:1rem 1.1rem 1.25rem;border-top:1px solid rgba(255,255,255,.1)}.sidebar-user-name{font-weight:600;font-size:.9rem;color:#fff}.sidebar-user-role{font-size:.8rem;color:#9ca3c4;margin-bottom:.5rem}.sidebar-logout{font-size:.85rem;color:#c7cce6;cursor:default}.app-header-left{display:flex;align-items:center;gap:.75rem;min-width:0}.app-logo-mark{flex-shrink:0;width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.12);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem}.app-logo-name{font-weight:700;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header-right{display:flex;align-items:center;gap:1rem}.header-icon-group{display:flex;align-items:center;gap:.15rem}.icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:transparent;border:none;color:#e4e7f5;cursor:pointer}.header-search,.icon-button:hover{background:rgba(255,255,255,.1)}.header-search{display:flex;align-items:center;gap:.5rem;border-radius:6px;padding:.4rem .7rem;color:#c7cce6}.header-search input{background:none;border:none;outline:none;color:#fff;font:inherit;font-size:.85rem;width:140px}.header-search input::placeholder{color:#9ca3c4}.user-menu{display:flex;align-items:center;gap:.5rem;color:#fff;cursor:pointer}.user-avatar{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.15);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.user-name{font-size:.88rem;font-weight:600;white-space:nowrap}.card{background:var(--card-bg);border-radius:8px;box-shadow:0 1px 3px rgba(15,23,42,.08),0 1px 2px rgba(15,23,42,.04);padding:1.5rem}.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.page-toolbar h1{margin:0;font-size:1.4rem}.notice{color:var(--muted-fg)}.notice-error{color:#dc2626}.btn-primary{background:var(--navy);color:#fff}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:6px;border:none;text-decoration:none;font:inherit;font-weight:600;font-size:.9rem;cursor:pointer}.btn-secondary{background:var(--secondary-bg);color:var(--navy)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:default}.members-table{width:100%;border-collapse:collapse}.members-table td,.members-table th{text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--border)}.members-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--heading-muted)}.members-table tbody tr:last-child td{border-bottom:none}.members-table a{text-decoration:none;font-weight:600}.members-table a:hover{text-decoration:underline}.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .65rem;border-radius:999px;font-size:.8rem;font-weight:600}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-active{background:#dcfce7;color:#166534}.status-inactive{background:#f3f4f6;color:#4b5563}.status-on_hold{background:#fef3c7;color:#92400e}.status-lead{background:#dbeafe;color:#1e40af}.form{display:flex;flex-direction:column;gap:1.1rem;max-width:640px}.form-row{display:flex;gap:1.25rem;flex-wrap:wrap}.form-row label{flex:1 1;min-width:200px}.form label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted-fg)}.form input,.form select{font:inherit;padding:.55rem .65rem;border:1px solid var(--border);border-radius:6px;background:var(--card-bg);color:var(--fg)}.form input:focus,.form select:focus{outline:2px solid var(--navy);outline-offset:1px}.form fieldset{border:1px solid var(--border);border-radius:6px;padding:1rem}.form legend{padding:0 .5rem;font-size:.85rem;color:var(--muted-fg)}.field-hint{font-weight:400;color:var(--muted-fg);font-size:.75rem}.form-actions{gap:.75rem;padding-top:.25rem}.auth-page,.form-actions{display:flex;align-items:center}.auth-page{min-height:100vh;justify-content:center;background:var(--content-bg);padding:1.5rem}.auth-card{background:var(--card-bg);border-radius:12px;box-shadow:0 4px 16px rgba(15,23,42,.1),0 1px 3px rgba(15,23,42,.06);padding:2.5rem;width:100%;max-width:400px}.auth-logo{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.5rem;text-align:center}.auth-logo-mark{background:var(--navy);color:#fff;width:48px;height:48px;font-size:.95rem}.auth-logo h1{font-size:1.15rem;margin:0}.auth-submit{width:100%;justify-content:center;margin-top:.5rem}.auth-footer-link{margin-top:1.25rem;text-align:center;font-size:.85rem;color:var(--muted-fg)}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:1.5rem;gap:1.5rem;align-items:start}.dashboard-main,.dashboard-side{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.vitals-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.vitals-tile{background:var(--card-bg);border-radius:8px;box-shadow:0 1px 3px rgba(15,23,42,.08),0 1px 2px rgba(15,23,42,.04);padding:1.1rem}.vitals-value{font-size:1.8rem;font-weight:700;line-height:1.1}.vitals-label{margin-top:.35rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-fg)}.dashboard-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.dashboard-card-caption{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-fg)}.dashboard-card-controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.count-badge{min-width:20px;height:20px;padding:0 .4rem;border-radius:999px;background:var(--secondary-bg);color:var(--navy);font-size:.75rem;font-weight:700}.count-badge,.dismiss-button{display:inline-flex;align-items:center;justify-content:center}.dismiss-button{width:22px;height:22px;border-radius:6px;background:transparent;border:none;color:var(--muted-fg);cursor:pointer}.dismiss-button:hover{background:var(--content-bg);color:var(--fg)}.dashboard-card-title{margin:.35rem 0 .5rem;font-size:1.05rem}.dashboard-card-body{font-size:.9rem}.dashboard-card-link{display:inline-block;margin-top:.75rem;font-size:.85rem;font-weight:600;color:var(--navy);text-decoration:none}.dashboard-card-link:hover{text-decoration:underline}.dashboard-card-link-disabled{color:var(--muted-fg);cursor:default}.dashboard-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.dashboard-list li{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;font-size:.88rem}.dashboard-list-meta{color:var(--muted-fg);font-size:.78rem;white-space:nowrap}@media (max-width:900px){.sidebar{transform:translateX(-100%);transition:transform .2s ease}.sidebar.sidebar-open{transform:translateX(0)}.app-main{margin-left:0}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(10,14,30,.45);z-index:35}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:480px){.vitals-grid{grid-template-columns:1fr}}@media (max-width:560px){.app-logo-name,.header-icon-group,.header-search,.user-name{display:none}}@media (min-width:901px){.sidebar.sidebar-collapsed{width:0}.sidebar.sidebar-collapsed~.app-main{margin-left:0}}