@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@400;600;700&display=swap";
:root{--sidebar-bg:#0049b9;--sidebar-nav-inactive:#ffffffc7;--sidebar-nav-active:#fff;--sidebar-item-active-bg:#ffffff29;--sidebar-icon-inactive:#ffffffc7;--sidebar-width:240px;--content-bg:#f0f6ff;--header-bg:#fff;--header-border:#e5e7eb;--content-padding:24px;--text-primary:#111827;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--color-primary:#0049b9;--color-primary-hover:#003a94;--color-primary-light:#f0f6ff;--color-navy:#002d70;--color-success:#16a34a;--color-success-bg:#f0fdf4;--color-danger:#dc2626;--color-danger-bg:#fef2f2;--color-warning:#d97706;--color-warning-bg:#fffbeb;--color-info:#0049b9;--color-info-bg:#f0f6ff;--input-border:#e5e7eb;--focus-ring:#0049b9;--border-color:#e5e7eb;--surface-bg:#fff;--surface-hover:#f0f6ff;--radio-accent:#000;--toggle-active:#000;--header-height:64px;--radius-card:12px;--radius-btn:8px;--radius-input:8px;--radius-badge:20px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -1px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--shadow-modal:0 20px 60px #00000026;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:100%;font-size:16px;overflow-x:hidden}body{color:var(--text-primary);background:var(--content-bg);width:100%;max-width:100%;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-family:Inter,sans-serif;font-weight:700;line-height:1.3}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}input,textarea,select,button{font-family:inherit}input[type=radio]{accent-color:var(--radio-accent)}.app-shell{width:100%;max-width:100%;min-height:100vh;display:flex;overflow-x:hidden}.main-area{margin-left:var(--sidebar-width);flex-direction:column;flex:auto;min-width:0;max-width:100%;min-height:100vh;display:flex}.page-content{padding:var(--content-padding);background:var(--content-bg);flex:1;width:100%;min-width:0;max-width:100%;overflow-x:clip}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);z-index:100;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:20px 16px 16px;display:flex}.sidebar-brand-icon{width:38px;height:38px;color:var(--color-primary);background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.sidebar-brand-name{color:#fff;font-size:16px;font-weight:700;line-height:1.2}.sidebar-nav{scrollbar-width:none;flex:1;padding:12px 10px;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-section-label{text-transform:uppercase;letter-spacing:.08em;color:#ffffff73;margin-top:4px;padding:12px 10px 4px;font-size:10px;font-weight:600}.sidebar-nav-item{color:var(--sidebar-nav-inactive);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.sidebar-nav-item svg{opacity:.75;transition:opacity var(--transition-fast);flex-shrink:0}.sidebar-nav-item:hover{color:var(--sidebar-nav-active);background:#ffffff1a;text-decoration:none}.sidebar-nav-item:hover svg{opacity:1}.sidebar-nav-item.active{background:var(--sidebar-item-active-bg);color:var(--sidebar-nav-active)}.sidebar-nav-item.active svg{opacity:1}.sidebar-nav-item--parent{width:100%;font-size:14px;font-weight:500;line-height:inherit;color:var(--sidebar-nav-inactive);appearance:none;background:0 0;border:none}.sidebar-nav-item--parent:hover{color:var(--sidebar-nav-active);background:#ffffff1a}.sidebar-nav-item--parent.active{background:var(--sidebar-item-active-bg);color:var(--sidebar-nav-active)}.sidebar-nav-item--parent span{text-align:left;flex:1}.sidebar-nav-chevron{opacity:.65;transition:transform .15s ease, opacity var(--transition-fast);flex-shrink:0;margin-left:auto}.sidebar-nav-item:hover .sidebar-nav-chevron,.sidebar-nav-item.active .sidebar-nav-chevron,.sidebar-nav-item.expanded .sidebar-nav-chevron{opacity:1}.sidebar-nav-chevron.open{transform:rotate(180deg)}.sidebar-nav-group{margin-bottom:2px}.sidebar-nav-sub{padding-left:36px}.sidebar-nav-sub .sidebar-nav-item{padding:7px 12px;font-size:13px}.sidebar-nav-sub .sidebar-nav-item svg{opacity:.85;width:16px;height:16px}.sidebar-divider{background:#ffffff14;height:1px;margin:8px 10px}.sidebar-user{border-top:1px solid #ffffff14;align-items:center;gap:10px;padding:14px 16px;display:flex}.sidebar-user-name{color:#fff;font-size:13px;font-weight:600;line-height:1.2}.sidebar-user-role{color:var(--sidebar-nav-inactive);font-size:11px}.header{height:var(--header-height);background:var(--header-bg);border-bottom:1px solid var(--header-border);z-index:50;box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;min-width:0;max-width:100%;padding:0 24px;display:flex;position:sticky;top:0}.header-title-block{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.header-page-title{color:var(--text-primary);font-size:18px;font-weight:700;line-height:1.2}.header-page-subtitle{color:var(--text-secondary);margin-top:6px;font-size:12px;line-height:1.4}.header-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.pulse-lang-switcher{z-index:40;position:relative}.pulse-gt-host{opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;position:absolute!important;left:-9999px!important;overflow:hidden!important}html.gt-pending body{pointer-events:none;opacity:0!important}html.gt-ready body,html:not(.gt-pending) body{opacity:1;transition:opacity .12s}.pulse-lang-switcher-btn{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.pulse-lang-switcher-btn:hover{background:var(--bg-secondary,#f8fafc)}.pulse-lang-switcher-code{letter-spacing:.04em}.pulse-lang-switcher-caret{opacity:.7;font-size:10px;transition:transform .15s}.pulse-lang-switcher-caret[data-open]{transform:rotate(180deg)}.pulse-lang-switcher-menu{border:1px solid var(--border-color);background:#fff;border-radius:10px;flex-direction:column;gap:2px;min-width:220px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 30px #0f172a1f}.pulse-lang-switcher-menu--right{left:auto;right:0}.pulse-lang-switcher-option{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.pulse-lang-switcher-option:hover,.pulse-lang-switcher-option.is-active{background:#eff6ff}.pulse-lang-switcher-option-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.pulse-lang-switcher-option-label{font-size:13px;font-weight:600}.pulse-lang-switcher-option-native{color:var(--text-secondary);font-size:11px}.pulse-lang-switcher-check{color:#2563eb;font-size:13px;font-weight:700}.pulse-lang-switcher--loading{justify-content:center;align-items:center;width:64px;height:32px;display:inline-flex}.pulse-lang-switcher-spinner{border:2px solid #cbd5e1;border-top-color:#2563eb;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite pulse-lang-spin}@keyframes pulse-lang-spin{to{transform:rotate(360deg)}}.pulse-lang-switcher--portal .pulse-lang-switcher-btn,.pulse-lang-switcher--provider .pulse-lang-switcher-btn{color:#fff;box-shadow:none;background:0 0;border:1px solid #ffffffbf}.pulse-lang-switcher--portal .pulse-lang-switcher-btn:hover,.pulse-lang-switcher--provider .pulse-lang-switcher-btn:hover{background:#ffffff1f;border-color:#fff}.pulse-lang-switcher--portal .pulse-lang-switcher-caret,.pulse-lang-switcher--provider .pulse-lang-switcher-caret{opacity:.9;color:#fff}.pulse-lang-switcher--portal .pulse-lang-switcher-menu,.pulse-lang-switcher--provider .pulse-lang-switcher-menu{z-index:60;color:#0f172a;background:#fff;border-color:#0f172a1f}@media (max-width:480px){.pulse-lang-switcher-btn{padding:6px 8px}.pulse-lang-switcher-option-native{display:none}.pulse-lang-switcher-menu{min-width:180px}}.header-clock{font-variant-numeric:tabular-nums;white-space:nowrap;background:var(--bg-secondary,#f8fafc);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;align-items:flex-end;gap:2px;padding:6px 12px;display:flex}.header-clock-date{color:var(--text-secondary);font-size:12px;font-weight:500;line-height:1.2}.header-clock-time{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.2}.header-clock-zone{color:var(--text-secondary);font-size:12px;font-weight:500}.header-icon-btn{border:1px solid var(--border-color);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative}.header-icon-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.header-notification-dot{background:var(--color-danger);border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.header-notification-badge{background:var(--color-danger);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:12px;display:inline-flex;position:absolute;top:2px;right:2px}.notification-panel-footer{border-top:1px solid var(--border-color);padding:10px 12px}.notification-panel-footer-link{text-align:center;color:var(--color-primary,#0049b9);font-size:13px;font-weight:600;text-decoration:none;display:block}.notification-panel-footer-link:hover{text-decoration:underline}.notif-page-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:16px;display:flex}.notif-page{flex-direction:column;gap:16px;display:flex}.notif-summary-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.notif-summary-card{border:1px solid var(--border-color);background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.notif-summary-card--accent{background:#0049b90a;border-color:#0049b938}.notif-summary-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.notif-summary-value{color:var(--text-primary);font-size:22px;font-weight:700;line-height:1.2}.notif-board{padding:0;overflow:hidden}.notif-filter-bar{border-bottom:1px solid var(--border-color);background:#fafbfc;padding:14px 16px}.notif-filter-toggle{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.notif-page-list{margin:0;padding:0;list-style:none}.notif-page-item{border-bottom:1px solid var(--border-color);align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.notif-page-item:last-child{border-bottom:none}.notif-page-item--unread{background:linear-gradient(90deg,#0049b90f,#0000 56%)}.notif-page-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.notif-page-icon--appointment{color:#0049b9;background:#0049b91a}.notif-page-icon--front-desk{color:#b45309;background:#d977061f}.notif-page-item-main{flex:1;min-width:0}.notif-page-item-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.notif-page-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notif-page-type{text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary,#0049b9);font-size:11px;font-weight:700}.notif-page-type--appointment{color:#0049b9}.notif-page-type--front-desk{color:#b45309}.notif-unread-pill{text-transform:uppercase;letter-spacing:.04em;color:#1d4ed8;background:#2563eb1f;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.notif-page-time{color:var(--text-secondary);flex-shrink:0;font-size:12px}.notif-page-title{color:var(--text-primary);margin:0;font-size:15px;font-weight:600}.notif-page-body{color:var(--text-secondary);margin:6px 0 0;font-size:13px;line-height:1.45}.notif-page-meta-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.notif-page-actions{flex-shrink:0;align-items:flex-start;gap:8px;display:flex}.notif-empty{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:56px 24px;display:flex}.notif-empty-icon{background:var(--surface-hover);width:64px;height:64px;color:var(--text-secondary);border-radius:16px;justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}.notif-empty h3{color:var(--text-primary);margin:0 0 6px;font-size:16px;font-weight:650}.notif-empty p{max-width:360px;margin:0;font-size:13px;line-height:1.45}.notif-table-footer{border-top:1px solid var(--border-color);background:#fafbfc;padding:12px 16px}.notif-page-pager{border-top:1px solid var(--border-color);color:var(--text-secondary);justify-content:center;align-items:center;gap:16px;padding:12px 16px;font-size:13px;display:flex}@media (max-width:768px){.notif-summary-row{grid-template-columns:1fr}.notif-page-item{flex-wrap:wrap}.notif-page-actions{justify-content:flex-end;width:100%;padding-left:54px}.notif-filter-bar .filter-select{flex:140px}}.notification-bell{flex-shrink:0;position:relative}.notification-panel{border:1px solid var(--border-color);z-index:200;background:#fff;border-radius:12px;flex-direction:column;width:min(360px,100vw - 24px);max-height:min(420px,100vh - 120px);display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 32px #0f172a1f}.notification-panel-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.notification-panel-title{color:var(--text-primary);font-size:14px;font-weight:600}.notification-panel-action{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:12px;font-weight:500}.notification-panel-action:hover{text-decoration:underline}.notification-panel-empty{text-align:center;color:var(--text-secondary);padding:24px 16px;font-size:13px}.notification-list{margin:0;padding:6px;list-style:none;overflow-y:auto}.notification-list>li{position:relative}.notification-item{text-align:left;cursor:pointer;width:100%;transition:background var(--transition-fast);background:0 0;border:none;border-radius:8px;padding:10px 32px 10px 10px;display:block}.notification-item:hover{background:var(--surface-hover)}.notification-item--unread{background:#3b82f60f}.notification-item--unread:hover{background:#3b82f61a}.notification-item-main{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.notification-item-title{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.3}.notification-item-time{color:var(--text-secondary);flex-shrink:0;font-size:11px}.notification-item-body{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.4}.notification-item-meta{color:var(--text-secondary);background:var(--surface-hover);border-radius:999px;margin-top:6px;padding:2px 8px;font-size:11px;display:inline-block}.notification-item-dismiss{width:22px;height:22px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:16px;line-height:1;position:absolute;top:8px;right:6px}.notification-item-dismiss:hover{background:var(--surface-hover);color:var(--text-primary)}.header-user-btn{border:1px solid var(--border-color);cursor:pointer;transition:background var(--transition-fast);background:0 0;border-radius:8px;align-items:center;gap:8px;padding:4px 8px 4px 4px;display:flex}.header-user-btn:hover{background:var(--surface-hover)}.header-user-info{text-align:left}.header-user-name{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.2}.header-user-company{color:var(--color-primary);font-size:11px;font-weight:500}.user-profile-dropdown{flex-shrink:0;position:relative}.user-profile-menu{border:1px solid var(--border-color);z-index:200;background:#fff;border-radius:12px;min-width:240px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #0f172a1f}.sidebar .user-profile-dropdown{width:100%}.sidebar .user-profile-menu{inset:auto auto calc(100% + 8px) 0}.sidebar-user-btn{cursor:pointer;color:#fff;width:100%;transition:background var(--transition-fast);background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.sidebar-user-btn:hover{background:#ffffff14}.sidebar-user-text{text-align:left;flex:1;min-width:0}.user-profile-menu-header{align-items:center;gap:10px;padding:8px 10px;display:flex}.user-profile-menu-name{color:var(--text-primary);font-size:14px;font-weight:600}.user-profile-menu-email{color:var(--text-secondary);word-break:break-word;font-size:12px}.user-profile-menu-divider{background:var(--border-color);height:1px;margin:6px 0}.user-profile-menu-item{width:100%;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;text-decoration:none;display:flex}.user-profile-menu-item:hover{background:var(--surface-hover)}.user-profile-menu-item.danger{color:var(--color-danger)}.user-profile-menu-item.danger:hover{background:#fef2f2}.profile-page{flex-direction:column;gap:20px;width:100%;display:flex}.profile-summary-card{width:100%;padding:24px}.profile-summary-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.profile-summary-text{flex:1;min-width:200px}.profile-summary-name{margin:0 0 4px;font-size:24px;font-weight:700}.profile-summary-meta{color:var(--text-secondary);margin:0;font-size:14px}.profile-summary-actions{flex-wrap:wrap;gap:10px;display:flex}.profile-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 24px;padding:0 24px 24px;display:grid}.profile-info-row{flex-direction:column;gap:4px;display:flex}.profile-info-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.profile-info-value{color:var(--text-primary);font-size:15px}.profile-page .card form{padding:0 24px 24px}.profile-edit-avatar-section{border-bottom:1px solid var(--border-color);align-items:center;gap:20px;margin-bottom:20px;padding:24px 24px 8px;display:flex}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;display:flex}.account-settings-card{width:100%}.account-settings-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;display:grid}.account-settings-row .account-settings-card{flex-direction:column;min-width:0;display:flex}.account-settings-row .account-settings-section{flex-direction:column;flex:1;display:flex}.account-settings-row .form-actions{margin-top:auto}.account-settings-form-row{grid-template-columns:1fr}.account-settings-section{padding:0 24px 24px}.settings-toggle-list{flex-direction:column;gap:12px;margin:16px 0;display:flex}.settings-toggle-item{border:1px solid var(--border-color);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.settings-toggle-label{color:var(--text-primary);font-size:14px;font-weight:600}.settings-toggle-desc{color:var(--text-secondary);margin-top:2px;font-size:12px}.settings-note{color:var(--text-secondary);margin:0 0 8px;font-size:12px}@media (max-width:1200px){.profile-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:992px){.account-settings-row{grid-template-columns:1fr}}@media (max-width:768px){.profile-info-grid,.form-row{grid-template-columns:1fr}.profile-summary-header{flex-direction:column;align-items:flex-start}}.avatar{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-sm{width:28px;height:28px;font-size:11px}.avatar-lg{width:48px;height:48px;font-size:17px}.avatar-xl{width:64px;height:64px;font-size:22px}.avatar-blue{background:var(--color-primary)}.avatar-purple{background:#7c3aed}.avatar-green{background:#16a34a}.avatar-orange{background:#ea580c}.avatar-pink{background:#db2777}.avatar-teal{background:#0d9488}.btn{border-radius:var(--radius-btn);cursor:pointer;transition:background var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn svg{flex-shrink:0}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-outline-primary{color:var(--color-primary);border-color:var(--color-primary);background:#fff}.btn-outline-primary:hover:not(:disabled){background:var(--color-primary-light)}.btn-ghost-danger{color:var(--color-danger);background:0 0;border-color:#0000}.btn-ghost-danger:hover:not(:disabled){background:var(--color-danger-bg)}.btn-secondary{color:var(--text-primary);border-color:var(--border-color);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-ghost{color:var(--color-primary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--color-primary-light)}.btn-sm{padding:5px 12px;font-size:13px}.btn-lg{padding:11px 22px;font-size:15px}.btn-icon{width:36px;height:36px;padding:8px}.btn-icon.btn-sm{width:28px;height:28px;padding:4px}.badge{border-radius:var(--radius-badge);white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.badge-primary{background:var(--color-primary-light);color:var(--color-primary)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-gray{color:#374151;background:#f3f4f6}.badge-purple{color:#6d28d9;background:#ede9fe}.badge-orange{color:#c2410c;background:#fff7ed}.badge-teal{color:#0f766e;background:#f0fdfa}.badge-role-clinic-admin{color:#6d28d9;background:#ede9fe}.badge-role-front-desk{color:#c2410c;background:#fff7ed}.badge-role-workflow{color:#0369a1;background:#e0f2fe}.badge-role-provider{color:#15803d;background:#f0fdf4}.badge-active{background:var(--color-success-bg);color:var(--color-success)}.badge-inactive{color:#6b7280;background:#f3f4f6}.badge-minor{color:#c2410c;background:#fff7ed}.badge-incomplete{background:var(--color-danger-bg);color:var(--color-danger)}.badge-complete{background:var(--color-success-bg);color:var(--color-success)}.registration-badge-btn{cursor:pointer;font:inherit;border:none;align-items:center;gap:4px;display:inline-flex}.registration-badge-btn:hover{filter:brightness(.95)}.registration-missing-link{color:var(--color-danger);cursor:pointer;background:0 0;border:none;margin-top:2px;padding:0;font-size:11px;text-decoration:underline;display:block}.registration-missing-link:hover{color:var(--color-danger);opacity:.85}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-primary);font-size:13px;font-weight:600}.form-label .required{color:var(--color-danger);margin-left:2px}.form-input,.form-select,.form-textarea{border:1px solid var(--input-border);border-radius:var(--radius-input);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fff;outline:none;padding:9px 12px;font-size:14px;line-height:1.4}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px #3b82f61f}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-input.error,.form-select.error{border-color:var(--color-danger)}.form-error{color:var(--color-danger);align-items:center;gap:4px;font-size:12px;display:flex}.form-hint{color:var(--text-secondary);font-size:12px}.form-textarea{resize:vertical;min-height:80px}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:36px}.form-input-wrapper{position:relative}.form-input-icon{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.form-input-wrapper .form-input{padding-left:36px}.toggle{vertical-align:middle;flex-shrink:0;width:42px;height:24px;display:inline-block;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;transition:background var(--transition-base);background:#d1d5db;border-radius:24px;position:absolute;inset:0}.toggle-slider:before{content:"";width:18px;height:18px;transition:transform var(--transition-base);box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle input:checked+.toggle-slider{background:var(--toggle-active)}.toggle input:checked+.toggle-slider:before{transform:translate(18px)}.toggle input:disabled+.toggle-slider{opacity:.55;cursor:not-allowed}.toggle-field{align-items:center;gap:10px;display:flex}.toggle-field-label{color:var(--text-secondary);font-size:13px;font-weight:600}.card{background:var(--surface-bg);border-radius:var(--radius-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:20px 24px}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-title{color:var(--text-primary);font-size:15px;font-weight:700}.card-subtitle{color:var(--text-secondary);margin-top:2px;font-size:13px}.stat-card{background:var(--surface-bg);border-radius:var(--radius-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:20px;display:flex}.stat-card-label{color:var(--text-secondary);font-size:13px;font-weight:500}.stat-card-value{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:28px;font-weight:700;line-height:1}.stat-card-value.danger{color:var(--color-danger)}.stat-card-value.warning{color:var(--color-warning)}.stat-card-value.success{color:var(--color-success)}.stat-card-value.primary{color:var(--color-primary)}.stat-card--primary{background:#eff6ff;border-color:#bfdbfe}.stat-card--danger{background:#fef2f2;border-color:#fecaca}.stat-card--warning{background:#fffbeb;border-color:#fde68a}.stat-card--info{background:#eff6ff;border-color:#bfdbfe}.table-wrapper{background:var(--surface-bg);border-radius:var(--radius-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);width:100%;min-width:0;max-width:100%;overflow:auto visible}.table-wrapper--menu-visible{overflow:visible}.action-menu-dropdown{border:1px solid var(--border-color);box-shadow:var(--shadow-md);z-index:200;background:#fff;border-radius:8px;flex-direction:column;min-width:160px;display:flex;position:absolute;bottom:calc(100% + 4px);right:0;overflow:hidden}.action-menu-dropdown .dropdown-item{text-align:left;cursor:pointer;transition:background var(--transition-fast);width:100%;color:var(--text-primary);background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.action-menu-dropdown button:not(.dropdown-item){text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;padding:10px 14px;font-size:13px;font-weight:500;display:block}.action-menu-dropdown button:not(.dropdown-item):hover,.action-menu-dropdown .dropdown-item:hover{background:var(--surface-hover)}.action-menu-dropdown .dropdown-item--danger,.action-menu-dropdown .dropdown-item--danger svg{color:var(--color-danger)}.action-menu-dropdown .dropdown-item--edit{color:var(--text-primary)}.action-menu-dropdown .dropdown-item--edit svg{color:var(--color-primary)}.alert-employer-pay{border-radius:var(--radius-card);color:var(--text-secondary);background:#fffbeb;border:1px solid #fde68a;align-items:flex-start;gap:10px;padding:12px 16px;font-size:13px;line-height:1.55;display:flex}.alert-employer-pay strong{color:#b45309;font-weight:700}.alert-employer-pay-icon{color:#d97706;flex-shrink:0;margin-top:1px}.tabs--intake-fields{border-bottom:none;gap:8px;padding:0}.tabs--intake-fields .tab-btn{border-bottom:none;border:1px solid var(--border-color);color:var(--text-secondary);background:#fff;border-radius:8px;margin-bottom:0;padding:8px 14px;font-size:13px;font-weight:600}.tabs--intake-fields .tab-btn:hover{color:var(--text-primary);background:#f9fafb}.tabs--intake-fields .tab-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.intake-minor-banner{margin-bottom:0}.intake-minor-banner-title{color:#92400e;font-weight:700}.intake-minor-banner-text{color:#92400e;margin:0;font-size:13px;font-weight:400;line-height:1.55}.intake-minor-section{background:#fffbeb;border:1px solid #fcd34d;border-radius:12px;overflow:hidden}.intake-minor-section-header{background:#fffbeb;align-items:flex-start;gap:12px;padding:20px 24px 16px;display:flex}.intake-minor-section-icon{color:#c2410c;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.intake-minor-section-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:700;line-height:1.3}.intake-minor-section-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:13px;line-height:1.45}.intake-minor-table-wrapper{background:#fffbeb;padding:0 20px 20px}.intake-minor-table-wrapper .data-table{background:#fff;border:1px solid #fde68a;border-radius:8px;overflow:hidden}.intake-minor-table-wrapper .data-table thead{background:0 0;border-bottom:1px solid #fde68a}.intake-minor-table-wrapper .data-table th{color:#9ca3af;padding:8px 16px 12px;font-size:11px}.intake-minor-table-wrapper .data-table tbody tr,.intake-minor-table-wrapper .data-table tbody tr:hover{background:#fff}.intake-minor-table-wrapper .data-table td{border-bottom:1px solid #f3f4f6;padding:12px 16px}.intake-minor-table-wrapper .data-table tbody tr:first-child td{border-top:1px solid #fde68a}.intake-minor-footnote{color:var(--text-secondary);margin:12px 0 0;font-size:12px;line-height:1.55}.badge-minor-field{letter-spacing:.02em;color:#b45309;background:#fef3c7;border-radius:4px;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.badge-system-field{letter-spacing:.02em;color:#1d4ed8;background:#dbeafe;border-radius:4px;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.block-dates-page{flex-direction:column;gap:20px;display:flex}.block-dates-tabs{margin-bottom:0}.block-dates-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.block-dates-left{flex-direction:column;gap:16px;display:flex}.block-dates-calendar-card{padding:16px}.block-dates-calendar-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.block-dates-calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.block-dates-calendar-dow{text-align:center;color:var(--text-secondary);padding:4px 0;font-size:11px;font-weight:700}.block-dates-calendar-day{aspect-ratio:1;border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:8px;font-size:13px;font-weight:600}.block-dates-calendar-day.empty{cursor:default;background:0 0;border:none}.block-dates-calendar-day.selected{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.block-dates-calendar-day.blocked-full:not(.selected){color:#991b1b;background:#fef2f2;border-color:#fecaca}.block-dates-calendar-day.blocked-partial:not(.selected){color:#92400e;background:#fffbeb;border-color:#fde68a}.block-dates-legend{color:var(--text-secondary);flex-direction:column;gap:6px;margin-top:14px;font-size:12px;display:flex}.block-dates-legend .legend-swatch{vertical-align:middle;border-radius:3px;width:12px;height:12px;margin-right:8px;display:inline-block}.block-dates-legend .legend-swatch.full{background:#fecaca}.block-dates-legend .legend-swatch.partial{background:#fde68a}.block-dates-info{align-items:flex-start;gap:10px;margin-bottom:0;padding:12px 14px;display:flex}.block-dates-info p{margin:0;font-size:13px;line-height:1.5}.block-dates-form-card{padding:20px 24px}.block-dates-form-title{margin:0 0 16px;font-size:18px;font-weight:700}.block-dates-form{flex-direction:column;gap:14px;display:flex}.block-dates-radio-row{gap:20px;font-size:13px;font-weight:600;display:flex}.block-dates-radio-row label{align-items:center;gap:8px;display:flex}.block-dates-notify-box{background:#f8fbff;border:1px solid #dbeafe;border-radius:8px;padding:12px 14px}.block-dates-notify-label{align-items:center;gap:8px;margin-bottom:6px;font-size:13px;font-weight:600;display:flex}.block-dates-notify-box p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.45}.block-dates-form-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.block-dates-table-card{padding:0;overflow:hidden}.block-dates-table-title{border-bottom:1px solid var(--border-color);margin:0;padding:20px 24px;font-size:18px;font-weight:700}.block-dates-empty{text-align:center;color:var(--text-secondary);padding:40px}.block-dates-type-badge{border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.block-dates-type-badge.full{color:#991b1b;background:#fee2e2}.block-dates-type-badge.partial{color:#92400e;background:#fef3c7}.block-dates-type-sub{color:var(--text-secondary);margin-top:4px;font-size:12px}.block-dates-row-actions{justify-content:flex-end;gap:8px;display:flex}.block-dates-inherit-card{background:#f8f6ff;border:1px solid #dcd3ff;padding:20px}.block-dates-inherit-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.block-dates-inherit-header h3{color:#4f46e5;margin:0 0 4px;font-size:15px;font-weight:700}.block-dates-inherit-header p{color:var(--text-secondary);margin:0;font-size:12px}.block-dates-inherit-body{flex-direction:column;gap:12px;max-width:420px;margin-top:16px;display:flex}@media (max-width:960px){.block-dates-layout{grid-template-columns:1fr}}.data-table{border-collapse:collapse;width:100%}.data-table thead{background:var(--content-bg);border-bottom:1px solid var(--border-color)}.data-table th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);text-align:left;white-space:nowrap;padding:10px 16px;font-size:11px;font-weight:700}.data-table td{color:var(--text-primary);vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:14px 16px;font-size:14px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--surface-hover)}.table-footer{border-top:1px solid var(--border-color);background:#fafafa;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.table-count{color:var(--text-secondary);font-size:13px}.pagination{align-items:center;gap:4px;display:flex}.pagination-btn{border:1px solid var(--border-color);cursor:pointer;width:32px;height:32px;color:var(--text-primary);transition:background var(--transition-fast), color var(--transition-fast);background:#fff;border-radius:6px;justify-content:center;align-items:center;font-size:13px;font-weight:500;display:flex}.pagination-btn:hover:not(:disabled){background:var(--surface-hover)}.pagination-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;background:#00000073;justify-content:center;align-items:center;padding:24px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius-card);box-shadow:var(--shadow-modal);background:#fff;width:100%;max-width:520px;max-height:90vh;animation:.2s slideUp;overflow-y:auto}.modal-lg{max-width:720px}.modal-xl{max-width:960px}.modal-2xl{width:100%;max-width:min(1140px,100vw - 40px)}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-title{color:var(--text-primary);font-size:17px;font-weight:700}.modal-body{padding:20px 24px}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex}.modal-close{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);transition:background var(--transition-fast);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--surface-hover);color:var(--text-primary)}.form-section-title{color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);padding-bottom:8px;font-size:13px;font-weight:700}.tabs{border-bottom:1px solid var(--border-color);gap:0;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 16px;font-size:14px;font-weight:500;display:flex}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;width:100%;min-width:0;max-width:100%;display:flex}.search-input-wrapper{flex:1;min-width:min(200px,100%);max-width:320px;position:relative}.search-icon{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-input{border:1px solid var(--input-border);border-radius:var(--radius-input);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fff;outline:none;padding:8px 12px 8px 34px;font-size:14px}.search-input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px #3b82f61f}.filter-select{border:1px solid var(--input-border);border-radius:var(--radius-input);color:var(--text-primary);cursor:pointer;appearance:none;transition:border-color var(--transition-fast);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 8px center no-repeat;outline:none;padding:8px 32px 8px 12px;font-size:14px}.filter-select:focus{border-color:var(--focus-ring)}.filter-bar-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.filter-bar-actions .btn{white-space:nowrap}.responsive-split-layout{align-items:flex-start;gap:24px;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.page-title{color:var(--text-primary);font-size:22px;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-top:2px;font-size:14px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;width:100%;min-width:0;max-width:100%;margin-bottom:20px;display:grid}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.alert{border-radius:var(--radius-card);align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.alert-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid #fde68a}.alert-danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid #fecaca}.alert-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid #bbf7d0}.alert-info{background:var(--color-info-bg);color:var(--color-info);border:1px solid #0049b92e}.alert--with-action{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.alert-body{flex:1;align-items:flex-start;gap:10px;min-width:240px;display:flex}.table-provider-select{border:1px solid var(--border-color);width:100%;max-width:180px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:500}.table-provider-select:focus{border-color:var(--focus-ring);outline:none;box-shadow:0 0 0 3px #0049b91f}.table-actions{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.data-table th.table-actions-col,.data-table td.table-actions-col{white-space:nowrap;vertical-align:middle;width:1%;min-width:168px}.appointments-table th.appt-provider-col,.appointments-table td.appt-provider-col{white-space:nowrap;vertical-align:top;width:1%;padding-left:12px;padding-right:12px}.appt-provider-cell{width:220px;min-width:0;max-width:100%;display:block;position:relative}.appt-provider-cell--disabled{opacity:.72;pointer-events:none}.appt-provider-cell--disabled .appt-provider-trigger{cursor:default;background:#f8fafc;border-color:#e2e8f0}.appt-provider-trigger{border:1px solid var(--border-color);text-align:left;cursor:pointer;box-sizing:border-box;width:100%;min-height:58px;transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fff;border-radius:8px;align-items:center;gap:8px;margin:0;padding:8px 10px;display:flex}.appt-provider-trigger:hover:not(:disabled){background:#f8fafc;border-color:#93c5fd;box-shadow:0 1px 3px #0f172a0f}.appt-provider-cell--open .appt-provider-trigger{border-color:var(--color-primary);background:#f8fafc;box-shadow:0 0 0 3px #0049b91f}.appt-provider-trigger:focus-visible{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #0049b91f}.appt-provider-trigger-body{flex:1;min-width:0}.appt-provider-chevron{color:#9ca3af;width:20px;height:20px;transition:transform var(--transition-fast), color var(--transition-fast);flex-shrink:0;justify-content:center;align-self:center;align-items:center;display:flex}.appt-provider-trigger:hover:not(:disabled) .appt-provider-chevron,.appt-provider-cell--open .appt-provider-chevron{color:var(--color-primary)}.appt-provider-cell--open .appt-provider-chevron{transform:rotate(180deg)}.appt-provider-assigned,.appt-provider-unassigned{align-items:center;gap:8px;width:100%;min-height:42px;display:flex}.appt-provider-unassigned-icon{color:#9ca3af;background:#f9fafb;border:1.5px solid #d1d5db;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.appt-provider-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.appt-provider-avatar--sm{width:32px;height:32px;font-size:11px}.appt-provider-avatar--blue{color:#1d4ed8;background:#dbeafe}.appt-provider-avatar--purple{color:#6d28d9;background:#ede9fe}.appt-provider-avatar--green{color:#15803d;background:#dcfce7}.appt-provider-avatar--orange{color:#c2410c;background:#ffedd5}.appt-provider-avatar--pink{color:#be185d;background:#fce7f3}.appt-provider-avatar--teal{color:#0f766e;background:#ccfbf1}.appt-provider-info{flex:1;grid-template-rows:repeat(3,14px);align-content:center;gap:2px;min-width:0;display:grid}.appt-provider-line{text-overflow:ellipsis;white-space:nowrap;min-height:14px;line-height:14px;overflow:hidden}.appt-provider-name{color:var(--text-primary);font-size:13px;font-weight:600}.appt-provider-specialty{color:var(--text-secondary);font-size:11px}.appt-provider-location{color:#9ca3af;font-size:11px}.appt-provider-unassigned-label{color:#9ca3af;font-size:13px;font-weight:500}.appt-provider-assign-hint{color:var(--color-primary);font-size:11px;font-weight:500}.appt-provider-dropdown{z-index:250;border:1px solid var(--border-color);background:#fff;border-radius:12px;min-width:280px;max-width:320px;padding:8px 0;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 30px #0f172a1f}.appt-provider-dropdown-header{letter-spacing:.06em;text-transform:uppercase;color:#9ca3af;padding:8px 14px 10px;font-size:11px;font-weight:700}.appt-provider-dropdown-list{flex-direction:column;gap:4px;max-height:280px;padding:0 8px;display:flex;overflow-y:auto}.appt-provider-dropdown-empty{color:var(--text-secondary);padding:12px 14px;font-size:13px}.appt-provider-dropdown-section-label{letter-spacing:.04em;text-transform:uppercase;color:#9ca3af;padding:10px 14px 6px;font-size:11px;font-weight:700}.appt-provider-option{text-align:left;cursor:pointer;width:100%;transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1.5px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.appt-provider-option:hover,.appt-provider-option--highlighted{background:#f0f7ff}.appt-provider-option--selected{background:#fff;border-color:#111827}.appt-provider-option-text{flex:1;min-width:0}.appt-provider-dropdown-divider{background:var(--border-color);height:1px;margin:8px 0 4px}.appt-provider-remove{color:#9ca3af;cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.appt-provider-remove:hover{color:#6b7280;background:#f9fafb}@media (max-width:1200px){.appt-provider-cell{width:200px}}@media (max-width:768px){.appointments-table th.appt-provider-col,.appointments-table td.appt-provider-col{white-space:normal}.appt-provider-cell,.appt-provider-trigger{width:100%;max-width:100%}}.patient-profile-card{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:24px}.patient-profile-layout{align-items:flex-start;gap:20px;display:flex}.patient-profile-main{flex:1;min-width:0}.patient-profile-name-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.patient-profile-name{color:var(--text-primary);margin:0;font-size:22px;font-weight:700}.patient-profile-demographics{color:var(--text-secondary);margin-bottom:14px;font-size:14px}.patient-profile-contact-grid{grid-template-columns:1fr 1fr;gap:10px 24px;display:grid}.patient-profile-contact-item{color:var(--text-primary);align-items:center;gap:8px;font-size:14px;display:flex}.patient-profile-contact-item svg{color:var(--text-secondary);flex-shrink:0}.patient-profile-actions{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.change-log-panel{min-height:160px}.change-log-timeline{border-left:2px solid var(--border-color);flex-direction:column;gap:14px;margin:0;padding:4px 0 4px 8px;list-style:none;display:flex}.change-log-timeline-item{padding-left:18px;position:relative}.change-log-timeline-dot{width:12px;height:12px;box-shadow:0 0 0 1px var(--border-color);background:#94a3b8;border:2px solid #fff;border-radius:50%;position:absolute;top:10px;left:-7px}.change-log-timeline-item--primary .change-log-timeline-dot{background:#2563eb}.change-log-timeline-item--success .change-log-timeline-dot{background:#16a34a}.change-log-timeline-item--danger .change-log-timeline-dot{background:#dc2626}.change-log-timeline-item--info .change-log-timeline-dot{background:#7c3aed}.change-log-timeline-card{border:1px solid var(--border-color);background:#fff;border-radius:10px;padding:12px 14px}.change-log-timeline-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.change-log-action-badge{text-transform:uppercase;letter-spacing:.03em;color:#475569;background:#f1f5f9;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.change-log-action-badge--primary{color:#1d4ed8;background:#dbeafe}.change-log-action-badge--success{color:#15803d;background:#dcfce7}.change-log-action-badge--danger{color:#b91c1c;background:#fee2e2}.change-log-action-badge--info{color:#6d28d9;background:#ede9fe}.change-log-timeline-time{color:var(--text-secondary);font-size:12px}.change-log-timeline-body{color:var(--text-primary);margin:0;font-size:14px;line-height:1.45}.change-log-timeline-meta{color:var(--text-secondary);margin-top:6px;font-size:12px}.appointment-status-actions{flex-direction:column;gap:8px;min-width:200px;display:flex;position:relative}.appointment-status-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:11px;font-weight:700}.appointment-status-trigger{cursor:pointer;border:none;justify-content:space-between;gap:8px;width:100%}.appointment-status-trigger:disabled{opacity:.6;cursor:not-allowed}.appointment-status-menu{z-index:40;border:1px solid var(--border-color);background:#fff;border-radius:12px;flex-direction:column;gap:4px;min-width:240px;margin:0;padding:8px;list-style:none;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #0f172a1f}.appointment-status-option{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;width:100%;padding:4px}.appointment-status-option:hover,.appointment-status-option.is-selected{background:var(--surface-hover)}.appointment-status-option .queue-status-pill{justify-content:flex-start;gap:8px;width:100%}.tab-btn-count--new{color:#dc2626;font-weight:700}.appointment-detail-nav{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.appointment-detail-nav .btn{padding:10px 16px}.patient-profile-actions .btn{justify-content:center;min-width:160px}.btn-patient-sms{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-patient-sms:hover{background:var(--color-primary-dark,#003d9e)}.btn-patient-email{color:#fff;background:#7c3aed;border-color:#7c3aed}.btn-patient-email:hover{background:#6d28d9}.patient-profile-edit-row{border-top:1px solid var(--border-color);justify-content:flex-end;margin-top:16px;padding-top:16px;display:flex}.patient-comms-modal{width:100%;max-width:520px}.patient-comms-modal-sub{color:var(--text-secondary);margin:6px 0 0;font-size:13px;line-height:1.45}.patient-comms-textarea{resize:vertical;min-height:120px}.patient-comms-note{color:#854d0e;background:#fef9c3;border-radius:8px;margin-top:4px;padding:12px 14px;font-size:13px;line-height:1.45}.patient-comms-note--email{background:#fef9c3}.patient-comms-view-field{background:var(--bg-secondary,#f8fafc);border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;font-size:14px}.patient-comms-view-body{background:var(--bg-secondary,#f8fafc);border:1px solid var(--border-color);white-space:pre-wrap;word-break:break-word;border-radius:8px;padding:12px 14px;font-size:14px;line-height:1.55}.tabs--patient-profile .tab-btn{font-size:13px}@media (max-width:900px){.patient-profile-layout{flex-direction:column}.patient-profile-actions{flex-flow:wrap;width:100%}.patient-profile-contact-grid{grid-template-columns:1fr}}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.active{background:var(--color-success)}.status-dot.inactive{background:#d1d5db}.status-dot.warning{background:var(--color-warning)}.permissions-matrix{border:1px solid var(--border-color);border-radius:var(--radius-card);overflow:hidden}.permissions-matrix-header,.permissions-matrix-row{grid-template-columns:minmax(200px,1.4fr) repeat(4,minmax(72px,1fr));align-items:center;gap:8px;display:grid}.permissions-matrix-header{border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);background:#f8fafc;padding:12px 16px;font-size:11px;font-weight:700}.permissions-matrix-row{border-bottom:1px solid var(--border-color);background:#fff;padding:12px 16px}.permissions-matrix-row:last-child{border-bottom:none}.permissions-group{border-bottom:1px solid var(--border-color)}.permissions-group:last-child{border-bottom:none}.permissions-group-title{text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary);background:var(--color-primary-light);border-bottom:1px solid #0049b914;padding:10px 16px;font-size:11px;font-weight:700}.permissions-matrix-module-col{color:var(--text-primary);font-size:14px;font-weight:500}.permissions-matrix-action-col{justify-content:center;align-items:center;display:flex}.permissions-toggle{margin:0 auto}@media (max-width:900px){.permissions-matrix-header{display:none}.permissions-matrix-row{grid-template-columns:1fr;gap:12px;padding:16px}.permissions-matrix-module-col{margin-bottom:4px}.permissions-matrix-action-col{justify-content:space-between;padding:4px 0}.permissions-matrix-action-col:before{content:attr(data-action);color:var(--text-secondary);text-transform:uppercase;font-size:12px;font-weight:600}}.booking-container{background:var(--content-bg);justify-content:center;align-items:flex-start;min-height:100vh;padding:32px 16px;display:flex}.booking-card{background:var(--surface-bg);border-radius:16px;width:100%;max-width:560px;padding:32px;box-shadow:0 8px 40px #0049b91a}.booking-progress{align-items:center;gap:0;margin-bottom:28px;display:flex}.booking-progress-step{height:4px;transition:background var(--transition-base);background:#e5e7eb;border-radius:2px;flex:1}.booking-progress-step.done{background:var(--color-primary)}.booking-progress-step+.booking-progress-step{margin-left:4px}.booking-step-label{color:var(--text-secondary);margin-bottom:6px;font-size:13px}.booking-title{color:var(--text-primary);margin-bottom:20px;font-family:Outfit,sans-serif;font-size:22px;font-weight:700}.reason-card{border:2px solid var(--border-color);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);text-align:left;width:100%;font:inherit;background:#fff;border-radius:12px;flex-direction:column;gap:4px;margin-bottom:10px;padding:16px 18px;display:flex}.reason-card:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.reason-card.selected{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 0 0 4px #0049b91a}.reason-card-name{color:var(--text-primary);font-size:15px;font-weight:600}.reason-card-meta{color:var(--text-secondary);gap:12px;font-size:13px;display:flex}.slot-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;display:grid}.slot-pill{text-align:center;border:1.5px solid var(--border-color);cursor:pointer;color:var(--text-primary);transition:all var(--transition-fast);background:#fff;border-radius:8px;padding:10px 8px;font-size:14px;font-weight:500}.slot-pill:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.slot-pill.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.slot-pill.disabled{opacity:.35;cursor:not-allowed}.kiosk-screen{background:linear-gradient(160deg, #0049b9 0%, var(--color-navy) 100%);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex}.kiosk-btn{color:#fff;cursor:pointer;transition:background var(--transition-base), border-color var(--transition-base);text-align:center;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:16px;width:100%;max-width:380px;margin:8px auto;padding:28px 32px;font-size:20px;font-weight:700;display:block}.kiosk-btn:hover{background:#fff3;border-color:#fff9}.kiosk-btn-primary{background:var(--color-primary);border-color:var(--color-primary)}.kiosk-portal{background:#eef3fb;flex-direction:column;min-height:100vh;display:flex}.kiosk-portal-header{background:var(--color-primary);color:#fff;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.kiosk-portal-brand{align-items:center;gap:10px;display:flex}.kiosk-portal-logo{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:inline-flex}.kiosk-portal-brand strong{font-size:16px;line-height:1.2;display:block}.kiosk-portal-brand span{letter-spacing:.06em;opacity:.85;font-size:11px}.kiosk-portal-secure{opacity:.95;align-items:center;gap:6px;font-size:12px;display:flex}.kiosk-portal-main{flex:1;width:100%;max-width:560px;margin:0 auto;padding:24px 20px 40px}.kiosk-portal-back{color:#5b6b7c;margin-bottom:16px;font-size:14px;text-decoration:none;display:inline-block}.kiosk-portal-footer{text-align:center;color:#7a9cc4;padding:16px;font-size:12px}.kiosk-home{text-align:center}.kiosk-home-status{color:#1a7f4b;background:#e8f8ee;border-radius:999px;align-items:center;gap:8px;margin-bottom:20px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.kiosk-status-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;display:inline-block}.kiosk-status-dot--amber{background:#f59e0b}.kiosk-home-title{color:#0f2b4d;margin:0 0 8px;font-size:32px;font-weight:700}.kiosk-home-subtitle{color:#5b6b7c;margin:0 0 20px;font-size:16px}.kiosk-wait-banner{color:#1a4f8c;background:#e8f1fc;border:1px solid #c5daf5;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-bottom:24px;padding:12px 16px;font-size:14px;display:flex}.kiosk-home-actions{flex-direction:column;gap:12px;display:flex}.kiosk-action-card{color:inherit;background:#fff;border:1px solid #d8e6f5;border-radius:14px;align-items:center;gap:14px;padding:18px 16px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #1a6fd40f}.kiosk-action-card:hover{border-color:var(--color-primary);box-shadow:0 4px 14px #1a6fd41f}.kiosk-action-card--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.kiosk-action-card--primary .kiosk-action-text small{color:#ffffffd9}.kiosk-action-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.kiosk-action-icon--blue{color:var(--color-primary);background:#1a6fd41f}.kiosk-action-card--primary .kiosk-action-icon--blue{color:#fff;background:#fff3}.kiosk-action-icon--amber{color:#d97706;background:#fef3c7}.kiosk-action-text{text-align:left;flex:1}.kiosk-action-text strong{margin-bottom:2px;font-size:17px;display:block}.kiosk-action-text small{color:#6b7c8f;font-size:13px}.kiosk-action-chevron{color:#9ab4d0;font-size:24px}.kiosk-action-card--primary .kiosk-action-chevron{color:#fffc}.kiosk-inactivity-note{color:#8aa0b8;margin-top:28px;font-size:13px}.kiosk-center-panel{text-align:center}.kiosk-form-card{text-align:center;background:#fff;border:1px solid #d8e6f5;border-radius:16px;padding:28px 24px;box-shadow:0 4px 20px #0f2b4d0f}.kiosk-panel-title{color:#0f2b4d;margin:16px 0 8px;font-size:26px;font-weight:700}.kiosk-panel-subtitle{color:#5b6b7c;margin:0 0 20px;font-size:15px}.kiosk-icon-circle{border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto;display:inline-flex}.kiosk-icon-circle--sm{width:56px;height:56px}.kiosk-icon-circle--blue{color:var(--color-primary);background:#e8f1fc}.kiosk-icon-circle--green{color:#16a34a;background:#dcfce7}.kiosk-icon-circle--amber{color:#d97706;background:#fef3c7}.kiosk-icon-circle--red{color:#dc2626;background:#fee2e2}.kiosk-form{text-align:left;flex-direction:column;gap:14px;display:flex}.kiosk-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:480px){.kiosk-form-row{grid-template-columns:1fr}}.kiosk-dob-picker{position:relative}.kiosk-dob-trigger{color:#94a3b8;cursor:pointer;text-align:left;background:#fff;border:1px solid #cbd5e1;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px 14px;font-size:16px;display:flex}.kiosk-dob-trigger.has-value{color:#0f172a}.kiosk-dob-trigger svg{color:var(--color-primary);flex-shrink:0}.kiosk-dob-hidden-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.kiosk-dob-popover{z-index:20;background:#fff;border:1px solid #c5daf5;border-radius:14px;padding:14px;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 12px 32px #0f2b4d26}.kiosk-dob-popover-header{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.kiosk-dob-select{color:#0f2b4d;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:10px 12px;font-size:15px}.kiosk-dob-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;display:grid}.kiosk-dob-weekdays span{text-align:center;color:#64748b;padding:4px 0;font-size:12px;font-weight:600}.kiosk-dob-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.kiosk-dob-day{aspect-ratio:1;color:#0f2b4d;cursor:pointer;background:0 0;border:none;border-radius:10px;min-height:40px;font-size:15px;font-weight:500}.kiosk-dob-day:hover:not(.is-disabled):not(.kiosk-dob-day--empty){background:#e8f1fc}.kiosk-dob-day.is-selected{background:var(--color-primary);color:#fff}.kiosk-dob-day.is-disabled{color:#cbd5e1;cursor:not-allowed}.kiosk-dob-day--empty{pointer-events:none}.kiosk-field span{color:#334155;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.kiosk-field input{border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:12px 14px;font-size:16px}.kiosk-field small{color:#94a3b8;margin-top:4px;font-size:12px;display:block}.kiosk-btn-primary{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.kiosk-btn-outline{color:#0f2b4d;cursor:pointer;background:#fff;border:1px solid #c5daf5;border-radius:12px;justify-content:center;align-items:center;margin-top:10px;padding:14px 20px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.kiosk-btn-full{width:100%}.kiosk-detail-card{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:14px;padding:16px}.kiosk-detail-card-label{letter-spacing:.06em;color:#94a3b8;margin-bottom:10px;font-size:11px}.kiosk-detail-row{justify-content:space-between;padding:8px 0;font-size:15px;display:flex}.kiosk-detail-row span{color:#64748b}.kiosk-missing-fields{color:#dc2626;border-top:1px solid #f1f5f9;margin-top:12px;padding-top:12px;font-size:14px}.kiosk-missing-fields ul{margin:8px 0 0;padding-left:18px}.kiosk-info-box{text-align:left;border-radius:12px;margin-bottom:16px;padding:16px;font-size:14px}.kiosk-info-box--blue{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.kiosk-info-box--amber{color:#92400e;background:#fffbeb;border:1px solid #fcd34d}.kiosk-info-box-title{align-items:center;gap:8px;margin-bottom:8px;font-weight:700;display:flex}.kiosk-bullet-list,.kiosk-steps-list{margin:0;padding-left:0;list-style:none}.kiosk-bullet-list li{margin-bottom:6px}.kiosk-steps-list li{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.kiosk-steps-list li span{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-flex}.kiosk-wait-time{color:var(--color-primary);margin:8px 0;font-size:48px;font-weight:700}.kiosk-queue-text{color:#5b6b7c;margin-bottom:20px}.kiosk-footnote{color:#8aa0b8;margin-top:12px;font-size:13px}.kiosk-error-text{color:#dc2626;margin:8px 0;font-size:14px}.kiosk-alert-badge{color:#d97706;background:#fffbeb;border:1px solid #fcd34d;border-radius:999px;align-items:center;gap:8px;margin-bottom:20px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.kiosk-loading-dots{justify-content:center;gap:8px;margin-top:20px;display:flex}.kiosk-loading-dots span{background:#93c5fd;border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite kioskDotWave}.kiosk-loading-dots span:nth-child(2){animation-delay:.15s}.kiosk-loading-dots span:nth-child(3){animation-delay:.3s}@keyframes kioskDotWave{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}.kiosk-alert-overlay{z-index:10000;background:#0f2b4d73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.kiosk-alert-modal{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:420px;padding:28px 24px;animation:.25s slideUp;box-shadow:0 20px 50px #0f2b4d33}.kiosk-alert-icon{color:#d97706;background:#fef3c7;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:12px;font-size:28px;font-weight:700;display:inline-flex}.kiosk-alert-title{color:#0f2b4d;margin:0 0 8px;font-size:20px;font-weight:700}.kiosk-alert-subtitle{color:#64748b;margin:0 0 16px;font-size:14px}.kiosk-alert-details{text-align:left;margin:0 0 20px;font-size:14px}.kiosk-alert-details div{border-bottom:1px solid #f1f5f9;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.kiosk-alert-details dt{color:#64748b;font-weight:500}.kiosk-alert-details dd{color:#0f2b4d;text-align:right;margin:0;font-weight:600}.kiosk-alert-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:12px;font-size:15px;font-weight:600}.permissions-na{color:#cbd5e1;font-size:14px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.fade-in{animation:.2s fadeIn}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:6px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.auth-page{background:var(--content-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface-bg);border-radius:16px;width:100%;max-width:420px;padding:40px;box-shadow:0 8px 40px #0049b91a}.auth-logo{align-items:center;gap:10px;margin-bottom:28px;display:flex}.auth-logo-icon{background:var(--color-primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;font-weight:800;display:flex}.auth-logo-name{color:var(--text-primary);font-size:20px;font-weight:800}.auth-title{color:var(--text-primary);margin-bottom:4px;font-size:22px;font-weight:700}.auth-subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:14px}.auth-form{flex-direction:column;gap:16px;display:flex}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-danger{color:var(--color-danger)!important}.text-success{color:var(--color-success)!important}.text-warning{color:var(--color-warning)!important}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-sm{font-size:13px}.font-xs{font-size:12px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.w-full{width:100%}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeslots-main-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0049b90f}.timeslots-day-tab{color:#374151;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600}.timeslots-day-tab:hover{color:var(--color-primary)}.timeslots-day-tab.active{color:#fff;background:#0049b9}.timeslots-copy-banner{color:#fff;background:#0049b9;border-radius:10px;padding:16px 20px}.timeslots-copy-day{cursor:pointer;color:#fff;transition:all var(--transition-fast);background:0 0;border:1px solid #ffffff8c;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.timeslots-copy-day.selected{color:#0049b9;background:#fff;border-color:#0049b9}.timeslots-grid-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.timeslots-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (max-width:900px){.timeslots-grid{grid-template-columns:repeat(2,1fr)}}.timeslots-slot{cursor:pointer;min-height:88px;transition:all var(--transition-fast);border-radius:10px;flex-direction:column;justify-content:center;padding:14px 16px;display:flex;position:relative}.timeslots-slot.available{background:#f0f6ff;border:1px solid #0049b9}.timeslots-slot.full{background:#fff5f5;border:1px solid #fecaca}.timeslots-slot.blocked{background:#f3f4f6;border:1px solid #d1d5db}.timeslots-slot.selected{border:2px solid #0049b9}.timeslots-slot.available.selected{background:#f0f6ff}.timeslots-slot.blocked.selected{background:#f3f4f6}.timeslots-slot-time{color:#0f1729;font-size:14px;font-weight:700}.timeslots-slot-meta{color:#6b7280;margin-top:4px;font-size:11px}.timeslots-slot-dot{background:#0049b9;border-radius:50%;width:8px;height:8px;position:absolute;top:12px;right:12px}.timeslots-slot-full-badge{color:#fb2c36;color:lab(55.4814% 75.0732 48.8528);background:#ffc9c9;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700;position:absolute;top:10px;right:10px}.timeslots-slot-blocked-icon{color:#6b7280;position:absolute;top:10px;right:10px}.timeslots-empty{text-align:center;color:var(--text-secondary);background:#f0f6ff;border:2px dashed #bfdbfe;border-radius:12px;padding:48px 20px;font-size:14px}.tsv2-page{flex-direction:column;gap:20px;width:100%;min-width:0;max-width:100%;display:flex}.tsv2-inherit-banner{background:#f8f6ff;border:1px solid #dcd3ff;border-radius:12px;padding:20px}.tsv2-inherit-icon{color:#6366f1;background:#ece6ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.tsv2-top-bar{border:1px solid var(--border-color);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;min-width:0;max-width:100%;padding:12px 16px;display:flex}.tsv2-back-btn{align-items:center;gap:6px;display:inline-flex}.tsv2-location-pill{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.tsv2-workspace{grid-template-columns:240px minmax(0,1fr) 300px;align-items:start;gap:20px;width:100%;min-width:0;max-width:100%;display:grid}@media (max-width:1200px){.tsv2-workspace{grid-template-columns:1fr}.tsv2-calendar-panel{max-width:360px}}@media (max-width:1400px) and (min-width:1201px){.tsv2-workspace{grid-template-columns:220px minmax(0,1fr) 280px;gap:16px}}@media (max-width:768px){.tsv2-calendar-panel{max-width:none}}.tsv2-calendar-panel{padding:16px}.tsv2-mini-cal-header{justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}.tsv2-mini-cal-header button{cursor:pointer;color:var(--text-primary);background:0 0;border:none;border-radius:6px;width:28px;height:28px;font-size:20px}.tsv2-mini-cal-header button:hover{background:#f1f5f9}.tsv2-mini-cal-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.tsv2-mini-cal-weekdays span{text-align:center;color:var(--text-secondary);font-size:10px;font-weight:700}.tsv2-mini-cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.tsv2-cal-empty{aspect-ratio:1}.tsv2-cal-day{aspect-ratio:1;cursor:pointer;color:var(--text-primary);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex;position:relative}.tsv2-cal-day:hover{background:#f1f5f9}.tsv2-cal-day.selected{background:var(--color-primary);color:#fff}.tsv2-cal-day.today:not(.selected){box-shadow:inset 0 0 0 2px var(--color-primary)}.tsv2-cal-day.blocked-day:not(.selected){color:#991b1b;background:#fef2f2}.tsv2-cal-day.partial-block-day:not(.selected):not(.blocked-day){color:#9a3412;background:#fff7ed}.tsv2-cal-dot.partial-block{background:#f97316}.tsv2-blocked-day-banner{border:none;border-bottom:1px solid var(--border-color);color:#991b1b;background:#fef2f2;border-radius:0;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:10px 20px;font-size:13px;font-weight:600;display:flex}.tsv2-slots-top.has-blocked-banner .tsv2-slots-header{border-bottom:none;padding-bottom:10px}.tsv2-blocked-day-unblock{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fca5a5;border-radius:6px;flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:600}.tsv2-blocked-day-unblock:hover:not(:disabled){background:#fee2e2}.tsv2-blocked-day-unblock:disabled{opacity:.6;cursor:not-allowed}.tsv2-cal-dot{border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.tsv2-cal-dot.has-slots{background:var(--color-primary)}.tsv2-cal-day.selected .tsv2-cal-dot.has-slots{background:#fff}.tsv2-cal-dot.blocked{background:#dc2626}.tsv2-cal-legend{color:var(--text-secondary);flex-direction:column;gap:6px;margin-top:12px;font-size:11px;display:flex}.tsv2-cal-legend span{align-items:center;gap:6px;display:flex}.tsv2-cal-legend .dot{border-radius:50%;width:6px;height:6px;display:inline-block}.tsv2-cal-legend .dot.has-slots{background:var(--color-primary)}.tsv2-cal-legend .dot.blocked{background:#dc2626}.tsv2-cal-legend .outline.today{border:2px solid var(--color-primary);background:0 0;border-radius:50%;width:10px;height:10px}.tsv2-block-actions{border-top:1px solid var(--border-color);flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;display:flex}.tsv2-btn-unblock{color:#15803d;background:#fff;border:1px solid #86efac;align-items:center;gap:6px;display:inline-flex}.tsv2-btn-unblock:hover:not(:disabled){color:#166534;background:#f0fdf4;border-color:#4ade80}.tsv2-blocked-day-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:280px;padding:48px 24px 56px;display:flex}.tsv2-blocked-day-empty-icon{color:#f87171;background:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:16px;display:flex}.tsv2-blocked-day-empty h3{color:#1e293b;margin:0 0 8px;font-size:18px;font-weight:700}.tsv2-blocked-day-empty p{color:var(--text-secondary);margin:0 0 20px;font-size:14px}.tsv2-blocked-day-patients{flex-direction:column;gap:20px;padding:20px 24px;display:flex}.tsv2-blocked-day-patients-header h3{color:#1e293b;margin:0 0 6px;font-size:18px;font-weight:700}.tsv2-blocked-day-patients-header p{color:var(--text-secondary);margin:0;font-size:14px}.tsv2-blocked-patient-list{flex-direction:column;gap:8px;display:flex}.tsv2-blocked-patient-row{border:1px solid var(--border-color);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.tsv2-blocked-patient-info{flex-direction:column;gap:2px;min-width:0;display:flex}.tsv2-blocked-patient-name{color:#1e293b;font-size:14px;font-weight:600}.tsv2-blocked-patient-meta{color:var(--text-secondary);font-size:13px}.tsv2-blocked-patient-status{flex-shrink:0}.tsv2-blocked-day-sms{border-top:1px solid var(--border-color);padding-top:16px}.tsv2-modal-icon--block{color:#dc2626;background:#fef2f2;border-radius:50%}.tsv2-block-modal .modal-header{border-bottom:1px solid var(--border-color)}.tsv2-slots-panel{width:100%;min-width:0;max-width:100%;padding:0;overflow:hidden}.tsv2-slots-header{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.tsv2-slots-date{margin:0;font-size:16px;font-weight:700}.tsv2-slots-toolbar{flex-wrap:wrap;gap:8px;display:flex}.tsv2-selection-bar{background:var(--color-primary);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.tsv2-selection-info{font-size:13px}.tsv2-selection-info strong{font-weight:700}.tsv2-selection-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tsv2-selection-actions .btn{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.tsv2-btn-reschedule{color:#fff;background:#f97316;border-color:#f97316}.tsv2-btn-reschedule:hover{color:#fff;background:#ea580c;border-color:#ea580c}.tsv2-btn-clear{color:var(--color-primary);background:#fff;border:1px solid #ffffffd9}.tsv2-btn-clear:hover{color:var(--color-primary);background:#f0f6ff;border-color:#fff}.tsv2-btn-edit{color:var(--color-primary);background:#fff;border:1px solid #fff;font-weight:600}.tsv2-btn-edit:hover{color:var(--color-primary);background:#eff6ff;border-color:#fff}.tsv2-btn-delete{color:#fff;background:#dc2626;border-color:#dc2626}.tsv2-btn-delete:hover{color:#fff;background:#b91c1c;border-color:#b91c1c}.tsv2-slot-grid-wrap{box-sizing:border-box;min-width:0;max-width:100%;padding:20px;overflow:hidden}.tsv2-slot-grid{box-sizing:border-box;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;max-width:100%;display:grid}@media (max-width:1100px){.tsv2-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.tsv2-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media (max-width:640px){.tsv2-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tsv2-slot-grid-wrap{padding:14px}.tsv2-slots-header{padding:14px 16px}.tsv2-selection-bar{flex-direction:column;align-items:stretch;padding:12px 16px}.tsv2-selection-actions{width:100%}.tsv2-selection-actions .btn{flex:calc(50% - 4px);justify-content:center;min-width:0}}@media (max-width:420px){.tsv2-slot-grid{grid-template-columns:1fr}}.tsv2-slot-card{box-sizing:border-box;background:#eff6ff;border:1px solid #bedbff;border-radius:10px;flex-direction:column;min-width:0;max-width:100%;min-height:72px;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.tsv2-slot-card.available,.tsv2-slot-card.partial{background:#eff6ff;border-color:#bedbff}.tsv2-slot-card.full{background:#fef2f2;border-color:#ffc9c9}.tsv2-slot-card.blocked{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.tsv2-slot-card.has-booking:not(.full):not(.blocked){border-color:#8ec5ff}.tsv2-slot-card:hover:not(.blocked):not(.selected):not(.selectable){border-color:#2b7fff;box-shadow:0 2px 8px #2b7fff1f}.tsv2-slot-card.full.has-booking:hover:not(.selected):not(.selectable){border-color:#2b7fff}.tsv2-slot-body{background:0 0;flex:1;min-width:0;padding:12px}.tsv2-slot-card.full .tsv2-slot-body,.tsv2-slot-card.blocked .tsv2-slot-body{background:0 0}.tsv2-slot-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.tsv2-slot-actions-inline{flex-shrink:0;align-items:center;gap:2px;display:none}.tsv2-slot-card:hover .tsv2-slot-actions-inline{display:flex}.tsv2-slot-icon-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:flex}.tsv2-slot-icon-btn:hover{color:#64748b;background:#ffffffb3}.tsv2-slot-reschedule-btn:hover{color:#155dfc;color:lab(44.0605% 29.0279 -86.0352);background:#eff6ff}.tsv2-slot-patients-footer{background:#fff;border-top:1px solid #e2e8f0;flex-direction:column;gap:6px;padding:8px 12px;display:none}.tsv2-slot-card:hover:not(.selectable) .tsv2-slot-patients-footer,.tsv2-slot-card:focus-within:not(.selectable) .tsv2-slot-patients-footer{display:flex}.tsv2-slot-patient-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.tsv2-slot-card.selectable{cursor:pointer;flex-direction:row;align-items:flex-start;gap:10px;padding:12px}.tsv2-slot-card.selectable .tsv2-slot-check{flex-shrink:0;margin-top:1px;position:static}.tsv2-slot-card.selectable .tsv2-slot-body{flex:1;min-width:0;padding:0}.tsv2-slot-card.selectable .tsv2-slot-header{margin-bottom:4px}.tsv2-slot-card.selected{border:2px solid var(--color-primary);box-shadow:0 0 0 2px #0049b926}.tsv2-slot-check{background:#fff;border:2px solid #cbd5e1;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:8px;left:8px}.tsv2-slot-check.checked{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tsv2-slot-time{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:700;line-height:1.35;overflow:hidden}.tsv2-slot-status{color:#90a1b9;color:lab(65.5349% -2.25151 -14.5072);white-space:nowrap;font-size:11px}.tsv2-slot-card.partial .tsv2-slot-status,.tsv2-slot-card.has-booking .tsv2-slot-status{color:#155dfc;color:lab(44.0605% 29.0279 -86.0352);font-weight:600}.tsv2-slot-card.full .tsv2-slot-status{color:#fb2c36;color:lab(55.4814% 75.0732 48.8528);font-weight:600}.tsv2-slot-patient,.tsv2-slot-patient-btn{color:#334155;flex:1;align-items:center;gap:6px;min-width:0;font-size:12px;display:flex}.tsv2-slot-patient-btn{cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit}.tsv2-slot-patient-btn:hover{color:#155dfc;color:lab(44.0605% 29.0279 -86.0352)}.tsv2-slot-patient svg,.tsv2-slot-patient-btn svg{color:#94a3b8;flex-shrink:0}.tsv2-slot-patient span,.tsv2-slot-patient-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tsv2-sidebar{flex-direction:column;gap:16px;min-width:0;max-width:100%;display:flex}.tsv2-rules-card,.tsv2-legend-card{padding:20px}.tsv2-rules-title,.tsv2-legend-title{color:#0049b9;align-items:center;gap:8px;margin:0 0 16px;font-size:14px;font-weight:700;display:flex}.tsv2-rules-fields{flex-direction:column;gap:12px;display:flex}.tsv2-legend-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tsv2-legend-list li{color:#334155;align-items:center;gap:8px;font-size:12px;display:flex}.tsv2-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.tsv2-legend-dot.available{background:#0049b9}.tsv2-legend-dot.partial{background:#8ec5ff}.tsv2-legend-dot.full{background:#ef4444}.tsv2-legend-dot.blocked-slot{background:#94a3b8}.tsv2-legend-dot.blocked-date{background:#fecaca}.tsv2-legend-hint{color:var(--text-secondary);margin:12px 0 0;font-size:11px;line-height:1.5}.tsv2-legend-hint+.tsv2-legend-hint{margin-top:4px}.tsv2-time-field{min-width:0;margin:0}.tsv2-time-input{width:100%;min-width:0;position:relative}.tsv2-time-input .form-input{box-sizing:border-box;width:100%;min-width:0;padding-right:36px}.tsv2-time-input input[type=time]{cursor:pointer;position:relative}.tsv2-time-input input[type=time]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.tsv2-time-input input[type=time]::-webkit-inner-spin-button{appearance:none;display:none}.tsv2-time-input input[type=time]::-webkit-clear-button{appearance:none;display:none}.tsv2-time-icon{color:var(--text-secondary);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.tsv2-add-slot-card{box-sizing:border-box;min-width:0;max-width:100%;padding:20px;overflow:hidden}.tsv2-add-slot-times{grid-template-columns:1fr;gap:12px;min-width:0;display:grid}@media (min-width:1201px){.tsv2-add-slot-times{grid-template-columns:1fr}}@media (max-width:1200px) and (min-width:481px){.tsv2-add-slot-times{grid-template-columns:repeat(2,minmax(0,1fr))}}.tsv2-time-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;display:grid}@media (max-width:480px){.tsv2-time-fields,.tsv2-add-slot-times{grid-template-columns:1fr}}.tsv2-toggle-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.tsv2-modal .tsv2-modal-title-wrap{align-items:flex-start;gap:12px;display:flex}.tsv2-modal-icon{width:36px;height:36px;color:var(--color-primary);background:#eff6ff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tsv2-modal-icon--reschedule{border-radius:50%}.tsv2-modal-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:12px}.tsv2-warning-box{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.5}.tsv2-block-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:12px;padding:14px;transition:border-color .15s,background .15s;display:flex}.tsv2-block-panel.active{background:#fef2f2;border-color:#fecaca}.tsv2-block-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tsv2-block-panel-title{color:#334155;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.tsv2-block-panel.active .tsv2-block-panel-title{color:#dc2626}.tsv2-block-panel-subtitle{color:var(--text-secondary);margin-top:4px;font-size:11px}.tsv2-block-toggle input:checked+.toggle-slider{background:#dc2626}.tsv2-block-panel .tsv2-sms-section{background:#fff}.tsv2-sms-section{border:1px solid var(--border-color);background:#f8fafc;border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.tsv2-sms-header{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.tsv2-segmented{background:#e2e8f0;border-radius:8px;gap:0;padding:3px;display:flex}.tsv2-segmented button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;flex:1;padding:7px 12px;font-size:12px;font-weight:600}.tsv2-segmented button.active{color:var(--color-primary);background:#fff;box-shadow:0 1px 2px #0000000f}.tsv2-sms-preview{color:var(--text-secondary);border:1px solid var(--border-color);background:#fff;border-radius:8px;padding:10px;font-size:12px;line-height:1.5}.tsv2-send-sms-btn{justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.tsv2-booked-slot{border:1px solid var(--border-color);background:#f8fafc;border-radius:8px;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.tsv2-repeat-pills{flex-wrap:wrap;gap:8px;display:flex}.tsv2-repeat-pills button{border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);background:#fff;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600}.tsv2-repeat-pills button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tsv2-mini-calendar{border:1px solid var(--border-color);background:#fafbfc;border-radius:10px;padding:12px}.cursor-pointer{cursor:pointer}.form-preview-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.form-preview-toolbar-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.form-preview-mode-badge{letter-spacing:.05em;color:var(--color-primary);background:var(--color-primary-light);border-radius:6px;padding:6px 10px;font-size:11px;font-weight:700}.form-preview-device-toggle{background:var(--content-bg);border:1px solid var(--border-color);border-radius:8px;gap:2px;padding:4px;display:flex}.form-preview-device-btn{cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:flex}.form-preview-device-btn.active{color:var(--color-primary);background:#fff;box-shadow:0 1px 2px #0000000f}.form-preview-toolbar-right{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.form-preview-status{color:var(--text-secondary);font-size:12px;line-height:1.5}.form-preview-workspace{grid-template-columns:minmax(0,1fr) minmax(260px,300px);align-items:start;gap:20px;width:100%;min-width:0;display:grid}@media (max-width:1100px){.form-preview-workspace{grid-template-columns:minmax(0,1fr)}}.form-preview-canvas{background:#e8eef6;border:1px solid #dbeafe;border-radius:12px;justify-content:center;align-items:flex-start;min-width:0;max-width:100%;min-height:620px;padding:28px 32px;display:flex;overflow-x:auto}.form-preview-browser{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;flex-shrink:1;transition:width .25s,max-width .25s;display:flex;overflow:hidden;box-shadow:0 8px 32px #0000001a}.form-preview-browser.desktop{width:100%;max-width:920px}.form-preview-browser.tablet{width:100%;max-width:640px}.form-preview-browser.mobile{width:100%;max-width:375px}.form-preview-browser-chrome{background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0;align-items:center;gap:12px;padding:10px 14px;display:flex}.form-preview-browser-dots{gap:6px;display:flex}.form-preview-browser-dot{border-radius:50%;width:10px;height:10px}.form-preview-browser-url{color:var(--text-secondary);text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;flex:1;padding:6px 12px;font-size:12px}.form-preview-clinic-bar{background:var(--color-primary);color:#fff;flex-shrink:0;padding:14px 20px;font-size:15px;font-weight:700}.form-preview-page{background:var(--content-bg);flex:1;max-height:560px;padding:24px 32px 32px;overflow-y:auto}.form-preview-iframe-wrap{background:var(--content-bg);flex:1;min-height:0;overflow:hidden}.form-preview-iframe{background:var(--content-bg);border:none;width:100%;height:100%;min-height:620px;display:block}.form-preview-iframe-loading{min-height:420px;color:var(--text-secondary);text-align:center;justify-content:center;align-items:center;padding:24px;font-size:14px;display:flex}.form-preview-browser.mobile .form-preview-page{padding:16px}.form-preview-browser.mobile .form-preview-iframe{min-height:520px}.form-preview-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;padding:28px 32px;box-shadow:0 4px 20px #0049b914}.form-preview-browser.mobile .form-preview-form-card{padding:20px 16px}.form-preview-section-title{color:var(--text-primary);margin:0 0 16px;font-size:15px;font-weight:700}.form-preview-section+.form-preview-section,.form-preview-section+.form-preview-minor-section,.form-preview-minor-section+.form-preview-section{margin-top:32px}.form-preview-section-insurance .form-preview-section-title{margin-bottom:14px}.form-preview-field-stack{flex-direction:column;gap:16px;display:flex}.form-preview-insurance-options{flex-direction:column;gap:8px;display:flex}.form-preview-minor-section{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;flex-direction:column;gap:16px;margin-top:32px;padding:20px;display:flex}.form-preview-insurance-option{cursor:pointer;color:var(--text-primary);align-items:center;gap:10px;padding:6px 0;font-size:14px;display:flex}.form-preview-settings-card{min-width:0;padding:20px}.form-preview-settings-actions{flex-direction:column;gap:10px;display:flex}.shareable-link-box{background:var(--content-bg);border:1px solid #dbeafe;border-radius:8px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.booking-setting-row{align-items:center;gap:12px;display:flex}.booking-setting-icon{width:36px;height:36px;color:var(--color-primary);background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.booking-setting-copy{flex:1;min-width:0}.booking-setting-label{color:var(--text-primary);font-size:13px;font-weight:600}.booking-setting-desc{color:var(--text-secondary);margin-top:2px;font-size:11px;line-height:1.4}.booking-portal-card{background:linear-gradient(135deg,#eff6ff 0%,#fff 55%);border:1px solid #bfdbfe;padding:24px;box-shadow:0 8px 24px #2563eb14}.dashboard-portal-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.kiosk-portal-card{background:linear-gradient(135deg,#fffbeb 0%,#fff 55%);border-color:#fcd34d;box-shadow:0 8px 24px #f59e0b14}.kiosk-portal-icon{background:#f59e0b;box-shadow:0 6px 16px #f59e0b40}.provider-portal-card{background:linear-gradient(135deg,#f5f3ff 0%,#fff 55%);border-color:#c4b5fd;box-shadow:0 8px 24px #7c3aed14}.provider-portal-icon{background:#7c3aed;box-shadow:0 6px 16px #7c3aed40}.dashboard-location-links-card{grid-column:1/-1}.dashboard-location-list{flex-direction:column;gap:16px;display:flex}.dashboard-location-item{background:#ffffffbf;border:1px solid #fde68a;border-radius:10px;padding:16px}.dashboard-location-name{color:var(--text-primary);margin:0 0 12px;font-size:15px;font-weight:700}.dashboard-location-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dashboard-shareable-link-label{color:var(--text-primary);font-size:13px;font-weight:600}@media (max-width:768px){.dashboard-portal-links,.dashboard-location-link-grid{grid-template-columns:1fr}}.booking-portal-header{align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.booking-portal-icon{background:var(--color-primary);color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 6px 16px #2563eb40}.booking-portal-title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 6px;font-size:24px;font-weight:800;line-height:1.2}.booking-portal-subtitle{color:var(--text-secondary);max-width:720px;margin:0;font-size:14px;line-height:1.5}.booking-success-actions{flex-direction:column;gap:10px;margin-top:24px;display:flex}.booking-success-actions .btn{justify-content:center;width:100%}.shareable-link-url{color:var(--color-primary);word-break:break-all;align-items:center;gap:6px;font-size:12px;text-decoration:none;display:inline-flex}.shareable-link-url:hover{text-decoration:underline}.portal-booking{background:#eef3fb;flex-direction:column;min-height:100vh;display:flex}.portal-header-inner--centered{justify-content:center;position:relative}.portal-header-inner--centered .portal-brand{text-align:center;justify-content:center}.portal-header-inner--centered .portal-secure{position:static;top:auto;right:auto;transform:none}.portal-header-actions{flex-shrink:0;align-items:center;gap:12px;margin-left:auto;display:flex;position:static}.portal-header-inner--centered .portal-header-actions{z-index:5;margin-left:0;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.portal-booking--fullscreen,.waiting-room-display--fullscreen,.walkin-shell--fullscreen{background:inherit;width:100%;min-height:100vh}.fullscreen-toggle-btn{color:#fff;cursor:pointer;background:#ffffff24;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;line-height:0;transition:background .15s;display:inline-flex}.fullscreen-toggle-btn svg{width:20px;height:20px;display:block}.fullscreen-toggle-btn:hover{background:#ffffff3d}.fullscreen-toggle-btn--header{color:#fff;background:#ffffff24}.fullscreen-toggle-btn--controls{color:#e8ecf4;background:#ffffff14;border-radius:999px;width:36px;min-width:36px;height:36px;margin-left:4px}.fullscreen-toggle-btn--controls:hover{color:#fff;background:#ffffff29}.fullscreen-toggle-btn--fab{background:var(--color-primary);color:#fff;border-radius:10px;width:44px;height:44px;box-shadow:0 4px 14px #0000002e}.fullscreen-toggle-btn--fab svg{width:22px;height:22px}.fullscreen-toggle-btn--fab:hover{background:var(--color-primary-hover)}.walkin-shell{min-height:100vh;position:relative}.walkin-fullscreen-fab{z-index:50;position:fixed;top:16px;right:16px}.portal-header-actions .fullscreen-toggle-btn,.waiting-room-header-right .fullscreen-toggle-btn{flex-shrink:0}@media (max-width:768px){.portal-header-inner--centered .portal-header-actions{gap:8px;right:12px}.portal-header-inner--centered .portal-secure,.portal-header-actions .portal-secure{display:none}.portal-header-actions{gap:8px}}.portal-main--kiosk{max-width:560px;padding:24px 20px 40px}.visit-reason-icon-picker-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;max-height:220px;padding:4px;display:grid;overflow-y:auto}.visit-reason-icon-option{border:2px solid var(--border-color,#e2e8f0);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;transition:border-color .15s,background .15s;display:flex}.visit-reason-icon-option:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.visit-reason-icon-option.selected{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 0 0 1px var(--color-primary)}.visit-reason-icon-option-emoji{font-size:24px;line-height:1}.visit-reason-icon-option-label{color:var(--text-secondary);text-align:center;font-size:10px;line-height:1.2}.portal-header{background:var(--color-primary);color:#fff;padding-bottom:20px}.portal-header-inner{box-sizing:border-box;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;position:relative}.portal-brand{flex-shrink:1;align-items:center;gap:10px;min-width:0;display:flex}.portal-brand-icon{font-size:22px}.portal-brand-name{font-size:16px;font-weight:700}.portal-brand-sub{letter-spacing:.08em;opacity:.85;font-size:10px}.portal-secure{opacity:.9;align-items:center;gap:6px;font-size:12px;display:flex}.portal-stepper{align-items:flex-start;width:100%;max-width:960px;margin:0 auto;padding:0 20px;display:flex}.portal-step-wrap{flex:1;align-items:flex-start;min-width:0;display:flex}.portal-step-wrap:first-child{flex:none}.portal-step-line{background:#ffffff59;flex:1;min-width:8px;height:2px;margin-top:13px}.portal-step-line.filled{background:#fffffff2}.portal-step{opacity:.55;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.portal-step.active,.portal-step.done{opacity:1}.portal-step-circle{border:2px solid #fff9;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.portal-step.active .portal-step-circle{color:var(--color-primary);background:#fff;border-color:#fff}.portal-step.done .portal-step-circle{background:#fff3;border-color:#fff}.portal-step-label{font-size:11px;font-weight:600}.portal-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:32px 24px 48px}@media (max-width:768px){.portal-header-inner{padding:12px 16px}.portal-secure{font-size:11px}.portal-stepper{padding:0 12px}.portal-step-circle{width:24px;height:24px;font-size:11px}.portal-step-line{min-width:4px;margin-top:11px}.portal-step-label{text-align:center;max-width:64px;font-size:12px;line-height:1.3}.portal-main{padding:24px 16px 40px}.portal-page-title{font-size:22px}.portal-time-toggle{grid-template-columns:1fr}.portal-slot-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:769px) and (max-width:1024px){.portal-slot-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1025px){.portal-slot-grid{grid-template-columns:repeat(5,1fr)}}.portal-footer{text-align:center;color:var(--text-secondary);background:#fff;border-top:1px solid #e2e8f0;margin-top:auto;padding:16px 20px;font-size:11px}.portal-page-title{color:var(--text-primary);margin:0 0 4px;font-size:22px;font-weight:700}.portal-page-sub{color:var(--text-secondary);margin-bottom:20px;font-size:13px}.portal-card{border:1px solid var(--border-color);background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 12px #0049b90f}.portal-location-card{border:1px solid var(--border-color);transition:border-color var(--transition-fast);background:#fff;border-radius:12px;margin-bottom:16px;padding:20px}.portal-location-card.selected{border:2px solid var(--color-primary);background:#f8fbff}.portal-location-badge{color:var(--color-primary);background:var(--color-primary-light);border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.portal-wait-open{color:#16a34a}.portal-wait-busy{color:#ca8a04}.portal-wait-full{color:#dc2626}.portal-reason-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.portal-wait-banner{background:var(--color-primary-light);border-radius:10px;align-items:center;gap:10px;margin:20px 0;padding:14px 16px;display:flex}.portal-phone-card{text-align:center;padding:24px}.portal-phone-display{letter-spacing:3px;background:var(--content-bg);border-radius:10px;justify-content:center;align-items:center;min-height:64px;margin-bottom:20px;padding:16px;font-family:ui-monospace,monospace;font-size:32px;font-weight:700;display:flex}.portal-phone-placeholder{color:var(--text-tertiary);letter-spacing:normal;font-family:inherit;font-size:20px;font-weight:500}.portal-phone-keypad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.portal-phone-key{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:12px;padding:18px;font-size:22px;font-weight:700}.portal-phone-key.clear{background:var(--color-danger-bg);color:var(--color-danger);font-size:18px}.portal-phone-key.backspace{background:#f3f4f6;font-size:18px}.portal-confirm-card{text-align:center;padding:28px 24px}.portal-success-icon{background:var(--color-success-bg);border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin:0 auto 20px;display:flex}.portal-ticket-box{border:2px solid var(--color-primary);background:#f0f4ff;border-radius:16px;margin:24px 0;padding:24px}.portal-ticket-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:13px}.portal-ticket-value{color:var(--color-primary);letter-spacing:4px;font-family:ui-monospace,monospace;font-size:44px;font-weight:800}.portal-queue-summary{background:var(--content-bg);text-align:left;border-radius:10px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;display:flex}.portal-info-box{background:var(--content-bg);text-align:left;border-radius:12px;margin-bottom:24px;padding:16px}.portal-info-box-title{margin-bottom:10px;font-weight:700}.portal-info-steps{margin:0;padding:0;list-style:none}.portal-info-steps li{align-items:flex-start;gap:10px;margin-bottom:8px;font-size:14px;display:flex}.portal-info-steps li span{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-flex}.portal-otp-input{letter-spacing:8px;text-align:center;border:1px solid var(--border-color);border-radius:10px;width:100%;padding:16px;font-family:ui-monospace,monospace;font-size:32px;font-weight:700}@media (max-width:900px){.portal-reason-grid{grid-template-columns:repeat(2,1fr)}}.portal-reason-card{border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-fast);text-align:left;width:100%;min-height:120px;font:inherit;color:inherit;background:#fff;border-radius:10px;padding:16px;position:relative}.portal-reason-card.selected{border:2px solid var(--color-primary);background:var(--color-primary-light)}.portal-reason-icon{margin-bottom:8px;font-size:22px}.portal-reason-duration{color:var(--color-primary);background:var(--color-primary-light);border-radius:4px;margin-top:8px;padding:2px 8px;font-size:11px;display:inline-block}.portal-reason-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.portal-multi-select-toggle{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:10px;font-size:13px;font-weight:600;display:inline-flex}.portal-multi-select-toggle input{opacity:0;width:0;height:0;position:absolute}.portal-multi-select-slider{background:#cbd5e1;border-radius:999px;width:42px;height:24px;transition:background .2s;position:relative}.portal-multi-select-slider:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px}.portal-multi-select-toggle input:checked+.portal-multi-select-slider{background:var(--color-primary)}.portal-multi-select-toggle input:checked+.portal-multi-select-slider:after{transform:translate(18px)}.portal-duration-bar{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.portal-duration-bar strong{color:var(--color-primary);font-size:18px}.portal-duration-bar-inline{flex-wrap:wrap}.portal-duration-bar-reasons{width:100%;color:var(--text-secondary);font-size:12px}.portal-reason-check{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;position:absolute;top:10px;right:10px}.portal-selected-reasons-summary{color:var(--text-secondary);margin:12px 0 16px;font-size:13px}.portal-booking-forms-preview{border:1px solid var(--border-color);background:#f8fafc;border-radius:12px;margin-bottom:20px;padding:16px}.portal-booking-forms-preview h3{margin:0 0 10px;font-size:14px}.portal-booking-forms-preview ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.portal-booking-forms-preview li{flex-direction:column;gap:2px;font-size:14px;display:flex}.portal-booking-forms-preview small{color:var(--text-secondary);font-size:12px}.portal-booking-banner-link{color:var(--color-primary);white-space:nowrap;font-size:13px;font-weight:600;text-decoration:none}.portal-time-toggle{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;display:grid}.portal-time-toggle-btn{border:1px solid var(--border-color);cursor:pointer;background:#f8fafc;border-radius:10px;padding:16px;font-size:14px;font-weight:600}.portal-time-toggle-btn.active{background:#fff;border:2px solid #111}.portal-day-row{gap:8px;margin-bottom:20px;display:flex;overflow-x:auto}.portal-day-pill{border:2px solid var(--border-color);text-align:center;cursor:pointer;min-width:64px;font:inherit;color:inherit;background:#fff;border-radius:10px;padding:10px 8px;transition:all .15s}.portal-day-pill.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:0 4px 12px #0049b938}.portal-day-pill.active .portal-day-label,.portal-day-pill.active .portal-day-num{color:#fff}.portal-day-pill.blocked-full.active{background:#dc2626;border-color:#dc2626}.portal-day-pill.blocked-partial.active{background:#d97706;border-color:#d97706}.portal-day-pill.blocked-full:not(.active){color:#991b1b;background:#fef2f2;border-color:#fecaca}.portal-day-pill.blocked-partial:not(.active){color:#92400e;background:#fffbeb;border-color:#fde68a}.portal-day-label{font-size:11px;font-weight:700}.portal-day-num{font-size:18px;font-weight:700}.portal-slot-capacity-panel{flex-direction:column;gap:16px;margin:24px 0;display:flex}.portal-slot-capacity-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.portal-slot-capacity-warning strong{margin-bottom:4px;display:block}.portal-slot-capacity-warning p{margin:0;font-size:14px}.portal-slot-capacity-warning-icon{font-size:20px;line-height:1}.portal-slot-capacity-details{padding:16px}.portal-slot-capacity-details h3,.portal-slot-suggestions h3{margin:0 0 12px;font-size:15px}.portal-slot-capacity-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;font-size:13px;display:grid}.portal-slot-capacity-meta span{color:var(--text-secondary);margin-bottom:4px;display:block}.portal-slot-capacity-compare-row{justify-content:space-between;gap:12px;margin-bottom:8px;font-size:14px;display:flex}.portal-slot-capacity-meter{background:#fee2e2;border-radius:999px;height:10px;margin:8px 0;overflow:hidden}.portal-slot-capacity-meter span{background:#94a3b8;height:100%;display:block}.portal-slot-capacity-meter-labels{color:var(--text-secondary);justify-content:space-between;gap:12px;font-size:12px;display:flex}.portal-slot-capacity-meter-labels .danger{color:#dc2626;font-weight:600}.portal-slot-suggestions-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.portal-slot-suggestions-header span{color:var(--text-secondary);font-size:12px}.portal-slot-suggestions-list{flex-direction:column;gap:10px;display:flex}.portal-slot-suggestion-card{border:1px solid var(--border-color);background:#fff;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px 16px;display:grid;position:relative}.portal-slot-suggestion-card.selected{border:2px solid var(--color-primary);box-shadow:0 0 0 1px #0049b914}.portal-slot-suggestion-badge{color:var(--color-primary);background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;top:-10px;left:16px}.portal-slot-suggestion-label{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.portal-slot-suggestion-label strong{margin-bottom:2px;display:block}.portal-slot-suggestion-label span{color:var(--text-secondary);font-size:12px}.portal-slot-suggestions-loading,.portal-slot-suggestions-empty{color:var(--text-secondary);background:#f8fafc;border-radius:10px;padding:16px;font-size:14px}.portal-slot-capacity-primary{width:100%}.portal-slot-capacity-keep{border:1.5px solid var(--color-primary);width:100%;max-width:420px;color:var(--color-primary);cursor:pointer;text-align:center;text-underline-offset:3px;background:#fff;border-radius:10px;justify-content:center;align-self:center;align-items:center;padding:12px 18px;font-size:14px;font-weight:600;text-decoration:underline;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.portal-slot-capacity-keep:hover{background:color-mix(in srgb, var(--color-primary) 8%, #fff);box-shadow:0 1px 3px #0f172a14}.portal-slot-capacity-keep:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.portal-slot-capacity-keep:active{background:color-mix(in srgb, var(--color-primary) 14%, #fff)}.portal-slot-capacity-note{color:var(--text-secondary);text-align:center;margin:0;font-size:12px}@media (max-width:640px){.portal-reason-header{flex-direction:column;align-items:stretch}.portal-slot-capacity-meta,.portal-slot-suggestion-card{grid-template-columns:1fr}.portal-duration-bar-inline .portal-duration-bar-reasons{margin-top:4px}}.portal-slot-empty{text-align:center;color:var(--text-secondary);grid-column:1/-1;padding:24px}.portal-slot-grid{grid-template-columns:repeat(4,1fr);gap:10px;width:100%;display:grid}.portal-slot-btn{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:4px;min-height:56px;padding:12px;font-weight:600;display:flex}.portal-slot-btn-time{font-weight:600}.portal-slot-btn-meta{color:var(--text-secondary);font-size:11px;font-weight:500}.portal-slot-btn.selected .portal-slot-btn-meta{color:#ffffffd9}.portal-slot-full-badge{letter-spacing:.04em;color:#dc2626;background:#fef2f2;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.portal-slot-btn.full:disabled{opacity:.65}.portal-slot-btn.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.portal-slot-btn:disabled{opacity:.35;cursor:not-allowed;color:var(--text-secondary);background:#f1f5f9}.portal-slot-btn.past:disabled{text-decoration:line-through}.portal-continue-wrap{justify-content:flex-end;margin-top:24px;display:flex}.portal-step-nav{justify-content:space-between;align-items:center;gap:16px;margin-top:24px;display:flex}.portal-step-nav-back{min-width:120px}.portal-booking-banner-select{color:var(--color-primary);background:#fff;border:1px solid #bfdbfe;border-radius:6px;min-width:180px;max-width:260px;padding:6px 10px;font-size:12px;font-weight:600}.portal-continue-btn{min-width:140px;padding:12px 24px}.portal-review-summary{background:#f8fafc;border-radius:10px;margin-bottom:20px;padding:20px}.portal-review-row{border-bottom:1px solid var(--border-color);gap:12px;padding:12px 0;display:flex}.portal-review-row:last-child{border-bottom:none}.portal-disclaimer-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;margin-bottom:20px;padding:16px;font-size:13px;line-height:1.5}.portal-billing-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.portal-billing-option{border:1px solid var(--border-color);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:16px;display:flex}.portal-billing-option.selected{border:2px solid var(--color-primary);background:#f8fbff}.portal-details-card{padding:24px 28px}.portal-details-form{margin-bottom:8px}.portal-billing-card,.portal-photo-id-section{margin-top:28px}.portal-booking-banner{color:var(--text-primary);background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:10px 14px;font-size:12px;display:flex}.portal-booking-banner-reason{color:var(--color-primary);background:#fff;border:1px solid #bfdbfe;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.portal-patient-type-toggle{background:#ffffff8c;border:1px solid #d4dde8;border-radius:8px;gap:0;width:fit-content;max-width:100%;margin-bottom:20px;padding:3px;display:flex}.portal-patient-type-btn{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;padding:7px 16px;font-size:12px;font-weight:600}.portal-patient-type-btn.active{color:var(--color-primary);background:#fff;box-shadow:0 1px 3px #0049b91f}.portal-form-section{margin-bottom:24px}.portal-form-section:last-child{margin-bottom:0}.portal-age-notice{color:#b45309;align-items:center;gap:6px;margin:-4px 0 16px;font-size:12px;line-height:1.4;display:flex}.portal-age-notice svg{color:#d97706;flex-shrink:0}.portal-label-muted{color:var(--text-secondary);font-size:12px;font-weight:400}.portal-label-info{color:#d97706;cursor:help;font-size:12px}.portal-minor-box{background:#fffbeb;border:1px solid #f5d167;border-radius:10px;margin-top:24px;overflow:hidden}.portal-minor-header-strip{background:#fef3c7;border-bottom:1px solid #f5d167;padding:14px 20px}.portal-minor-body{padding:20px}.portal-minor-subsection-title{color:var(--text-primary);margin:0 0 14px;font-size:13px;font-weight:700}.portal-minor-header{color:#92400e;align-items:flex-start;gap:10px;margin-bottom:0;display:flex}.portal-consent-box{background:#fff;border:1px solid #f5d167;border-radius:8px;margin-top:18px;padding:14px 16px}.portal-consent-title{color:var(--text-primary);margin:0 0 10px;font-size:12px;font-weight:700}.portal-consent-legal{color:var(--text-secondary);margin:0 0 12px;font-size:11px;line-height:1.55}.portal-card-images-section{border-top:1px solid var(--border-color);margin-top:24px;padding-top:20px}.portal-card-images-title{color:var(--text-primary);margin-bottom:6px;font-size:14px;font-weight:700}.portal-insurance-block--secondary{border-color:#93c5fd}.portal-insurance-block-title-row{align-items:center;gap:8px;display:flex}.portal-insurance-collapse{cursor:pointer;color:var(--color-primary);background:0 0;border:none;align-items:center;padding:0;display:flex}.portal-insurance-remove{color:var(--color-danger);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:13px;font-weight:600;display:inline-flex}.portal-medicare-block{background:#fff}.portal-medicare-hint{color:var(--text-secondary);margin:0 0 20px;font-size:13px;line-height:1.55}.portal-membership-wrap{flex-direction:column;gap:16px;display:flex}.portal-membership-info-banner{background:#faf5ff;border:1px solid #e9d5ff;border-radius:12px;padding:18px 20px}.portal-membership-info-title{color:var(--text-primary);margin:0 0 8px;font-size:15px;font-weight:700}.portal-membership-info-text{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.55}.portal-membership-form{border-color:#e9d5ff}.portal-membership-alert{color:#7c3aed;background:#faf5ff;border:1px solid #e9d5ff;border-radius:10px;align-items:flex-start;gap:10px;margin-top:20px;padding:14px 16px;font-size:13px;line-height:1.55;display:flex}.portal-membership-alert p{margin:0}.portal-selfpay-wrap{flex-direction:column;gap:16px;display:flex}.portal-selfpay-info-banner{border:1px solid var(--border-color);background:#f8fafc;border-radius:10px;padding:16px 18px}.portal-selfpay-info-title{color:var(--text-primary);margin:0 0 6px;font-size:14px;font-weight:700}.portal-selfpay-info-text{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.55}.portal-credit-card-block{border:1px solid var(--border-color);background:#fff;border-radius:12px;padding:20px}.portal-credit-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.portal-credit-card-title-row{color:var(--color-primary);align-items:center;gap:8px;display:flex}.portal-credit-card-title{color:var(--text-primary);margin:0;font-size:15px;font-weight:700}.portal-credit-card-encrypted{color:var(--text-secondary);align-items:center;gap:4px;font-size:12px;display:inline-flex}.portal-credit-card-note{color:var(--text-secondary);margin:0 0 20px;font-size:13px;line-height:1.55}.portal-photo-id-note{color:var(--text-secondary);margin:-12px 0 12px;font-size:12px;line-height:1.45}.portal-photo-id-section .portal-upload-box{background:#f4f7fb;border-color:#c5d4e8;min-height:160px}.portal-photo-id-section .portal-upload-text{font-size:12px}.portal-submit-wrap{text-align:center;margin-top:28px}.portal-create-new-wrap{text-align:center;margin-top:16px}.returning-flow-back-wrap{margin-top:20px}.portal-create-new-btn{min-width:220px}.portal-book-btn{border-radius:10px;width:100%;max-width:100%;padding:16px 24px;font-size:16px;font-weight:700}.portal-submit-note{text-align:center;color:var(--text-secondary);margin:10px 0 0;font-size:12px;line-height:1.5}.portal-booking .form-group{gap:8px;margin:0}.portal-booking .form-label{color:var(--text-primary);margin:0 0 4px;font-size:12px;font-weight:600;line-height:1.35;display:block}.portal-booking .form-input,.portal-booking .form-select{background-color:#f4f7fb;border-color:#d4dde8;border-radius:6px;min-height:36px;padding:8px 12px;font-size:13px}.portal-booking .form-select{background-color:#f4f7fb}.portal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px 20px;display:grid}.portal-form-grid.portal-form-grid--3{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}.portal-address-fields-row{margin-top:12px}.portal-form-stack{flex-direction:column;gap:20px;display:flex}.portal-form-full{grid-column:1/-1}.portal-form-checkbox{align-items:flex-start;gap:8px;padding:2px 0;font-size:12px;line-height:1.45;display:flex}.portal-form-checkbox input{flex-shrink:0;margin-top:2px}.portal-form-section-title{color:var(--text-primary);margin:0 0 14px;font-size:14px;font-weight:700}.portal-billing-details{flex-direction:column;gap:16px;margin-top:16px;display:flex}.portal-billing-details .portal-form-grid{margin-top:4px}.portal-insurance-block{background:#fff;border:1px solid #bfdbfe;border-radius:12px;padding:20px}.portal-insurance-block-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.portal-insurance-block-title{color:var(--text-primary);margin:0;font-size:15px;font-weight:700}.portal-insurance-remove{color:var(--color-danger);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px;font-weight:600}.portal-insurance-scan-hint{color:var(--text-secondary);margin:0 0 12px;font-size:13px;line-height:1.5}.portal-insurance-card-note{color:var(--text-secondary);margin:0 0 16px;font-size:13px;line-height:1.5}.portal-insurance-scan-result{color:var(--color-primary);margin:12px 0 0;font-size:13px;line-height:1.5}.portal-add-insurance-btn{border:2px dashed var(--border-color);width:100%;color:var(--color-primary);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);background:#f8fafc;border-radius:10px;padding:14px 16px;font-size:14px;font-weight:600}.portal-add-insurance-btn:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.portal-specialty-billing{background:#fff;border-radius:12px;margin-top:16px;padding:20px}.portal-specialty-billing--workers-comp{border:1px solid #fdba74}.portal-specialty-billing--no-fault,.portal-specialty-billing--employer,.portal-specialty-billing--third-party{border:1px solid #bfdbfe}.portal-specialty-billing-title{color:var(--text-primary);margin:0 0 12px;font-size:15px;font-weight:700}.portal-specialty-billing-desc{color:var(--text-secondary);margin:0 0 16px;font-size:13px;line-height:1.5}.portal-specialty-billing-note{border-radius:10px;margin-top:4px;padding:12px 14px;font-size:13px;line-height:1.5}.portal-specialty-billing-note--purple{color:#5b21b6;background:#f5f3ff;border:1px solid #ddd6fe}.portal-optional-label{color:var(--text-secondary);font-weight:400}.portal-upload-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.portal-upload-field{flex-direction:column;gap:8px;display:flex}.portal-upload-label{color:var(--text-primary);font-size:13px;font-weight:600}.portal-upload-box{cursor:pointer;min-height:140px;transition:border-color var(--transition-fast), background var(--transition-fast);background:#f8fafc;border:2px dashed #cbd5e1;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex;position:relative;overflow:hidden}.portal-upload-box:hover,.portal-upload-box.drag-over{border-color:var(--color-primary);background:#f0f6ff}.portal-upload-box.has-preview{min-height:160px;padding:0}.portal-upload-input{display:none}.portal-upload-icon{color:#64748b}.portal-upload-text{color:var(--text-secondary);text-align:center;font-size:12px;font-weight:500}.portal-upload-inner-label{color:var(--text-primary);text-align:center;font-size:13px;font-weight:700}.portal-upload-preview{object-fit:cover;border-radius:8px;width:100%;height:100%;min-height:160px}.portal-upload-hint{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.4}.portal-upload-remove{color:var(--color-danger);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px;font-weight:600}.portal-minor-box .form-input,.portal-minor-box .form-select,.portal-card .form-input,.portal-card .form-select{background-color:#fff}@media (max-width:768px){.portal-upload-grid{grid-template-columns:1fr}}.portal-minor-box .portal-form-grid{gap:20px 24px}.portal-minor-notice{color:#92400e;margin:4px 0 0;font-size:11px;line-height:1.45}.portal-minor-title{color:#92400e;margin:0;font-size:13px;font-weight:700}@media (max-width:768px){.portal-form-grid{grid-template-columns:1fr;gap:20px}.portal-form-grid.portal-form-grid--3{grid-template-columns:1fr}.portal-details-card{padding:20px}.portal-booking-banner{flex-direction:column;align-items:flex-start}.portal-patient-type-toggle{width:100%}.portal-patient-type-btn{text-align:center;flex:1}.portal-billing-grid{grid-template-columns:1fr}.portal-minor-box{margin-top:20px;padding:16px}}.portal-success-icon{color:#16a34a;background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;font-size:28px;font-weight:700;display:flex}.portal-success-icon--cancelled{color:#dc2626;background:#fee2e2}.portal-success-page{text-align:center;max-width:560px;margin:0 auto}.portal-success-title{color:var(--text-primary);margin:0 0 6px;font-size:22px;font-weight:700}.portal-success-subtitle{color:var(--text-secondary);margin:0 0 24px;font-size:13px;line-height:1.5}.portal-success-card{border:1px solid var(--border-color);text-align:left;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #0049b90f}.portal-ticket-banner{background:var(--color-primary);color:#fff;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.portal-ticket-banner .portal-ticket-label{letter-spacing:.06em;color:#fff;opacity:.95;margin-bottom:4px;font-size:10px;font-weight:600}.portal-ticket-number{font-size:32px;font-weight:800;line-height:1.1}.portal-ticket-display-hint{text-align:left;opacity:.95;align-items:flex-start;gap:8px;max-width:150px;font-size:11px;line-height:1.45;display:flex}.portal-ticket-display-icon{background:#ffffff2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.portal-success-confirm-row{color:#166534;background:#ecfdf5;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;font-size:12px;font-weight:600;display:flex}.portal-success-confirm-pill{color:#14532d;white-space:nowrap;background:#fff;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:700}.portal-success-details-grid{grid-template-columns:1fr 1fr;gap:20px 24px;padding:18px 20px 20px;font-size:12px;display:grid}.portal-success-label{color:var(--text-secondary);margin-bottom:4px;font-size:11px;font-weight:700}.portal-success-value{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.4}.portal-success-address{color:var(--text-secondary);margin-top:2px;font-size:12px;line-height:1.4}.portal-success-time{color:var(--color-primary);margin-top:2px;font-size:13px;font-weight:700}.portal-success-next-steps{text-align:left;margin-top:24px}.portal-success-next-title{color:var(--text-primary);margin:0 0 12px;font-size:14px;font-weight:700}.portal-success-step-card{border:1px solid var(--border-color);background:#fff;border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:10px;padding:14px 16px;display:flex;box-shadow:0 1px 4px #0f172a0a}.portal-success-step-card--highlight{background:#eff6ff;border-color:#dbeafe}.portal-success-step-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.portal-success-step-icon--phone,.portal-success-step-icon--doc{color:var(--color-primary);background:#dbeafe}.portal-success-step-icon--clock{color:#64748b;background:#f1f5f9}.portal-success-step-heading{color:var(--text-primary);margin-bottom:4px;font-size:13px;font-weight:700}.portal-success-step-text{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}.portal-success-register-btn{border-radius:8px;width:100%;margin-top:10px;padding:10px 16px;font-size:13px;font-weight:600}.portal-success-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.portal-success-btn{border-radius:8px;justify-content:center;width:100%;padding:12px 16px;font-size:13px;font-weight:600}.portal-success-calendar-btn{align-items:center;gap:8px;display:inline-flex}.portal-success-cancel-link{color:#dc2626;cursor:pointer;text-align:center;background:0 0;border:none;padding:8px 0 4px;font-size:13px;font-weight:600}.portal-success-cancel-link:hover:not(:disabled){text-decoration:underline}.portal-success-cancel-link:disabled{opacity:.6;cursor:not-allowed}.portal-success-cancel-error{text-align:left;margin-top:12px;font-size:12px}@media (max-width:640px){.portal-success-details-grid{grid-template-columns:1fr;gap:16px}.portal-ticket-banner{flex-direction:column;align-items:flex-start}.portal-ticket-display-hint{max-width:none}}.portal-success-details{grid-template-columns:repeat(3,1fr);gap:16px;padding:20px;font-size:13px;display:grid}@media (max-width:640px){.portal-success-details{grid-template-columns:1fr;gap:20px}}.portal-search-input{border:1px solid var(--border-color);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2394a3b8' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") 14px no-repeat;border-radius:10px;width:100%;margin-bottom:20px;padding:14px 16px 14px 44px;font-size:14px}.staff-page-card{background:#fff;border:1px solid #dbeafe;border-radius:12px;padding:24px 28px 20px;box-shadow:0 1px 3px #0f172a0a}.staff-role-overview{background:#f0f7ff;border:1px solid #dbeafe;border-radius:10px;margin-bottom:20px;padding:14px 18px}.staff-role-overview-title{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.staff-role-overview-list{flex-direction:column;gap:10px;display:flex}.staff-role-overview-item{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.staff-role-overview-desc{color:var(--text-secondary);flex:1;min-width:200px;font-size:13px;line-height:1.45}.staff-tabs-row{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-end;margin-bottom:20px;display:flex}.staff-tabs{gap:0;display:flex}.staff-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 18px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s;display:inline-flex}.staff-tab-btn:hover{color:var(--text-primary)}.staff-tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.staff-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.staff-search-wrap{flex:1;max-width:360px;position:relative}.staff-search-wrap .search-icon{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.staff-search-input{border:1px solid var(--border-color);background:#fff;border-radius:999px;width:100%;padding:10px 14px 10px 38px;font-size:14px;transition:border-color .15s}.staff-search-input:focus{border-color:var(--color-primary);outline:none}.staff-role-badge{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.staff-status-active{color:var(--color-success);align-items:center;gap:5px;font-size:13px;font-weight:500;display:inline-flex}.staff-status-inactive{color:var(--text-secondary);align-items:center;gap:5px;font-size:13px;font-weight:500;display:inline-flex}.staff-actions-btn{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s;display:inline-flex}.staff-actions-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.staff-actions-menu{border:1px solid var(--border-color);box-shadow:var(--shadow-md);z-index:100;background:#fff;border-radius:8px;min-width:140px;position:absolute;top:34px;right:0;overflow:hidden}.staff-actions-menu button{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;padding:10px 14px;font-size:13px;transition:background .15s;display:block}.staff-actions-menu button:hover{background:var(--surface-hover)}.staff-actions-menu button.danger{color:var(--color-danger,#d32f2f)}.staff-permissions-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.staff-permissions-actions{flex-wrap:wrap;gap:8px;display:flex}.staff-role-list-item{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;padding:8px 10px;font-size:13px;display:flex}.staff-role-list-item.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.staff-role-list-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.staff-permissions-layout{gap:20px;width:100%;min-width:0;display:flex}.staff-permissions-roles{flex-shrink:0;width:240px;min-width:0}.staff-permissions-panel{flex:1;min-width:0}.patient-doc-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.patient-doc-card{border:1px solid var(--border-color);background:#fff;border-radius:10px;overflow:hidden}.patient-doc-card-title{color:var(--text-primary);border-bottom:1px solid var(--border-color);background:var(--content-bg);padding:10px 12px;font-size:13px;font-weight:600}.patient-doc-card-image{aspect-ratio:4/3;object-fit:contain;cursor:pointer;background:#f8fafc;width:100%;display:block}.patient-insurance-summary{border:1px solid var(--border-color);background:var(--content-bg);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 20px;margin-bottom:20px;padding:16px;display:grid}.patient-insurance-policy-block{border-top:1px solid var(--border-color);margin-top:20px;padding-top:16px}.patient-insurance-policy-block:first-child{border-top:none;margin-top:0;padding-top:0}.patient-shared-summary{color:var(--text-secondary);background:#f0f7ff;border:1px solid #dbeafe;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;font-size:13px;display:flex}.patient-shared-folder{border:1px solid var(--border-color);background:#fff;border-radius:10px;margin-bottom:16px;overflow:hidden}.patient-shared-folder-header{background:var(--content-bg);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 16px;transition:background .15s;display:flex}.patient-shared-folder-header:hover{background:var(--surface-hover)}.patient-shared-folder-title{color:var(--text-primary);align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.patient-shared-folder-meta{color:var(--text-secondary);font-family:monospace;font-size:12px}.patient-shared-folder-count{background:var(--color-primary-light);min-width:24px;height:24px;color:var(--color-primary);border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.patient-shared-folder-body{border-top:1px solid var(--border-color);padding:16px}.patient-shared-image-meta{color:var(--text-secondary);border-top:1px solid var(--border-color);background:#fafafa;padding:8px 12px;font-size:11px}.appt-cal-page{flex-direction:column;gap:20px;display:flex}.appt-cal-toolbar{align-items:center;gap:8px;display:flex}.appt-cal-locations-card{padding:20px}.appt-cal-locations-header{margin-bottom:14px}.appt-cal-locations-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.appt-cal-location-tabs{flex-wrap:wrap;gap:10px;display:flex}.appt-cal-location-tab{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.appt-cal-location-tab:hover{background:#f8fbff;border-color:#93c5fd}.appt-cal-location-tab.active{border:2px solid var(--color-primary);background:var(--color-primary-light,#eff6ff);color:var(--color-primary);box-shadow:var(--shadow-sm,0 1px 3px #00000014)}.appt-cal-inactive-badge{background:var(--text-secondary);color:#fff;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:500}.appt-cal-main-card{padding:0;overflow:hidden}.appt-cal-clinic-header{border-bottom:1px solid var(--border-color);background:linear-gradient(#f8fbff 0%,#fff 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.appt-cal-clinic-header-left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.appt-cal-clinic-name{margin:0;font-size:18px;font-weight:700}.appt-cal-active-badge{color:#15803d;background:#dcfce7;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.appt-cal-month-nav{border:1px solid var(--border-color);background:#fff;border-radius:10px;align-items:center;gap:4px;padding:4px;display:flex}.appt-cal-nav-btn{cursor:pointer;width:32px;height:32px;color:var(--text-primary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex}.appt-cal-nav-btn:hover{background:#f1f5f9}.appt-cal-month-label{text-align:center;min-width:130px;padding:0 8px;font-size:14px;font-weight:700}.appt-cal-site-tabs{flex-wrap:wrap;gap:8px;padding:14px 24px 0;display:flex}.appt-cal-site-tab{border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;display:flex}.appt-cal-site-tab.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.appt-cal-site-label{color:var(--text-secondary);align-items:center;gap:6px;padding:16px 24px 0;font-size:13px;font-weight:600;display:flex}.appt-cal-summary-row{border-bottom:1px solid var(--border-color);background:#fafbfc;flex-wrap:wrap;align-items:center;gap:24px;padding:16px 24px;display:flex}.appt-cal-summary-stat{flex-direction:column;gap:2px;display:flex}.appt-cal-summary-value{color:var(--color-primary);font-size:22px;font-weight:700;line-height:1}.appt-cal-summary-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.appt-cal-legend{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.appt-cal-legend-item{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.appt-cal-legend-item.high{color:#15803d;background:#dcfce7}.appt-cal-legend-item.medium{color:#a16207;background:#fef9c3}.appt-cal-legend-item.low{color:#c2410c;background:#ffedd5}.appt-cal-legend-item.full{color:#dc2626;background:#fee2e2}.appt-cal-weekdays{grid-template-columns:repeat(7,1fr);gap:6px;padding:16px 24px 6px;display:grid}.appt-cal-weekday{text-align:center;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.appt-cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;padding:0 24px 24px;display:grid}.appt-cal-day{border:1px solid var(--border-color);cursor:default;background:#fff;border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;min-height:88px;padding:8px 6px;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex}.appt-cal-day-empty{background:0 0;border:none;min-height:0}.appt-cal-day.has-slots{cursor:pointer}.appt-cal-day.has-slots:hover{border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 8px #0049b91f}.appt-cal-day.today .appt-cal-day-num{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.appt-cal-day.selected{border-color:var(--color-primary);background:#eff6ff;box-shadow:0 0 0 2px #0049b933}.appt-cal-day.level-high{background:#f0fdf4;border-color:#bbf7d0}.appt-cal-day.level-medium{background:#fefce8;border-color:#fde68a}.appt-cal-day.level-low{background:#fff7ed;border-color:#fed7aa}.appt-cal-day.level-full{background:#fef2f2;border-color:#fecaca}.appt-cal-day-num{font-size:14px;font-weight:700;line-height:1}.appt-cal-day-count{color:var(--text-primary);font-size:11px;font-weight:700}.appt-cal-day-count-sep{color:var(--text-secondary);margin:0 1px;font-weight:500}.appt-cal-day-bar{background:#0000000f;border-radius:2px;width:100%;height:4px;margin-top:2px;overflow:hidden}.appt-cal-day-bar-fill{background:var(--color-primary);border-radius:2px;height:100%;display:block}.appt-cal-day.level-full .appt-cal-day-bar-fill{background:#dc2626}.appt-cal-day.level-low .appt-cal-day-bar-fill{background:#ea580c}.appt-cal-day.level-medium .appt-cal-day-bar-fill{background:#ca8a04}.appt-cal-day.level-high .appt-cal-day-bar-fill{background:#16a34a}.appt-cal-detail-card{padding:24px}.appt-cal-detail-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.appt-cal-detail-title{margin:0 0 4px;font-size:18px;font-weight:700}.appt-cal-detail-sub{color:var(--text-secondary);margin:0;font-size:13px}.appt-cal-slot-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.appt-cal-slot{border:1px solid var(--border-color);text-align:center;background:#fff;border-radius:10px;padding:14px 12px}.appt-cal-slot.level-high{background:#f0fdf4;border-color:#bbf7d0}.appt-cal-slot.level-medium{background:#fefce8;border-color:#fde68a}.appt-cal-slot.level-low{background:#fff7ed;border-color:#fed7aa}.appt-cal-slot.level-full{background:#fef2f2;border-color:#fecaca}.appt-cal-slot.level-blocked{opacity:.85;background:#f1f5f9}.appt-cal-slot-time{margin-bottom:6px;font-size:15px;font-weight:700}.appt-cal-slot-status{color:#15803d;font-size:12px;font-weight:600}.appt-cal-slot-status.full{color:#dc2626}.appt-cal-slot-status.blocked{color:var(--text-secondary)}.appt-cal-slot-booked{color:var(--text-secondary);margin-top:6px;font-size:10px}.appt-cal-slot-bar{background:#0000000f;border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.appt-cal-slot-bar-fill{background:var(--color-primary);border-radius:2px;height:100%}.appt-cal-loading,.appt-cal-empty-state,.appt-cal-empty-hint{text-align:center;color:var(--text-secondary);padding:32px 24px;font-size:14px}.appt-cal-error{color:var(--color-danger);padding:16px 24px;font-size:14px}@media (max-width:768px){.appt-cal-grid{gap:4px;padding:0 12px 16px}.appt-cal-day{min-height:64px;padding:6px 4px}.appt-cal-day-count{font-size:10px}.appt-cal-summary-row{gap:16px;padding:12px 16px}.appt-cal-legend{width:100%;margin-left:0}}.comms-page{flex-direction:column;gap:0;display:flex}.comms-tabs{border-bottom:1px solid var(--border-color,#e2e8f0);gap:24px;margin-bottom:20px;display:flex}.comms-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:0 0 12px;font-size:15px;font-weight:600}.comms-tab.is-active{color:var(--text-primary);border-bottom-color:var(--color-primary)}.comms-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.comms-summary{color:var(--text-secondary);margin:0;font-size:14px}.comms-card{border:1px solid var(--border-color,#e2e8f0);background:#fff;border-radius:12px;overflow:visible;box-shadow:0 1px 3px #0f172a0a}.comms-table-wrap{overflow-x:auto}.comms-table{border-collapse:collapse;width:100%;font-size:14px}.comms-table th{text-align:left;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border-color,#e2e8f0);background:#f8fafc;padding:12px 16px;font-size:11px;font-weight:700}.comms-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px 16px}.comms-table tbody tr:last-child td{border-bottom:none}.comms-col-check{width:44px}.comms-col-sent{text-align:right;font-variant-numeric:tabular-nums;width:80px}.comms-col-actions{text-align:right;width:48px}.comms-template-name{color:var(--text-primary);font-weight:600}.comms-trigger-badge{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.comms-trigger-icon{font-size:11px}.comms-channel-badges{flex-wrap:wrap;gap:6px;display:flex}.comms-channel-badge{letter-spacing:.02em;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.comms-channel-badge--sms{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.comms-channel-badge--email{color:#6d28d9;background:#f5f3ff;border:1px solid #ddd6fe}.comms-row-menu-wrap{display:inline-block;position:relative}.comms-row-menu-btn{letter-spacing:2px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1}.comms-row-menu{z-index:20;border:1px solid var(--border-color,#e2e8f0);background:#fff;border-radius:8px;min-width:120px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 8px 24px #0f172a1f}.comms-row-menu--up{top:auto;bottom:calc(100% + 4px)}.comms-row-menu button{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:10px 14px;font-size:14px;display:block}.comms-row-menu button:hover{background:#f8fafc}.comms-row-menu button.is-danger{color:#dc2626}.comms-log-channel-toggle{gap:8px;margin-bottom:16px;display:flex}.comms-log-channel-btn{border:1px solid var(--border-color,#e2e8f0);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-flex}.comms-log-channel-btn.is-active{color:#fff;background:#0f172a;border-color:#0f172a}.comms-log-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;padding:16px 16px 0;display:flex}.comms-log-header h3{margin:0;font-size:16px;font-weight:700}.comms-log-header .search-input-wrapper{min-width:260px}.comms-log-filters{flex-wrap:wrap;align-items:center;gap:10px;padding:0 16px 16px;display:flex}.comms-log-filters .search-input-wrapper{flex:240px;min-width:220px}.comms-log-filters .filter-select{min-width:150px}.comms-log-footer{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 16px;display:flex}.comms-log-count{color:var(--text-secondary);font-size:13px}.comms-time{color:var(--text-secondary);white-space:nowrap;font-size:13px}.comms-patient-cell{flex-direction:column;gap:2px;display:flex}.comms-patient-cell span{color:var(--text-secondary);font-size:12px}.comms-subject{white-space:nowrap;text-overflow:ellipsis;max-width:280px;overflow:hidden}.comms-status{align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.comms-status--delivered{color:#16a34a}.comms-status--sent{color:#2563eb}.comms-status--failed{color:#dc2626}.comms-status--bounced{color:#ea580c}.comms-status--pending{color:#ca8a04}.comms-row-failed .comms-recipient-failed{color:#dc2626}.comms-resend-btn{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.comms-resend-btn:hover{background:#fef2f2}.comms-log-actions{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.comms-view-msg-btn{border:1px solid var(--border-color);color:var(--color-primary);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;align-items:center;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.comms-view-msg-btn:hover{background:#eff6ff;border-color:#bfdbfe}.audit-page{flex-direction:column;gap:16px;display:flex}.audit-action-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.audit-action-badge--default{color:#475569;background:#f1f5f9}.audit-action-badge--success{color:#15803d;background:#dcfce7}.audit-action-badge--danger{color:#b91c1c;background:#fee2e2}.audit-action-badge--info{color:#1d4ed8;background:#dbeafe}.audit-action-badge--warning{color:#b45309;background:#fef3c7}.audit-record-id{color:var(--text-secondary);font-family:monospace;font-size:12px}.audit-detail-body{flex-direction:column;gap:16px;display:flex}.audit-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.audit-detail-grid>div{flex-direction:column;gap:4px;display:flex}.audit-detail-grid span{color:var(--text-secondary);font-size:12px}.audit-fields-block h4{margin:0 0 8px;font-size:13px}.audit-fields-list{border:1px solid var(--border-color);background:#f8fafc;border-radius:8px;flex-direction:column;gap:10px;margin:0;padding:12px 14px;display:flex}.audit-fields-row{grid-template-columns:minmax(110px,160px) 1fr;align-items:start;gap:10px 16px;display:grid}.audit-fields-row dt{color:var(--text-secondary);margin:0;font-size:12px;font-weight:600}.audit-fields-row dd{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;margin:0;font-size:14px;line-height:1.45}.audit-fields-empty{color:var(--text-secondary);margin:0;font-size:13px}.audit-user-agent{border:1px solid var(--border-color);color:var(--text-secondary);word-break:break-word;background:#f8fafc;border-radius:8px;margin:0;padding:12px 14px;font-size:12px}.audit-json-block h4{margin:0 0 8px;font-size:13px}.audit-json-block pre{border:1px solid var(--border-color);background:#f8fafc;border-radius:8px;max-height:240px;margin:0;padding:12px;font-size:12px;overflow:auto}.audit-json-block p{color:var(--text-secondary);word-break:break-word;margin:0;font-size:13px}.comms-col-resend{text-align:right;width:100px}.comms-loading,.comms-empty{text-align:center;color:var(--text-secondary);padding:32px}.comms-modal-overlay{z-index:9000}.comms-edit-modal{background:#fff;border-radius:16px;flex-direction:column;width:min(960px,96vw);max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #0f172a33}.comms-edit-header{padding:24px 28px 0}.comms-edit-header h2{margin:0 0 6px;font-size:20px;font-weight:700}.comms-edit-header p{color:var(--text-secondary);margin:0;font-size:14px}.comms-edit-body{flex:1;grid-template-columns:1fr 1fr;gap:24px;padding:20px 28px;display:grid;overflow-y:auto}@media (max-width:900px){.comms-edit-body{grid-template-columns:1fr}}.comms-edit-form{flex-direction:column;gap:16px;display:flex}.comms-field{flex-direction:column;gap:6px;display:flex}.comms-field span{color:var(--text-primary);font-size:13px;font-weight:600}.comms-field input,.comms-field select,.comms-field textarea{border:1px solid var(--border-color,#e2e8f0);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px}.comms-field textarea{resize:vertical;min-height:80px}.comms-section-title{margin-bottom:8px;font-size:13px;font-weight:700}.comms-channel-section{border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;padding:12px 0}.comms-toggle-row{justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.comms-toggle-label{font-size:14px;font-weight:600}.comms-toggle-desc{color:var(--text-secondary);font-size:12px}.comms-toggle{cursor:pointer;background:#cbd5e1;border:none;border-radius:999px;flex-shrink:0;width:44px;height:24px;transition:background .2s;position:relative}.comms-toggle span{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000026}.comms-toggle.is-on{background:#7c3aed}.comms-toggle.is-on span{transform:translate(20px)}.comms-placeholder-tags{flex-wrap:wrap;gap:8px;display:flex}.comms-placeholder-tag{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600}.comms-placeholder-tag:hover{background:#dbeafe}.comms-edit-preview{border:1px solid var(--border-color,#e2e8f0);background:#f8fafc;border-radius:12px;padding:16px}.comms-preview-title{align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}.comms-preview-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.comms-preview-meta{color:var(--text-secondary);border-bottom:1px solid #f1f5f9;padding:12px 14px;font-size:12px;line-height:1.6}.comms-preview-body{padding:14px;font-size:14px;line-height:1.6}.comms-preview-body p{margin:0 0 8px}.comms-preview-footer{color:var(--text-secondary);background:#f8fafc;border-top:1px solid #f1f5f9;padding:10px 14px;font-size:11px}.comms-preview-sms-note{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;margin-top:12px;padding:12px;font-size:13px}.comms-preview-sms-text{color:var(--text-primary);background:#fff;border-radius:8px;margin-top:8px;padding:10px;font-size:13px}.comms-edit-footer{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:10px;padding:16px 28px 24px;display:flex}.settings-page{width:100%;max-width:1200px}.settings-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}@media (max-width:960px){.settings-row{grid-template-columns:1fr}}.settings-card{border:1px solid var(--border-color,#e2e8f0);background:#fff;border-radius:12px;min-width:0;padding:24px;box-shadow:0 1px 3px #0f172a0a}.settings-card-header h2{margin:0 0 6px;font-size:18px}.settings-card-header p{color:var(--text-secondary);margin:0 0 20px;font-size:14px}.settings-form{flex-direction:column;gap:16px;display:flex}.settings-field{flex-direction:column;gap:6px;display:flex}.settings-field span{font-size:13px;font-weight:600}.settings-field input{border:1px solid var(--border-color,#e2e8f0);border-radius:8px;padding:10px 12px;font-size:14px}.settings-field small{color:var(--text-secondary);font-size:12px}.settings-copy-row{align-items:stretch;gap:8px;display:flex}.settings-copy-input{border:1px solid var(--border-color,#e2e8f0);background:var(--surface-muted,#f8fafc);min-width:0;color:var(--text-primary,#0f172a);border-radius:8px;flex:1;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.settings-loading,.settings-readonly-note{color:var(--text-secondary);font-size:14px}.returning-flow-wrap{max-width:520px;margin:0 auto}.returning-flow{flex-direction:column;align-items:stretch;gap:16px;display:flex}.returning-flow--review{align-items:stretch;max-width:720px;margin:0 auto}.returning-flow-hero{text-align:center;margin-bottom:8px}.returning-flow-icon{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:16px;display:inline-flex}.returning-flow-icon--user,.returning-flow-icon--phone{color:var(--color-primary,#1d61f2);background:#e8f0fe}.returning-flow-title{color:var(--text-primary);margin:0 0 8px;font-size:28px;font-weight:700}.returning-flow-sub{color:var(--text-secondary);max-width:420px;margin:0 auto;font-size:14px;line-height:1.5}.returning-flow-card{background:#fff;border:1px solid #d4dde8;border-radius:12px;padding:20px 24px}.returning-flow-card-title{color:var(--text-primary);margin:0 0 16px;font-size:15px;font-weight:700}.returning-flow-card .form-group+.form-group{margin-top:20px}.returning-flow-primary-btn{background:var(--color-primary,#1d61f2);color:#fff;cursor:pointer;width:100%;transition:opacity var(--transition-fast);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;display:flex}.returning-flow-primary-btn:disabled{opacity:.6;cursor:not-allowed}.returning-flow-hint{text-align:center;color:var(--text-secondary);margin:0;font-size:13px}.returning-flow-alert{margin:0}.returning-otp-section{text-align:center}.returning-otp-label{color:var(--text-secondary);margin-bottom:12px;font-size:13px;display:block}.returning-otp-inputs{justify-content:center;gap:10px;margin-bottom:8px;display:flex}.returning-otp-box{text-align:center;width:48px;height:52px;color:var(--text-primary);background:#fff;border:1px solid #d4dde8;border-radius:10px;font-size:20px;font-weight:600}.returning-otp-box:focus{border-color:var(--color-primary,#1d61f2);outline:none;box-shadow:0 0 0 3px #1d61f226}.returning-otp-actions{flex-direction:column;align-items:center;gap:8px;margin-top:4px;display:flex}.returning-otp-muted{color:var(--text-secondary);margin:0;font-size:13px}.returning-otp-link{color:var(--color-primary,#1d61f2);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:13px;font-weight:600;display:inline-flex}.returning-otp-link:disabled{opacity:.55;cursor:not-allowed}.returning-otp-expires{color:var(--text-secondary);margin:4px 0 0;font-size:12px}.returning-welcome-banner{align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.returning-welcome-check{color:#fff;background:#22c55e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:4px;display:flex}.returning-welcome-title{margin:0 0 4px;font-size:22px;font-weight:700}.returning-welcome-sub{color:var(--text-secondary);margin:0;font-size:14px}.returning-verified-card{background:#fff;border:1px solid #d4dde8;border-radius:12px;margin-bottom:20px;padding:16px 20px;position:relative}.returning-verified-badge{color:#15803d;background:#dcfce7;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;position:absolute;top:14px;right:16px}.returning-verified-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.returning-verified-label{color:var(--text-secondary);margin-bottom:4px;font-size:12px}.returning-verified-value{color:var(--text-primary);font-size:15px;font-weight:600}.returning-review-heading{align-items:center;gap:8px;margin:0 0 12px;font-size:15px;font-weight:700;display:flex}.returning-review-list{flex-direction:column;gap:10px;display:flex}.returning-review-row{background:#fff;border:1px solid #d4dde8;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.returning-review-row.editing{border-color:var(--color-primary,#1d61f2);box-shadow:0 0 0 1px #1d61f21f}.returning-review-row-body{flex:1;min-width:0}.returning-review-row-label{color:var(--text-secondary);margin-bottom:4px;font-size:12px}.returning-review-row-value{color:var(--text-primary);word-break:break-word;font-size:14px;font-weight:600}.returning-review-edit-btn,.returning-review-save-btn{cursor:pointer;border-radius:8px;flex-shrink:0;padding:6px 14px;font-size:12px;font-weight:600}.returning-review-edit-btn{color:var(--color-primary,#1d61f2);background:#fff;border:1px solid #bfdbfe}.returning-review-save-btn{background:var(--color-primary,#1d61f2);color:#fff;border:none}.returning-review-insurance-editor,.returning-review-fields{width:100%;margin-top:8px}.returning-review-fields .form-group{margin-bottom:0}.returning-review-fields .portal-form-grid{margin-top:12px}.returning-staff-notice{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;align-items:flex-start;gap:10px;margin:8px 0;padding:12px 14px;font-size:13px;display:flex}.returning-staff-notice svg{color:#d97706;flex-shrink:0;margin-top:1px}.patients-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;min-width:0;max-width:100%;margin-bottom:20px;display:grid}.patients-stat-card{border:1px solid var(--border-color);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;align-items:center;gap:14px;padding:18px 20px;display:flex}.patients-stat-card--primary{background:#f8fbff;border-color:#bfdbfe}.patients-stat-card--success{background:#f7fef9;border-color:#bbf7d0}.patients-stat-card--warning{background:#fffdf5;border-color:#fde68a}.patients-stat-card--info{background:#faf8ff;border-color:#ddd6fe}.patients-stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.patients-stat-icon--primary{color:#1d4ed8;background:#dbeafe}.patients-stat-icon--success{color:#15803d;background:#dcfce7}.patients-stat-icon--warning{color:#b45309;background:#fef3c7}.patients-stat-icon--info{color:#6d28d9;background:#ede9fe}.patients-stat-label{color:var(--text-secondary);margin-bottom:4px;font-size:13px}.patients-stat-value{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:28px;font-weight:700;line-height:1}.patients-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.patients-toolbar-filters{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.patients-search{flex:1;min-width:260px;max-width:420px}.patients-add-btn{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.patients-cell-patient{align-items:center;gap:10px;display:flex}.patients-name{color:var(--text-primary);font-weight:600}.patients-mrn{color:var(--text-secondary);margin-top:2px;font-size:12px}.patients-primary-text{color:var(--text-primary);font-size:14px}.patients-secondary-text{color:var(--text-secondary);margin-top:2px;font-size:12px}.patients-reg-badge{align-items:center;gap:6px;display:inline-flex}.patients-view-link{color:var(--color-primary);align-items:center;gap:4px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.patients-view-link:hover{text-decoration:underline}.patients-table-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.patients-pagination{align-items:center;gap:6px;display:flex}.patients-pagination-nav{align-items:center;gap:6px;width:auto;min-width:96px;padding:0 12px;display:inline-flex}.patients-pagination-ellipsis{color:var(--text-secondary);-webkit-user-select:none;user-select:none;padding:0 4px}@media (max-width:1100px){.patients-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.patients-stats-grid{grid-template-columns:1fr}.patients-toolbar{flex-direction:column;align-items:stretch}.patients-search{max-width:none}.returning-verified-grid{grid-template-columns:1fr}.returning-otp-box{width:42px;height:48px;font-size:18px}.returning-review-row{flex-direction:column}.returning-review-edit-btn,.returning-review-save-btn{align-self:flex-end}}.waiting-room-shell{color:#fff;min-height:100vh;font-family:var(--font-sans,"Inter", system-ui, sans-serif);background:#0b1120;flex-direction:column;display:flex}.waiting-room-empty,.waiting-room-empty-queue{color:#8b95a8;text-align:center;padding:48px 24px;font-size:16px}.waiting-room-header{background:var(--color-primary);flex-shrink:0;justify-content:space-between;align-items:center;min-height:72px;padding:14px 32px;display:flex}.waiting-room-header-left{flex-direction:column;gap:2px;display:flex}.waiting-room-logo{color:#fff;letter-spacing:-.02em;align-items:center;gap:10px;font-size:22px;font-weight:700;display:flex}.waiting-room-subtitle{color:#ffffffd1;padding-left:32px;font-size:13px;font-weight:500}.waiting-room-location-field{align-items:center;gap:10px;display:inline-flex}.waiting-room-location-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;font-size:11px;font-weight:700}.waiting-room-location-select{appearance:none;color:#fff;cursor:pointer;background:#00000047 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center no-repeat;border:1px solid #ffffff38;border-radius:10px;min-width:220px;padding:8px 36px 8px 14px;font-size:14px;font-weight:600}.waiting-room-location-select:focus{outline-offset:2px;outline:2px solid #ffffff73}.waiting-room-location-select option{color:#111827;background:#fff}.waiting-room-header-right{align-items:center;gap:14px;display:flex}.waiting-room-clock{color:#fff;letter-spacing:-.01em;font-size:26px;font-weight:600}.waiting-room-settings-btn{color:#ffffffe6;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;text-decoration:none;transition:background .15s;display:inline-flex}.waiting-room-settings-btn:hover{background:#ffffff26}.waiting-room-content{flex:1;padding:28px 32px 100px}.waiting-room-body{grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;gap:32px;display:grid}.waiting-room-queue-panel{min-width:0}.waiting-room-queue-head{color:#8b95a8;letter-spacing:.12em;justify-content:space-between;align-items:center;margin-bottom:16px;padding:0 4px;font-size:11px;font-weight:700;display:flex}.waiting-room-table{flex-direction:column;gap:10px;display:flex}.waiting-room-table-row{border-radius:14px;grid-template-columns:168px minmax(0,1fr) 110px;align-items:center;gap:12px;min-height:64px;padding:0 20px;display:grid}.waiting-room-table-header{color:#5c667a;letter-spacing:.1em;background:0 0;min-height:auto;padding:0 20px 4px;font-size:11px;font-weight:700}.waiting-room-wait-col,.waiting-room-wait{text-align:right}.waiting-room-queue-row.role-now{background:#16a34a;box-shadow:0 4px 20px #16a34a40}.waiting-room-queue-row.role-up_next{background:#2563eb;box-shadow:0 4px 20px #2563eb40}.waiting-room-queue-row.role-waiting{background:#141b2d;border:1px solid #ffffff0f}.waiting-room-position{align-items:center;gap:12px;display:flex}.waiting-room-position-badge{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:700;display:inline-flex}.waiting-room-position-badge.waiting{color:#9aa3b5;background:#252f45;border:1px solid #ffffff14}.waiting-room-position-badge.now,.waiting-room-position-badge.up_next{color:#111827;background:#fff}.waiting-room-role-label{color:#fff;letter-spacing:.02em;white-space:nowrap;font-size:13px;font-weight:700}.waiting-room-name{color:#fff;letter-spacing:-.01em;font-size:20px;font-weight:600}.waiting-room-ticket{color:#f4f7fb;letter-spacing:-.01em;font-size:22px;font-weight:700}.waiting-room-ticket.highlight{color:#fff}.waiting-room-wait{color:#ffffffe6;font-size:17px;font-weight:500}.waiting-room-queue-row.role-waiting .waiting-room-ticket{color:#e8ecf4}.waiting-room-queue-row.role-waiting .waiting-room-wait{color:#9aa3b5}.waiting-room-sidebar{flex-direction:column;gap:14px;min-height:100%;display:flex}.waiting-room-card{background:#141b2d;border:1px solid #ffffff0f;border-radius:14px;padding:20px 22px}.waiting-room-card.now-serving{border-color:#22c55e #ffffff0f #ffffff0f;border-top-style:solid;border-top-width:3px}.waiting-room-card-label{letter-spacing:.12em;color:#8b95a8;margin-bottom:10px;font-size:10px;font-weight:700}.waiting-room-card.now-serving .waiting-room-card-label{color:#4ade80}.waiting-room-ticket-large{color:#fff;letter-spacing:-.02em;font-size:48px;font-weight:700;line-height:1}.waiting-room-ticket-large.muted{color:#5c667a}.waiting-room-serving-name{color:#4ade80;margin-top:6px;font-size:20px;font-weight:600}.waiting-room-stat-row{align-items:center;gap:10px;display:flex}.waiting-room-stat-value{color:#fff;letter-spacing:-.02em;font-size:48px;font-weight:700;line-height:1}.waiting-room-stat-badge{color:#fff;background:#2563eb;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 8px;font-size:13px;font-weight:700;display:inline-flex}.waiting-room-announcement{background:#141b2d;border:1px solid #ffffff0f;border-radius:14px;margin-top:auto;padding:16px 18px}.waiting-room-announcement-label{color:#fbbf24;letter-spacing:.1em;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:10px;font-weight:700;display:flex}.waiting-room-announcement p{color:#c8cdd8;margin:0;font-size:13px;line-height:1.55}.waiting-room-controls,.waiting-room-show-controls{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#141b2deb;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:8px 12px 8px 16px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000073}.waiting-room-show-controls{color:#c8cdd8;cursor:pointer;background:#141b2deb;border:1px solid #ffffff1a;padding:10px 18px;font-size:13px}.waiting-room-controls-label{color:#8b95a8;letter-spacing:.08em;white-space:nowrap;margin-right:4px;font-size:11px;font-weight:700}.waiting-room-format-btn,.waiting-room-hide-btn{color:#c8cdd8;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.waiting-room-format-btn:hover{background:#ffffff0f}.waiting-room-format-btn.active{color:#fff;background:#2563eb}.waiting-room-format-btn.ticket-toggle{margin-left:2px}.waiting-room-hide-btn{color:#8b95a8;margin-left:6px;font-size:12px}.waiting-room-hide-btn:hover{color:#c8cdd8}@media (max-width:1100px){.waiting-room-body{grid-template-columns:1fr}.waiting-room-table-row{grid-template-columns:130px minmax(0,1fr) 80px 80px;min-height:56px;padding:0 14px}.waiting-room-name{font-size:17px}.waiting-room-header{padding:12px 20px}.waiting-room-content{padding:20px 20px 100px}.waiting-room-controls{border-radius:16px;flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 24px)}}.providers-page{flex-direction:column;gap:20px;display:flex}.providers-loading,.providers-empty{text-align:center;color:var(--text-secondary);padding:48px 24px}.providers-stats{grid-template-columns:repeat(3,1fr);gap:16px;width:100%;min-width:0;max-width:100%;display:grid}.providers-stat-card{border:1px solid var(--border-color);background:#fff;border-radius:12px;padding:20px 24px}.providers-stat-value{color:var(--text-primary);letter-spacing:-.02em;font-size:36px;font-weight:700;line-height:1.1}.providers-stat-value--success{color:#16a34a}.providers-stat-value--muted{color:#9ca3af}.providers-stat-label{color:var(--text-secondary);margin-top:4px;font-size:14px}.providers-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.providers-toolbar-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.providers-search-wrap{border:1px solid var(--border-color);min-width:240px;height:40px;color:var(--text-secondary);background:#fff;border-radius:8px;align-items:center;gap:10px;padding:0 12px;display:flex}.providers-search-input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;font-size:14px}.providers-filter-select{border:1px solid var(--border-color);min-width:150px;height:40px;color:var(--text-primary);background:#fff;border-radius:8px;padding:0 12px;font-size:14px}.providers-table-card{border:1px solid var(--border-color);background:#fff;border-radius:12px;width:100%;min-width:0;max-width:100%;overflow:hidden}.providers-table-card--menu-visible,.providers-table-card--menu-visible .providers-table tbody tr:last-child td{overflow:visible}.providers-table{border-collapse:collapse;width:100%;font-size:14px}.providers-table thead tr{border-bottom:1px solid var(--border-color);background:#fafbfc}.providers-table th{text-align:left;letter-spacing:.06em;color:var(--text-secondary);padding:12px 16px;font-size:11px;font-weight:700}.providers-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:16px}.providers-table tbody tr:last-child td{border-bottom:none}.providers-table tbody tr:hover{background:#fafbfc}.providers-name-cell{align-items:center;gap:12px;display:flex}.providers-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:flex}.providers-avatar--blue{color:#1d4ed8;background:#dbeafe}.providers-avatar--purple{color:#6d28d9;background:#ede9fe}.providers-avatar--green{color:#15803d;background:#dcfce7}.providers-avatar--orange{color:#c2410c;background:#ffedd5}.providers-avatar--pink{color:#be185d;background:#fce7f3}.providers-avatar--teal{color:#0f766e;background:#ccfbf1}.providers-name{color:var(--text-primary);font-size:15px;font-weight:600}.providers-specialty{color:var(--text-primary)}.providers-locations{flex-direction:column;gap:4px;display:flex}.providers-location-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:inline-flex}.providers-day-pills{flex-wrap:wrap;gap:4px;display:flex}.providers-day-pill{color:#9ca3af;background:#f3f4f6;border-radius:999px;justify-content:center;align-items:center;min-width:34px;height:28px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.providers-day-pill.active{color:#1d4ed8;background:#dbeafe}.providers-visit-tags{flex-wrap:wrap;gap:6px;display:flex}.providers-visit-tag{color:var(--text-secondary);white-space:nowrap;background:#f3f4f6;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.providers-visit-tag--more{color:var(--text-secondary);background:#e5e7eb}.providers-status{align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.providers-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.providers-status--active{color:#16a34a}.providers-status--active .providers-status-dot{background:#22c55e}.providers-status--inactive{color:#9ca3af}.providers-status--inactive .providers-status-dot{background:#d1d5db}.providers-actions-cell{text-align:right;width:48px}.providers-actions-wrap{z-index:1;display:inline-block;position:relative}.providers-actions-wrap:has(.action-menu-dropdown){z-index:210}.providers-menu-btn{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);letter-spacing:1px;background:0 0;border:none;border-radius:6px;font-size:18px;line-height:1}.providers-menu-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.providers-muted{color:var(--text-secondary);font-size:13px}.providers-footnote{color:var(--text-secondary);margin:0;font-size:13px;font-style:italic}.providers-modal{max-width:640px}.providers-modal-body{flex-direction:column;gap:18px;max-height:70vh;display:flex;overflow-y:auto}.providers-form-grid{grid-template-columns:1fr 140px;gap:16px;display:grid}.providers-checkbox-grid,.providers-visit-checkboxes{grid-template-columns:repeat(2,1fr);gap:10px 16px;display:grid}.providers-checkbox-item{cursor:pointer;color:var(--text-primary);align-items:center;gap:10px;font-size:14px;display:flex}.providers-checkbox-item input{width:16px;height:16px;accent-color:var(--color-primary);flex-shrink:0}.providers-day-toggles{flex-wrap:wrap;gap:8px;display:flex}.providers-day-toggle{border:1px solid var(--border-color);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:50%;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.providers-day-toggle.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.providers-active-toggle{margin-top:4px}@media (max-width:900px){.providers-stats,.providers-form-grid,.providers-visit-checkboxes{grid-template-columns:1fr}.providers-table-card{overflow-x:auto}.providers-table{min-width:900px}}.analytics-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.analytics-toolbar-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.analytics-period-group{border:1px solid var(--border-color);background:#fff;border-radius:10px;gap:2px;padding:4px;display:inline-flex}.analytics-period-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500;transition:background .15s,color .15s}.analytics-period-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.analytics-period-btn.active{color:var(--text-primary);background:#f3f4f6;font-weight:600}.analytics-clinic-select{min-width:180px}.analytics-tab-group{gap:8px;display:inline-flex}.analytics-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500}.analytics-tab-btn:hover{color:var(--text-primary)}.analytics-tab-btn.active{color:var(--text-primary);border-color:#111827;font-weight:600}.analytics-kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.analytics-kpi-card{border:1px solid var(--border-color);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;padding:18px 20px}.analytics-kpi-top{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.analytics-kpi-icon{width:36px;height:36px;color:var(--color-primary);background:#eff6ff;border-radius:10px;justify-content:center;align-items:center;display:flex}.analytics-kpi-change{font-size:13px;font-weight:600}.analytics-kpi-change.positive{color:var(--color-success)}.analytics-kpi-change.negative{color:var(--color-danger)}.analytics-kpi-value{color:var(--text-primary);font-size:32px;font-weight:700;line-height:1.1;font-family:var(--font-heading,inherit)}.analytics-kpi-suffix{margin-left:2px;font-size:22px;font-weight:600}.analytics-kpi-label{color:var(--text-primary);margin-top:6px;font-size:14px;font-weight:600}.analytics-kpi-subtext{color:var(--text-secondary);margin-top:4px;font-size:12px}.analytics-charts-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.analytics-chart-card{padding:20px 22px}.analytics-chart-card--full{margin-bottom:16px}.analytics-chart-header{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:20px;font-size:15px;font-weight:600;display:flex}.analytics-chart-header-note{color:var(--text-secondary);margin-left:auto;font-size:12px;font-weight:400}.analytics-empty{color:var(--text-secondary);padding:24px 0;font-size:14px}.analytics-donut-wrap{grid-template-columns:180px 1fr;align-items:center;gap:24px;display:grid}.analytics-donut{border-radius:50%;justify-content:center;align-items:center;width:160px;height:160px;display:flex}.analytics-donut-hole{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:96px;height:96px;display:flex}.analytics-donut-total{font-size:28px;font-weight:700;line-height:1}.analytics-donut-total-label{color:var(--text-secondary);margin-top:2px;font-size:12px}.analytics-donut-legend{flex-direction:column;gap:10px;display:flex}.analytics-donut-legend-item{grid-template-columns:12px 1fr auto;align-items:center;gap:10px;font-size:13px;display:grid}.analytics-donut-swatch{border-radius:50%;width:10px;height:10px}.analytics-donut-legend-name{color:var(--text-primary)}.analytics-donut-legend-pct{color:var(--text-secondary);font-weight:600}.analytics-bar-chart{flex-direction:column;gap:12px;display:flex}.analytics-bar-row{grid-template-columns:110px 1fr 56px;align-items:center;gap:12px;display:grid}.analytics-bar-label{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.analytics-bar-track{background:#f3f4f6;border-radius:999px;height:10px;overflow:hidden}.analytics-bar-fill{border-radius:999px;min-width:0;height:100%;transition:width .5s}.analytics-bar-fill--blue{background:#93c5fd}.analytics-bar-fill--purple{background:#8b5cf6}.analytics-bar-fill--green{background:#22c55e}.analytics-bar-value{color:var(--text-primary);text-align:right;font-size:13px;font-weight:600}@media (max-width:1100px){.analytics-kpi-grid{grid-template-columns:repeat(2,1fr)}.analytics-charts-grid{grid-template-columns:1fr}.analytics-donut-wrap{grid-template-columns:1fr;justify-items:center}}@media (max-width:640px){.analytics-kpi-grid{grid-template-columns:1fr}.analytics-toolbar{flex-direction:column;align-items:stretch}.analytics-tab-group{flex-wrap:wrap;justify-content:flex-start}.analytics-bar-row{grid-template-columns:80px 1fr 48px}}.page-loading-skeleton{min-height:240px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.page-loading-spinner{border:3px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.page-loading-text{margin:0;font-size:14px;font-weight:500}.skip-to-content{z-index:10000;background:var(--color-primary);color:#fff;border-radius:0 0 8px;padding:10px 16px;font-weight:600;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-to-content:focus{left:0}.header-menu-btn{border:1px solid var(--border-color);width:40px;height:40px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;display:none}.sidebar-backdrop{z-index:99;cursor:pointer;background:#0f172a73;border:none;display:none;position:fixed;inset:0}.portal-review-icon{color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.badge{letter-spacing:.01em;font-weight:600}@media (max-width:768px){.header-menu-btn{flex-shrink:0;display:inline-flex}.sidebar-backdrop{display:block}.sidebar{z-index:120;transition:transform .25s;transform:translate(-100%)}.app-shell.sidebar-open .sidebar{transform:translate(0)}.app-shell{width:100%;max-width:100%;display:block;overflow-x:hidden}.main-area{width:100%;max-width:100%;margin-left:0}:root{--content-padding:16px;--header-height:56px}.header{z-index:100;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"menu title actions";align-items:center;gap:8px;height:auto;min-height:56px;padding:10px 12px;display:grid;overflow:visible}.header-actions{z-index:110;flex-shrink:0;grid-area:actions;gap:6px;position:relative;overflow:visible}.header .user-profile-dropdown{z-index:120;overflow:visible}.header .user-profile-menu{top:calc(var(--header-height,56px) + 4px);z-index:300;width:min(280px,100vw - 24px);position:fixed;left:auto;right:12px;box-shadow:0 16px 40px #0f172a2e}.header .notification-bell{z-index:120;overflow:visible}.header .notification-panel{top:calc(var(--header-height,56px) + 4px);z-index:300;width:min(360px,100vw - 24px);position:fixed;left:auto;right:12px;box-shadow:0 16px 40px #0f172a2e}.header-title-block{display:contents}.header-menu-btn{grid-area:menu}.header-title-text{grid-area:title;min-width:0;overflow:hidden}.header-page-title{white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.header-page-subtitle{display:none}.header-user-btn{background:0 0;border:none;justify-content:center;gap:0;width:36px;min-width:36px;height:36px;padding:0}.header-user-btn .header-user-info,.header-user-btn .header-user-chevron{display:none!important}.header-icon-btn{flex-shrink:0;width:36px;height:36px;padding:0}.page-content>*,.card,.alert,.comms-card,.audit-page,.providers-page,.providers-table-card,.patients-toolbar,.patients-stats-grid{min-width:0;max-width:100%}.stats-grid,.analytics-kpi-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}.filter-bar{flex-direction:column;align-items:stretch;gap:10px}.search-input-wrapper{flex:none;width:100%;max-width:none;min-width:0!important}.filter-select{width:100%}.filter-bar-actions{flex-direction:column;align-items:stretch;width:100%;margin-left:0}.filter-bar-actions .btn{white-space:normal;justify-content:center;width:100%}.table-wrapper{-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;overflow:auto visible}.table-wrapper--menu-visible{overflow:auto visible}.data-table{min-width:640px}.comms-table-wrap{-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;overflow-x:auto}.comms-table{min-width:560px}.table-provider-select{min-width:120px;max-width:none}.table-col-hide-mobile{display:none}.table-footer{flex-direction:column;align-items:stretch;gap:10px}.pagination{flex-wrap:wrap;justify-content:center}.page-header,.alert--with-action{flex-direction:column;align-items:stretch}.alert-body{min-width:0}.card-header{flex-wrap:wrap;gap:12px}.booking-portal-header{flex-direction:column;align-items:flex-start}.dashboard-portal-links{grid-template-columns:1fr}.analytics-toolbar{flex-direction:column;align-items:stretch}.analytics-tab-group{flex-wrap:wrap}.patients-toolbar{flex-direction:column;align-items:stretch}.patients-toolbar-filters{flex-direction:column;align-items:stretch;width:100%}.patients-search{width:100%;min-width:0;max-width:none}.patients-toolbar .filter-select{width:100%}.patients-add-btn{justify-content:center;width:100%}.comms-log-filters{flex-direction:column;align-items:stretch}.comms-log-filters .search-input-wrapper{flex:none;width:100%;min-width:0}.comms-log-filters .filter-select{width:100%;min-width:0}.comms-log-footer{flex-direction:column;align-items:stretch}.audit-page,.comms-card{min-width:0;max-width:100%}.responsive-split-layout{flex-direction:column}.responsive-split-layout>*{width:100%;min-width:0!important;position:static!important}.staff-page-card{padding:16px}.staff-tabs-row{flex-direction:column;align-items:stretch;gap:12px}.staff-tabs{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.staff-tab-btn{white-space:nowrap;flex-shrink:0;padding:10px 14px;font-size:13px}.staff-toolbar{flex-direction:column;align-items:stretch}.staff-search-wrap{width:100%;max-width:none}.staff-permissions-layout{flex-direction:column;gap:16px}.staff-permissions-roles{width:100%}.staff-permissions-header{flex-direction:column;align-items:stretch;gap:12px}.staff-permissions-actions{flex-direction:column;align-items:stretch;width:100%}.staff-permissions-actions .btn{justify-content:center;width:100%}.permissions-matrix{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.staff-role-overview-desc{min-width:0}.providers-toolbar{flex-direction:column;align-items:stretch}.providers-toolbar-left{flex-direction:column;align-items:stretch;width:100%}.providers-search-wrap,.providers-filter-select{width:100%;min-width:0}.providers-toolbar>.btn{justify-content:center;width:100%}.appt-cal-clinic-header{flex-direction:column;align-items:stretch;gap:12px}.appt-cal-summary-row{flex-direction:column;align-items:stretch}.appt-cal-location-tabs,.appt-cal-site-tabs{flex-wrap:wrap}.modal-overlay{align-items:flex-end;padding:12px}.modal,.modal-lg,.modal-xl,.modal-2xl{border-bottom-right-radius:0;border-bottom-left-radius:0;max-width:100%;max-height:calc(100vh - 24px)}.modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}}@media (max-width:480px){:root{--content-padding:12px}.stats-grid,.analytics-kpi-grid,.patients-stats-grid{grid-template-columns:1fr!important}.header-page-title{font-size:15px}.stat-card{padding:14px 16px}.data-table td.table-actions-col{vertical-align:top;min-width:148px}.table-actions{flex-flow:row;align-items:center}.table-actions .btn{justify-content:center;width:auto;padding-left:10px;padding-right:10px}}@media (min-width:1920px){.waiting-room-shell{font-size:1.1rem}.waiting-room-name{font-size:1.25rem}}@media (min-width:2560px){.waiting-room-shell{font-size:1.25rem}.waiting-room-name{font-size:1.5rem}}.form-library-page .page-title{margin:0 0 4px;font-size:24px;font-weight:700}.form-library-page .page-subtitle{color:var(--text-secondary);margin:0}.form-library-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.form-library-stats{margin-bottom:16px}.form-library-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.form-library-filters{flex-wrap:wrap;gap:8px;display:flex}.form-library-filter{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-size:12px}.form-library-filter.active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.form-library-list{flex-direction:column;gap:12px;display:flex}.form-library-empty{color:var(--text-secondary);padding:24px}.form-library-card{border:1px solid var(--border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);background:#fff;padding:18px 20px}.form-library-card-top{align-items:flex-start;gap:14px;display:flex}.form-library-card-icon{width:40px;height:40px;color:var(--color-primary);background:#eef4ff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.form-library-card-body{flex:1;min-width:0}.form-library-card-headline{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.form-library-card-title{color:var(--text-primary);margin:0;font-size:15px;font-weight:700;line-height:1.3}.form-library-card-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.form-library-tag{color:var(--color-primary);white-space:nowrap;background:#eef4ff;border:1px solid #0049b938;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}.form-library-tag.muted{color:var(--text-secondary);background:#f9fafb;border-color:#d1d5db}.form-library-tag.accent{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.form-library-card-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;line-height:1.45;display:flex}.form-library-card-meta-sep{color:#cbd5e1}.form-library-card-meta-muted{color:#9ca3af}.form-library-card-desc{color:var(--text-primary);margin:10px 0 0;font-size:14px;line-height:1.5}.form-library-card-footer{color:#9ca3af;align-items:flex-start;gap:8px;margin-top:12px;font-size:12px;line-height:1.45;display:flex}.form-library-card-footer svg{color:#9ca3af;flex-shrink:0;margin-top:1px}.form-library-card-footer strong{color:var(--text-secondary);font-weight:600}.form-library-card-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:8px;display:flex}.form-library-rules-btn{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.form-library-icon-btn{justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;padding:0;display:inline-flex}.form-library-menu-wrap{position:relative}.form-library-menu{border:1px solid var(--border-color);box-shadow:var(--shadow-modal);z-index:20;background:#fff;border-radius:8px;flex-direction:column;min-width:160px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.form-library-menu button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:13px}.form-library-menu button:hover{background:var(--surface-hover)}.form-library-menu button.danger{color:var(--color-danger)}.form-library-upload-drop{text-align:center;cursor:pointer;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;flex-direction:column;gap:6px;padding:32px;display:flex}.form-library-modal .modal-header,.form-library-modal .modal-body,.form-library-modal .modal-footer{padding-left:28px;padding-right:28px}.form-library-modal-body{flex-direction:column;gap:16px;display:flex}.form-library-modal-intro{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.form-library-toggle-options{border-top:1px solid var(--border-color);flex-direction:column;gap:4px;padding-top:4px;display:flex}.form-library-toggle-row{justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.form-library-toggle-label{color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.4}.form-library-preview-frame,.form-library-preview-meta{width:100%}.form-library-preview-frame{border:1px solid var(--border-color);border-radius:8px;min-height:480px}.form-library-pdf-placeholder{text-align:center;color:var(--text-secondary);background:#f8fafc;border-radius:8px;padding:48px}.form-library-rules-list{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.form-library-rules-list li{background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;display:flex}.form-library-add-rule{border-top:1px solid var(--border-color);padding-top:16px}.form-library-rule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.registration-forms-shell{width:100%;max-width:1200px;margin:0 auto}.registration-forms-topbar{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;padding-bottom:20px;display:flex}.registration-forms-page-title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 6px;font-size:28px;font-weight:700}.registration-forms-page-sub{color:var(--text-secondary);margin:0;font-size:14px}.registration-forms-topbar-progress{flex-direction:column;align-items:flex-end;gap:6px;min-width:200px;display:flex}.registration-forms-progress-label{color:var(--text-secondary);font-size:13px;font-weight:600}.registration-forms-progress-track{background:#e5e7eb;border-radius:999px;width:200px;height:8px;overflow:hidden}.registration-forms-progress-fill{background:linear-gradient(90deg,#10b981,#059669);border-radius:999px;height:100%;transition:width .25s}.registration-forms-progress-fraction{color:var(--text-secondary);font-size:12px;font-weight:700}.registration-forms-layout{border:1px solid var(--border-color);background:#fff;border-radius:12px;grid-template-columns:300px minmax(0,1fr);gap:0;min-height:560px;display:grid;overflow:hidden}.registration-forms-sidebar{border-right:1px solid var(--border-color);background:#f8fafc;max-height:calc(100vh - 220px);padding:20px 16px;overflow-y:auto}.registration-sidebar-patient{border:1px solid var(--border-color);background:#fff;border-radius:10px;margin-bottom:20px;padding:14px}.registration-sidebar-patient-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.registration-sidebar-patient-head h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0;font-size:11px;font-weight:700}.registration-sidebar-status{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.registration-sidebar-status.complete{color:#047857;background:#ecfdf5}.registration-sidebar-status.pending{color:#c2410c;background:#fff7ed}.registration-sidebar-patient-list{flex-direction:column;gap:10px;margin:0;display:flex}.registration-sidebar-patient-list dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:2px;font-size:10px;font-weight:600}.registration-sidebar-patient-list dd{color:var(--text-primary);margin:0;font-size:13px;font-weight:500;line-height:1.35}.registration-forms-sidebar-section{margin-bottom:20px}.registration-forms-sidebar-section h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0 0 10px;font-size:11px;font-weight:700}.registration-forms-sidebar ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.registration-forms-nav-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;gap:10px;width:100%;padding:10px 10px 10px 8px;transition:background .15s;display:flex;position:relative}.registration-forms-nav-item:hover{background:#ffffffb3}.registration-forms-nav-item.active{background:#fff;box-shadow:0 1px 3px #0000000f}.registration-forms-nav-item.active:after{content:"";background:var(--color-primary);border-radius:3px 0 0 3px;width:3px;position:absolute;top:6px;bottom:6px;right:0}.registration-forms-nav-item.signed .registration-forms-nav-status{color:#10b981}.registration-forms-nav-status{color:#9ca3af;flex-shrink:0;align-items:flex-start;padding-top:1px;display:flex}.registration-forms-nav-text strong{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.3;display:block}.registration-forms-nav-text small{color:var(--text-secondary);margin-top:2px;font-size:11px;line-height:1.3;display:block}.registration-forms-main{background:#fff;flex-direction:column;min-width:0;padding:24px 28px;display:flex}.registration-forms-main-header{margin-bottom:16px}.registration-forms-meta-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.registration-forms-form-count{letter-spacing:.04em;color:var(--color-primary);font-size:11px;font-weight:700}.registration-forms-category-pill{color:var(--color-primary);background:var(--color-primary-light,#eff6ff);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.registration-forms-category-pill.approved{color:#047857;background:#ecfdf5}.registration-forms-main-header h2{color:var(--text-primary);margin:0 0 6px;font-size:22px;font-weight:700}.registration-forms-patient-line{color:var(--text-secondary);margin:0;font-size:13px}.registration-forms-signed-banner{color:#047857;background:#ecfdf5;border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:13px;font-weight:600}.registration-forms-preview-wrap{border:1px solid var(--border-color);border-radius:10px;flex:1;margin-bottom:20px;overflow:hidden}.registration-forms-preview-toolbar{color:#f9fafb;background:#374151;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex}.registration-forms-preview-filename{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.registration-forms-preview{background:#525659}.registration-forms-pdf-frame{background:#525659;border:none;width:100%;height:52vh;min-height:420px;display:block}.registration-forms-pdf-placeholder{text-align:center;color:var(--text-secondary);background:#f8fafc;justify-content:center;align-items:center;min-height:200px;padding:48px 24px;display:flex}.registration-forms-signing{border-top:1px solid var(--border-color);padding-top:20px}.registration-forms-consent{cursor:pointer;align-items:flex-start;gap:10px;margin:0 0 16px;font-size:14px;line-height:1.5;display:flex}.registration-forms-consent input{width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0;margin-top:3px}.registration-forms-signature-tabs{border:1px solid var(--border-color);border-radius:8px;gap:0;width:fit-content;margin-bottom:12px;display:flex;overflow:hidden}.registration-forms-signature-tabs button{cursor:pointer;color:var(--text-secondary);border:none;border-right:1px solid var(--border-color);background:#fff;padding:10px 18px;font-size:13px;font-weight:600}.registration-forms-signature-tabs button:last-child{border-right:none}.registration-forms-signature-tabs button.active{color:var(--color-primary);background:var(--color-primary-light,#eff6ff)}.registration-forms-canvas-wrap{background:#fafafa;border:2px dashed #d1d5db;border-radius:10px;position:relative;overflow:hidden}.registration-forms-canvas{cursor:crosshair;touch-action:none;background:0 0;width:100%;height:160px;display:block}.registration-forms-canvas-hint{color:#9ca3af;pointer-events:none;font-size:12px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.registration-forms-type-signature{padding:16px;font-family:cursive,Segoe Script,sans-serif;font-size:24px}.registration-forms-signature-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.registration-forms-ack-btn{margin-top:4px}.registration-forms-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:16px 0 4px;display:flex}.registration-forms-footer-prev,.registration-forms-footer-next{min-width:120px}.registration-forms-dots{flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.registration-forms-dot{cursor:pointer;background:#d1d5db;border:none;border-radius:50%;width:10px;height:10px;padding:0;transition:background .15s,transform .15s}.registration-forms-dot:hover{transform:scale(1.15)}.registration-forms-dot.active{background:var(--color-primary);transform:scale(1.2)}.registration-forms-dot.signed{background:#10b981}.registration-forms-dot.active.signed{background:var(--color-primary);box-shadow:0 0 0 2px #10b981}.registration-forms-submit-all{min-width:180px;font-weight:600}.registration-forms-empty-card{text-align:center;border:1px solid var(--border-color);background:#fff;border-radius:12px;padding:32px}.registration-workflow{flex-direction:column;gap:0;width:100%;display:flex}.registration-workflow-forms{width:100%;margin-top:0}.registration-workflow-details{max-width:720px;margin:0 auto;padding:20px 24px}.registration-workflow-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.registration-workflow-section-header h2{margin:0;font-size:18px}.registration-pending-badge{white-space:nowrap;color:#c2410c;background:#fff7ed;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.registration-complete-badge{white-space:nowrap;color:#047857;background:#ecfdf5;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.registration-patient-summary{padding:20px 24px}.registration-patient-summary.embedded{box-shadow:none;background:0 0;border:none;padding:0}.registration-patient-summary-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.registration-patient-summary-title{margin:0 0 4px;font-size:22px;font-weight:700}.registration-patient-summary-sub{color:var(--text-secondary);margin:0;font-size:14px}.registration-patient-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:0;display:grid}.registration-patient-summary-grid dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:4px;font-size:11px;font-weight:700}.registration-patient-summary-grid dd{color:var(--text-primary);margin:0;font-size:15px}.registration-forms-nav-item.patient-tab .registration-forms-nav-text small{text-transform:capitalize}.registration-forms-empty{text-align:center;padding:24px}.registration-done-card{width:100%;max-width:560px;margin:0 auto;padding:32px 28px}.registration-done-content{text-align:center;flex-direction:column;align-items:center;display:flex}.registration-done-title{margin-bottom:8px;font-size:26px}.registration-done-lead{max-width:420px;margin-bottom:0;font-size:15px;line-height:1.5}.registration-done-spot{width:100%;margin:28px 0 24px}.registration-done-spot-value{letter-spacing:.06em;margin-top:4px;font-size:52px;font-weight:800}.registration-done-instructions{background:var(--content-bg);text-align:left;border-radius:12px;width:100%;padding:16px 18px}.registration-done-instructions-title{color:var(--text-primary);margin:0 0 6px;font-size:13px;font-weight:700}.registration-done-instructions-text{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.55}@media (max-width:640px){.registration-done-card{border-radius:12px;max-width:none;padding:24px 18px}.registration-done-title{font-size:22px}.registration-done-lead{font-size:14px}.registration-done-spot{margin:22px 0 20px;padding:20px 16px}.registration-done-spot-value{letter-spacing:.04em;font-size:42px}.registration-done-instructions{padding:14px 16px}}@media (min-width:641px) and (max-width:1024px){.registration-done-card{max-width:520px;padding:28px 24px}.registration-done-spot-value{font-size:48px}}@media (max-width:900px){.registration-forms-layout{grid-template-columns:1fr}.registration-forms-sidebar{border-right:none;border-bottom:1px solid var(--border-color);max-height:none}.registration-forms-topbar{flex-direction:column}.registration-forms-topbar-progress{align-items:flex-start;width:100%}.registration-forms-progress-track{width:100%}.registration-forms-footer{flex-wrap:wrap}.registration-forms-dots{order:3;width:100%;margin-top:8px}.registration-patient-summary-grid,.form-library-rule-grid{grid-template-columns:1fr}.form-library-header,.form-library-card-top{flex-direction:column}.form-library-card-actions{flex-wrap:wrap;justify-content:flex-end;width:100%;margin-left:0}}.queue-mgmt-page{flex-direction:column;gap:16px;display:flex}.queue-location-bar{justify-content:flex-end;align-items:center;gap:10px;display:flex}.queue-location-select{max-width:280px}.queue-stats-row{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.queue-stat-card{text-align:center;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:96px;padding:20px 22px;display:flex}.queue-stat-value{font-size:36px;font-weight:700;line-height:1}.queue-stat-label{color:#64748b;font-size:13px;font-weight:500}.queue-stat-total{background:#fff;border-color:#e2e8f0}.queue-stat-total .queue-stat-value{color:#0f172a}.queue-stat-waiting{background:#eff6ff;border-color:#bfdbfe}.queue-stat-waiting .queue-stat-value{color:#2563eb}.queue-stat-called{background:#ecfdf5;border-color:#bbf7d0}.queue-stat-called .queue-stat-value{color:#16a34a}.queue-stat-hold{background:#fffbeb;border-color:#fde68a}.queue-stat-hold .queue-stat-value{color:#d97706}.queue-stat-urgent{background:#fef2f2;border-color:#fecaca}.queue-stat-urgent .queue-stat-value{color:#dc2626}.queue-panel{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px 20px 16px;box-shadow:0 1px 2px #0f172a0a}.queue-toolbar{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;padding-bottom:14px;display:flex}.queue-toolbar-left,.queue-toolbar-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.queue-toolbar-right{flex-direction:column;align-items:flex-end;gap:8px}.queue-toolbar-actions{align-items:center;gap:10px;display:flex}.queue-toolbar-hint{color:#94a3b8;font-size:12px}.queue-avg-wait{color:#64748b;align-items:center;gap:6px;font-size:14px;display:inline-flex}.queue-selection-bar{background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;align-items:center;gap:10px;padding:6px 8px 6px 14px;font-size:14px;display:flex}.queue-selection-count{color:#1d4ed8;font-weight:600}.queue-clear-selection{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:999px;width:24px;height:24px;font-size:18px;line-height:1}.queue-clear-selection:hover{color:#1e3a8a;background:#dbeafe}.queue-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.queue-btn:disabled{opacity:.55;cursor:not-allowed}.queue-btn-sm{border-radius:9px;padding:8px 14px;font-size:13px}.queue-btn-success{color:#fff;background:#16a34a;border-color:#16a34a}.queue-btn-success:hover:not(:disabled){background:#15803d;border-color:#15803d}.queue-btn-primary{color:#fff;background:#2563eb;border-color:#2563eb}.queue-btn-primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.queue-btn-outline{color:#0f172a;background:#fff;border-color:#d1d5db}.queue-btn-outline:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.queue-table-head{margin-bottom:4px}.queue-table-title{color:#0f172a;margin:0;font-size:17px;font-weight:700}.queue-table-wrap{overflow-x:auto}.queue-table{border-collapse:collapse;width:100%}.queue-table tr.queue-row{border-bottom:1px solid #f1f5f9}.queue-table tr.queue-row:last-child{border-bottom:none}.queue-table tr.queue-row.selected{background:#f8fafc}.queue-table tr.queue-row-alert{background:#fff7f7}.queue-table tr.queue-row-urgent.queue-row-alert{background:#fff1f2}.queue-table td{vertical-align:middle;padding:18px 12px}.queue-empty{text-align:center;color:var(--text-secondary);padding:40px!important}.queue-check-cell{width:42px;padding-left:4px!important}.queue-index-cell{color:#94a3b8;width:28px;font-size:14px;font-weight:600;padding-left:0!important}.queue-checkbox{accent-color:#2563eb;cursor:pointer;width:16px;height:16px}.queue-patient-row{align-items:flex-start;gap:12px;display:flex}.queue-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;font-weight:700;display:inline-flex}.queue-patient-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.queue-patient-name-row strong{color:#0f172a;font-size:15px}.queue-reg-warning-icon{color:#dc2626;flex-shrink:0}.queue-type-badge{border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.queue-type-badge.walk-in{color:#c2410c;background:#ffedd5}.queue-type-badge.scheduled{color:#1d4ed8;background:#dbeafe}.queue-reg-badge{color:#b91c1c;background:#fee2e2;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.queue-patient-meta{color:#64748b;margin-top:4px;font-size:13px;line-height:1.45}.queue-wait-stack{flex-direction:column;gap:2px;min-width:72px;display:flex}.queue-wait-value{color:#0f172a;font-size:22px;font-weight:700;line-height:1}.queue-wait-value.queue-wait-long{color:#dc2626}.queue-wait-value.queue-wait-medium{color:#ea580c}.queue-wait-value.queue-wait-fresh{color:#64748b;font-size:16px;font-weight:600}.queue-wait-sub{color:#94a3b8;font-size:12px}.queue-payment-stack{flex-direction:column;gap:4px;min-width:92px;display:flex}.queue-payment-badge{border-radius:999px;align-items:center;width:fit-content;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.queue-payment-badge-paid{color:#15803d;background:#dcfce7}.queue-payment-badge-unpaid{color:#b91c1c;background:#fee2e2}.queue-payment-badge-partial{color:#c2410c;background:#ffedd5}.queue-payment-badge-link,.queue-payment-badge-pending{color:#6d28d9;background:#ede9fe}.queue-payment-badge-waived{color:#475569;background:#f1f5f9}.queue-payment-badge-review{color:#b45309;background:#fef3c7}.queue-payment-badge-none{color:#94a3b8;background:#f8fafc}.queue-payment-amount{font-size:13px;font-weight:600}.queue-payment-amount-paid{color:#16a34a}.queue-payment-amount-unpaid{color:#dc2626}.queue-payment-amount-partial{color:#d97706}.queue-payment-amount-link,.queue-payment-amount-pending{color:#7c3aed}.queue-payment-amount-waived,.queue-payment-amount-none{color:#64748b}.queue-payment-amount-review{color:#b45309}.queue-status-pill{border-radius:999px;justify-content:center;align-items:center;min-width:88px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.queue-status-waiting{color:#1d4ed8;background:#dbeafe}.queue-status-called{color:#15803d;background:#dcfce7}.queue-status-hold{color:#b45309;background:#fef3c7}.queue-status-followup{color:#c2410c;background:#ffedd5}.queue-status-frontdesk{color:#4338ca;background:#e0e7ff}.queue-status-urgent{color:#b91c1c;background:#fee2e2}.queue-status-inqueue{color:#4338ca;background:#e0e7ff}.queue-status-completed{color:#475569;background:#f1f5f9}.queue-status-noshow{color:#92400e;background:#fef3c7}.queue-note-btn{color:#c2410c;cursor:pointer;background:#fff7ed;border:1px solid #fdba74;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.queue-note-btn:hover{background:#ffedd5}.queue-row-attention{box-shadow:inset 3px 0 #f97316}.queue-note-overlay{z-index:1200;background:#0f172a59;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.queue-note-modal{background:#fff;border-radius:12px;width:min(480px,100%);padding:20px;box-shadow:0 20px 40px #0f172a2e}.queue-note-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.queue-note-modal-header h3{margin:0;font-size:16px}.queue-note-modal-header p{color:#64748b;margin:4px 0 0;font-size:13px}.queue-note-close{cursor:pointer;color:#64748b;background:0 0;border:none;font-size:22px;line-height:1}.queue-note-meta{color:#64748b;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:12px;display:flex}.queue-note-body{white-space:pre-wrap;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px;font-size:14px;line-height:1.5}.queue-table tr.queue-row-done{background:#fafafa}.queue-table tr.queue-row-done .queue-wait-value,.queue-table tr.queue-row-done .queue-patient-name-row strong{color:#64748b}.queue-actions-cell{white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.queue-actions-spacer{width:88px}.queue-called-chip{color:#15803d;background:#dcfce7;border-radius:999px;justify-content:center;align-items:center;min-width:88px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.queue-collect-btn{min-width:88px}.queue-reorder{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;align-items:center;gap:0;display:inline-flex;overflow:hidden}.queue-reorder-btn{color:#64748b;cursor:pointer;background:#fff;border:none;justify-content:center;align-items:center;width:30px;height:18px;display:inline-flex}.queue-reorder-btn:hover:not(:disabled){color:#0f172a;background:#f8fafc}.queue-reorder-btn:disabled{opacity:.35;cursor:not-allowed}.queue-reorder-grip{color:#94a3b8;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;justify-content:center;align-items:center;width:30px;height:20px;display:inline-flex}.queue-menu-wrap{flex-shrink:0;position:relative}.queue-menu-btn{cursor:pointer;color:#475569;background:#fff;border:1px solid #d1d5db;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.queue-menu-btn:hover,.queue-menu-btn.open{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.queue-menu{z-index:500;background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:210px;padding:6px 0;overflow:hidden;box-shadow:0 16px 40px #0f172a24}.queue-menu-floating{position:fixed;transform:translate(-100%)}.queue-menu-divider{background:#f1f5f9;height:1px;margin:6px 0}.queue-menu-item{text-align:left;cursor:pointer;color:#0f172a;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:14px;font-weight:500;display:flex}.queue-menu-item:hover:not(:disabled){background:#f8fafc}.queue-menu-item:disabled{opacity:.5;cursor:not-allowed}.queue-menu-item-sms,.queue-menu-item-sms svg{color:#2563eb}.queue-menu-item-called svg{color:#16a34a}.queue-menu-item-urgent,.queue-menu-item-urgent span,.queue-menu-item-urgent svg{color:#dc2626}.queue-menu-item-hold svg{color:#d97706}.queue-menu-item-waiting svg,.queue-menu-item-remove{color:#64748b}.queue-menu-item-remove svg{color:#94a3b8}.queue-menu-item-completed{color:#15803d}.queue-menu-item-completed svg{color:#16a34a}.queue-footer-note{color:#94a3b8;text-align:center;border-top:1px solid #f1f5f9;margin:16px 0 0;padding-top:14px;font-size:12px}.queue-sms-recipients{border:1px solid var(--border-color);border-radius:var(--radius-input);max-height:160px;margin-bottom:0;overflow-y:auto}.queue-sms-recipient-row{border-bottom:1px solid var(--border-color);justify-content:space-between;padding:10px 14px;font-size:14px;display:flex}.queue-sms-recipient-row:last-child{border-bottom:none}.queue-sms-recipient-phone{color:var(--text-secondary)}.queue-sms-modal{max-width:520px}.queue-sms-header{border-bottom:none;padding:24px 24px 12px}.queue-sms-subtitle{color:var(--text-secondary);margin:6px 0 0;font-size:14px}.queue-sms-body{flex-direction:column;gap:16px;padding:0 24px 8px;display:flex}.queue-sms-body .form-group{margin:0}.queue-sms-preview{resize:vertical;min-height:110px}.queue-sms-footer{padding:16px 24px 24px}.queue-sms-hint{color:#0369a1;margin:0;font-size:13px}.collect-payment-body .form-group{margin-bottom:16px}.collect-payment-body .form-group:last-child{margin-bottom:0}.collect-payment-modal{max-width:560px}.collect-payment-header{border-bottom:none;align-items:flex-start;padding:24px 24px 12px}.collect-payment-body{padding:0 24px 8px}.collect-payment-footer{padding:16px 24px 24px}.collect-payment-title{align-items:center;gap:10px;font-size:20px;display:flex}.collect-payment-subtitle{color:var(--text-secondary);margin:6px 0 0;font-size:14px;line-height:1.4}.collect-payment-icon{background:#dcfce7;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;line-height:1;display:inline-flex}.collect-payment-summary{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;padding:16px;display:grid}.collect-payment-summary>div{flex-direction:column;gap:6px;display:flex}.collect-payment-summary-label{color:var(--text-secondary);font-size:12px;font-weight:500}.collect-payment-summary-value{font-size:22px;font-weight:700;line-height:1.1}.collect-payment-method-label{margin-bottom:10px;display:block}.collect-payment-methods{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.collect-payment-method{cursor:pointer;color:#0f172a;background:#fff;border:2px solid #e5e7eb;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:96px;padding:16px 8px 14px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.collect-payment-method:hover{background:#f8fafc;border-color:#cbd5e1}.collect-payment-method.active{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb26}.collect-payment-method-icon{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;line-height:1;display:inline-flex}.collect-payment-method-icon-cash{background:#dcfce7}.collect-payment-method-icon-card{background:#dbeafe}.collect-payment-method-icon-check{background:#fce7f3}.collect-payment-method-icon-payment_link{background:#ede9fe}.collect-payment-amount-input{font-size:16px;font-weight:600}.collect-payment-submit{color:#fff;background:#111827;border:1px solid #111827}.collect-payment-submit:hover:not(:disabled){background:#1f2937;border-color:#1f2937}.collect-payment-submit-link{background:#2563eb;border-color:#2563eb}.collect-payment-submit-link:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.collect-payment-method-panel{border:1px solid var(--border-color);background:#f8fafc;border-radius:10px;margin-bottom:12px;padding:14px}.collect-payment-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.collect-payment-link-panel{background:#faf5ff;border-color:#c4b5fd}.collect-payment-link-providers{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.collect-payment-link-provider{cursor:pointer;text-align:left;color:var(--text-primary);background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s;display:flex}.collect-payment-link-provider strong{font-size:14px;font-weight:650}.collect-payment-link-provider span{color:var(--text-secondary);font-size:11px}.collect-payment-link-provider.active{border-color:var(--color-primary);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-primary) 35%, transparent)}.collect-payment-link-provider.disabled,.collect-payment-link-provider:disabled{opacity:.55;cursor:not-allowed;background:#f8fafc}@media (max-width:640px){.collect-payment-link-providers{grid-template-columns:1fr}}.collect-payment-link-note{color:#6b21a8;margin:0 0 12px;font-size:13px}.collect-payment-sms-preview{color:#e2e8f0;background:#0f172a;border-radius:8px;padding:12px;font-size:13px;line-height:1.5}.payments-page{flex-direction:column;gap:18px;display:flex}.payments-kpi-row{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.payments-kpi{background:#fff;border:1px solid #e5e7eb;border-radius:14px;align-items:flex-start;gap:14px;padding:18px 20px;display:flex;box-shadow:0 1px 2px #0f172a0a}.payments-kpi-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.payments-kpi-icon-green{color:#fff;background:#22c55e}.payments-kpi-icon-blue{color:#fff;background:#3b82f6}.payments-kpi-icon-red{color:#fff;background:#ef4444}.payments-kpi-icon-orange{color:#fff;background:#f97316}.payments-kpi-body{min-width:0}.payments-kpi-value{margin-bottom:4px;font-size:28px;font-weight:700;line-height:1.1}.payments-kpi-value-green{color:#16a34a}.payments-kpi-value-blue{color:#2563eb}.payments-kpi-value-red{color:#dc2626}.payments-kpi-value-orange{color:#ea580c}.payments-kpi-title{color:var(--text-primary);font-size:14px;font-weight:600}.payments-kpi-sub{color:var(--text-secondary);margin-top:2px;font-size:12px}.payments-method-pills{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.payments-method-pill{cursor:pointer;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:12px;padding:10px 16px;font-size:13px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex;box-shadow:0 1px 2px #0f172a08}.payments-method-pill:hover{background:#f8fafc;border-color:#cbd5e1}.payments-method-pill.active{background:#eff6ff;border-color:#93c5fd;box-shadow:0 0 0 1px #3b82f626}.payments-method-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.payments-method-icon-cash{color:#15803d;background:#dcfce7}.payments-method-icon-check{color:#7c3aed;background:#ede9fe}.payments-method-icon-online{color:#2563eb;background:#dbeafe}.payments-method-icon-link{color:#64748b;background:#f1f5f9}.payments-method-pill-text{flex-direction:column;gap:2px;min-width:0;display:flex}.payments-method-pill-text strong{color:var(--text-primary);font-size:14px;font-weight:600}.payments-method-pill-text span{color:var(--text-secondary);font-size:12px}.payments-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.payments-search{flex:1;min-width:min(280px,100%);max-width:none}.payments-filter-btn{border:1px solid var(--input-border);border-radius:var(--radius-input);color:var(--text-primary);cursor:pointer;white-space:nowrap;background:#fff;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:500;transition:border-color .15s,box-shadow .15s,background .15s;display:inline-flex}.payments-filter-btn:hover{background:#f8fafc;border-color:#cbd5e1}.payments-filter-btn.active{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.payments-filter-count{color:#fff;background:#2563eb;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.payments-filter-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 18px;box-shadow:0 4px 12px #0f172a0f}.payments-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.payments-filter-field{margin-bottom:0}.payments-filter-actions{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:14px;display:flex}.payments-meta-row{color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.payments-meta-export{color:#94a3b8;font-size:12px}.payments-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.payments-table{font-size:13px}.payments-empty{text-align:center;color:var(--text-secondary);padding:32px!important}.payments-patient-cell{flex-direction:column;display:flex}.payments-patient-ref{color:var(--text-secondary);font-size:11px}.payments-method-badge,.payments-status-badge{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.payments-method-cash{color:#15803d;background:#dcfce7}.payments-method-check{color:#6d28d9;background:#ede9fe}.payments-method-online{color:#1d4ed8;background:#dbeafe}.payments-method-link{color:#475569;background:#f1f5f9}.payments-status-paid{color:#15803d;background:#dcfce7}.payments-status-partial{color:#b45309;background:#fef3c7}.payments-status-link{color:#0e7490;background:#cffafe}.payments-status-pending{color:#c2410c;background:#ffedd5}.payments-status-review,.payments-status-failed{color:#b91c1c;background:#fee2e2}.payments-gateway{text-overflow:ellipsis;max-width:120px;font-family:monospace;font-size:11px;overflow:hidden}.payments-note{max-width:160px;color:var(--text-secondary);font-size:12px}.payments-recon-pending{color:#b45309}.payments-recon-posted{color:#15803d}.payments-tabs{border-bottom:1px solid #e2e8f0;align-items:center;gap:4px;padding-bottom:0;display:flex}.payments-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex;position:relative}.payments-tab:hover{color:#1e293b}.payments-tab.active{color:#1d4ed8;border-bottom-color:#2563eb}.payments-tab-new{color:#fff;letter-spacing:.02em;background:#2563eb;border-radius:999px;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;line-height:1.2;display:inline-flex}.eod-page{flex-direction:column;gap:18px;display:flex}.eod-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.eod-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.eod-filter-field{min-width:160px;margin-bottom:0}.eod-actions{flex-wrap:wrap;gap:8px;display:flex}.eod-section{flex-direction:column;gap:12px;display:flex}.eod-section-title{letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin:0;font-size:13px;font-weight:700}.eod-summary-grid{grid-template-columns:1.1fr 1.6fr 1fr;align-items:stretch;gap:12px;display:grid}.eod-hero-card{color:#fff;background:linear-gradient(145deg,#2563eb 0%,#1d4ed8 100%);border-radius:14px;padding:22px 24px;box-shadow:0 8px 20px #2563eb40}.eod-hero-label{opacity:.9;margin-bottom:8px;font-size:13px;font-weight:600}.eod-hero-value{margin-bottom:10px;font-size:40px;font-weight:800;line-height:1}.eod-hero-sub{opacity:.88;font-size:13px}.eod-method-cards{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.eod-mini-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex;box-shadow:0 1px 2px #0f172a0a}.eod-mini-top{color:#64748b;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.eod-mini-card strong{color:#0f172a;font-size:20px;font-weight:700}.eod-mini-card--green .eod-mini-top{color:#15803d}.eod-mini-card--purple .eod-mini-top{color:#7c3aed}.eod-mini-card--blue .eod-mini-top{color:#2563eb}.eod-mini-card--orange .eod-mini-top{color:#ea580c}.eod-mini-card--red .eod-mini-top{color:#dc2626}.eod-mini-card--teal .eod-mini-top{color:#0f766e}.eod-status-cards{flex-direction:column;gap:10px;display:flex}.eod-status-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;display:flex;box-shadow:0 1px 2px #0f172a0a}.eod-status-card span{color:#64748b;font-size:12px;font-weight:600}.eod-status-card strong{color:#0f172a;font-size:18px}.eod-status-card em{color:#94a3b8;font-size:12px;font-style:normal}.eod-status-card--danger strong{color:#dc2626}.eod-status-card--warn strong{color:#ea580c}.eod-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px 20px;box-shadow:0 1px 3px #0f172a0d}.eod-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.eod-card-title{color:#0f172a;margin:0;font-size:16px;font-weight:700}.eod-card-count{color:#64748b;margin-left:10px;font-size:13px;font-weight:500}.eod-card-sub{color:#64748b;margin:4px 0 0;font-size:13px}.eod-table{font-size:13px}.eod-table tfoot td{background:#f8fafc;font-weight:700}.eod-money-green{color:#16a34a}.eod-money-blue{color:#2563eb}.eod-money-purple{color:#7c3aed}.eod-money-orange{color:#ea580c}.eod-method-apple{color:#b91c1c;background:#fee2e2}.eod-recon-title-wrap{align-items:flex-start;gap:10px;display:flex}.eod-recon-icon{font-size:18px;line-height:1.4}.eod-day-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.eod-day-badge--not_reconciled{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1}.eod-day-badge--in_review{color:#c2410c;background:#ffedd5}.eod-day-badge--reconciled{color:#15803d;background:#dcfce7}.eod-day-badge--discrepancy_found{color:#b91c1c;background:#fee2e2}.eod-recon-grid{grid-template-columns:1.4fr 1fr;gap:18px;display:grid}.eod-day-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.eod-day-summary-row{justify-content:space-between;gap:12px;font-size:13px;display:flex}.eod-day-summary-row span{color:#64748b}.eod-day-summary-row strong{color:#0f172a;font-weight:600}.eod-discrepancy-field .form-label{color:#b91c1c;align-items:center;gap:6px;display:inline-flex}.eod-discrepancy-input{background:#fef2f2!important;border-color:#fecaca!important}.eod-recon-footer{border-top:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:18px;padding-top:16px;display:flex}.eod-reconciled-by{flex:1;min-width:min(280px,100%);margin-bottom:0}.eod-reconciled-fields{flex-direction:column;flex:1;gap:8px;min-width:min(280px,100%);display:flex}.eod-reconciled-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.eod-reconciled-by .form-input{cursor:default;background:#f8fafc}.eod-audit-caption{color:#94a3b8;margin:6px 0 0;font-size:12px}.eod-perm-hint{color:#b45309}.eod-daily-summary-card{margin-top:8px}.eod-date-cell{align-items:center;gap:8px;display:flex}.eod-today-badge{color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.eod-failed-cell{color:#dc2626;align-items:center;gap:4px;font-weight:600;display:inline-flex}.eod-view-details{color:#2563eb;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.eod-view-details:hover{text-decoration:underline}@media (max-width:1100px){.eod-summary-grid{grid-template-columns:1fr}.eod-method-cards{grid-template-columns:repeat(2,1fr)}.eod-recon-grid{grid-template-columns:1fr}}@media (max-width:640px){.eod-method-cards{grid-template-columns:1fr}.eod-actions{width:100%}.eod-actions .btn{flex:1}}@media print{.payments-tabs,.eod-actions,.eod-recon-footer .btn,.sidebar,.app-header{display:none!important}.eod-page{gap:12px}.eod-card{break-inside:avoid;box-shadow:none}}@media (max-width:1100px){.payments-kpi-row,.payments-method-pills{grid-template-columns:repeat(2,1fr)}.payments-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.payments-kpi-row,.payments-method-pills,.payments-filter-grid{grid-template-columns:1fr}.payments-toolbar{flex-direction:column;align-items:stretch}.payments-filter-btn{justify-content:center}}.portal-field-missing .form-label,.portal-field-missing.portal-form-section-title,.portal-field-missing.portal-billing-card{color:#dc2626}.portal-field-missing .form-input,.portal-field-missing .form-select,.portal-field-missing.portal-billing-card{border-color:#dc2626;box-shadow:0 0 0 1px #dc262640}.portal-field-missing .portal-upload-box,.portal-photo-id-section.portal-field-missing .portal-upload-box{border-color:#dc2626;box-shadow:0 0 0 1px #dc262633}.registration-missing-banner{font-size:14px}@media (max-width:1100px){.queue-stats-row,.payments-kpi-row,.collect-payment-methods{grid-template-columns:repeat(2,1fr)}.collect-payment-row{grid-template-columns:1fr}}.pp-login-page{background:#f0f6ff;justify-content:center;align-items:center;min-height:100vh;padding:24px;font-family:Inter,sans-serif;display:flex}.pp-page{color:#0f172a;background:#f0f6ff;min-height:100vh;font-family:Inter,sans-serif}.pp-page--loading{justify-content:center;align-items:center;display:flex}.pp-header{background:var(--color-primary);z-index:100;color:#fff;border-bottom:1px solid #ffffff1f;position:sticky;top:0}.pp-header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:64rem;margin:0 auto;padding:12px 20px;display:flex}.pp-header-brand{align-items:center;gap:10px;display:flex}.pp-logo-icon{color:#fff;background:#ffffff29;border:1px solid #ffffff47;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.pp-logo-name{color:#fff;font-size:16px;font-weight:700;line-height:1.2;display:block}.pp-logo-sub{color:#ffffffd1;font-size:12px;font-weight:500;display:block}.pp-header-actions{align-items:center;gap:12px;display:flex}.pp-notif-wrap{position:relative}.pp-notif-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff8c;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:background .15s,border-color .15s;display:flex;position:relative}.pp-notif-btn:hover{background:#ffffff2e;border-color:#fff}.pp-notif-badge{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.pp-notif-dropdown{z-index:200;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:320px;max-height:400px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 8px 24px #0f172a1f}.pp-notif-dropdown-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;display:flex}.pp-notif-mark-all{color:#2563eb;cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:600}.pp-notif-empty{text-align:center;color:#64748b;padding:24px 16px;font-size:13px}.pp-notif-list{margin:0;padding:0;list-style:none}.pp-notif-list li{border-bottom:1px solid #f8fafc;padding:12px 16px;font-size:13px}.pp-notif-list li.unread{background:#eff6ff}.pp-notif-type{text-transform:uppercase;color:#64748b;margin-bottom:2px;font-size:11px;font-weight:600;display:block}.pp-notif-list p{color:#0f172a;margin:0 0 4px}.pp-notif-list time{color:#94a3b8;font-size:11px}.pp-avatar-chip{background:0 0;border:none;border-radius:0;align-items:center;gap:10px;padding:6px 14px 6px 6px;display:flex}.pp-avatar-text{flex-direction:column;gap:1px;min-width:0;display:flex}.pp-avatar-name{color:#fff;font-size:14px;font-weight:700;line-height:1.2}.pp-avatar-sub{color:#fffc;white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:12px;font-weight:500;line-height:1.2;overflow:hidden}.pp-signout-btn{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffffa6;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.pp-signout-btn:hover{color:#fff;background:#ffffff38;border-color:#fff}.pp-avatar{color:#fff;background:#fff3;border:1px solid #ffffff73;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.pp-main{max-width:64rem;margin:0 auto;padding:24px 20px 48px}.pp-greeting-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.pp-greeting{color:#0f172a;margin:0 0 4px;font-size:24px;font-weight:700}.pp-greeting-sub{color:#64748b;margin:0;font-size:14px}.pp-date-badge{color:#2563eb;white-space:nowrap;background:#eff6ff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.pp-kpi-row{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px;display:grid}.pp-kpi-card{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:18px 16px 14px;display:flex;box-shadow:0 1px 3px #0f172a0a}.pp-kpi-icon{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:2px;display:flex}.pp-kpi-icon--blue{color:#2563eb;background:#dbeafe}.pp-kpi-icon--green{color:#15803d;background:#dcfce7}.pp-kpi-icon--orange{color:#ea580c;background:#ffedd5}.pp-kpi-icon--teal{color:#0d9488;background:#ccfbf1}.pp-kpi-icon--purple{color:#7c3aed;background:#ede9fe}.pp-kpi-value{font-size:30px;font-weight:700;line-height:1.1;display:block}.pp-kpi-label{color:#64748b;margin-top:0;font-size:12px;font-weight:500;display:block}.pp-kpi-card--green .pp-kpi-value{color:#15803d}.pp-kpi-card--blue .pp-kpi-value{color:#2563eb}.pp-kpi-card--orange .pp-kpi-value{color:#ea580c}.pp-kpi-card--teal .pp-kpi-value{color:#0d9488}.pp-kpi-card--purple .pp-kpi-value{color:#7c3aed}.pp-active-visit-banner{background:#fffbeb;border:1px solid #fbbf24;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:14px 18px;display:flex}.pp-active-visit-left{align-items:flex-start;gap:12px;min-width:0;display:flex}.pp-active-visit-pulse{color:#d97706;background:#fef3c7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.pp-active-visit-heading{color:#78350f;margin:0 0 4px;font-size:15px}.pp-active-visit-heading strong{color:#451a03;font-weight:700}.pp-active-visit-detail{color:#92400e;margin:0;font-size:13px}.pp-active-visit-btn{color:#fff;cursor:pointer;background:#ea580c;border:none;border-radius:10px;flex-shrink:0;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.pp-active-visit-btn:hover{background:#c2410c}.pp-tabs{border-bottom:1px solid #e2e8f0;gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.pp-tab{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 16px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s;display:inline-flex}.pp-tab:hover{color:#2563eb}.pp-tab.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:600}.pp-tab-badge{color:#fff;background:#2563eb;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.pp-tab-badge--alert{background:#ef4444}.pp-tab-content{min-height:200px}.pp-tab-loading{justify-content:center;padding:40px;display:flex}.pp-empty{text-align:center;color:#94a3b8;padding:32px;font-size:14px}.pp-empty--in-panel{padding:48px 24px}.pp-empty--compact{padding:16px 0}.pp-empty--messages{flex:1;justify-content:center;align-items:center;min-height:120px;padding:24px;display:flex}.pp-schedule-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px 20px;box-shadow:0 1px 3px #0f172a0a}.pp-schedule-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.pp-schedule-panel-title{color:#0f172a;margin:0;font-size:17px;font-weight:700}.pp-schedule-summary-badges{flex-wrap:wrap;gap:8px;display:flex}.pp-schedule-badge{border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.pp-schedule-badge--done{color:#15803d;background:#dcfce7}.pp-schedule-badge--remaining{color:#c2410c;background:#ffedd5}.pp-filter-pills{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.pp-filter-pill{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.pp-filter-pill--filters{cursor:default;color:#475569;font-weight:600}.pp-filter-pill:hover{color:#2563eb;border-color:#93c5fd}.pp-filter-pill.active{color:#fff;background:#2563eb;border-color:#2563eb}.pp-schedule-list{flex-direction:column;gap:0;display:flex}.pp-schedule-card{border-bottom:1px solid #f1f5f9;align-items:flex-start;gap:20px;padding:16px 4px;transition:background .15s;display:flex}.pp-schedule-card:last-child{border-bottom:none}.pp-schedule-card:hover{background:#f8fafc;border-radius:8px;margin:0 -8px;padding-left:12px;padding-right:12px}.pp-schedule-time-col{text-align:left;flex-shrink:0;min-width:76px}.pp-schedule-time{color:#0f172a;font-size:15px;font-weight:700;line-height:1.2;display:block}.pp-schedule-duration{color:#94a3b8;margin-top:2px;font-size:12px;display:block}.pp-schedule-body{flex:1;min-width:0}.pp-schedule-top{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.pp-schedule-patient{color:#0f172a;font-size:15px}.pp-schedule-dob{color:#94a3b8;font-size:12px;font-weight:500}.pp-schedule-reason{color:#64748b;margin:0 0 8px;font-size:13px}.pp-schedule-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pp-status-pill{color:#fff;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.pp-status-pill--completed{background:#16a34a}.pp-status-pill--in-progress{background:#ea580c}.pp-status-pill--checked-in{background:#2563eb}.pp-status-pill--scheduled{color:#64748b;background:0 0;border:1px solid #cbd5e1}.pp-reg-pill,.pp-forms-pill{padding:2px 0;font-size:11px;font-weight:600}.pp-reg-pill--complete{color:#15803d}.pp-reg-pill--incomplete{color:#dc2626}.pp-forms-pill--complete{color:#15803d}.pp-forms-pill--missing{color:#ea580c}.pp-forms-pill--na{color:#94a3b8}.pp-room-pill{color:#6d28d9;background:#ede9fe;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.pp-wait-pill{color:#c2410c;background:#ffedd5;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.pp-assign-pill{border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.pp-assign-pill--mine{color:#15803d;background:#dcfce7}.pp-assign-pill--other{color:#4338ca;background:#e0e7ff}.pp-assign-pill--open{color:#475569;background:#f1f5f9}.pp-schedule-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;min-width:120px;display:flex}.pp-schedule-location{color:#94a3b8;align-items:center;gap:4px;font-size:12px;font-weight:500;display:inline-flex}.pp-open-chart-outline-btn{color:#2563eb;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #2563eb;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.pp-open-chart-outline-btn:hover{background:#eff6ff}.pp-upcoming-group{margin-bottom:24px}.pp-upcoming-date{color:#475569;border-bottom:1px solid #e2e8f0;margin:0 0 10px;padding-bottom:6px;font-size:14px;font-weight:600}.pp-patient-search{color:#94a3b8;align-items:center;gap:10px;margin-bottom:16px;display:flex}.pp-patient-search .form-input{flex:1}.pp-patient-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pp-patient-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.pp-patient-info strong{margin-bottom:2px;font-size:15px;display:block}.pp-patient-info>span{color:#64748b;font-size:13px}.pp-patient-meta{gap:6px;margin-top:6px;display:flex}.pp-tasks-layout,.pp-tm{flex-direction:column;gap:28px;display:flex}.pp-tm-block-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.pp-tm-block-title{color:#0f172a;margin:0;font-size:16px;font-weight:700}.pp-tm-create-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.pp-tm-create-btn:hover{background:#1d4ed8}.pp-tm-new-msg-btn{color:#fff;cursor:pointer;background:#1e293b;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.pp-tm-new-msg-btn:hover{background:#0f172a}.pp-tm-compose{border-radius:12px;margin-bottom:12px;padding:16px 18px}.pp-tm-compose--task{background:#eff6ff;border:1px solid #93c5fd}.pp-tm-compose--message{background:#f8fafc;border:1px solid #e2e8f0}.pp-tm-compose-label{color:#2563eb;margin:0 0 14px;font-size:13px;font-weight:600}.pp-tm-compose--message .pp-tm-compose-label{color:#475569}.pp-tm-compose-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.pp-tm-field{flex-direction:column;gap:6px;display:flex}.pp-tm-field span{color:#475569;font-size:12px;font-weight:600}.pp-tm-field--full{margin-bottom:12px}.pp-tm-textarea{resize:vertical;min-height:80px}.pp-tm-compose-actions{justify-content:flex-end;gap:10px;display:flex}.pp-tm-cancel-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px 18px;font-size:13px;font-weight:600}.pp-tm-cancel-btn:hover{color:#0f172a;background:#f8fafc}.pp-tm-save-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:600;display:inline-flex}.pp-tm-save-btn:hover:not(:disabled){background:#1d4ed8}.pp-tm-save-btn:disabled{opacity:.5;cursor:not-allowed}.pp-tm-send-btn{color:#fff;cursor:pointer;background:#1e293b;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:600;display:inline-flex}.pp-tm-send-btn:hover:not(:disabled){background:#0f172a}.pp-tm-send-btn:disabled{opacity:.5;cursor:not-allowed}.pp-tm-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.pp-tm-empty{text-align:center;color:#94a3b8;margin:0;padding:32px 20px;font-size:14px}.pp-tm-task-list,.pp-tm-message-list{margin:0;padding:0;list-style:none}.pp-tm-task-list li{border-bottom:1px solid #f1f5f9;align-items:center;gap:14px;padding:14px 18px;display:flex}.pp-tm-task-list li:last-child{border-bottom:none}.pp-tm-task-list li.complete{opacity:.65}.pp-tm-task-check{accent-color:#2563eb;cursor:pointer;flex-shrink:0;width:18px;height:18px}.pp-tm-task-done{color:#fff;background:#16a34a;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.pp-tm-task-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pp-tm-task-title{color:#0f172a;font-size:14px;font-weight:600}.pp-tm-task-list li.complete .pp-tm-task-title,.pp-tm-task-list li.complete .pp-tm-task-meta{color:#94a3b8;text-decoration:line-through}.pp-tm-task-meta{color:#94a3b8;font-size:12px}.pp-tm-priority{border-radius:999px;flex-shrink:0;padding:4px 12px;font-size:11px;font-weight:700}.pp-tm-priority--high{color:#b91c1c;background:#fee2e2}.pp-tm-priority--med{color:#b45309;background:#fef3c7}.pp-tm-priority--low{color:#64748b;background:#f1f5f9}.pp-tm-message-list li{border-bottom:1px solid #f1f5f9;align-items:flex-start;gap:14px;padding:14px 18px;display:flex}.pp-tm-message-list li:last-child{border-bottom:none}.pp-tm-msg-avatar{color:#64748b;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;font-weight:700;display:flex}.pp-tm-msg-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pp-tm-msg-subject{color:#0f172a;font-size:14px;font-weight:600}.pp-tm-msg-sender{color:#64748b;font-size:12px}.pp-tm-msg-snippet{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.pp-tm-msg-aside{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.pp-tm-msg-aside time{color:#94a3b8;white-space:nowrap;font-size:12px}.pp-tm-unread-dot{background:#2563eb;border-radius:50%;width:8px;height:8px}.pp-tasks-section,.pp-messages-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;min-height:380px;padding:20px;display:flex}.pp-tasks-section h3,.pp-messages-section h3{color:#0f172a;margin:0 0 16px;font-size:16px;font-weight:700}.pp-task-form,.pp-message-form{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.pp-task-input,.pp-message-textarea{width:100%}.pp-task-add-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;width:100%;padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s}.pp-task-add-btn:hover:not(:disabled){background:#1d4ed8}.pp-task-add-btn:disabled{opacity:.5;cursor:not-allowed}.pp-message-send-btn{color:#fff;cursor:pointer;background:#1e3a8a;border:none;border-radius:10px;width:100%;padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s}.pp-message-send-btn:hover:not(:disabled){background:#1e40af}.pp-message-send-btn:disabled{opacity:.5;cursor:not-allowed}.pp-task-list,.pp-message-list{margin:0;padding:0;list-style:none}.pp-task-list li{border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:12px 0;font-size:14px;display:flex}.pp-task-list li:last-child{border-bottom:none}.pp-task-list li.complete .pp-task-check span{color:#94a3b8;text-decoration:line-through}.pp-task-check{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.pp-task-check input{accent-color:#2563eb;flex-shrink:0;width:16px;height:16px}.pp-task-priority{text-transform:lowercase;color:#64748b;background:#f1f5f9;border-radius:999px;flex-shrink:0;padding:3px 12px;font-size:11px;font-weight:600}.pp-task-priority--high{color:#b91c1c;background:#fee2e2}.pp-task-priority--medium{color:#64748b;background:#f1f5f9}.pp-task-priority--low{color:#94a3b8;background:#f8fafc}.pp-message-list li{border-bottom:1px solid #f8fafc;padding:12px 0}.pp-message-list li.unread{background:#eff6ff;border-radius:8px;margin:0 -16px;padding:12px 16px}.pp-message-header{justify-content:space-between;gap:8px;font-size:14px;display:flex}.pp-message-header time{color:#94a3b8;white-space:nowrap;font-size:11px}.pp-message-from{color:#64748b;margin:2px 0;font-size:12px}.pp-message-body{color:#334155;margin:0;font-size:13px}.pp-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.pp-pill-green{color:#15803d;background:#dcfce7}.pp-pill-amber{color:#b45309;background:#fef3c7}.pp-pill-teal{color:#0f766e;background:#ccfbf1}.pp-pill-orange{color:#c2410c;background:#ffedd5}.pp-pill-red{color:#b91c1c;background:#fee2e2}.pp-pill-slate{color:#475569;background:#f1f5f9}.pp-pill-blue{color:#1d4ed8;background:#dbeafe}.pp-chart-overlay{z-index:500;background:#0f172a66;position:fixed;inset:0}.pp-chart-panel{z-index:501;background:#fff;flex-direction:column;width:600px;max-width:100vw;height:100vh;animation:.25s ease-out pp-slide-in;display:flex;position:fixed;top:0;right:0;box-shadow:-8px 0 32px #0f172a26}@keyframes pp-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.pp-chart-header{color:#fff;background:linear-gradient(160deg,#1e40af 0%,#2563eb 45%,#3b82f6 100%);flex-shrink:0;padding:18px 20px 16px;position:relative}.pp-chart-header-top{align-items:center;gap:14px;padding-right:36px;display:flex}.pp-chart-header-avatar{border:2px solid #ffffff59;box-shadow:0 2px 8px #00000026}.pp-chart-header-identity{min-width:0}.pp-chart-patient-name{color:#fff;margin:0 0 2px;font-size:22px;font-weight:700;line-height:1.2}.pp-chart-patient-meta{color:#ffffffe0;margin:0;font-size:13px}.pp-chart-header-contact{color:#ffffffeb;grid-template-columns:1fr 1fr;gap:6px 16px;margin-top:12px;font-size:12px;display:grid}.pp-chart-visit-card{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:16px 20px}.pp-chart-visit-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pp-chart-visit-title{color:#1e40af;margin:0 0 4px;font-size:16px;font-weight:700}.pp-chart-visit-sub{color:#64748b;margin:0;font-size:13px}.pp-chart-visit-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.pp-chart-occmed-box{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:13px}.pp-chart-visit-context{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.pp-chart-close{color:#fff;cursor:pointer;z-index:2;background:#ffffff26;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:14px;right:14px}.pp-chart-close:hover{background:#ffffff40}.pp-chart-header-loading,.pp-chart-error{text-align:center;color:#fff;padding:20px 0}.pp-chart-actions{background:#f8fafc;border-bottom:1px solid #f1f5f9;padding:12px 20px}.pp-chart-actions-label{text-transform:uppercase;color:#64748b;letter-spacing:.04em;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.pp-chart-action-btns{flex-wrap:wrap;gap:8px;display:flex}.pp-chart-action-btns--secondary{margin-top:8px}.pp-chart-action-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:600;transition:all .15s}.pp-chart-action-btn:hover:not(:disabled){filter:brightness(.95)}.pp-chart-action-btn:disabled{opacity:.6;cursor:not-allowed}.pp-chart-action-btn--orange{color:#fff;background:#ea580c}.pp-chart-action-btn--blue{color:#fff;background:#2563eb}.pp-chart-action-btn--green{color:#fff;background:#16a34a}.pp-chart-action-btn--coral{color:#fff;background:#f97316}.pp-chart-action-btn--outline{color:#475569;background:#fff;border-color:#cbd5e1}.pp-chart-action-btn--outline-danger{color:#dc2626;background:#fff;border-color:#fca5a5}.pp-chart-action-btn--primary{color:#fff;background:#2563eb;border-color:#2563eb}.pp-chart-action-btn--success{color:#fff;background:#15803d;border-color:#15803d}.pp-chart-action-btn--muted{color:#94a3b8;background:#fff;border-color:#e2e8f0}.pp-chart-tabs{border-bottom:1px solid #e2e8f0;padding:0 20px;display:flex}.pp-chart-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 16px;font-size:13px;font-weight:500}.pp-chart-tab.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:600}.pp-chart-body{flex:1;padding:20px;overflow-y:auto}.pp-chart-body-loading{text-align:center;color:#64748b;padding:32px}.pp-chart-info-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.pp-chart-info-item{background:#f8fafc;border-radius:10px;padding:12px;font-size:13px}.pp-chart-info-label{text-transform:uppercase;color:#94a3b8;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.pp-chart-visit-details h3{margin:0 0 10px;font-size:14px;font-weight:600}.pp-chart-visit-details dl{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px;display:grid}.pp-chart-visit-details dt{color:#94a3b8;text-transform:uppercase;font-size:11px;font-weight:600}.pp-chart-visit-details dd{color:#0f172a;margin:0 0 8px;font-size:13px}.pp-chart-checklist{gap:16px;font-size:13px;display:flex}.pp-chart-checklist .done{color:#15803d;font-weight:600}.pp-chart-checklist .pending{color:#b45309}.pp-chart-summary-section{margin-bottom:24px}.pp-chart-section-title{text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:0 0 12px;font-size:11px;font-weight:700}.pp-chart-prev-appts{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pp-chart-prev-appt-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.pp-chart-prev-appt-main{flex-direction:column;gap:2px;min-width:0;display:flex}.pp-chart-prev-appt-main strong{color:#0f172a;font-size:14px}.pp-chart-prev-appt-main span{color:#64748b;font-size:12px}.pp-chart-prev-provider{color:#94a3b8!important;font-size:11px!important}.pp-pay-pill{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.pp-pay-paid{color:#15803d;background:#dcfce7}.pp-pay-unpaid{color:#b91c1c;background:#fee2e2}.pp-pay-pending{color:#b45309;background:#fef3c7}.pp-pay-neutral{color:#475569;background:#f1f5f9}.pp-chart-note-compose{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;margin-bottom:20px;padding:14px}.pp-chart-note-compose-label{color:#1e40af;margin:0 0 10px;font-size:13px}.pp-chart-note-compose-label strong{font-weight:700}.pp-chart-note-type-select{margin-bottom:10px;font-size:13px}.pp-chart-note-textarea{resize:vertical;margin-bottom:10px;font-size:13px}.pp-chart-note-compose-actions{justify-content:flex-end;gap:8px;display:flex}.pp-chart-note-date{color:#94a3b8;margin-left:auto;font-size:11px}.pp-chart-forms-block{margin-bottom:24px}.pp-chart-forms-block-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.pp-chart-forms-hint{color:#94a3b8;margin:4px 0 0;font-size:12px}.pp-chart-upload-btn{white-space:nowrap}.pp-chart-doc-cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pp-chart-doc-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.pp-chart-doc-card-icon{background:#f1f5f9;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.pp-chart-doc-card-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pp-chart-doc-card-body a{color:#1e40af;font-size:14px;font-weight:600;text-decoration:none}.pp-chart-doc-card-body a:hover{text-decoration:underline}.pp-chart-doc-card-body strong{color:#0f172a;font-size:14px;display:block}.pp-chart-doc-card-actions{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.pp-chart-doc-action{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s,color .15s;display:flex}.pp-chart-doc-action:hover:not(:disabled){color:#2563eb;background:#f1f5f9}.pp-chart-doc-action:disabled{opacity:.4;cursor:not-allowed}.pp-chart-doc-action--danger:hover:not(:disabled){color:#dc2626;background:#fef2f2}.pp-chart-note-form{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.pp-chart-note-list{margin:0;padding:0;list-style:none}.pp-chart-note-item{border-bottom:1px solid #f1f5f9;gap:12px;padding:12px 0;display:flex}.pp-chart-note-avatar{color:#2563eb;background:#dbeafe;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.pp-chart-note-avatar img{object-fit:cover;width:100%;height:100%}.pp-chart-note-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;font-size:12px;display:flex}.pp-chart-note-meta strong{color:#0f172a}.pp-chart-note-meta span{color:#94a3b8}.pp-chart-note-content p{color:#334155;margin:0;font-size:13px}.pp-chart-empty{text-align:center;color:#94a3b8;padding:24px;font-size:13px}.pp-chart-forms h3{color:#0f172a;margin:0;font-size:14px;font-weight:600}.pp-chart-forms-section-header{justify-content:space-between;align-items:center;gap:12px;margin:16px 0 8px;display:flex}.pp-chart-forms-section-header:first-child{margin-top:0}.pp-chart-doc-list a{color:#2563eb;text-decoration:none}.pp-chart-doc-list a:hover{text-decoration:underline}.pp-chart-doc-list{margin:0 0 20px;padding:0;list-style:none}.pp-chart-doc-list li{border-bottom:1px solid #f8fafc;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;font-size:13px;display:flex}.pp-chart-doc-date{color:#94a3b8;font-size:11px}@media (max-width:900px){.pp-kpi-row{grid-template-columns:repeat(3,1fr)}.pp-tm-compose-grid{grid-template-columns:1fr}.pp-avatar-text{display:none}.pp-chart-info-grid{grid-template-columns:1fr}}@media (max-width:640px){.pp-kpi-row{grid-template-columns:repeat(2,1fr)}.pp-schedule-card{flex-direction:column;align-items:stretch}.pp-schedule-actions{flex-direction:row;justify-content:space-between;align-items:center;width:100%;min-width:0}.pp-open-chart-outline-btn{flex:1;justify-content:center}.pp-patient-item,.pp-active-visit-banner{flex-direction:column;align-items:flex-start}.pp-active-visit-btn{justify-content:center;width:100%}.pp-active-board-card{flex-direction:column;align-items:stretch}.pp-active-board-side{flex-direction:row;justify-content:space-between;align-items:center;width:100%;min-width:0}.pp-self-assign-btn{flex:1;justify-content:center}}.pp-active-board-panel{background:var(--content-bg);border:1px solid var(--border-color);border-radius:14px;padding:20px 22px}.pp-active-board-subtitle{color:var(--text-secondary);margin:6px 0 0;font-size:13px;line-height:1.45}.pp-active-board-list{flex-direction:column;gap:12px;margin-top:18px;display:flex}.pp-active-board-card{border:1px solid var(--border-color);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.pp-active-board-card:hover{border-color:#cbd5e1;box-shadow:0 4px 14px #0f172a0d}.pp-active-board-main{flex:1;min-width:0}.pp-active-board-top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.pp-active-board-name{color:var(--text-primary);font-size:16px}.pp-active-board-age,.pp-active-board-ticket{color:var(--text-secondary);background:#f1f5f9;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.pp-active-board-reason{color:var(--text-secondary);margin:0 0 10px;font-size:13px}.pp-active-board-side{flex-direction:column;align-items:flex-end;gap:10px;min-width:150px;display:flex}.pp-self-assign-btn{justify-content:center;min-width:120px}.staff-new-appt-modal{flex-direction:column;width:100%;max-width:min(1140px,100vw - 40px);max-height:calc(100vh - 40px);padding:0;display:flex;overflow:hidden}.staff-new-appt-header{border-bottom:1px solid var(--border-color);align-items:flex-start;gap:14px;padding:22px 24px 16px;display:flex}.staff-new-appt-header-icon{width:42px;height:42px;color:var(--color-primary);background:#eff6ff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.staff-new-appt-header-text{flex:1;min-width:0}.staff-new-appt-title{color:var(--text-primary);margin:0 0 4px;font-size:22px;font-weight:800}.staff-new-appt-subtitle{color:var(--text-secondary);margin:0;font-size:13px}.staff-new-appt-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px}.staff-new-appt-close:hover{color:var(--text-primary);background:#f1f5f9}.staff-new-appt-body{flex-direction:column;gap:18px;padding:20px 24px;display:flex;overflow-y:auto}.staff-new-appt-section{flex-direction:column;gap:10px;display:flex}.staff-new-appt-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.staff-new-appt-label{color:var(--text-primary);margin-bottom:8px;font-size:13px;font-weight:700;display:block}.staff-new-appt-label--spaced{margin-top:14px}.staff-new-appt-required{color:var(--color-danger)}.staff-new-appt-optional{color:var(--text-secondary);font-weight:500}.staff-new-appt-duration-pill{color:var(--color-primary);background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.staff-new-appt-reason-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:240px;overflow-y:auto}@media (min-width:1024px){.staff-new-appt-reason-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.staff-new-appt-field--provider{z-index:1;position:relative}.staff-new-appt-field--provider:has(.appt-provider-cell--open){z-index:30}.staff-appt-provider-picker,.staff-appt-provider-picker .appt-provider-trigger{width:100%}.staff-appt-provider-picker .staff-appt-provider-dropdown{width:100%;min-width:0;max-width:none;left:0;right:0}.staff-appt-provider-picker.appt-provider-cell--open .staff-appt-provider-dropdown{top:auto;bottom:calc(100% + 6px)}.staff-new-appt-day-row{margin-top:4px}.staff-new-appt-row{gap:16px;display:grid}.staff-new-appt-row--split{grid-template-columns:1.4fr 1fr;align-items:start}.staff-new-appt-slot-grid{max-height:180px;overflow-y:auto}.staff-new-appt-notes{resize:vertical;min-height:88px}.staff-new-appt-notify{border:1px solid var(--border-color);background:#f8fafc;border-radius:10px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.staff-new-appt-notify-title{color:var(--text-primary);font-size:13px;font-weight:700}.staff-new-appt-notify-option{color:var(--text-primary);align-items:center;gap:10px;font-size:13px;display:flex}.staff-new-appt-notify-option.disabled{color:var(--text-secondary)}.staff-new-appt-loading,.staff-new-appt-error{color:var(--text-secondary);padding:12px 0;font-size:13px}.staff-new-appt-error{color:var(--color-danger)}.staff-new-appt-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px 20px;display:flex}.staff-new-appt-required-note{color:var(--text-secondary);font-size:12px}.staff-new-appt-footer-actions{gap:10px;display:flex}@media (max-width:768px){.staff-new-appt-row--split{grid-template-columns:1fr}.staff-new-appt-footer{flex-direction:column;align-items:stretch}.staff-new-appt-footer-actions{flex-direction:column}.staff-new-appt-footer-actions .btn{justify-content:center;width:100%}}
