@charset "UTF-8";@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);*{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#7b2c83;--color-primary-hover:#69256f;--color-primary-soft:#f4ecf6;--color-primary-softer:#fbf7fc;--color-accent:#a24aa9;--text-strong:#1f2937;--text-medium:#4b5563;--text-muted:#6b7280;--border-soft:#e5e7eb;--border-purple-soft:#e6d4ea;--bg-app:#f9fafb;--bg-panel:#fff;--shadow-soft:0 1px 2px #0f172a0d,0 4px 10px #0f172a0a}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;background-color:var(--bg-app);color:#1f2937;color:var(--text-strong);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{color:#7b2c83;color:var(--color-primary)}a:hover{color:#69256f;color:var(--color-primary-hover)}.btn,.navbar,.pagination-btn,.sidebar,.view-icon-btn,[class*=btn-]{background-image:none!important}.btn-primary,[class*=btn-primary]{background-color:#7b2c83!important;background-color:var(--color-primary)!important;border-color:#7b2c83!important;border-color:var(--color-primary)!important}.btn-primary:hover,[class*=btn-primary]:hover{background-color:#69256f!important;background-color:var(--color-primary-hover)!important;border-color:#69256f!important;border-color:var(--color-primary-hover)!important}.card,[class*=card]{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border-soft);box-shadow:0 1px 2px #0f172a0d,0 4px 10px #0f172a0a;box-shadow:var(--shadow-soft)}.card-header,.page-header,[class*=section-header]{background:#0000!important;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-soft)}.staff-notification-toast{align-items:center;animation:globalSlideInRight .4s cubic-bezier(.16,1,.3,1);background-color:#fff;border-left:4px solid #7b2c83;border-left:4px solid var(--color-primary);border-radius:12px;box-shadow:0 10px 25px #00000026;display:flex;font-family:Inter,sans-serif;gap:15px;max-width:350px;padding:15px 20px;position:fixed;right:20px;top:80px;z-index:10000}.staff-notification-toast-content{flex:1 1}.staff-notification-toast-content strong{color:#1f2937;display:block;font-size:14px;font-weight:700;margin-bottom:4px}.staff-notification-toast-content p{color:#4b5563;font-size:13px;line-height:1.4;margin:0}.staff-notification-toast-close{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:22px;line-height:1;padding:0;transition:color .2s}.staff-notification-toast-close:hover{color:#111827}@keyframes globalSlideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.loader-overlay{align-items:center;animation:fadeIn .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#fffffff2;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.loader-container{gap:20px}.loader-container,.loader-inline{align-items:center;display:flex;flex-direction:column}.loader-inline{gap:16px;justify-content:center;padding:40px 20px}.loader-spinner{align-items:center;display:flex;justify-content:center;position:relative}.loader-spinner--small{height:32px;width:32px}.loader-spinner--medium{height:48px;width:48px}.loader-spinner--large{height:64px;width:64px}.loader-spinner-ring{animation:loader-spin 1s cubic-bezier(.5,0,.5,1) infinite;border:3px solid #0000;border-radius:50%;border-top:3px solid var(--color-primary);position:absolute}.loader-spinner--small .loader-spinner-ring{border-width:2px}.loader-spinner--large .loader-spinner-ring{border-width:4px}.loader-spinner-ring:first-child{animation-delay:0s;height:100%;width:100%}.loader-spinner-ring:nth-child(2){animation-delay:-.15s;border-top-color:var(--color-primary-hover);height:75%;width:75%}.loader-spinner-ring:nth-child(3){animation-delay:-.3s;border-top-color:var(--color-accent);height:50%;width:50%}@keyframes loader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loader-message{color:var(--text-muted);font-size:14px;font-weight:500;margin:0;text-align:center}.loader-overlay .loader-message{color:var(--text-strong);font-size:16px}@media (prefers-color-scheme:dark){.loader-overlay{background:#1e1e1ef2}.loader-message{color:#ccc}.loader-overlay .loader-message{color:#fff}}.sidebar{background:#fff;box-shadow:2px 0 12px #0f172a0f;color:var(--text-strong);display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:width .25s ease,transform .25s ease;width:260px;z-index:1000}.sidebar.closed{width:72px}.sidebar-header{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;flex-shrink:0;gap:8px;justify-content:space-between;min-height:72px;padding:20px 16px}.sidebar.closed .sidebar-header{flex-direction:column;gap:6px;min-height:56px;padding:12px 10px}.sidebar.closed .sidebar-brand{justify-content:center}.sidebar.closed .sidebar-toggle{font-size:12px;height:32px;width:32px}.sidebar-brand{align-items:center;color:var(--text-strong);display:flex;flex:1 1;gap:12px;min-width:0;text-decoration:none}.sidebar-logo{background:#fff;border-radius:8px;flex-shrink:0;height:40px;object-fit:contain;padding:4px;width:40px}.sidebar-brand-text{font-size:17px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-toggle{align-items:center;background:#fff;border:none;border:1px solid var(--border-soft);border-radius:8px;color:var(--text-medium);cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:36px;justify-content:center;transition:background .2s;width:36px}.sidebar-toggle:hover{background:#f9fafb}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-x:hidden;overflow-y:auto;padding:16px 12px;scrollbar-color:#d1d5db #0000;scrollbar-width:thin}.sidebar.closed .sidebar-nav{-ms-overflow-style:none;gap:2px;padding:12px 8px;scrollbar-width:none}.sidebar.closed .sidebar-nav::-webkit-scrollbar{display:none}.sidebar.open .sidebar-nav::-webkit-scrollbar{width:6px}.sidebar.open .sidebar-nav::-webkit-scrollbar-track{background:#0000}.sidebar.open .sidebar-nav::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.sidebar.open .sidebar-nav::-webkit-scrollbar-thumb:hover{background:#9ca3af}.sidebar-link{align-items:center;border-radius:10px;color:var(--text-medium);display:flex;gap:14px;padding:12px 14px;text-decoration:none;transition:background .2s,color .2s,padding .2s;white-space:nowrap}.sidebar.closed .sidebar-link{border-radius:8px;justify-content:center;min-height:44px;padding:10px 0}.sidebar-link:hover{background:#f9fafb;color:var(--text-strong)}.sidebar-link.active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.sidebar-link-icon{align-items:center;display:flex;flex-shrink:0;font-size:18px;height:24px;justify-content:center;width:24px}.sidebar-link-text{font-size:15px;overflow:hidden;text-overflow:ellipsis}.sidebar-link-admin{border-top:1px solid var(--border-soft);margin-top:8px;padding-top:12px}.sidebar-mobile-trigger{align-items:center;background:#7b2c83;border:none;border-radius:10px;box-shadow:0 2px 12px #0003;color:#fff;cursor:pointer;display:none;font-size:20px;height:44px;justify-content:center;left:16px;position:fixed;top:16px;transition:background .2s;width:44px;z-index:1001}.sidebar-mobile-trigger:hover{background:#69256f}.sidebar-overlay{background:#0006;display:none;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .25s ease;z-index:999}.sidebar-overlay.open{opacity:1;pointer-events:auto}.app-with-sidebar{display:flex;min-height:100vh}.app-main-wrap{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow-x:hidden;transition:margin-left .25s ease}.app-main-wrap.sidebar-open{margin-left:260px}.app-main-wrap.sidebar-closed{margin-left:72px}@media (max-width:992px){.sidebar-mobile-trigger{display:flex}.sidebar-overlay{display:block}.sidebar{transform:translateX(-100%);width:280px!important}.sidebar.mobile-open{transform:translateX(0)}.sidebar.closed{width:280px!important}.app-main-wrap.sidebar-closed,.app-main-wrap.sidebar-open{margin-left:0}.app-main-wrap{padding-top:60px}}@media (min-width:993px){.sidebar-mobile-trigger{display:none}}.portal-navbar *{box-sizing:border-box}.portal-navbar{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffffeb;border-bottom:1px solid #e5e7eb;font-family:Inter,system-ui,sans-serif;height:64px;left:0;position:fixed;top:0;transition:box-shadow .25s ease,background .25s ease;width:100%;z-index:500}.portal-navbar--scrolled{box-shadow:0 8px 20px #0f172a14}.portal-navbar__inner{align-items:center;display:flex;gap:16px;height:100%;justify-content:space-between;margin:0 auto;max-width:1600px;padding:0 24px}.portal-navbar__brand{align-items:center;display:flex;flex-shrink:0;gap:11px;text-decoration:none}.portal-navbar__logo-ring{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:11px;display:flex;height:40px;justify-content:center;overflow:hidden;transition:transform .2s ease,border-color .2s ease;width:40px}.portal-navbar__brand:hover .portal-navbar__logo-ring{border-color:#a5b4fc;transform:scale(1.06)}.portal-navbar__logo{max-height:100%;max-width:100%;object-fit:contain;padding:4px}.portal-navbar__brand-copy{display:flex;flex-direction:column;line-height:1.2}.portal-navbar__brand-name{color:#0f172a;font-size:15px;font-weight:700;letter-spacing:-.02em}.portal-navbar__brand-label{color:#6366f1;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.portal-navbar__right{flex-shrink:0;position:relative}.portal-navbar__avatar-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:13px;color:#334155;cursor:pointer;display:flex;gap:10px;padding:5px 14px 5px 5px;transition:background .2s ease,border-color .2s ease,transform .15s ease}.portal-navbar__avatar-btn--open,.portal-navbar__avatar-btn:hover{background:#f8fafc;border-color:#c7d2fe;box-shadow:0 6px 16px #0f172a14;transform:translateY(-1px)}.portal-navbar__avatar-btn:active{transform:translateY(0)}.portal-navbar__avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#818cf8);border-radius:10px;box-shadow:0 4px 10px #6366f14d;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:36px;justify-content:center;letter-spacing:.02em;width:36px}.portal-navbar__avatar-copy{display:flex;flex-direction:column;line-height:1.2;text-align:left}.portal-navbar__avatar-name{color:#0f172a;font-size:13px;font-weight:600;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-navbar__avatar-role{color:#64748b;font-size:10px;font-weight:500}.portal-navbar__chevron{color:#94a3b8;flex-shrink:0;height:16px;transition:transform .25s ease,color .2s;width:16px}.portal-navbar__chevron--up{color:#4f46e5;transform:rotate(180deg)}.portal-navbar__dropdown{animation:pnb-dropdown .18s cubic-bezier(.32,.72,0,1) both;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 16px 36px #1e293b2e,0 4px 10px #1e293b14;overflow:hidden;position:absolute;right:0;top:calc(100% + 10px);transform-origin:top right;width:248px;z-index:600}@keyframes pnb-dropdown{0%{opacity:0;transform:scale(.92) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.portal-navbar__dropdown-profile{align-items:center;background:#f8fafc;display:flex;gap:12px;padding:16px}.portal-navbar__dropdown-avatar{align-items:center;background:linear-gradient(135deg,#4299e1,#63b3ed);border-radius:11px;box-shadow:0 2px 10px #4299e166;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:42px;justify-content:center;width:42px}.portal-navbar__dropdown-meta{flex:1 1;min-width:0}.portal-navbar__dropdown-name{color:#0f172a;font-size:14px;font-weight:600;margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-navbar__dropdown-email{color:#64748b;font-size:11px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-navbar__dropdown-sep{background:#e2e8f0;height:1px}.portal-navbar__dropdown-item{align-items:center;background:none;border:none;color:#1e293b;cursor:pointer;display:flex;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:500;gap:10px;padding:12px 16px;text-align:left;text-decoration:none;transition:background .15s ease,color .15s ease;width:100%}.portal-navbar__dropdown-item svg{flex-shrink:0;height:16px;opacity:.75;width:16px}.portal-navbar__dropdown-item:hover{background:#eef2ff;color:#312e81}.portal-navbar__dropdown-item:hover svg{opacity:1}.portal-navbar__dropdown-item--danger{color:#dc2626}.portal-navbar__dropdown-item--danger:hover{background:#fef2f2;color:#b91c1c}@media (max-width:680px){.portal-navbar__inner{padding:0 14px}.portal-navbar__avatar-copy,.portal-navbar__chevron{display:none}.portal-navbar__avatar-btn{border-radius:10px;padding:5px}}.portal-navbar__right{align-items:center;display:flex;gap:12px}.portal-navbar__notification-wrapper{position:relative}.portal-navbar__bell-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;color:#64748b;cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;position:relative;transition:all .2s ease;width:40px}.portal-navbar__bell-btn svg{height:20px;width:20px}.portal-navbar__bell-btn.active,.portal-navbar__bell-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#4f46e5;transform:translateY(-1px)}.portal-navbar__bell-badge{align-items:center;background:#ef4444;border:2px solid #fff;border-radius:9px;box-shadow:0 2px 4px #ef44444d;color:#fff;display:flex;font-size:10px;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 5px;position:absolute;right:-4px;top:-4px}.portal-navbar__notifications-dropdown{animation:pnb-dropdown .2s cubic-bezier(.32,.72,0,1) both;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 20px 40px #0f172a26,0 4px 10px #0f172a0d;overflow:hidden;position:absolute;right:-80px;top:calc(100% + 10px);transform-origin:top center;width:320px;z-index:610}.portal-navbar__notifications-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:14px 16px}.portal-navbar__notifications-header h3{color:#0f172a;font-size:14px;font-weight:700;margin:0}.portal-navbar__mark-all{background:none;border:none;border-radius:4px;color:#4f46e5;cursor:pointer;font-size:11px;font-weight:600;padding:4px 8px}.portal-navbar__mark-all:hover{background:#eef2ff}.portal-navbar__notifications-list{max-height:400px;overflow-y:auto}.portal-navbar__notifications-list::-webkit-scrollbar{width:6px}.portal-navbar__notifications-list::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:3px}.portal-navbar__notification-item{align-items:flex-start;border-bottom:1px solid #f1f5f9;cursor:pointer;display:flex;gap:12px;padding:12px 16px;position:relative;transition:background .15s ease}.portal-navbar__notification-item:hover{background:#f8fafc}.portal-navbar__notification-item.unread{background:#f0f7ff}.portal-navbar__notification-item.unread:hover{background:#e6f1ff}.portal-navbar__notification-content{flex:1 1;min-width:0}.portal-navbar__notification-msg{color:#334155;font-size:13px;line-height:1.4;margin:0 0 4px}.unread .portal-navbar__notification-msg{color:#0f172a;font-weight:500}.portal-navbar__notification-time{color:#94a3b8;display:block;font-size:11px}.portal-navbar__notification-actions{display:flex;flex-direction:column;gap:8px}.portal-navbar__notif-action-btn{align-items:center;background:none;border:none;border-radius:6px;color:#cbd5e1;cursor:pointer;display:flex;height:24px;justify-content:center;transition:all .15s ease;width:24px}.portal-navbar__notif-action-btn:hover{background:#f1f5f9}.portal-navbar__notif-action-btn.read .dot{background:#4f46e5;border-radius:50%;height:8px;width:8px}.portal-navbar__notif-action-btn.delete{font-size:18px}.portal-navbar__notif-action-btn.delete:hover{background:#fef2f2;color:#ef4444}.portal-navbar__notifications-empty,.portal-navbar__notifications-loading{color:#94a3b8;font-size:13px;padding:30px 20px;text-align:center}@media (max-width:480px){.portal-navbar__notifications-dropdown{left:10px;max-width:calc(100vw - 20px);position:fixed;right:10px;top:64px;width:auto}}.patient-portal{background:#f5f6fa;display:flex;flex-direction:column;min-height:100vh}.patient-portal--with-navbar{padding-top:64px}.patient-portal__body{display:flex;min-height:calc(100vh - 64px)}.patient-main-wrap{flex:1 1;margin-left:260px;min-height:calc(100vh - 64px);transition:margin-left .25s ease}.patient-main-wrap.sidebar-closed{margin-left:72px}@media (max-width:992px){.patient-main-wrap{margin-left:0;padding-top:60px}.patient-main-wrap.sidebar-closed{margin-left:0}}.patient-main{min-height:calc(100vh - 64px);padding:24px 20px}.patient-container{margin:0 auto;max-width:1400px;width:100%}.btn-outline{border:1px solid #fffc;color:#fff}.btn-outline:hover{background:#fff3}.auth-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 60px);padding:20px}.auth-card{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:40px;width:100%}.auth-logo-container{display:flex;justify-content:center;margin-bottom:20px}.auth-logo{height:60px;object-fit:contain;width:auto}.auth-card h2{color:#333;margin-bottom:8px;text-align:center}.auth-subtitle{color:#666;font-size:14px;margin-bottom:20px;text-align:center}.alert{padding:10px 14px}.alert-info{background:#cce5ff;border:1px solid #b8daff;color:#004085}.auth-link{color:#666;margin-top:20px;text-align:center}.auth-link a{color:#007bff;text-decoration:none}.auth-link a:hover{text-decoration:underline}.dashboard-page{margin:0 auto;max-width:1400px;padding:24px}.dashboard-top-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:40px}.dashboard-header{flex:1 1;min-width:0;text-align:left}.dashboard-branding-logo-wrap{flex-shrink:0}.dashboard-branding-logo{display:block;max-height:40px;max-width:180px;object-fit:contain}.dashboard-header h1{color:#333;font-size:32px;margin-bottom:10px}.dashboard-header p{color:#666;font-size:18px}.patient-selector-section{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;margin-bottom:32px;padding:24px}.patient-selector-label{color:#333;display:block;font-size:16px;font-weight:600;margin-bottom:12px}.patient-dropdown-wrapper{max-width:500px}.patient-select-input{border:2px solid #e0e0e0;border-radius:10px;padding:14px 16px;transition:all .3s ease}.selected-patient-display{gap:12px}.select-placeholder{color:#999}.selected-patient-name{color:#333;font-size:15px;font-weight:600}.dropdown-arrow{color:#999;font-size:12px}.patient-dropdown-list{border:2px solid #e0e0e0;border-radius:10px;margin-top:8px}.search-icon-dropdown{color:#999;z-index:1}.dropdown-search-input{border:2px solid #e0e0e0;border-radius:8px;padding:10px 12px 10px 36px;transition:all .3s ease}.clear-search-dropdown{color:#999;font-size:16px;z-index:1}.clear-search-dropdown:hover{color:#333}.dropdown-item{align-items:center;gap:12px;transition:all .2s ease}.dropdown-item-name{color:#333}.dropdown-item-info-message{border-top:1px solid #f0f0f0;color:#666;padding:12px 16px}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#f8f9ff}.dropdown-item.selected{background:#e8f0fe;color:#007bff}.dropdown-item.no-results{color:#999}.patient-email-small{color:#666;margin-left:auto}.patient-dashboard-section{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;margin-bottom:32px;padding:32px}.patient-info-header{border-bottom:2px solid #f0f0f0;margin-bottom:32px;padding-bottom:24px}.patient-name-link-large{align-items:center;color:inherit;display:flex;gap:20px;text-decoration:none;transition:all .3s ease}.patient-name-link-large:hover{transform:translateX(4px)}.patient-name-link-large:hover .patient-name-large{color:#007bff}.patient-avatar-large{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 4px 12px #667eea4d;color:#fff;display:flex;flex-shrink:0;font-size:32px;font-weight:600;height:80px;justify-content:center;transition:transform .3s ease;width:80px}.patient-name-link-large:hover .patient-avatar-large{box-shadow:0 6px 16px #667eea66;transform:scale(1.05)}.patient-info-large{flex:1 1}.patient-name-large{color:#333;font-size:28px;font-weight:700;margin:0 0 8px;transition:color .3s ease}.patient-email-large{color:#666;font-size:16px;margin:0}.patient-status-badge-inline{border-radius:20px;cursor:default;display:inline-block;font-size:12px;font-weight:600;margin-top:10px;padding:6px 12px;transition:transform .15s ease,box-shadow .15s ease}.patient-status-badge-inline:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.patient-info-large .patient-status-pending{background:#fef3c7;border:1px solid #fcd34d;color:#b45309}.patient-info-large .patient-status-verify{background:#dbeafe;border:1px solid #93c5fd;color:#1d4ed8}.patient-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;display:flex;gap:20px;padding:24px;text-decoration:none;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 24px #667eea66;transform:translateY(-4px)}.stat-card.stat-reports{background:linear-gradient(135deg,#007bff,#0056b3)}.stat-card.stat-documents{background:linear-gradient(135deg,#17a2b8,#138496)}.stat-card.stat-schedule{background:linear-gradient(135deg,#28a745,#218838)}.stat-icon{font-size:40px;opacity:.9}.stat-content{flex:1 1}.stat-value{font-size:32px;font-weight:700;margin-bottom:4px}.stat-label{font-size:14px;font-weight:500;opacity:.9}.loading-stats{color:#666;font-size:16px;padding:40px;text-align:center}.dashboard-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.dashboard-card .card,.dashboard-card [class*=card]{background:#fff;border:none!important;box-shadow:none!important}.dashboard-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:inherit;padding:30px;text-align:center;text-decoration:none;transition:transform .3s,box-shadow .3s}.dashboard-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-5px)}.dashboard-card-icon{font-size:48px;margin-bottom:15px}.dashboard-card h3{color:#333;margin-bottom:10px}.dashboard-card-count{color:#6c757d;font-size:.95em;font-weight:500}.dashboard-card p{color:#666}.dashboard-card-admin{background:linear-gradient(135deg,#f8f9ff,#fff);border:2px solid #007bff}.dashboard-card-admin:hover{background:linear-gradient(135deg,#e7f3ff,#f8f9ff);border-color:#0056b3}.dashboard-reg-link-section{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:16px;margin-bottom:28px;padding:24px 28px}.dashboard-reg-link-title{color:#0c4a6e;font-size:20px;margin:0 0 8px}.dashboard-reg-link-desc{color:#0369a1;font-size:14px;line-height:1.5;margin:0 0 20px}.dashboard-reg-link-error,.dashboard-reg-link-loading{color:#64748b;font-size:14px;padding:12px 0}.dashboard-reg-link-error{color:#b91c1c}.dashboard-reg-link-url-wrap{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.dashboard-reg-link-input{background:#fff;border:2px solid #7dd3fc;border-radius:10px;color:#0c4a6e;flex:1 1;font-size:14px;min-width:200px;padding:12px 16px}.dashboard-reg-link-copy-btn{background:#0f4c81;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s}.dashboard-reg-link-copy-btn:hover{background:#1a6bb5}.dashboard-reg-link-send{margin-top:0}.dashboard-reg-link-send-label{color:#0c4a6e;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.dashboard-reg-link-send-row{display:flex;flex-wrap:wrap;gap:12px}.dashboard-reg-link-email-input{border:2px solid #e5e7eb;border-radius:10px;flex:1 1;font-size:15px;min-width:220px;padding:12px 16px}.dashboard-reg-link-email-input:focus{border-color:#0f4c81;outline:none}.dashboard-reg-link-send-btn{background:#0f4c81;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.dashboard-reg-link-send-btn:hover:not(:disabled){background:#1a6bb5}.dashboard-reg-link-send-btn:disabled{cursor:not-allowed;opacity:.7}.dashboard-reg-link-msg{font-size:14px;margin:10px 0 0}.dashboard-reg-link-msg.success{color:#047857}.dashboard-reg-link-msg.error{color:#b91c1c}.dashboard-info{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:30px}.dashboard-info h2{color:#333;margin-bottom:20px}.dashboard-info ol{padding-left:20px}.dashboard-info li{color:#666;line-height:1.6;margin-bottom:10px}.modal{animation:modalFadeIn .2s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:#00000073;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;padding:24px}@keyframes modalFadeIn{0%{backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);opacity:0}to{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:1}}.modal-content{animation:modalContentSlide .3s ease;border-radius:12px;box-shadow:0 24px 48px #00000026;box-sizing:border-box;max-width:600px;overflow-x:hidden;position:relative;scroll-behavior:smooth}@keyframes modalContentSlide{0%{opacity:0;transform:translateY(-20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:var(--color-primary-softer);border-radius:4px;margin:8px 0}.modal-content::-webkit-scrollbar-thumb{background:#cbb6d0;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#b89fc0}.modal-content::-webkit-scrollbar-thumb:active{background:#a487ae}.modal-content{scrollbar-color:#cbb6d0 var(--color-primary-softer);scrollbar-width:thin}.modal-content--large{max-height:85vh;max-width:800px;width:95%}.modal-header h2{color:var(--text-strong)}.close-btn{border-radius:8px;padding:6px;transition:all .2s ease}.confirm-dialog-overlay{align-items:center;animation:confirmOverlayIn .2s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#00000073;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1100}@keyframes confirmOverlayIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{animation:confirmDialogIn .25s ease;background:#fff;border-radius:12px;box-shadow:0 24px 48px #0000002e;max-width:420px;padding:0;width:100%}@keyframes confirmDialogIn{0%{opacity:0;transform:scale(.96) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-dialog-header{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:20px 20px 0}.confirm-dialog-title{color:#333;font-size:18px;font-weight:600;margin:0}.confirm-dialog-close{background:none;border:none;border-radius:8px;color:#999;cursor:pointer;font-size:24px;line-height:1;padding:4px 8px;transition:color .2s,background .2s}.confirm-dialog-close:hover{background:#f0f0f0;color:#333}.confirm-dialog-message{color:#555;font-size:15px;line-height:1.5;margin:16px 20px 24px}.confirm-dialog-actions{display:flex;gap:12px;justify-content:flex-end;padding:0 20px 20px}.confirm-dialog-btn{border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s,color .2s,border-color .2s}.confirm-dialog-btn--cancel{background:#fff;border:1px solid #dee2e6;color:#495057}.confirm-dialog-btn--cancel:hover{background:#f8f9fa;border-color:#adb5bd}.confirm-dialog-btn--confirm{background:#007bff;border:1px solid #007bff;color:#fff}.confirm-dialog-btn--confirm:hover{background:#0056b3;border-color:#0056b3}.confirm-dialog-btn--danger{background:#dc3545;border-color:#dc3545}.confirm-dialog-btn--danger:hover{background:#c82333;border-color:#bd2130}.confirm-dialog-btn:focus{box-shadow:0 0 0 3px #007bff59;outline:none}.confirm-dialog-btn--danger:focus{box-shadow:0 0 0 3px #dc354559}.report-types-page{margin:0 auto;max-width:1400px}.report-types-topbar{align-items:end;display:flex;gap:20px;justify-content:space-between;margin-bottom:18px}.topbar-title-wrap{min-width:0}.topbar-title{align-items:center;color:var(--text-strong);display:flex;font-size:28px;gap:10px;margin:0}.topbar-subtitle{color:var(--text-muted);font-size:14px;margin:6px 0 0}.topbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.search-wrapper{width:340px}.search-icon{color:var(--text-muted)}.search-input{border:1px solid var(--border-soft);height:40px;padding:0 34px 0 36px}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #7b2c831f}.clear-search{color:var(--text-muted);font-size:18px;right:8px;top:50%;transform:translateY(-50%)}.filter-select{border:1px solid var(--border-soft);color:var(--text-medium);height:40px;padding:0 10px}.report-types-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.report-types-table{border-collapse:collapse;width:100%}.report-types-table thead th{background:#fff;border-bottom:1px solid #e5e7eb;color:var(--text-medium);font-size:13px;font-weight:600;padding:13px 16px;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:2}.report-types-table tbody td{border-bottom:1px solid #e5e7eb;color:var(--text-strong);font-size:14px;padding:14px 16px;vertical-align:middle}.report-types-table tbody tr:hover{background:#f9fafb}.actions-cell,.th-actions{text-align:right;width:70px}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.name-cell{font-weight:600;min-width:220px}.desc-cell{color:var(--text-medium);line-height:1.45;max-width:560px}.subtypes-badge-btn{align-items:center;background:#faf7fb;border:1px solid #ece7ef;border-radius:999px;color:#6f5c75;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:4px 10px}.subtypes-badge-btn:hover{background:#f4ecf6;border-color:#e5d8ea}.row-menu-wrap{display:inline-block;position:relative}.row-menu-trigger{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:var(--text-medium);cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.row-menu-trigger:hover{background:#f9fafb}.row-menu{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 24px #0f172a14;min-width:180px;padding:6px;position:fixed;z-index:30}.row-menu-portal{min-width:200px;z-index:2000}.row-menu button{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-strong);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 10px;text-align:left;width:100%}.row-menu button:hover{background:#f9fafb}.subtypes-row td{background:#fafafa;padding-bottom:12px;padding-top:12px}.subtypes-inline-empty,.subtypes-inline-loading{align-items:center;color:var(--text-medium);display:flex;font-size:13px;gap:10px}.btn-sm-inline{font-size:12px;padding:6px 10px}.subtypes-inline-list{display:flex;flex-wrap:wrap;gap:8px}.subtype-chip{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:999px;color:var(--text-medium);display:inline-flex;font-size:12px;gap:8px;padding:6px 10px}.chip-action{background:#0000;border:none;color:var(--color-primary);cursor:pointer;font-size:12px}.table-footer{align-items:center;background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:14px;justify-content:space-between;padding:14px 16px}.table-footer-left{color:var(--text-muted);font-size:13px}.table-footer-right{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.rows-label{align-items:center;color:var(--text-muted);display:inline-flex;font-size:12px;gap:6px;margin-right:10px;white-space:nowrap}.rows-label select{border:1px solid #e5e7eb;border-radius:6px;font-size:12px;height:30px;padding:0 6px}.page-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:var(--text-medium);cursor:pointer;font-size:12px;height:30px;min-width:30px;padding:0 8px}.page-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.page-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.page-btn:disabled{cursor:not-allowed;opacity:.45}.page-ellipsis{color:var(--text-muted);padding:0 2px}.loading-container{padding:48px 20px}.loading-spinner{border:3px solid #e5e7eb;border-top:3px solid var(--color-primary);height:30px;margin-bottom:10px;width:30px}.empty-state{border:1px solid #e5e7eb;padding:48px 20px}.empty-icon{color:#d1d5db;font-size:40px;margin-bottom:12px}.form-hint{color:var(--text-muted);margin-top:6px}@media (max-width:1100px){.report-types-topbar{align-items:stretch;flex-direction:column}.topbar-actions{justify-content:flex-start}.search-wrapper{max-width:100%;width:100%}}@media (max-width:900px){.report-types-table-wrap{overflow-x:auto}.report-types-table{min-width:900px}.table-footer{align-items:stretch;flex-direction:column}.table-footer-right{margin-left:0}}.pagination-wrapper{align-items:center;background:#fff;border-radius:8px;border-top:1px solid var(--border-soft);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-top:20px;padding:16px 20px}.pagination-info{color:var(--text-medium);display:flex;flex-direction:column;gap:4px}.pagination-info-page strong,.pagination-info-range strong{color:var(--text-strong);font-weight:600}.pagination-info-page{color:var(--text-muted);font-size:13px}.pagination-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.pagination-page{color:var(--text-medium);font-size:14px;font-weight:500;min-width:100px;padding:0 8px;text-align:center}.pagination-btn{align-items:center;background:#fff;border:1px solid var(--border-soft);border-radius:6px;color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;justify-content:center;min-width:70px;padding:8px 14px;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 1px 3px #7b2c8340;color:#fff}.pagination-btn:active:not(:disabled){transform:translateY(0)}.pagination-btn:disabled{color:#adb5bd;cursor:not-allowed;opacity:.5}@media (max-width:640px){.pagination-wrapper{align-items:stretch;flex-direction:column;text-align:center}.pagination-info{align-items:center}.pagination-controls{justify-content:center}}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-radius:0;border-top:1px solid #aeaeae;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-radius:0 0 .3rem .3rem;border-top:1px solid #aeaeae}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__month-year-select,.react-datepicker__year-select{background-color:initial;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__month-year-select:focus-visible,.react-datepicker__year-select:focus-visible{outline:1px auto}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:5em}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:5em}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.375em;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.375em;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.375em;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + 1.0625em);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:2.125em;margin:.208em;text-align:center;width:2.125em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;text-align:center;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:2.125em;margin:.208em;text-align:center;width:2.125em}.react-datepicker__day--disabled,.react-datepicker__day-name--disabled,.react-datepicker__time-name--disabled{color:#ccc;cursor:default}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.625em;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__children-container{height:auto;margin:.5em;padding-left:.25em;padding-right:.25em;width:17.25em}.react-datepicker__aria-live{border:0;-webkit-clip-path:circle(0);clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}.react-datepicker-popper-offset{margin-top:-.7em}.date-input{border:1px solid #ddd;border-radius:6px;font-size:14px;max-width:200px;padding:10px 12px;width:100%}.date-input:focus{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d933;outline:none}.react-datepicker__input-container input{font-family:inherit}.patients-page{margin:0 auto;max-width:1400px;padding:24px}.page-header{gap:24px;margin-bottom:32px}.header-content h1{font-weight:700}.page-subtitle{font-size:16px;margin:0}.btn-add{align-items:center;border-radius:8px;box-shadow:0 2px 8px #007bff33;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-add:hover{box-shadow:0 4px 12px #007bff4d;transform:translateY(-2px)}.search-container{margin-bottom:24px}.search-wrapper{max-width:600px}.search-icon{left:16px}.search-input{background:#fff;border:2px solid #e0e0e0;border-radius:10px;font-size:15px;padding:14px 16px 14px 48px;transition:all .3s ease}.search-input:focus{box-shadow:0 0 0 4px #007bff1a}.clear-search{background:#0000;border:none;color:#999;cursor:pointer;font-size:24px;line-height:1;padding:4px 8px;position:absolute;right:12px;transition:color .2s;z-index:1}.clear-search:hover{color:#333}.search-results-count{color:#666;font-size:14px;font-weight:500;margin-top:12px}.loading-container{padding:80px 20px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f0f0f0;height:48px;width:48px}.empty-state{background:#fff;box-shadow:0 2px 8px #0000000d;padding:80px 20px}.empty-icon{color:#ccc;font-size:64px;margin-bottom:24px}.empty-state h3{color:#333;font-size:24px;margin:0 0 12px}.empty-state p{color:#666;margin:0 0 24px}.empty-state .btn-add{align-items:center;display:inline-flex;gap:10px;justify-content:center}.empty-state .btn-add svg{flex-shrink:0;font-size:.9em;vertical-align:middle}.patients-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;overflow:hidden}.patients-table{border-collapse:collapse;width:100%}.patients-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.patients-table th{font-size:14px;font-weight:600;letter-spacing:.5px;padding:18px 20px;text-align:left;text-transform:uppercase}.patients-table tbody tr{border-bottom:1px solid #f0f0f0;transition:all .2s ease}.patients-table tbody tr:hover{background:#f8f9ff;box-shadow:0 2px 8px #0000000d;transform:scale(1.01)}.patients-table tbody tr:last-child{border-bottom:none}.patients-table td{padding:20px;vertical-align:middle}.patient-name-wrapper{align-items:center;display:flex;gap:12px}.patient-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 2px 8px #667eea4d;color:#fff;display:flex;flex-shrink:0;font-size:18px;font-weight:600;height:48px;justify-content:center;overflow:hidden;width:48px}.patient-avatar-img{display:block;height:100%;object-fit:cover;object-position:center;width:100%}.profile-pic-input{display:block;font-size:14px;margin-top:6px}.profile-pic-preview-wrap{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.profile-pic-preview{border:2px solid #e0e0e0;border-radius:50%;height:80px;object-fit:cover;width:80px}.btn-remove-pic{background:#f0f0f0;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 12px}.btn-remove-pic:hover{background:#e0e0e0}.patient-info{display:flex;flex-direction:column;gap:6px;min-width:0}.patient-name{color:#333;font-size:16px;font-weight:600;line-height:1.3}.patient-email{color:#666;font-size:13px;line-height:1.3;word-break:break-word}.patient-email-empty{color:#999;font-style:italic}.patient-info .patient-status-chip{align-items:center;align-self:flex-start;border-radius:6px;box-shadow:0 1px 2px #0000000f;display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.02em;margin-top:2px;padding:4px 10px}.patient-info .patient-status-chip.patient-status-pending{background:#fef3c7;border:1px solid #fcd34d;color:#b45309}.patient-info .patient-status-chip.patient-status-verify{background:#dbeafe;border:1px solid #93c5fd;color:#1d4ed8}.patient-name-link{text-decoration:none;transition:all .2s ease}.patient-name-link:hover .patient-name{color:#007bff}.patient-name-link:hover .patient-avatar{box-shadow:0 4px 12px #667eea66;transform:scale(1.1)}.patient-age{color:#333;font-size:15px;font-weight:500}.contact-info{display:flex;flex-direction:column;gap:4px}.contact-item{color:#333;font-size:14px}.no-data{color:#999;font-style:italic}.patient-status-badge{align-items:center;border-radius:20px;cursor:default;display:inline-flex;font-size:12px;font-weight:600;padding:6px 12px;transition:transform .15s ease,box-shadow .15s ease}.patient-status-badge:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.patient-status-pending{background:#fef3c7;border:1px solid #fcd34d;color:#b45309}.patient-status-verify{background:#dbeafe;border:1px solid #93c5fd;color:#1d4ed8}.patient-status-done{background:#0000;border:none;color:#94a3b8;font-weight:400}.patient-status-done:hover{box-shadow:none;transform:none}.country-badge{background:#f0f0f0;border-radius:20px;color:#666;display:inline-block;font-size:13px;font-weight:500;padding:6px 12px}.action-buttons{display:flex;flex-wrap:wrap;gap:8px}.action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.action-btn span{display:none}@media (min-width:768px){.action-btn span{display:inline}}.btn-reports{background:#007bff;color:#fff}.btn-reports:hover{background:#0056b3;box-shadow:0 4px 8px #007bff4d;transform:translateY(-2px)}.btn-schedule{background:#28a745;color:#fff}.btn-schedule:hover{background:#218838;box-shadow:0 4px 8px #28a7454d;transform:translateY(-2px)}.btn-docs{background:#17a2b8;color:#fff}.btn-docs:hover{background:#138496;box-shadow:0 4px 8px #17a2b84d;transform:translateY(-2px)}.btn-call-summary{background:#6f42c1;color:#fff}.btn-call-summary:hover{background:#5a32a3;box-shadow:0 4px 8px #6f42c14d;transform:translateY(-2px)}.btn-edit{background:#6c757d;color:#fff}.btn-edit:hover{background:#5a6268;box-shadow:0 4px 8px #6c757d4d;transform:translateY(-2px)}.form-row{grid-template-columns:repeat(2,1fr)}.patients-select-native{background:#fff;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 12px;width:100%}.patients-select-native:focus{border-color:#007bff;outline:none}.patients-other-input{border:1px solid #dee2e6;border-radius:8px;font-size:14px;margin-top:10px;padding:10px 12px;width:100%}.patients-other-input:focus{border-color:#007bff;outline:none}.patients-select .patients-select__control{border:1px solid #ddd;border-radius:4px;font-size:16px;min-height:42px}.patients-select .patients-select__control--is-focused{border-color:#007bff;box-shadow:0 0 0 1px #007bff}.patients-select .patients-select__control:hover{border-color:#ccc}.patients-select .patients-select__placeholder{color:#999}.patients-select .patients-select__input-container{margin:0;padding:0}.patients-select .patients-select__menu{z-index:100}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column}.btn-add{justify-content:center;width:100%}.patients-table-container{overflow-x:auto}.patients-table{min-width:800px}.action-buttons{flex-direction:column}.action-btn{justify-content:center;width:100%}}.reports-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.search-bar{flex:1 1;max-width:500px;min-width:300px;position:relative}.filter-select{min-width:180px}.reports-count{color:#6c757d;font-size:14px;font-weight:500;margin-left:auto}.patient-reports-page .page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.patient-reports-page .reports-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:20px}.patient-reports-page .report-card{border:1px solid #e9ecef;border-radius:10px;cursor:default;padding:20px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.patient-reports-page .report-card.report-card-clickable{cursor:pointer}.patient-reports-page .report-card:hover{box-shadow:0 6px 16px #0000001f;transform:translateY(-2px)}.patient-reports-page .report-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:12px}.patient-reports-page .report-icon{flex-shrink:0;font-size:32px}.patient-reports-page .report-info{flex:1 1}.patient-reports-page .report-name{color:#333;font-size:18px;font-weight:600;margin:0 0 4px}.patient-reports-page .report-type{color:#666;font-size:14px;margin:0}.patient-reports-page .report-description{background:#f8f9fa;border-radius:6px;margin-bottom:12px;padding:12px}.patient-reports-page .report-description p{color:#555;font-size:14px;line-height:1.5;margin:0}.patient-reports-page .report-details{margin-bottom:16px}.patient-reports-page .detail-row{border-bottom:1px solid #f0f0f0;display:flex;font-size:14px;justify-content:space-between;padding:6px 0}.patient-reports-page .detail-row:last-child{border-bottom:none}.patient-reports-page .detail-row span:first-child{color:#666;font-weight:500}.patient-reports-page .detail-row span:last-child{color:#333}.patient-reports-page .report-files{border-top:1px solid #e0e0e0;margin-top:16px;padding-top:16px}.patient-reports-page .report-files h4{color:#333;font-size:14px;font-weight:600;margin:0 0 12px}.patient-reports-page .file-list{display:flex;flex-direction:column;gap:8px}.patient-reports-page .file-item{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;gap:12px;padding:10px}.patient-reports-page .file-name{color:#333;flex:1 1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-reports-page .file-size{color:#666;font-size:12px;white-space:nowrap}.patient-reports-page .btn-sm{font-size:13px;padding:6px 12px}.patient-reports-page .files-button-link{align-items:center;background:none;border:none;color:#007bff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:0;transition:color .2s}.patient-reports-page .files-button-link:hover{color:#0056b3;text-decoration:underline}.patient-reports-page .files-button-link .meta-icon{color:#007bff;font-size:14px}.report-info-top{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px}.report-info-top .doctor-badge{align-items:center;background:#e3f2fd;border:1px solid #0000;border-radius:12px;color:#1565c0;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:4px 10px;transition:all .2s ease;white-space:nowrap}.report-info-top .doctor-badge:hover{background:#bbdefb;box-shadow:0 2px 4px #1565c033;color:#0d47a1;transform:translateY(-1px)}.report-info-top .doctor-badge:active{transform:translateY(0)}.report-info-top .doctor-badge-icon{font-size:11px;opacity:.9}.report-files-compact{margin-top:4px}.file-list-compact{display:flex;flex-direction:column;gap:6px;margin-top:8px}.file-item-compact{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;justify-content:space-between;padding:8px 10px;transition:background .2s}.file-item-compact:hover{background:#e9ecef}.file-item-name-compact{color:#495057;flex:1 1;font-size:12px;font-weight:500;margin-right:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-item-actions-compact{display:flex;flex-shrink:0;gap:6px}.btn-icon-edit,.btn-icon-replace,.btn-icon-view{align-items:center;background:#0000;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:6px;transition:all .2s}.btn-icon-view:hover{background:#e7f3ff;color:#007bff}.reports-list{display:flex;flex-direction:column;gap:20px}.report-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.report-header h3{color:#333;margin-bottom:8px}.report-type{color:#666;font-size:14px;margin-bottom:8px}.report-description{color:#555;margin-bottom:8px}.report-date{color:#999;font-size:12px}.report-files{border-top:1px solid #eee;margin-top:20px;padding-top:20px}.report-files h4{color:#333;margin-bottom:12px}.empty-state p{font-size:16px;margin:0}@media (max-width:768px){.files-modal{max-height:90vh;max-width:95vw}.files-modal-header{flex-wrap:wrap;padding:16px 20px}.files-modal-header h2{font-size:18px;margin-bottom:12px;width:100%}.files-modal-header-actions{justify-content:space-between;width:100%}.files-sort-select{flex:1 1;min-width:0}.files-modal-content{padding:16px 20px}.files-modal-toolbar{align-items:stretch;flex-direction:column}.file-search-wrapper{width:100%}.btn-add-files{justify-content:center;width:100%}.file-modal-item{align-items:stretch;flex-direction:column;gap:12px}.file-modal-info{width:100%}.file-modal-actions{justify-content:flex-end;width:100%}.reports-grid{grid-template-columns:1fr}.reports-filters{align-items:stretch;flex-direction:column}.search-bar{max-width:100%;min-width:100%}.reports-count{margin-left:0}.report-header{flex-direction:column;gap:15px}}.filters-section{margin-bottom:20px}.patient-dropdown-wrapper{position:relative;width:100%}.patient-email-small{line-height:1.5;padding-top:1px}.reports-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:30px}.page-header{align-items:center;flex-wrap:wrap;gap:12px}.page-header-actions{align-items:center;display:flex;gap:10px}.report-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:12px;padding:16px;position:relative;transition:all .2s ease}.report-card-header .report-card-actions{align-items:center;display:flex;flex-shrink:0;gap:16px}.report-card-checkbox{align-items:center;cursor:pointer;display:flex;margin:0}.report-card-actions .report-card-checkbox input{accent-color:#007bff;cursor:pointer;height:18px;width:18px}.report-card .card,.report-card [class*=card]{background:#fff;border:none!important;box-shadow:none!important}.report-card.selected{background:#f0f7ff;border-color:#007bff;box-shadow:0 0 0 2px #007bff33}.report-card:hover{border-color:#007bff;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.report-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.report-card-title-section{flex:1 1;min-width:0}.report-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#212529;display:-webkit-box;font-size:16px;font-weight:600;line-height:1.3;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis}.report-card-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.report-type-badge{background:#e7f3ff;color:#06c;display:inline-block;font-weight:500}.report-type-badge,.report-uploaded-by-badge{border-radius:12px;font-size:12px;padding:4px 10px}.report-uploaded-by-badge{align-items:center;cursor:pointer;display:inline-flex;font-weight:600;gap:5px;transition:all .2s ease}.report-uploaded-by-badge:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.report-uploaded-by-badge .doctor-badge-icon{font-size:11px;opacity:.9}.report-uploaded-by-badge.report-uploaded-by--patient{background:#e8f5e9;color:#2e7d32}.report-uploaded-by-badge.report-uploaded-by--doctor{background:#e3f2fd;color:#1565c0}.patient-link-card,.report-card-patient{align-items:center;display:flex;gap:8px}.patient-link-card{color:inherit;text-decoration:none;transition:all .2s}.patient-link-card:hover{color:#007bff}.patient-name-card{color:#212529;font-size:14px;font-weight:500}.patient-link-card:hover .patient-name-card{color:#007bff}.report-description-compact{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#495057;display:-webkit-box;font-size:13px;line-height:1.5;margin:0;overflow:hidden;text-overflow:ellipsis}.report-card-meta{border-top:1px solid #f1f3f4;display:flex;flex-wrap:wrap;gap:16px;padding-top:8px}.meta-item{align-items:center;color:#6c757d;display:flex;font-size:12px;gap:6px}.meta-icon{color:#adb5bd;font-size:11px}.meta-item-clickable{align-items:center;background:#0000;border:none;border-radius:6px;color:#6c757d;cursor:pointer;display:flex;font-size:12px;gap:6px;padding:4px 8px;transition:background .2s}.meta-item-clickable:hover{background:#e9ecef;color:#495057}.file-item-info{display:flex;flex:1 1;flex-direction:column;gap:2px;margin-right:10px}.file-item-info .file-item-date,.file-item-info .file-item-name{flex:none;margin-right:0}.file-item-name{font-weight:500}.file-item-date{color:#888;font-size:12px}.file-item-actions{align-items:center;display:flex;gap:8px}.btn-replace{align-items:center;background-color:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;gap:6px;padding:8px 12px;transition:all .2s ease}.btn-replace:hover:not(:disabled){background-color:#5a6268;transform:scale(1.02)}.btn-replace:disabled{cursor:not-allowed;opacity:.6}.view-icon-btn{background-color:#007bff}.view-icon-btn:hover{background-color:#0056b3;box-shadow:0 4px 8px #007bff4d;transform:scale(1.1)}.view-icon-btn:active{box-shadow:0 2px 4px #007bff33;transform:scale(.95)}.view-icon-btn svg{transition:transform .3s ease}.view-icon-btn:hover svg{transform:scale(1.2)}.pagination{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:20px;justify-content:center;margin-top:30px;padding:20px}.pagination-info{color:#666;font-size:14px}.pagination button:disabled{cursor:not-allowed;opacity:.5}.files-modal{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:85vh;max-width:600px;overflow:hidden;width:100%}.files-modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-shrink:0;gap:16px;justify-content:space-between;padding:20px 24px}.files-modal-header h2{color:#212529;flex:1 1;font-size:20px;font-weight:600;margin:0}.files-modal-header-actions{align-items:center;display:flex;gap:12px}.files-sort-select{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:13px;min-width:140px;padding:8px 12px;transition:all .2s}.files-sort-select:hover{border-color:#007bff}.files-sort-select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.close-btn{border-radius:6px;color:#6c757d;line-height:1}.close-btn:hover{background:#e9ecef;color:#212529}.files-modal-content{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:20px 24px}.files-toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.files-modal-content::-webkit-scrollbar{width:8px}.files-modal-content::-webkit-scrollbar-track{background:#f1f3f4}.files-modal-content::-webkit-scrollbar-thumb{background:#c1c7cd;border-radius:4px}.files-modal-content::-webkit-scrollbar-thumb:hover{background:#a8b0b8}.files-modal-list{display:flex;flex-direction:column;gap:12px;width:100%}.file-modal-item{align-items:flex-start;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;box-sizing:border-box;display:flex;gap:12px;justify-content:space-between;padding:16px;transition:all .2s;width:100%}.file-modal-item:hover{background:#e9ecef;border-color:#dee2e6;box-shadow:0 2px 8px #00000014}.file-modal-info{flex:1 1;min-width:0;overflow:hidden}.file-modal-name{color:#212529;font-size:15px;font-weight:600;line-height:1.4;margin-bottom:6px;overflow-wrap:break-word;word-break:break-word}.file-modal-date{color:#6c757d;font-size:13px;line-height:1.4}.file-modal-actions{align-items:flex-start;display:flex;flex-shrink:0;gap:8px}.btn-icon-download,.btn-icon-edit,.btn-icon-replace,.btn-icon-view{align-items:center;background:#0000;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:6px;transition:all .2s}.btn-icon-edit:hover,.btn-icon-view:hover{background:#e7f3ff;color:#007bff}.btn-icon-download:hover{background:#e8f5e9;color:#28a745}.btn-icon-replace:hover{background:#f8f9fa;color:#495057}.btn-icon-replace:disabled{cursor:not-allowed;opacity:.5}.btn-icon-delete{align-items:center;background:#0000;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:6px;transition:all .2s}.btn-icon-delete:hover{background:#ffebee;color:#dc3545}.global-search-section{margin-bottom:20px}.search-bar-wrapper{align-items:center;display:flex;position:relative}.search-icon{font-size:16px;pointer-events:none;z-index:1}.global-search-input{border:1px solid #dee2e6;border-radius:6px;box-sizing:border-box;font-size:14px;padding:12px 16px 12px 42px;transition:all .2s;width:100%}.global-search-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.clear-search-btn{align-items:center;background:#0000;border:none;color:#6c757d;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:4px;position:absolute;right:12px;transition:color .2s;z-index:1}.clear-search-btn:hover{color:#212529}.files-modal-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.file-search-wrapper{align-items:center;display:flex;flex:1 1;min-width:200px;position:relative}.file-search-icon{color:#6c757d;font-size:14px;left:12px;pointer-events:none;position:absolute;z-index:1}.file-search-input{border:1px solid #dee2e6;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px 10px 38px;transition:all .2s;width:100%}.file-search-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.clear-file-search-btn{align-items:center;background:#0000;border:none;color:#6c757d;cursor:pointer;display:flex;font-size:12px;justify-content:center;padding:4px;position:absolute;right:8px;transition:color .2s;z-index:1}.clear-file-search-btn:hover{color:#212529}.btn-add-files{align-items:center;display:flex;gap:6px;white-space:nowrap}.files-empty-state{color:#6c757d;padding:40px 20px;text-align:center}.files-empty-state p{font-size:14px;margin:0}@media (max-width:768px){.filters-grid,.reports-grid{grid-template-columns:1fr}.pagination{flex-direction:column;gap:10px}.report-files-header{align-items:flex-start;flex-direction:column}.btn-view-files{justify-content:center;width:100%}.files-modal{max-height:90vh;max-width:95vw}.files-modal-header{flex-wrap:wrap;padding:16px 20px}.files-modal-header h2{font-size:18px;margin-bottom:12px;width:100%}.files-modal-header-actions{justify-content:space-between;width:100%}.files-sort-select{flex:1 1;min-width:0}.files-modal-content{padding:16px 20px}.files-modal-toolbar{align-items:stretch;flex-direction:column}.file-search-wrapper{width:100%}.btn-add-files{justify-content:center;width:100%}.global-search-input{font-size:16px}.file-modal-item{align-items:stretch;flex-direction:column;gap:12px}.file-modal-info{width:100%}.file-modal-actions{justify-content:flex-end;width:100%}}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;box-sizing:border-box;font-family:inherit;padding:12px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 4px #007bff1a}.report-type-select-wrapper{width:100%}.report-type-select-wrapper .report-type-select__control{border:2px solid #e0e0e0;border-radius:8px;font-size:14px;min-height:44px}.report-type-select-wrapper .report-type-select__control--is-focused{border-color:#007bff;box-shadow:0 0 0 4px #007bff1a}.file-upload-area{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;padding:24px;transition:all .2s}.file-upload-area:hover{background:#f0f7ff;border-color:#007bff}.file-upload-area p{color:#495057;font-size:14px;margin:0}.file-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.file-item{background:#f8f9fa;border-radius:6px;font-size:13px;padding:10px 12px}.patient-dropdown-wrapper-modal{position:relative;width:100%}.report-analysis-page{margin:0 auto;max-width:1200px;padding:16px 20px}.analysis-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.analysis-header-left{align-items:center;display:flex;gap:12px}.analysis-icon{align-items:center;background:#0d6efd1f;border:1px solid #0d6efd38;border-radius:12px;color:#0d6efd;display:inline-flex;height:44px;justify-content:center;width:44px}.analysis-header h1{font-size:24px;margin:0}.analysis-header p{color:#6c757d;font-size:13px;margin:2px 0 0}.analysis-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:14px}.analysis-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.analysis-search-wrap{position:relative;width:min(360px,100%)}.analysis-search-icon{color:#6c757d;left:11px;position:absolute;top:50%;transform:translateY(-50%)}.analysis-search-input{border:1px solid #e9ecef;border-radius:10px;font-size:14px;padding:9px 12px 9px 34px;width:100%}.analysis-search-input:focus{border-color:#0d6efd99;box-shadow:0 0 0 4px #0d6efd1f;outline:none}.analysis-section{margin-top:12px}.analysis-section h3{color:#343a40;font-size:15px;margin:0 0 10px}.analysis-chip-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.analysis-chip{background:#fff;border:1px solid #dfe3e7;border-radius:10px;cursor:pointer;padding:10px 12px;text-align:left;transition:border-color .15s,box-shadow .15s,transform .15s}.analysis-chip:hover{border-color:#9ec5fe;box-shadow:0 4px 12px #0d6efd14;transform:translateY(-1px)}.analysis-chip.selected{background:#0d6efd0f;border-color:#0d6efd}.analysis-check-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.analysis-check-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:10px;display:flex;gap:8px;padding:9px 10px}.analysis-check-item input{accent-color:#0d6efd}.analysis-hint{align-items:center;background:#fff8e1;border:1px solid #ffe69c;border-radius:8px;color:#996800;display:inline-flex;font-size:13px;gap:8px;margin:0 0 10px;padding:8px 10px}.analysis-hint.ok{background:#d1e7dd;border-color:#badbcc;color:#0f5132}.analysis-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.analysis-empty{color:#6c757d;padding:20px 10px;text-align:center}.analysis-selected{border-top:1px solid #eef1f4;margin-top:16px;padding-top:14px}.analysis-selected-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.analysis-selected-item{background:#fff;border:1px solid #e9ecef;border-radius:10px;padding:10px}.selected-item-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.selected-item-title{color:#212529;font-weight:700;word-break:break-word}.selected-item-actions{display:flex;gap:6px}.selected-subtypes{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.selected-sub-chip{align-items:center;background:#d1e7dd;border:1px solid #badbcc;border-radius:999px;color:#0f5132;display:inline-flex;font-size:12px;gap:6px;padding:5px 10px}.selected-sub-chip button{background:#0000;border:none;color:#0f5132;cursor:pointer;line-height:1;padding:0}.selected-sub-empty{color:#6c757d;font-size:12px;margin-top:10px}.icon-btn{border-radius:8px;height:30px;width:30px}.icon-btn:hover{background:#f8f9fa}.btn-edit{color:#0d6efd}.btn-delete{color:#dc3545}.report-analysis-dashboard-page{margin:0 auto;max-width:1460px;padding:18px 22px}.dashboard-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:18px}.dashboard-header,.dashboard-title-wrap{align-items:center;display:flex;gap:12px}.dashboard-icon{align-items:center;background:linear-gradient(140deg,#dbeafe,#bfdbfe);border:1px solid #93c5fd;border-radius:14px;color:#1d4ed8;display:inline-flex;height:46px;justify-content:center;width:46px}.dashboard-header h1{font-size:25px;letter-spacing:-.2px;margin:0}.dashboard-header p{color:#6b7280;font-size:13px;margin:3px 0 0}.dashboard-filters,.dashboard-graph-filters{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 2px #0f172a0a;padding:14px}.dashboard-filters{margin-bottom:12px}.dashboard-graph-filters{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.filter-row{align-items:end;display:flex;flex-wrap:wrap;gap:14px}.filter-group{gap:6px;min-width:180px}.filter-group-wide{flex:1 1;min-width:320px}.filter-group label{color:#475569;font-size:12px}.filter-input,.filter-select-native{background:#fff;border:1px solid #dbe4f0;border-radius:9px;font-size:14px;padding:8px 11px}.filter-input:focus,.filter-select-native:focus,.graph-search-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33;outline:none}.filter-select .select__control{border-color:#dbe4f0;border-radius:9px;min-height:38px}.filter-select .select__control--is-focused{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.graph-search-wrap{flex:1 1;max-width:400px;min-width:260px;position:relative}.graph-search-icon{color:#64748b;left:11px;position:absolute;top:50%;transform:translateY(-50%)}.graph-search-input{border:1px solid #dbe4f0;border-radius:9px;font-size:14px;padding:9px 11px 9px 34px;width:100%}.status-filter-wrap{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.status-filter-label{color:#334155;font-size:13px;font-weight:600}.status-filter-check{align-items:center;color:#475569;display:inline-flex;font-size:13px;gap:6px}.status-filter-check input{accent-color:#2563eb}.dashboard-empty{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b;padding:48px 18px;text-align:center}.dashboard-sections{display:flex;flex-direction:column;gap:18px}.category-section{background:linear-gradient(180deg,#f8fbff,#fff);border:1px solid #e2e8f0;border-radius:14px;padding:14px}.category-header h2{color:#0f172a;font-size:17px;margin:0 0 12px}.dashboard-widgets{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.lab-widget{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 5px 12px #1e40af12;padding:14px}.lab-widget-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.lab-widget-header h3{color:#0f172a;font-size:15px;margin:0}.lab-widget-unit{background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;font-size:11px;padding:3px 8px}.lab-widget-chart{min-height:230px}.lab-widget-legend{color:#64748b;display:flex;font-size:11px;gap:14px;margin-top:8px}.legend-item{align-items:center;display:inline-flex;gap:5px}.dot{border-radius:999px;display:inline-block;height:8px;width:8px}.dot.normal{background:#10b981}.dot.low{background:#f59e0b}.dot.high{background:#ef4444}.chatbot-page{max-width:800px}.chatbot-subtitle{color:#666;font-size:14px;margin-top:8px}.chatbot-form{margin-bottom:24px}.form-section-label{color:#333;display:block;font-weight:600;margin-bottom:10px}.checkbox-item{align-items:center;cursor:pointer;display:inline-flex;font-size:14px;gap:8px}.checkbox-item input:disabled{cursor:not-allowed}.checkbox-item input:disabled+span{color:#999}.chatbot-question-input{border:1px solid #ddd;border-radius:6px;font-size:14px;min-height:100px;padding:12px;resize:vertical;width:100%}.chatbot-question-input:focus{border-color:#007bff;outline:none}.chatbot-response{margin-top:24px}.chatbot-response h3{color:#333;margin-bottom:12px}.chatbot-answer{color:#333;line-height:1.6;margin-bottom:16px}.chatbot-answer h1,.chatbot-answer h2,.chatbot-answer h3{color:#222;font-weight:600;margin-bottom:.5em;margin-top:1.2em}.chatbot-answer h1{font-size:1.4em}.chatbot-answer h2{font-size:1.2em}.chatbot-answer h3{font-size:1.1em}.chatbot-answer h1:first-child,.chatbot-answer h2:first-child,.chatbot-answer h3:first-child{margin-top:0}.chatbot-answer strong{font-weight:600}.chatbot-answer ol,.chatbot-answer ul{margin:.5em 0;padding-left:1.5em}.chatbot-answer li{margin:.25em 0}.chatbot-answer p{margin:.5em 0}.chatbot-answer p:first-child{margin-top:0}.chatbot-meta{color:#666;font-size:13px}.chatbot-meta p{margin:4px 0}.text-muted{color:#999;font-size:14px}.schedule-masters-page{margin:0 auto;max-width:1400px;padding:24px}.schedule-masters-page .page-header{margin-bottom:32px}.schedule-masters-page .page-header h1{align-items:center;color:#333;display:flex;font-size:32px;font-weight:700;gap:12px;margin:0 0 8px}.schedule-masters-page .page-subtitle{color:#666;font-size:16px;margin-top:0}.protocols-section{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;margin-bottom:32px;padding:24px;transition:box-shadow .3s ease}.protocols-section:hover{box-shadow:0 4px 16px #0000001f}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{color:#333;font-size:18px;margin:0}.section-header-actions{align-items:center;display:flex;gap:10px}.protocols-tabs{display:flex;flex-wrap:wrap;gap:12px}.protocol-tab-wrapper{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:10px;box-shadow:0 2px 4px #0000000d;display:flex;gap:8px;padding:4px;transition:all .3s ease}.protocol-tab-wrapper:hover{border-color:#007bff;box-shadow:0 4px 8px #007bff26;transform:translateY(-2px)}.protocol-tab{align-items:center;background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;padding:12px 20px;text-transform:capitalize;transition:all .3s ease}.protocol-color-dot{border:1px solid #0000001a}.protocol-badge{background:#ffffff4d;border-radius:10px;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.protocol-badge-patient{background:#4caf50e6;color:#fff}.protocol-tab:hover:not(.active){background:#f8f9ff;color:#007bff}.protocol-tab.active{border-color:#0000;box-shadow:0 2px 8px #00000026;color:#fff}.protocol-tab.drop-target{background:#e7f3ff!important;color:#007bff!important;outline:3px dashed #007bff;outline-offset:4px}.protocol-tab .drop-hint{font-size:11px;margin-left:6px;opacity:.95}.protocol-actions{display:flex;gap:4px;padding-right:4px}.btn-icon{background:#007bff1a;color:#007bff}.btn-icon:hover{background:#007bff;box-shadow:0 2px 8px #007bff4d;color:#fff;transform:scale(1.1)}.btn-icon-danger{background:#dc35451a;color:#dc3545}.btn-icon-danger:hover{background:#dc3545;box-shadow:0 2px 8px #dc35454d;color:#fff}.masters-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:24px;transition:box-shadow .3s ease}.masters-card:hover{box-shadow:0 4px 16px #0000001f}.protocol-bulk-tools-card{background:linear-gradient(180deg,#fff,#f9fbff);border:1px solid #e5ecff;border-radius:12px;margin-bottom:24px;padding:20px}.protocol-bulk-tools-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.protocol-bulk-tools-header h2{align-items:center;color:#1f2b52;display:flex;font-size:18px;gap:8px;margin:0 0 6px}.protocol-bulk-tools-header p{color:#5d6788;font-size:13px;margin:0}.protocol-bulk-tools-actions{display:flex;flex-wrap:wrap;gap:10px}.protocol-selection-chips{background:#fff;border:1px solid #e6ebf7;border-radius:10px;margin-bottom:14px;padding:12px}.protocol-selection-top-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.selected-count-chip{background:#eef4ff;border-radius:999px;color:#204a9a;font-size:12px;font-weight:600;padding:4px 8px}.protocol-selection-list{display:flex;flex-wrap:wrap;gap:8px}.protocol-selection-item{align-items:center;background:#fff;border:1px solid #dce5fa;border-radius:8px;cursor:pointer;display:inline-flex;gap:8px;padding:6px 10px;transition:all .2s ease}.protocol-selection-item.selected{background:#eef4ff;border-color:#a9c3ff;box-shadow:0 0 0 2px #007bff1f}.protocol-selection-color{border:1px solid #00000026;border-radius:50%;height:12px;width:12px}.protocol-bulk-import-box{background:#f7faff;border:1px dashed #c8d7ff;border-radius:10px;padding:12px}.protocol-bulk-import-options{margin-bottom:10px}.bulk-import-file-input{background:#fff;border:1px solid #d2ddfb;border-radius:8px;padding:10px;width:100%}.bulk-result-card{background:#f3fcf4;border:1px solid #d7ecd9;border-radius:8px;margin-top:10px;padding:10px 12px}.bulk-result-card h4{color:#2f6d3a;font-size:14px;margin:0 0 6px}.bulk-result-card p{color:#35583b;font-size:13px;margin:4px 0}.masters-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.masters-header h2{color:#333;font-size:18px;margin:0;text-transform:capitalize}.masters-list{list-style:none;margin:0;padding:0}.masters-list-item{align-items:center;background:#fff;border-bottom:1px solid #f0f0f0;border-radius:8px;display:flex;gap:16px;justify-content:space-between;margin-bottom:8px;padding:16px 20px;transition:all .2s ease}.masters-list-item:hover{background:#f8f9ff;box-shadow:0 2px 8px #00000014;transform:translateX(4px)}.masters-list-item:last-child{border-bottom:none;margin-bottom:0}.item-content{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.item-color-indicator{border:1px solid #0000001a;border-radius:4px;flex-shrink:0;height:24px;width:24px}.item-details{align-items:center;display:flex;flex-wrap:wrap;gap:8px;min-width:0}.masters-list-item .item-name{color:#333;font-weight:500}.masters-list-item .item-desc{color:#666;font-size:14px}.masters-list-item.draggable{cursor:grab}.masters-list-item.draggable:active{cursor:grabbing}.masters-list-item.copy-dropdown-open{position:relative;z-index:50}.masters-list-item .drag-handle{color:#adb5bd;cursor:grab;font-size:14px;letter-spacing:-2px;margin-right:4px;-webkit-user-select:none;user-select:none}.masters-list-item .drag-handle:hover{color:#007bff}.copy-dropdown-wrapper{position:relative}.copy-dropdown{background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 16px #0000001f;left:0;margin-top:4px;min-width:160px;padding:6px 0;position:absolute;top:100%;z-index:100}.copy-dropdown-item{background:none;border:none;color:#333;cursor:pointer;display:block;font-size:14px;padding:10px 16px;text-align:left;transition:background .2s;width:100%}.copy-dropdown-item:hover{background:#e7f3ff;color:#007bff}.copy-dropdown-close{background:#f8f9fa;border:none;border-top:1px solid #eee;color:#6c757d;cursor:pointer;display:block;font-size:13px;margin-top:4px;padding:8px 16px;width:100%}.copy-dropdown-close:hover{background:#e9ecef}.item-badge{border-radius:12px;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.action-badge-patient{background:#e8f5e9;color:#2e7d32}.item-protocol-badge{background:#f0f0f0;border-radius:12px;color:#666;font-size:11px;font-weight:600;padding:2px 8px;text-transform:capitalize}.item-actions{display:flex;flex-shrink:0;gap:8px}.btn-sm{align-items:center;display:flex;gap:4px}.custom-field-value-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.custom-field-value-row input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;padding:8px 12px}.custom-field-value-row .btn-remove-field{align-items:center;background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;padding:0;width:36px}.custom-field-value-row .btn-remove-field:hover{background:#c82333}.search-filters{align-items:flex-end;background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:20px}.search-filters .filter-group{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:200px}.search-filters .filter-group label{color:#333;font-size:14px;font-weight:600}.search-filters .search-input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px 12px;width:100%}.search-filters .filter-group select{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;padding:12px 16px;transition:all .3s ease}.search-filters .filter-group select:focus{border-color:#007bff;box-shadow:0 0 0 4px #007bff1a;outline:none}.color-picker-wrapper{display:flex;flex-direction:column;gap:16px;width:100%}.color-input-group{align-items:center;display:flex;gap:12px;width:100%}.color-selected-preview{border:1px solid #0003;border-radius:6px;box-shadow:inset 0 0 0 1px #ffffff59;flex-shrink:0;height:36px;width:36px}.color-input-group .color-input{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #d0d7de;border-radius:8px;cursor:pointer;flex:0 0 44px;flex-shrink:0;height:36px;max-width:44px;min-width:44px;overflow:hidden;padding:2px;width:44px}.color-input-group .color-input::-webkit-color-swatch-wrapper{padding:0}.color-input-group .color-input::-webkit-color-swatch{border:none;border-radius:6px}.color-input-group .color-input::-moz-color-swatch{border:none;border-radius:6px}.color-text-input{border:1px solid #ddd;border-radius:6px;color:#333;flex:1 1;font-family:monospace;font-size:15px;letter-spacing:.5px;min-width:180px;padding:10px 14px}.color-text-input.color-input-valid{background:#28a7450a;border-color:#28a745}.color-text-input.color-input-invalid{background:#dc35450a;border-color:#dc3545}.color-validation-hint{display:block;font-size:12px;margin-top:4px}.color-validation-hint.valid{color:#28a745}.color-validation-hint.invalid{color:#dc3545}.color-chart{display:flex;flex-direction:column;gap:8px}.color-chart-label{align-items:center;color:#666;display:flex;font-size:13px;font-weight:600;gap:6px}.color-chart-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(10,1fr)}.color-chip{border:2px solid #0000;border-radius:6px;cursor:pointer;height:32px;padding:0;transition:all .2s;width:32px}.color-chip:hover{box-shadow:0 2px 8px #0003;transform:scale(1.1)}.color-chip.selected{border-color:#333;box-shadow:0 0 0 2px #fff,0 0 0 4px #007bff}.checkbox-label{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;margin:0;padding:10px 16px;transition:all .2s ease}.checkbox-label:hover{background:#f0f7ff;border-color:#007bff;box-shadow:0 2px 4px #007bff1a}.checkbox-label input[type=checkbox]{border-radius:4px;flex-shrink:0;height:20px;width:20px}.checkbox-label input[type=checkbox]:checked{background-color:#007bff;border-color:#007bff}.checkbox-label span{line-height:1.4;-webkit-user-select:none;user-select:none}.checkbox-group small{margin-left:34px}.block-hint,.checkbox-group small{color:#666;display:block;font-size:12px;margin-top:4px}.block-hint{margin-bottom:10px}.taking-action-row .checkbox-label{align-items:center;display:inline-flex;min-width:0;padding:10px 16px;width:100%}.alert{align-items:center;animation:slideIn .3s ease;border-radius:8px;display:flex;gap:10px;padding:14px 18px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn{transition:all .3s ease}.btn-primary{box-shadow:0 2px 8px #007bff33}.btn-primary:hover{background:#0056b3;box-shadow:0 4px 12px #007bff4d}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px)}.btn-icon-maintenance{color:#6c757d}.btn-icon-maintenance:hover{color:#fd7e14}.maintenance-modal-body{max-width:520px;min-width:360px}.maintenance-add-form h3,.maintenance-list-section h3{color:#555;font-size:14px;letter-spacing:.02em;margin:0 0 12px;text-transform:uppercase}.maintenance-list{border:1px solid #e8e8e8;border-radius:8px;list-style:none;margin:0 0 24px;overflow:hidden;padding:0}.maintenance-list-item{align-items:center;background:#fafafa;border-bottom:1px solid #eee;display:flex;gap:12px;padding:10px 12px}.maintenance-list-item:last-child{border-bottom:none}.maintenance-color-chip{border-radius:4px;flex-shrink:0;height:12px;width:12px}.maintenance-dates{color:#333;font-weight:500;white-space:nowrap}.maintenance-desc{color:#666;flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.maintenance-add-form .form-row{display:flex;gap:16px}.maintenance-add-form .form-row .form-group{flex:1 1}.maintenance-color-chart .color-chart-grid{margin-top:8px}.maintenance-add-form .modal-actions{margin-top:16px}@media (max-width:768px){.color-chart-grid{grid-template-columns:repeat(5,1fr)}.protocols-tabs{flex-direction:column}.protocol-tab-wrapper{width:100%}.masters-list-item{align-items:flex-start;flex-direction:column}.item-actions{justify-content:flex-end;width:100%}}.staff-category-masters-page{margin:0 auto;max-width:1400px;padding:24px}.staff-category-masters-page .page-header{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:32px}.staff-category-masters-page .header-content{flex:1 1}.staff-category-masters-page .page-subtitle{color:#666;font-size:16px;margin:0}.staff-category-masters-page .btn-add{align-items:center;border-radius:8px;box-shadow:0 2px 8px #0d948833;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.staff-category-masters-page .btn-add:hover{box-shadow:0 4px 12px #0d94884d;transform:translateY(-2px)}.staff-category-masters-page .search-container{margin-bottom:24px}.staff-category-masters-page .search-wrapper{align-items:center;display:flex;max-width:600px;position:relative}.staff-category-masters-page .search-icon{color:#999;font-size:16px;left:16px;pointer-events:none;position:absolute;z-index:1}.staff-category-masters-page .search-input{background:#fff;border:2px solid #e0e0e0;border-radius:10px;font-size:15px;padding:14px 16px 14px 48px;transition:all .3s ease;width:100%}.staff-category-masters-page .search-input:focus{border-color:#0d9488;box-shadow:0 0 0 4px #0d94881a;outline:none}.staff-category-masters-page .clear-search{background:#0000;border:none;color:#999;cursor:pointer;font-size:24px;line-height:1;padding:4px 8px;position:absolute;right:12px;transition:color .2s;z-index:1}.staff-category-masters-page .clear-search:hover{color:#333}.staff-category-masters-page .loading-container{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.staff-category-masters-page .loading-spinner{animation:staffCatSpin 1s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#0d9488;height:48px;margin-bottom:16px;width:48px}@keyframes staffCatSpin{to{transform:rotate(1turn)}}.staff-category-masters-page .empty-state{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:80px 20px;text-align:center}.staff-category-masters-page .empty-icon{font-size:64px;margin-bottom:24px}.staff-category-masters-page .empty-state h3{color:#333;font-size:24px;margin:0 0 12px}.staff-category-masters-page .empty-state p{color:#666;font-size:16px;margin:0 0 24px}.staff-category-masters-page .alert{animation:staffCatSlideIn .3s ease;border-radius:8px;font-size:14px;margin-bottom:20px;padding:14px 18px}@keyframes staffCatSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.staff-category-masters-page .alert-error{background:#fee;border:1px solid #fcc;color:#c33}.staff-category-masters-page .alert-success{background:#efe;border:1px solid #cfc;color:#3c3}.staff-category-masters-page .modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.staff-category-masters-page .modal-header h2{color:#333;font-size:24px;margin:0}.staff-category-masters-page .form-group{margin-bottom:20px}.staff-category-masters-page .form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.staff-category-masters-page .form-group input,.staff-category-masters-page .form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;transition:border-color .2s;width:100%}.staff-category-masters-page .form-group input:focus,.staff-category-masters-page .form-group textarea:focus{border-color:#0d9488;box-shadow:0 0 0 4px #0d94881a;outline:none}.staff-category-masters-page .form-group textarea{min-height:100px;resize:vertical}.staff-category-masters-page .modal-actions{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px}.staff-cat-header h1{align-items:center;color:#333;display:flex;font-size:32px;font-weight:700;gap:12px;margin:0 0 8px}.staff-cat-empty .empty-icon{color:#0d9488}.staff-cat-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.staff-cat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;transition:all .2s ease}.staff-cat-card:hover{border-color:#0d9488;box-shadow:0 2px 8px #0d94881f}.staff-cat-card-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:10px 12px}.staff-cat-icon{align-items:center;background:#0d94881f;border-radius:6px;color:#0d9488;display:inline-flex;font-size:14px;height:28px;justify-content:center;width:28px}.staff-cat-card-actions{display:flex;gap:4px}.staff-cat-card-actions .icon-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;transition:all .2s ease;width:28px}.staff-cat-card-actions .icon-btn:hover{background:#e5e7eb;color:#334155}.staff-cat-card-actions .btn-edit:hover{background:#dbeafe;color:#2563eb}.staff-cat-card-actions .btn-delete:hover{background:#fee2e2;color:#dc2626}.staff-cat-card-body{padding:12px 14px}.staff-cat-name{color:#1e293b;font-size:15px;font-weight:600;line-height:1.3;margin:0 0 4px}.staff-cat-description{color:#64748b;font-size:13px;line-height:1.4;margin:0;min-height:18px}.staff-cat-description .no-desc{color:#94a3b8;font-style:italic}.staff-cat-link{align-items:center;color:#0d9488;display:inline-flex;font-size:13px;font-weight:500;gap:4px;margin-top:10px;padding:4px 0;text-decoration:none;transition:color .2s}.staff-cat-link:hover{color:#0f766e;text-decoration:underline}.staff-modal-content{max-height:85vh;overflow-y:auto}.staff-modal-form .form-group{display:block!important;margin-bottom:18px;visibility:visible!important}.staff-modal-form .form-group label{display:block;margin-bottom:6px}.staff-page{margin:0 auto;max-width:1400px;padding:24px}.staff-header h1{align-items:center;color:#333;display:flex;font-size:32px;font-weight:700;gap:12px;margin:0 0 8px}.staff-header .page-subtitle{color:#666;font-size:16px;margin:0}.staff-header-actions{align-items:center;display:flex;gap:12px}.staff-page .btn-add{align-items:center;border-radius:8px;box-shadow:0 2px 8px #0d948833;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.staff-page .btn-add:hover{box-shadow:0 4px 12px #0d94884d;transform:translateY(-2px)}.staff-page .search-container{margin-bottom:24px}.staff-page .search-wrapper{align-items:center;display:flex;max-width:600px;position:relative}.staff-page .search-icon{color:#999;font-size:16px;left:16px;pointer-events:none;position:absolute;z-index:1}.staff-page .search-input{background:#fff;border:2px solid #e0e0e0;border-radius:10px;font-size:15px;padding:14px 16px 14px 48px;transition:all .3s ease;width:100%}.staff-page .search-input:focus{border-color:#0d9488;box-shadow:0 0 0 4px #0d94881a;outline:none}.staff-page .clear-search{background:#0000;border:none;color:#999;cursor:pointer;font-size:24px;line-height:1;padding:4px 8px;position:absolute;right:12px;transition:color .2s;z-index:1}.staff-page .clear-search:hover{color:#333}.staff-page .loading-container{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.staff-page .loading-spinner{animation:staffSpin 1s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#0d9488;height:48px;margin-bottom:16px;width:48px}@keyframes staffSpin{to{transform:rotate(1turn)}}.staff-page .empty-state{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:80px 20px;text-align:center}.staff-empty .empty-icon{color:#0d9488;font-size:64px;margin-bottom:24px}.staff-page .empty-state h3{color:#333;font-size:24px;margin:0 0 12px}.staff-page .empty-state p{color:#666;font-size:16px;margin:0 0 24px}.staff-page .empty-state .btn{margin:0 8px}.staff-page .empty-state .btn+.btn{margin-left:8px}.staff-btn-row{align-items:center!important;display:inline-flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:8px!important;text-decoration:none!important;white-space:nowrap!important}.staff-btn-row svg{align-self:center;display:block!important;flex-shrink:0!important;height:1em;position:relative;top:2px;width:1em}.staff-empty-actions{gap:12px}.staff-empty-actions,.staff-empty-actions .btn{align-items:center;display:inline-flex;justify-content:center}.staff-empty-actions .btn{gap:8px;line-height:1.2;text-decoration:none}.staff-empty-actions .btn svg{display:block;flex-shrink:0;position:relative;top:2px}.staff-page .alert{animation:staffSlideIn .3s ease;border-radius:8px;font-size:14px;margin-bottom:20px;padding:14px 18px}@keyframes staffSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.staff-page .alert-error{background:#fee;border:1px solid #fcc;color:#c33}.staff-page .alert-success{background:#efe;border:1px solid #cfc;color:#3c3}.staff-list{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.staff-card{align-items:flex-start;background:#fff;border:1px solid #eee;border-radius:14px;box-shadow:0 4px 16px #0000000f;display:flex;gap:20px;padding:24px;transition:all .3s ease}.staff-card:hover{border-color:#0d948840;box-shadow:0 8px 24px #0d94881f;transform:translateY(-2px)}.staff-card-avatar{align-items:center;background:linear-gradient(135deg,#0d9488,#0f766e);border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:24px;height:56px;justify-content:center;width:56px}.staff-card-body{flex:1 1;min-width:0}.staff-card .card,.staff-card [class*=card]{background:#fff;border:none!important;box-shadow:none!important}.staff-name{color:#1e293b;font-size:20px;font-weight:600;line-height:1.3;margin:0 0 12px}.staff-contact{align-items:center;color:#64748b;display:flex;font-size:14px;gap:8px;margin:0 0 6px}.staff-contact svg{color:#94a3b8;flex-shrink:0}.staff-categories-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.staff-chip{background:#0d94881f;border-radius:20px;color:#0f766e;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.staff-chip-empty{background:#f1f5f9;color:#94a3b8}.staff-card-actions{display:flex;flex-shrink:0;gap:8px}.staff-card-actions .icon-btn{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.staff-card-actions .icon-btn:hover{background:#e2e8f0;transform:scale(1.08)}.staff-card-actions .btn-edit:hover{background:#3b82f626;color:#2563eb}.staff-card-actions .btn-delete:hover{background:#ef444426;color:#dc2626}.staff-category-checkboxes{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:10px;padding:14px}.staff-category-checkboxes .staff-category-checkbox{grid-gap:0 10px;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;cursor:pointer;display:grid;font-weight:inherit;gap:0 10px;grid-template-columns:28px 1fr;margin:0;min-height:44px;padding:10px 14px;transition:all .2s ease}.staff-category-checkbox:hover{background:#0d94880a;border-color:#0d9488}.staff-category-checkbox-input{accent-color:#0d9488;appearance:auto;-webkit-appearance:checkbox;cursor:pointer;grid-column:1;height:20px;margin:0;width:20px}.staff-category-checkbox-text{grid-column:2;min-width:0}.staff-category-checkbox-text .staff-category-label{color:#334155;font-size:15px;font-weight:500;line-height:1.4}.staff-category-desc{color:#94a3b8;font-size:13px;line-height:1.4}.form-hint{color:#64748b;font-size:13px;margin-bottom:12px}@media (max-width:768px){.staff-header-actions{align-items:stretch;flex-direction:column}.staff-list{grid-template-columns:1fr}.staff-card{flex-direction:column}.staff-card-actions{align-self:flex-end}}.patient-schedule-page .schedule-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.patient-schedule-page .schedule-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.export-schedule-row{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:8px;padding:6px 10px}.export-date-label{color:#495057;font-size:13px;white-space:nowrap}.export-date-input{border:1px solid #dee2e6;border-radius:6px;font-family:inherit;font-size:14px;padding:6px 10px}.btn-export-pdf,.btn-treatment-summary{align-items:center;display:inline-flex;gap:6px}.calendar-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.week-label{color:#333;font-weight:600;margin-left:8px}.date-picker-wrapper{align-items:center;display:flex;gap:8px;margin-left:12px}.date-picker-label{color:#666;font-size:14px;white-space:nowrap}.date-picker-input{border:1px solid #ddd;border-radius:6px;cursor:pointer;font-family:inherit;font-size:14px;padding:6px 10px;transition:border-color .2s}.date-picker-input:hover{border-color:#007bff}.date-picker-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.react-datepicker-popper{z-index:1060}.calendar-wrapper{background:#fff;border-radius:8px;max-height:calc(100vh - 280px);overflow-x:auto;overflow-y:auto;padding:0;position:relative}.calendar-wrapper,.calendar-wrapper.card{border:none;box-shadow:0 1px 3px #00000014}.calendar-grid{background:#fff;display:flex;flex-direction:column;min-width:900px}.calendar-row{border-bottom:none;display:grid;grid-template-columns:80px repeat(7,1fr);min-height:52px;position:relative}.calendar-row.time-row{border-bottom:none;min-height:12px}.time-based-calendar .calendar-row.time-row{min-height:12px}.calendar-row.time-row:nth-child(4n+2),.calendar-row.time-row:nth-child(4n+2) .calendar-cell.time-cell{border-bottom:1px solid #e8eaed}.calendar-row.header-row{background:#fff;border-bottom:1px solid #dadce0;box-shadow:0 2px 8px #00000014;color:#5f6368;flex-shrink:0;font-weight:500;isolation:isolate;position:-webkit-sticky;position:sticky;top:0;z-index:20}.calendar-row.header-row .calendar-cell{background:#fff!important}.calendar-cell{overflow:visible;padding:0;position:relative}.calendar-cell,.calendar-cell:last-child{border-right:none}.calendar-cell.time-label{align-items:flex-start;background:#fff;border-right:1px solid #dadce0;color:#70757a;display:flex;font-size:12px;justify-content:flex-end;line-height:1;min-width:80px;padding:0 12px 0 0;position:relative}.calendar-row.time-row:nth-child(4n+2) .calendar-cell.time-label{padding-top:0}.calendar-cell.day-header{border-right:1px solid #dadce0;display:flex;flex-direction:column;gap:4px;letter-spacing:.5px;padding:8px 4px;text-align:center;text-transform:uppercase;transition:background-color .2s}.calendar-cell.day-header,.calendar-cell.day-header .day-name{color:#5f6368;font-size:11px;font-weight:500}.calendar-cell.day-header .day-date{color:#202124;font-size:22px;font-weight:400;line-height:1}.calendar-cell.day-header.today{background-color:initial;color:#1a73e8}.calendar-cell.day-header.today .day-name{color:#1a73e8;font-weight:600}.calendar-cell.day-header.today .day-date{color:#1a73e8;font-weight:500}.calendar-cell.cell-content{align-items:stretch;background:#fff;border-right:1px solid #dadce0;display:flex;flex-direction:column;gap:0}.calendar-cell.time-cell{border-right:1px solid #dadce0;min-height:12px;padding:0;position:relative;transition:background-color .15s}.calendar-cell.time-cell:hover{background-color:#f8f9fa}.calendar-cell.time-cell:active{background-color:#e8f0fe}.schedule-item-chip{align-items:center;background:#e8f4fd;border:1px solid #b8daff;border-radius:6px;display:flex;font-size:12px;gap:6px;justify-content:center;min-width:auto;padding:6px;width:-webkit-fit-content;width:fit-content}.schedule-item-chip .chip-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.edit-chip-btn{align-items:center;background:#f0f0f0;border:none;border-radius:4px;color:#555;cursor:pointer;display:flex;height:26px;justify-content:center;padding:0;transition:background .2s,color .2s;width:26px}.edit-chip-btn:hover{background:#007bff;color:#fff}.schedule-item-chip .chip-types{color:#666;font-size:10px;margin-right:4px;text-transform:capitalize}.checkbox-group{display:flex;flex-wrap:wrap;gap:12px 20px}.checkbox-group.meal-timings-grid{grid-gap:8px 16px;display:grid;gap:8px 16px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.checkbox-label{display:inline-flex;gap:6px}.checkbox-label input{margin:0}.tick-btn{align-items:center;background:#fff;border:2px solid #007bff;border-radius:50%;color:#007bff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:26px;justify-content:center;transition:all .2s;width:26px}.tick-btn:hover:not(:disabled){background:#007bff;color:#fff}.tick-btn.completed{background:#28a745;border-color:#28a745;color:#fff}.tick-btn:disabled{cursor:not-allowed;opacity:.6}.events-container{height:100%;min-height:12px;position:relative;width:100%}.schedule-record-block{align-items:center;border:2px solid #fff6;border-radius:6px;bottom:auto;box-shadow:0 1px 4px #00000026;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:12px;font-weight:400;justify-content:center;line-height:1.4;overflow:hidden;padding:6px 8px;position:absolute;text-align:center;top:2px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.schedule-record-block--past-incomplete{animation:past-incomplete-pulse 2s ease-in-out infinite;border:2px solid #dc3545;box-shadow:0 0 0 2px #dc35454d}@keyframes past-incomplete-pulse{0%,to{box-shadow:0 0 0 2px #dc35454d}50%{box-shadow:0 0 0 4px #dc354580}}.schedule-record-block:hover{border-color:#ffffffe6;box-shadow:0 4px 12px #00000040;transform:translateY(-2px) scale(1.02);z-index:20!important}.schedule-record-block:active{box-shadow:0 1px 4px #0003;transform:translateY(0) scale(.98)}.record-block-copy-btn{align-items:center;background:#ffffffe6;border:none;border-radius:4px;color:#333;cursor:pointer;display:flex;font-size:11px;height:22px;justify-content:center;opacity:.85;padding:0;position:absolute;right:2px;top:2px;transition:opacity .2s,background .2s;width:22px;z-index:10}.record-block-copy-btn:hover{background:#fff;opacity:1}.record-block-copy-btn:focus{outline:2px solid #fffc;outline-offset:1px}.record-block-maintenance-icon{align-items:center;background:#ffffffeb;border-radius:4px;color:#5c4033;display:flex;font-size:10px;height:20px;justify-content:center;left:2px;opacity:.95;position:absolute;top:2px;width:20px;z-index:10}.record-block-maintenance-icon svg{height:10px;width:10px}.expanded-maintenance-icon{font-size:9px;height:18px;left:4px;top:4px;width:18px}.expanded-maintenance-icon svg{height:9px;width:9px}.missed-reason-icon-wrap{align-items:center;background:#ffffffe6;border-radius:4px;bottom:2px;color:#dc3545;cursor:pointer;display:flex;font-size:11px;height:20px;justify-content:center;left:2px;opacity:.9;position:absolute;transition:opacity .2s,background .2s;width:20px;z-index:10}.missed-reason-icon-wrap:hover{background:#fff;opacity:1}.missed-reason-icon{font-size:12px}.missed-reason-count{align-items:center;background:#dc3545;border-radius:7px;color:#fff;display:flex;font-size:10px;font-weight:600;height:14px;justify-content:center;min-width:14px;padding:0 3px;position:absolute;right:-4px;top:-4px}.expanded-missed-reason{bottom:auto;left:auto;position:absolute;right:6px;top:6px}.missed-reason-tooltip .schedule-tooltip-title{margin-bottom:6px}.missed-reason-list{font-size:12px;line-height:1.5;margin:0;padding-left:18px}.missed-reason-list li{margin-bottom:4px}.missed-reason-by{color:#6c757d;font-size:11px}.missed-reason-empty{color:#6c757d;font-size:12px;margin:0}.add-reason-modal h3{font-size:18px;margin:0 0 8px}.add-reason-date{color:#6c757d;font-size:14px;margin:0 0 12px}.add-reason-textarea{border:1px solid #ced4da;border-radius:6px;font-size:14px;margin-bottom:12px;padding:10px;resize:vertical;width:100%}.add-reason-textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.add-reason-actions{display:flex;gap:10px;justify-content:flex-end}.paste-mode-banner{align-items:center;background:#e7f3ff;border:1px solid #007bff;color:#004085;display:flex;gap:12px;justify-content:space-between}.paste-mode-cancel{background:none;border:none;color:#004085;cursor:pointer;font-size:20px;line-height:1;opacity:.8;padding:0 6px}.paste-mode-cancel:hover{opacity:1}.calendar-cell.time-cell{overflow:visible}.record-header-mini{align-items:center;display:flex;flex-direction:column;gap:4px;height:100%;justify-content:center;overflow:visible;width:100%}.record-time-mini{font-size:11px;font-weight:500;letter-spacing:.2px;line-height:1.2;opacity:.9;white-space:nowrap}.record-item-mini{align-items:center;display:flex;font-size:12px;gap:6px;justify-content:center;line-height:1.4;width:100%}.item-name-mini{font-weight:400;opacity:.95;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.taken-icon-mini{align-self:center;color:#fffffff2;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));flex-shrink:0;font-size:14px;margin-left:4px}.tick-btn-mini{align-items:center;background:#0000;border:1.5px solid #fffc;border-radius:50%;color:#ffffffe6;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:18px;justify-content:center;transition:all .2s;width:18px}.tick-btn-mini:hover:not(:disabled){background:#fff3;border-color:#fff}.tick-btn-mini.taken{background:#ffffffe6;border-color:#fff;color:#28a745}.tick-btn-mini:disabled{cursor:not-allowed;opacity:.5}.calendar-row.time-row .calendar-cell.time-cell{border-top:none}.calendar-row.time-row:first-of-type .calendar-cell.time-cell{border-top:1px solid #e8eaed}@media (max-width:768px){.calendar-row{grid-template-columns:70px repeat(7,minmax(80px,1fr))}.calendar-cell.time-label{font-size:11px;min-width:70px}.calendar-cell.day-header .day-date{font-size:18px}.schedule-item-chip{padding:4px}.edit-chip-btn,.tick-btn{font-size:11px;height:22px;width:22px}.schedule-record-block{font-size:10px;padding:2px 4px}.record-time-mini{font-size:9px}.record-item-mini{font-size:10px}.tick-btn-mini{font-size:10px;height:16px;width:16px}}.event-detail-modal{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;max-width:480px;min-width:360px;overflow:hidden;padding:0}.event-detail-header{align-items:flex-start;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px 20px 12px}.event-detail-title-row{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.event-detail-color-dot{border:1px solid #0000001a;border-radius:50%;flex-shrink:0;height:12px;width:12px}.event-detail-title{color:#202124;font-size:18px;font-weight:600;line-height:1.3;margin:0;word-break:break-word}.event-detail-actions{align-items:center;display:flex;flex-shrink:0;gap:4px}.btn-icon-modal{align-items:center;background:#0000;border:none;border-radius:50%;color:#5f6368;cursor:pointer;display:flex;font-size:16px;height:38px;justify-content:center;text-decoration:none;transition:background .2s,color .2s,transform .15s;width:38px}.btn-icon-modal:hover{background:#f1f3f4;color:#202124;transform:scale(1.08)}.btn-icon-modal:active{transform:scale(.95)}.btn-icon-modal.btn-icon-danger:hover{background:#fce8e6;color:#d93025}.event-detail-date{align-items:center;color:#5f6368;display:flex;flex-wrap:wrap;font-size:14px;gap:10px;line-height:1.5;padding:12px 20px}.flexible-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap}.flexible-badge--yes{background:#e8f5e9;color:#2e7d32}.flexible-badge--no{background:#f5f5f5;color:#757575}.event-detail-section{border-top:1px solid #f1f3f4;padding:12px 20px 16px}.event-detail-label{color:#5f6368;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.event-detail-value{color:#202124;font-size:14px;line-height:1.5}.event-detail-items-list{list-style:none;margin:0;padding:0}.event-detail-items-root .event-detail-label{margin-bottom:12px}.event-detail-protocol-boxes{display:flex;flex-direction:column;gap:16px}.event-detail-protocol-box{background:#007bff0a;border-left:4px solid #007bff;border-radius:8px;padding:12px 14px}.event-detail-protocol-box-title{border-bottom:1px solid #0000000f;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;padding-bottom:6px;text-transform:uppercase}.event-detail-protocol-box .event-detail-items-list{list-style:none;margin:0;padding:0}.event-detail-protocol-box .event-detail-item{border-bottom:1px solid #0000000f;padding:10px 0}.event-detail-protocol-box .event-detail-item:last-child{border-bottom:none}.event-detail-item{border-bottom:1px solid #f1f3f4;color:#202124;font-size:14px;padding:12px 0}.event-detail-item:last-child{border-bottom:none}.event-detail-item-content{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.event-detail-item-info{flex:1 1}.event-detail-maintenance-badge{border-radius:6px;color:#333;display:inline-block;font-size:11px;font-weight:600;margin-right:8px;padding:2px 8px;vertical-align:middle}.event-detail-maintenance-badge--header{align-items:center;border:1px solid #00000014;border-radius:12px;color:#1a1a1a;display:inline-flex;font-size:12px;font-weight:600;gap:6px;margin-right:0;padding:4px 10px;white-space:nowrap}.event-detail-maintenance-icon{font-size:12px;opacity:.9}.event-detail-maintenance-desc{font-weight:500;opacity:.95}.event-detail-maintenance-hint{color:#666;font-size:12px;font-style:italic;margin-left:8px}.event-detail-fields{color:#5f6368;font-size:13px;list-style:disc;margin:6px 0 0 18px;padding:0}.event-detail-fields .field-key{color:#202124;font-weight:600}.event-detail-taken-circle{align-items:center;background:#0000;border:2px solid #1a73e8;border-radius:50%;color:#1a73e8;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:32px;justify-content:center;padding:0;transition:all .2s ease,transform .15s ease;width:32px}.event-detail-taken-circle:hover:not(:disabled){background:#e8f0fe;border-color:#1557b0;transform:scale(1.1)}.event-detail-taken-circle.taken{background:#1a73e8;border-color:#1a73e8;color:#fff}.event-detail-taken-circle.taken:hover:not(:disabled){background:#1557b0;border-color:#1557b0;transform:scale(1.1)}.event-detail-taken-circle:active:not(:disabled){transform:scale(.95)}.event-detail-taken-circle:disabled{cursor:not-allowed;opacity:.5}.schedule-hover-tooltip{background:#202124;border-radius:8px;box-shadow:0 4px 20px #00000040;color:#fff;font-size:13px;line-height:1.45;max-width:320px;padding:12px 14px;pointer-events:none;position:fixed;z-index:9999}.schedule-tooltip-title{font-size:14px;font-weight:600;margin-bottom:4px}.schedule-tooltip-description,.schedule-tooltip-time{font-size:12px;margin-bottom:8px;opacity:.9}.schedule-tooltip-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;line-height:1.4;overflow:hidden;word-break:break-word}.schedule-tooltip-items{list-style:disc;margin:0;padding-left:16px}.schedule-tooltip-items li{margin-bottom:2px}.schedule-tooltip-fields{font-weight:400;opacity:.85}.schedule-tooltip-taken{color:#81c995;font-weight:500}.today-protocol-section{border:1px solid #e9ecef;border-radius:8px;margin-bottom:16px;overflow:hidden;padding:0}.today-protocol-toggle{align-items:center;background:#f8f9fa;border:none;color:#212529;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;padding:12px 16px;text-align:left;transition:background .2s;width:100%}.today-protocol-toggle:hover{background:#e9ecef}.today-protocol-list{background:#fff;border-top:1px solid #e9ecef;padding:12px 16px 16px}.today-protocol-empty{color:#6c757d;font-size:14px;margin:0}.today-protocol-item{border-bottom:1px solid #f1f3f4;padding:12px 0}.today-protocol-item:last-child{border-bottom:none}.today-protocol-time{color:#495057;font-size:12px;font-weight:600;margin-bottom:4px}.today-protocol-name{color:#202124;font-size:15px;font-weight:600;margin-bottom:6px}.today-protocol-items{color:#5f6368;font-size:14px;list-style:disc;margin:0;padding-left:20px}.today-protocol-items li{margin-bottom:2px}.today-item-fields{color:#6c757d;font-weight:400}.today-item-taken{color:#198754;font-weight:500}.expanded-day-view{background:#fff;border:1px solid #e9ecef;border-radius:8px;margin-bottom:16px;overflow:hidden;padding:0}.expanded-day-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px 20px}.expanded-day-title{align-items:baseline;display:flex;gap:8px}.expanded-day-name{color:#495057;font-size:14px;font-weight:600;letter-spacing:.5px}.expanded-day-number{color:#212529;font-size:24px;font-weight:600}.expanded-day-timezone{color:#6c757d;font-size:12px;margin-left:auto}.expanded-day-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;justify-content:center;padding:4px 8px;transition:background .2s,color .2s}.expanded-day-close:hover{background:#e9ecef;color:#212529}.expanded-day-content{display:flex;max-height:800px;min-height:600px;overflow-y:auto;position:relative}.expanded-day-timeline{background:#f8f9fa;border-right:1px solid #e9ecef;flex-shrink:0;position:relative;width:80px}.expanded-time-marker{height:48px;position:relative}.expanded-time-marker,.expanded-time-marker:not(:last-child){border-bottom:1px solid #e9ecef}.expanded-time-label{color:#6c757d;font-size:11px;font-weight:500;left:8px;position:absolute;top:-6px}.expanded-time-line{background:#e9ecef;height:1px;position:absolute;right:0;top:0;width:100%}.expanded-day-events{background:#fff;flex:1 1;min-height:1152px;padding:0 16px;position:relative}.expanded-day-event{border-left:3px solid #ffffff80;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;left:16px;padding:10px 12px;position:absolute;right:16px;transition:box-shadow .2s,transform .2s}.expanded-day-event:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.expanded-day-event:active{transform:translateY(0)}.expanded-event-content{align-items:center;display:flex;gap:8px;height:100%;justify-content:space-between;padding:0 12px;width:100%}.expanded-event-name{font-size:13px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-cell.day-header.expanded{background:#e7f3ff;border-color:#007bff}.calendar-cell.day-header.expanded .day-date,.calendar-cell.day-header.expanded .day-name{color:#007bff;font-weight:600}.notes-modal{display:flex;flex-direction:column;min-height:400px}.notes-modal-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.notes-modal-title{color:#202124;font-size:20px;font-weight:600;margin:0 0 4px}.notes-modal-subtitle{color:#5f6368;font-size:14px;margin:0}.notes-modal-header-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.notes-modal-header-actions .btn-download-notes-pdf{align-items:center;display:inline-flex;font-size:13px;gap:6px}.notes-modal-close-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#5f6368;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;padding:0;transition:background .2s,color .2s;width:36px}.notes-modal-close-btn:hover{background:#f1f3f4;color:#202124}.notes-loading{color:#5f6368;padding:24px;text-align:center}.notes-list-section{margin-bottom:24px}.notes-section-heading{color:#5f6368;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.notes-empty{background:#f8f9fa;border-radius:8px;color:#6c757d;font-size:14px;margin:0;padding:16px}.notes-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.note-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:14px 16px}.note-card-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.note-card-title{color:#202124;flex:1 1;font-size:15px;font-weight:600;min-width:0}.note-card-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.note-action-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#5f6368;cursor:pointer;display:flex;font-size:13px;height:28px;justify-content:center;padding:0;transition:background .2s,color .2s;width:28px}.note-action-btn:hover{background:#e8f0fe;color:#1967d2}.note-action-btn--danger:hover{background:#fce8e6;color:#d93025}.note-card-description{color:#5f6368;font-size:14px;line-height:1.5;margin-bottom:8px;white-space:pre-wrap}.note-card-attachments{font-size:13px}.note-attachments-label{color:#5f6368;font-weight:600;margin-right:6px}.note-card-attachments ul{margin:6px 0 0;padding:0 0 0 18px}.note-attachment-link{color:#007bff;text-decoration:none}.note-attachment-link:hover{text-decoration:underline}.note-edit-form{padding:0}.note-edit-form .form-group{margin-bottom:12px}.note-edit-form .form-group:last-of-type{margin-bottom:16px}.note-files-hint{color:#5f6368;display:block;font-size:12px;margin-top:4px}.note-edit-actions{display:flex;gap:10px;justify-content:flex-end}.notes-add-section{border-top:1px solid #e9ecef;padding-top:20px}.notes-modal .form-group{margin-bottom:16px}.notes-modal .form-group label{color:#5f6368;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.treatment-summary-modal{padding:4px}.treatment-summary-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:10px}.treatment-summary-title{align-items:center;color:#202124;display:flex;font-size:1.25rem;font-weight:600;gap:8px;margin:0}.treatment-summary-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#5f6368;cursor:pointer;display:flex;height:36px;justify-content:center;transition:background .2s,color .2s;width:36px}.treatment-summary-close:hover{background:#f1f3f4;color:#202124}.treatment-summary-desc{color:#5f6368;font-size:14px;line-height:1.5;margin:0 0 12px}.treatment-summary-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.treatment-summary-stat-pill{align-items:center;background:#f7f9ff;border:1px solid #dbe4ff;border-radius:999px;color:#3a4a86;display:inline-flex;font-size:12px;font-weight:600;padding:6px 10px}.treatment-summary-stat-pill--accent{background:#eefcf2;border-color:#c9f0d1;color:#176b2a}.treatment-summary-form .form-group{margin-bottom:16px}.treatment-summary-form .form-group label{color:#202124;display:block;font-size:13px;font-weight:600;margin-bottom:8px}.treatment-summary-date-row{align-items:center;display:flex;gap:12px}.treatment-summary-date-row input{flex:1 1;max-width:180px}.treatment-summary-date-sep{color:#5f6368;font-size:13px}.treatment-summary-include-options{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr}.treatment-summary-radio-card{align-items:center;background:#fff;border:1px solid #e2e6ef;border-radius:10px;color:#202124;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:10px 12px;transition:border-color .2s,background .2s,box-shadow .2s}.treatment-summary-radio-card:hover{background:#fafbff;border-color:#b8c5ff}.treatment-summary-radio-card.active{background:#f3f6ff;border-color:#8198ff;box-shadow:0 0 0 2px #8198ff29}.treatment-summary-radio-title{font-weight:600}.treatment-summary-schedule-list{background:#f8f9fc;border:1px solid #e9ecef;border-radius:10px;margin-top:12px;padding:16px}.treatment-summary-schedule-list-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.treatment-summary-schedule-list-label{color:#202124;display:block;font-size:13px;font-weight:600;margin-bottom:0}.treatment-summary-list-actions{display:flex;gap:8px}.btn-summary-mini{font-size:12px;line-height:1.2;padding:4px 10px}.treatment-summary-checkbox-list{display:flex;flex-direction:column;gap:9px;max-height:260px;overflow-y:auto;padding-right:4px}.treatment-summary-checkbox-item{align-items:flex-start;background:#fff;border:1px solid #e5e9f2;border-radius:8px;color:#223;cursor:pointer;display:flex;font-size:13px;gap:10px;padding:8px 10px;transition:border-color .2s,background .2s}.treatment-summary-checkbox-item:hover{background:#f9fbff;border-color:#b9c7ff}.treatment-summary-checkbox-item input{flex-shrink:0;margin-top:2px}.treatment-summary-empty{color:#6c757d;font-size:13px;margin:0}.treatment-summary-notes-textarea{min-height:80px;resize:vertical}.treatment-summary-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.notes-modal .form-control{border:1px solid #dadce0;border-radius:8px;font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.notes-modal .form-control:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff33;outline:none}.note-files-list{color:#5f6368;font-size:13px;margin:8px 0 0;padding:0 0 0 20px}.notes-add-actions{margin-top:16px}.note-files-btn{align-items:center;background:#e8f0fe;border:1px solid #d2e3fc;border-radius:6px;color:#1967d2;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;margin-top:10px;padding:6px 12px;transition:background .2s,color .2s}.note-files-btn:hover{background:#d2e3fc;color:#1557b0}.note-files-btn-icon{font-size:14px}.note-card-attachments-inline{border-top:1px solid #e9ecef;margin-top:12px;padding-top:12px}.note-attachments-inline-heading{color:#5f6368;font-size:13px;font-weight:600;margin:0 0 10px}.note-attachments-inline-list{display:flex;flex-direction:column;gap:16px}.note-attachment-inline-item{min-height:60px}.note-attachment-fallback{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.note-attachment-fallback-name{color:#202124;font-size:13px}.note-attachment-fallback-actions{display:flex;gap:6px}.lazy-attachment-wrapper{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;min-height:80px;overflow:hidden}.lazy-attachment-placeholder{align-items:center;color:#6c757d;display:flex;font-size:13px;justify-content:center;min-height:120px}.lazy-attachment-error{color:#dc3545}.lazy-attachment-image-container{max-width:100%;width:100%}.lazy-attachment-image{display:block;height:auto;max-height:400px;max-width:100%;object-fit:contain}.lazy-attachment-pdf-container{display:flex;flex-direction:column;gap:8px}.lazy-attachment-pdf{border:none;height:400px;width:100%}.lazy-attachment-pdf-link{color:#1967d2;font-size:12px;text-decoration:none}.lazy-attachment-pdf-link:hover{text-decoration:underline}.note-files-modal{max-width:600px;width:100%}.note-files-modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.note-files-modal-header h2{color:#202124;font-size:20px;font-weight:600;margin:0}.note-files-modal-header-actions{align-items:center;display:flex;gap:12px}.note-files-sort-select{background:#fff;border:1px solid #dadce0;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px}.note-files-close-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#5f6368;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;padding:0;transition:background .2s,color .2s;width:36px}.note-files-close-btn:hover{background:#f1f3f4;color:#202124}.note-files-modal-content{max-height:400px;overflow-y:auto;padding:0}.note-files-toolbar{margin-bottom:16px}.note-files-list{display:flex;flex-direction:column;gap:12px}.note-file-item{align-items:flex-start;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.note-file-item:hover{background:#e9ecef;border-color:#dee2e6}.note-file-info{flex:1 1;min-width:0}.note-file-name{color:#212529;font-size:15px;font-weight:600;margin-bottom:6px;word-break:break-word}.note-file-date{color:#6c757d;font-size:13px}.note-file-actions{display:flex;flex-shrink:0;gap:6px}.note-file-actions .btn-icon-download,.note-file-actions .btn-icon-remove,.note-file-actions .btn-icon-replace,.note-file-actions .btn-icon-view{align-items:center;background:#0000;border:none;border-radius:6px;color:#5f6368;cursor:pointer;display:flex;font-size:14px;height:34px;justify-content:center;padding:0;transition:background .2s,color .2s;width:34px}.note-file-actions .btn-icon-view:hover{background:#e7f3ff;color:#007bff}.note-file-actions .btn-icon-download:hover{background:#e8f5e9;color:#28a745}.note-file-actions .btn-icon-replace:hover{background:#f8f9fa;color:#495057}.note-file-actions .btn-icon-remove:hover{background:#fce8e6;color:#d93025}.note-files-empty{color:#6c757d;padding:32px 20px;text-align:center}.note-files-empty p{font-size:14px;margin:0}.modal-content--notes-70{height:70vh!important;max-height:90vh;max-width:98vw;width:95vw!important}.patient-notes-page{margin:0 auto;max-width:900px;padding:24px 20px}.patient-notes-page-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:24px;padding:20px 24px}.patient-notes-page-header-inner{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.btn-back-to-schedule{background:#fff3;border-color:#fff6;color:#fff}.btn-back-to-schedule:hover{background:#ffffff4d;border-color:#ffffff80;color:#fff}.patient-notes-page-title{align-items:center;display:flex;font-size:1.5rem;font-weight:600;gap:10px;margin:0}.patient-notes-page-content{background:#fff;border:1px solid #e9ecef;border-radius:12px;min-height:320px;overflow:hidden}.patient-notes-page-content .patient-notes-add-section,.patient-notes-page-content .patient-notes-list-section{padding:24px}.patient-notes-add-form-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:20px}.patient-notes-add-form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.patient-notes-close-inline{background:#dee2e6;color:#495057}.patient-notes-close-inline:hover{background:#ced4da;color:#212529}.patient-notes-modal{display:flex;flex-direction:column;height:100%;min-height:0}.patient-notes-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e9ecef;border-radius:10px 10px 0 0;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.patient-notes-modal-title{align-items:center;display:flex;font-size:1.35rem;font-weight:600;gap:10px;margin:0}.patient-notes-modal-close{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;transition:background .2s;width:36px}.patient-notes-modal-close:hover{background:#ffffff59}.patient-notes-add-section,.patient-notes-list-section{overflow-y:auto;padding:20px}.patient-notes-section-heading{color:#333;font-size:1rem;font-weight:600;margin:0 0 12px}.patient-notes-empty,.patient-notes-loading{color:#6c757d;margin:0;padding:16px 0}.patient-notes-list{list-style:none;margin:0 0 24px;padding:0}.patient-notes-list-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px;padding:14px 16px;transition:background .2s,box-shadow .2s}.patient-notes-list-item:hover{background:#fff;box-shadow:0 2px 8px #0000000f}.patient-notes-list-main{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.patient-notes-list-date{color:#6c757d;font-size:12px;font-weight:500}.patient-notes-list-subject{color:#333;font-size:15px;font-weight:600;word-break:break-word}.btn-view-note{align-items:center;background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:background .2s,transform .15s}.btn-view-note:hover{background:#5568d3;transform:translateY(-1px)}.patient-notes-add-form .form-group{margin-bottom:16px}.patient-notes-add-form .form-group label{color:#495057;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.patient-notes-add-actions{margin-top:16px}.patient-note-files-preview{color:#6c757d;font-size:13px;margin:8px 0 0;padding-left:18px}.patient-notes-view{padding:20px}.btn-back-to-list{background:#0000;border:1px solid #dee2e6;border-radius:8px;color:#495057;cursor:pointer;font-size:14px;margin-bottom:16px;padding:8px 14px;transition:background .2s,border-color .2s}.btn-back-to-list:hover{background:#f8f9fa;border-color:#adb5bd}.patient-notes-view-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:20px}.patient-notes-view-subject{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 8px}.patient-notes-view-date{color:#6c757d;font-size:13px;margin:0 0 16px}.patient-notes-view-message{color:#333;font-size:15px;line-height:1.6;margin:0 0 20px;white-space:pre-wrap;word-break:break-word}.patient-notes-view-files h4{color:#495057;font-size:14px;font-weight:600;margin:0 0 10px}.patient-notes-file-list{list-style:none;margin:0;padding:0}.patient-notes-file-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px;padding:10px 12px}.patient-notes-file-name{color:#333;font-size:14px;word-break:break-all}.patient-notes-file-actions{align-items:center;display:flex;gap:6px}.patient-notes-file-actions .btn-icon-download,.patient-notes-file-actions .btn-icon-view{align-items:center;background:#0000;border:none;border-radius:6px;color:#5f6368;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;padding:0;transition:background .2s,color .2s;width:32px}.patient-notes-file-actions .btn-icon-view:hover{background:#e7f3ff;color:#007bff}.patient-notes-file-actions .btn-icon-download:hover{background:#e8f5e9;color:#28a745}.btn-notes-header{gap:6px}.btn-add-note-open,.btn-notes-header{align-items:center;display:inline-flex}.btn-add-note-open{font-size:15px;font-weight:600;gap:8px;padding:10px 20px}.add-note-modal{min-width:400px}.add-note-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e9ecef;border-radius:10px 10px 0 0;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.add-note-modal-title{align-items:center;display:flex;font-size:1.25rem;font-weight:600;gap:10px;margin:0}.add-note-modal-close{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;transition:background .2s;width:36px}.add-note-modal-close:hover{background:#ffffff59}.add-note-modal .patient-notes-add-form{padding:20px}.add-note-modal .patient-notes-add-actions{display:flex;gap:10px;justify-content:flex-end}.patient-notes-page{margin:0;max-width:100%;padding:20px;width:100%}.patient-notes-page .page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:24px}.patient-notes-page .back-link{color:#007bff;display:inline-block;font-weight:500;margin-bottom:8px;text-decoration:none}.patient-notes-page .back-link:hover{text-decoration:underline}.patient-notes-page .page-title{color:#333;font-size:1.5rem;font-weight:600;margin:0}.add-note-inline{background:#fff;border:2px solid #e9ecef;border-radius:10px;margin-bottom:24px;padding:20px;transition:border-color .3s,box-shadow .3s}.add-note-inline:focus-within{border-color:#007bff;box-shadow:0 0 0 3px #007bff1f}.add-note-inline--success{animation:add-note-success-pulse .5s ease;border-color:#28a745;box-shadow:0 0 0 3px #28a74526}@keyframes add-note-success-pulse{0%{box-shadow:0 0 0 6px #28a74540}to{box-shadow:0 0 0 3px #28a74526}}.add-note-inline .notes-section-heading{margin-bottom:0}.add-note-inline-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.add-note-close-btn{align-items:center;background:#f8f9fa;border:none;border-radius:8px;color:#6c757d;cursor:pointer;display:flex;height:36px;justify-content:center;transition:background .2s,color .2s;width:36px}.add-note-close-btn:hover{background:#e9ecef;color:#495057}.add-note-form-row{display:block;margin-bottom:0}.add-note-form .form-group:last-of-type{margin-bottom:0}.add-note-form-footer{align-items:center;border-top:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:16px;padding-top:16px}.add-note-attachments-section{margin-bottom:16px}.add-note-attachments-section .add-note-file-label{margin-bottom:10px}.add-note-files-list{list-style:none;margin:10px 0 0;padding:0}.add-note-file-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;font-size:13px;gap:10px;justify-content:space-between;margin-bottom:6px;padding:8px 12px}.add-note-file-item:last-child{margin-bottom:0}.add-note-file-name{color:#333;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-note-file-remove{align-items:center;background:#0000;border:none;border-radius:6px;color:#dc3545;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:background .2s,color .2s;width:28px}.add-note-file-remove:hover{background:#f8d7da;color:#721c24}.add-note-form-files{margin:0}.add-note-file-label{align-items:center;cursor:pointer;display:inline-flex}.add-note-file-input{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px}.add-note-file-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;color:#495057;font-size:13px;font-weight:500;padding:8px 14px;transition:background .2s,border-color .2s}.add-note-file-btn:hover{background:#e9ecef;border-color:#adb5bd}.add-note-files-count{color:#6c757d;font-size:13px;margin-left:10px}.add-note-inline .add-note-form-actions{display:flex;gap:10px;margin-top:0}.patient-notes-page .notes-search-bar{margin-bottom:20px}.patient-notes-page .notes-search-input{border:1px solid #dee2e6;border-radius:8px;font-size:14px;max-width:400px;padding:10px 14px 10px 40px;transition:border-color .2s,box-shadow .2s;width:100%}.patient-notes-page .notes-search-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff26;outline:none}.patient-notes-page .notes-search-input::placeholder{color:#adb5bd}.patient-notes-page .notes-search-wrapper{display:inline-block;position:relative}.patient-notes-page .notes-search-icon{color:#6c757d;font-size:14px;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.patient-notes-page .notes-list-section{margin-bottom:24px}.patient-notes-page .notes-section-heading{color:#333;font-size:1rem;font-weight:600;margin:0 0 16px}.patient-notes-page .notes-empty,.patient-notes-page .notes-loading{background:#f8f9fa;border-radius:8px;color:#6c757d;margin:0;padding:24px;text-align:center}.patient-notes-page .notes-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.patient-notes-page .note-card{align-items:flex-start;background:#fff;border:2px solid #e9ecef;border-radius:10px;display:flex;gap:16px;justify-content:space-between;padding:16px 20px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.patient-notes-page .note-card:hover{border-color:#007bff;box-shadow:0 4px 16px #00000014;transform:translateY(-1px)}.patient-notes-page .note-card-left{flex-shrink:0;min-width:0}.patient-notes-page .note-card-title{color:#333;font-size:15px;font-weight:600;margin:0 0 4px;word-break:break-word}.patient-notes-page .note-card-date{color:#6c757d;font-size:13px;margin:0}.patient-notes-page .note-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#495057;display:-webkit-box;flex:1 1;font-size:13px;line-height:1.45;margin:0;min-width:0;overflow:hidden;padding:0 16px;word-break:break-word}.patient-notes-page .note-card-description .note-card-description-empty{color:#adb5bd}.patient-notes-page .btn-view-note{align-items:center;background:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:background .2s,transform .15s}.patient-notes-page .btn-view-note:hover{background:#0056b3;transform:translateY(-1px)}.patient-notes-page .add-note-form-card{background:#fff;border:2px solid #e9ecef;border-radius:10px;margin-top:0;padding:24px}.add-note-form-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.patient-notes-page .add-note-form-header h3{color:#333;font-size:1.1rem;font-weight:600;margin:0}.patient-notes-page .btn-icon-close{align-items:center;background:#dee2e6;border:none;border-radius:8px;color:#495057;cursor:pointer;display:flex;height:36px;justify-content:center;transition:background .2s;width:36px}.add-note-form-header .btn-icon-close:hover{background:#ced4da;color:#212529}.add-note-form .form-group{margin-bottom:16px}.add-note-form .form-group label{color:#495057;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.add-note-message-textarea{min-height:180px;resize:vertical}.add-note-draft-hint{color:#28a745;font-size:12px;margin:8px 0 0}.btn-outline{background:#0000;border:1px solid #007bff;color:#007bff}.btn-outline:hover{background:#007bff14}.add-note-form-actions{display:flex;gap:12px;margin-top:20px}.patient-notes-page .notes-view-back{background:none;border:none;color:#007bff;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;margin-bottom:16px;padding:0}.patient-notes-page .notes-view-back:hover{text-decoration:underline}.patient-notes-page .notes-view-card{background:#fff;border:2px solid #e9ecef;border-radius:10px;padding:24px}.patient-notes-page .notes-view-title{word-wrap:break-word;color:#333;font-size:1.25rem;font-weight:600;line-height:1.4;margin:0 0 8px;overflow-wrap:break-word;white-space:normal;word-break:break-word}.patient-notes-page .notes-view-date{color:#6c757d;font-size:13px;margin:0 0 20px}.patient-notes-page .notes-view-message{color:#333;font-size:15px;line-height:1.6;margin:0 0 20px;white-space:pre-wrap;word-break:break-word}.patient-notes-page .notes-view-files h4{color:#495057;font-size:14px;font-weight:600;margin:0 0 10px}.patient-notes-page .notes-file-list{list-style:none;margin:0;padding:0}.patient-notes-page .notes-file-item{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px;padding:10px 12px}.patient-notes-page .notes-file-name{color:#333;font-size:14px}.patient-notes-page .notes-file-actions{display:flex;gap:8px}.patient-notes-page .btn-icon-download,.patient-notes-page .btn-icon-view{background:#e9ecef;border:none;border-radius:6px;color:#495057;cursor:pointer;font-size:13px;padding:6px 10px;transition:background .2s,color .2s}.patient-notes-page .btn-icon-download:hover,.patient-notes-page .btn-icon-view:hover{background:#dee2e6;color:#212529}.patient-notes-page .note-card-attachments-inline{border-top:1px solid #e9ecef;margin-top:12px;padding-top:12px}.patient-notes-page .note-attachments-inline-heading{color:#5f6368;font-size:13px;font-weight:600;margin:0 0 10px}.patient-notes-page .note-attachments-inline-list{display:flex;flex-direction:column;gap:16px}.patient-notes-page .note-attachment-inline-item{min-height:60px}.patient-notes-page .note-attachment-fallback{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.patient-notes-page .note-attachment-fallback-name{color:#202124;font-size:13px}.patient-notes-page .note-attachment-fallback-actions{display:flex;gap:6px}.patient-notes-page .lazy-attachment-wrapper{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;min-height:80px;overflow:visible}.patient-notes-page .lazy-attachment-placeholder{align-items:center;color:#6c757d;display:flex;font-size:13px;justify-content:center;min-height:120px}.patient-notes-page .lazy-attachment-error{color:#dc3545}.patient-notes-page .lazy-attachment-image-container{margin-top:8px;max-width:100%;width:100%}.patient-notes-page .lazy-attachment-image{display:block;height:auto;max-width:100%;object-fit:contain;object-position:top left;vertical-align:top;width:100%}.patient-notes-page .lazy-attachment-image-clickable{cursor:pointer;outline:none}.patient-notes-page .lazy-attachment-image-clickable:hover{opacity:.95}.patient-notes-page .lazy-attachment-image-clickable:focus-visible{outline:2px solid #007bff;outline-offset:2px}.patient-notes-page .lazy-attachment-pdf-container{display:flex;flex-direction:column;gap:8px}.patient-notes-page .lazy-attachment-pdf{border:none;height:70vh;min-height:500px;width:100%}.patient-notes-page .lazy-attachment-pdf-link{color:#1967d2;font-size:12px;text-decoration:none}.patient-notes-page .lazy-attachment-pdf-link:hover{text-decoration:underline}.notes-expanded-list{display:flex;flex-direction:column;gap:24px}.notes-view-card-spaced{margin-bottom:0}.notes-confirm-overlay{align-items:center;animation:notesConfirmFadeIn .2s ease;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:1100}@keyframes notesConfirmFadeIn{0%{opacity:0}to{opacity:1}}.notes-confirm-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;max-width:400px;padding:24px;width:90%}.notes-confirm-title{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 12px}.notes-confirm-text{color:#495057;font-size:14px;line-height:1.5;margin:0 0 20px}.notes-confirm-actions{display:flex;gap:12px;justify-content:flex-end}.notes-fullsize-image-overlay{align-items:center;background:#000000e6;cursor:zoom-out;display:flex;flex-direction:column;inset:0;overflow:auto;padding:60px 20px 20px;position:fixed;z-index:2000}.notes-fullsize-image-close{align-items:center;background:#ffffff26;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:48px;justify-content:center;position:fixed;right:20px;top:16px;transition:background .2s;width:48px;z-index:2001}.notes-fullsize-image-close:hover{background:#ffffff40}.notes-fullsize-image-content{align-items:flex-start;cursor:default;display:flex;flex:1 1;justify-content:center;min-height:-webkit-min-content;min-height:min-content}.notes-fullsize-image{box-shadow:0 4px 24px #0006;display:block;height:auto;max-height:none;max-width:95vw;object-fit:contain;width:auto}.patient-documents h1{color:#202124;font-size:24px;margin:0 0 8px}.patient-documents-intro{color:#5f6368;font-size:14px;margin-bottom:20px}.patient-docs-empty,.patient-docs-loading{color:#5f6368;padding:40px 20px;text-align:center}.patient-docs-list{list-style:none;margin:0;padding:0}.patient-doc-item{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px;padding:14px 18px}.patient-doc-name{color:#202124;flex:1 1;font-weight:500;min-width:0}.patient-doc-tag{background:#f1f3f4;border-radius:4px;color:#5f6368;font-size:12px;padding:4px 8px}.patient-docs-pagination{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:24px}.btn-outline-secondary{background:#0000;border:1px solid #dadce0;color:#5f6368}.btn-outline-secondary:hover:not(:disabled){background:#f1f3f4}.btn-outline-secondary:disabled{cursor:not-allowed;opacity:.5}.patient-documents-page{padding:20px}.container.patient-documents-page{max-width:1400px}.patient-documents-page .page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.patient-documents-page .document-actions{display:flex;flex-wrap:wrap;gap:8px}.patient-documents-page .document-edit-form .document-actions{margin-top:8px}.patient-documents-page .alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.back-link{margin-bottom:8px}.documents-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px;padding:20px}.filter-group{flex:1 1;gap:8px;min-width:200px}.search-input{padding:10px 12px}.filter-group select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;padding:10px 12px}.documents-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.document-card{border:1px solid #e9ecef;cursor:pointer;padding:20px;position:relative;transition:all .3s ease}.document-card:hover{border-color:#007bff;box-shadow:0 6px 20px #0000001f;transform:translateY(-4px)}.document-card.selected{background:#f0f7ff;border-color:#007bff;box-shadow:0 4px 12px #007bff26}.doc-checkbox-wrapper{position:absolute;right:12px;top:12px;z-index:10}.doc-checkbox{accent-color:#007bff;cursor:pointer;height:20px;width:20px}.document-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:16px}.document-info{display:flex;flex:1 1;flex-direction:column;gap:10px;min-width:0}.doc-filename{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6c757d;display:-webkit-box;font-size:13px;font-weight:400;line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.document-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.document-meta-badges{gap:8px}.document-meta-badges .doctor-badge{align-items:center;background:#e3f2fd;border:1px solid #0000;border-radius:12px;color:#1565c0;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:4px 10px;transition:all .2s ease;white-space:nowrap}.document-meta-badges .doctor-badge:hover{background:#bbdefb;box-shadow:0 2px 4px #1565c033;color:#0d47a1;transform:translateY(-1px)}.document-meta-badges .doctor-badge:active{transform:translateY(0)}.document-meta-badges .doctor-badge-icon{font-size:11px;opacity:.9}.document-card:hover .doc-tag{box-shadow:0 4px 12px #667eea66;transform:scale(1.05)}.document-details{border-top:1px solid #e9ecef;margin-bottom:16px;padding-top:16px}.detail-row{display:flex;font-size:14px;justify-content:space-between;margin-bottom:8px}.detail-row:last-child{margin-bottom:0}.detail-row span:first-child{color:#666;font-weight:500}.detail-row span:last-child{color:#333}.patient-documents-page .document-card .document-details .detail-row .access-allowed,.patient-documents-page .documents-grid .document-card .document-details .detail-row .access-allowed{align-items:center;color:#28a745;display:inline-flex;gap:4px;padding:0;text-align:left}.patient-documents-page .document-card .document-details .detail-row .access-denied,.patient-documents-page .documents-grid .document-card .document-details .detail-row .access-denied{align-items:center;color:#dc3545;display:inline-flex;gap:4px;padding:0;text-align:left}.patient-documents-page .document-card .document-details .detail-row .access-denied svg{margin-bottom:0}.document-actions{border-top:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:8px;padding-top:16px}.document-actions .btn{align-items:center;border-radius:8px;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:6px;justify-content:center;min-width:80px;padding:10px 16px;transition:all .3s ease}.document-actions .btn:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.document-actions .btn-primary:hover{box-shadow:0 4px 8px #007bff4d}.form-group .checkbox-label{align-items:flex-start;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:14px;gap:12px;margin:0;padding:14px 16px;transition:all .2s ease;width:100%}.form-group .checkbox-label:hover{background:#f0f7ff;border-color:#007bff;box-shadow:0 2px 4px #007bff1a}.form-group .checkbox-label input[type=checkbox]{accent-color:#007bff;border-radius:4px;cursor:pointer;flex-shrink:0;height:22px;margin:2px 0 0;width:22px}.form-group .checkbox-label input[type=checkbox]:checked{background-color:#007bff;border-color:#007bff}.form-group .checkbox-label span{flex:1 1;line-height:1.6;-webkit-user-select:none;user-select:none}.tag-autocomplete-wrapper{width:100%}.tag-suggestions{margin-top:4px}.tag-suggestion-item:hover{background:#f0f7ff}.current-file-info{background:#f8f9fa;border-radius:4px;color:#666;font-size:13px;margin-top:8px;padding:8px 12px}@media (max-width:768px){.documents-grid{grid-template-columns:1fr}.documents-filters{flex-direction:column}.filter-group{width:100%}.document-actions{flex-direction:column}.document-actions .btn{width:100%}}.patient-call-summaries-page{margin:0 auto;max-width:1200px;padding:24px}.patient-call-summaries-page .page-header{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:24px}.patient-call-summaries-page .page-header h1{align-items:center;color:#333;display:flex;font-size:26px;font-weight:600;gap:10px;margin:0 0 8px}.patient-call-summaries-page .back-link{color:#007bff;display:inline-block;font-size:14px;margin-bottom:8px;text-decoration:none}.patient-call-summaries-page .back-link:hover{text-decoration:underline}.patient-call-summaries-page .page-subtitle{color:#666;font-size:14px;margin:0}.patient-call-summaries-page .consultation-notes-textarea{border:1px solid #dee2e6;border-radius:8px;font-size:14px;line-height:1.5;min-height:280px;padding:12px 14px;resize:vertical;width:100%}.patient-call-summaries-page .consultation-notes-textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff26;outline:none}.call-summary-filters{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:20px;padding:16px 20px}.call-summary-filters .search-wrapper{align-items:center;display:flex;max-width:600px;position:relative;width:100%}.call-summary-filters .search-icon{color:#999;font-size:16px;left:14px;position:absolute}.call-summary-filters .search-input{border:2px solid #e0e0e0;border-radius:8px;font-size:15px;padding:12px 40px 12px 44px;width:100%}.call-summary-filters .search-input:focus{border-color:#007bff;outline:none}.call-summary-filters .clear-search{background:none;border:none;color:#999;cursor:pointer;font-size:22px;padding:4px;position:absolute;right:12px}.call-summary-filters .clear-search:hover{color:#333}.call-summary-filters .search-results-count{color:#666;font-size:14px;margin-top:10px}.call-summaries-table-wrapper{border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:20px;overflow-x:auto;padding:0}.call-summaries-table-wrapper .pagination-wrapper{background:#f8f9fa;border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top:1px solid #e9ecef;margin:0;padding:20px}.call-summaries-table{background:#fff;border-collapse:collapse;width:100%}.call-summaries-table td,.call-summaries-table th{border-bottom:1px solid #e9ecef;padding:16px;text-align:left;vertical-align:middle}.call-summaries-table tbody tr:last-child td{border-bottom:none}.call-summaries-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:10}.call-summaries-table th:first-child{border-top-left-radius:8px}.call-summaries-table th:last-child{border-top-right-radius:8px}.call-summary-row{transition:background-color .15s ease}.call-summary-row:hover{background:#f8f9ff}.call-summary-row:last-child td{border-bottom:none}.call-summary-row .col-date{color:#333;font-size:14px;font-weight:500;min-width:120px;white-space:nowrap;width:120px}.call-summary-row .col-title{color:#333;font-size:14px;font-weight:500;max-width:180px}.call-summary-row .col-description{word-wrap:break-word;color:#555;font-size:14px;line-height:1.5;max-width:400px}.call-summary-row .col-description span{display:block;max-height:3em;overflow:hidden;text-overflow:ellipsis}.call-summary-row .col-attachments{max-width:300px;min-width:200px}.call-summary-row .col-uploaded-by{min-width:120px;white-space:nowrap}.call-summary-uploaded-by-badge{align-items:center;border-radius:12px;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:4px 10px;transition:all .2s ease}.call-summary-uploaded-by-badge:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.call-summary-uploaded-by-badge .doctor-badge-icon{font-size:11px;opacity:.9}.call-summary-uploaded-by-badge.call-summary-uploaded-by--patient{background:#e8f5e9;color:#2e7d32}.call-summary-uploaded-by-badge.call-summary-uploaded-by--doctor{background:#e3f2fd;color:#1565c0}.attachments-inline{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.attachment-chip{align-items:center;background:#e3f2fd;border:1px solid #0000;border-radius:6px;color:#1976d2;display:inline-flex;font-size:12px;gap:5px;max-width:200px;overflow:hidden;padding:5px 10px;text-decoration:none;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.attachment-chip:hover{background:#1976d2;box-shadow:0 2px 4px #1976d24d;color:#fff;transform:translateY(-1px)}.attachment-chip svg{flex-shrink:0}.attachments-more{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:default;display:inline-flex;font-size:12px;font-weight:600;padding:6px 12px}.call-summary-row .col-actions{min-width:100px;white-space:nowrap;width:100px}.call-summary-row .col-actions .actions-inline{align-items:center;display:flex;flex-direction:row;gap:8px}.call-summary-row .col-actions .btn-icon{border-radius:6px;font-size:13px;height:32px;margin-right:6px;width:32px}.btn-icon{display:inline-flex;font-size:13px;transition:all .2s ease}.btn-icon.btn-edit{background:#e3f2fd;color:#1976d2}.btn-icon.btn-edit:hover{background:#1976d2;box-shadow:0 2px 4px #1976d24d;color:#fff;transform:translateY(-1px)}.btn-icon.btn-delete{background:#ffebee;color:#c62828}.btn-icon.btn-delete:hover{background:#c62828;box-shadow:0 2px 4px #c628284d;color:#fff;transform:translateY(-1px)}.file-list-preview{list-style:none;margin:10px 0 0;padding:0}.file-list-preview li{align-items:center;background:#f0f0f0;border-radius:6px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:6px;padding:8px 12px}.file-list-preview li button{background:none;border:none;color:#999;cursor:pointer;font-size:18px}.file-list-preview li button:hover{color:#c62828}.existing-attachments{color:#666;font-size:13px;margin-top:10px}.empty-icon{color:#ddd;font-size:48px;margin-bottom:16px}.patient-call-summaries-page .empty-state{padding:48px 24px;text-align:center}.patient-call-summaries-page .empty-state h3{color:#333;margin:0 0 8px}.patient-call-summaries-page .empty-state p{color:#666;margin:0 0 20px}.patient-call-summaries-page .loading-container{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.patient-call-summaries-page .loading-spinner{animation:spin .8s linear infinite;border:3px solid #eee;border-radius:50%;border-top-color:#007bff;height:40px;margin-bottom:16px;width:40px}@media (max-width:768px){.patient-call-summaries-page{padding:16px}.patient-call-summaries-page .page-header{flex-direction:column;gap:16px}.call-summaries-table-wrapper{overflow-x:auto}.call-summaries-table{min-width:700px}.call-summary-row .col-date{min-width:100px;width:100px}.call-summary-row .col-description{max-width:250px}.call-summary-row .col-attachments{max-width:200px;min-width:150px}.attachment-chip{max-width:120px}}.invoice-modal-content{max-width:640px}.patient-invoices-page{box-sizing:border-box;margin:0 auto;max-width:1200px;padding:16px 20px;width:100%}.invoice-header{flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:14px}.invoice-header,.invoice-title{align-items:center;display:flex}.invoice-title{gap:12px;min-width:260px}.invoice-title-icon{align-items:center;background:#20c9971f;border:1px solid #20c99740;border-radius:12px;color:#20c997;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.invoice-title h1{font-size:20px;margin:0}.invoice-subtitle{color:#6c757d;font-size:13px;margin:2px 0 0}.invoice-add-btn{align-items:center;display:inline-flex;gap:8px}.invoice-list-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:14px}.invoice-list-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.invoice-list-header h2{font-size:16px;margin:0}.invoice-list-header{flex-wrap:wrap}.invoice-list-header-right{align-items:center;display:flex;flex:1 1;gap:12px;justify-content:flex-end;min-width:260px}.invoice-search-wrap{align-items:center;display:flex;flex:1 1;max-width:380px;position:relative}.invoice-search-icon{color:#6c757d;font-size:14px;left:12px;pointer-events:none;position:absolute}.invoice-search-input{background:#fff;border:1px solid #e9ecef;border-radius:10px;font-size:14px;padding:9px 38px 9px 36px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.invoice-search-input:focus{border-color:#20c997a6;box-shadow:0 0 0 4px #20c9971f;outline:none}.invoice-search-input::placeholder{color:#adb5bd}.invoice-search-clear{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;color:#6c757d;cursor:pointer;display:inline-flex;height:28px;justify-content:center;position:absolute;right:8px;transition:background .15s ease,border-color .15s ease,transform .15s ease;width:28px}.invoice-search-clear:hover{background:#f8f9fa;border-color:#ced4da;transform:translateY(-1px)}.invoice-search-clear:active{transform:translateY(0)}.invoice-count{background:#f8f9fa;border:1px solid #e9ecef;border-radius:999px;color:#6c757d;font-size:12px;padding:6px 10px}.invoice-empty{color:#6c757d;padding:26px 12px;text-align:center}.invoice-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.invoice-card{background:linear-gradient(180deg,#fff,#fbfcfd);border:1px solid #eef1f4;border-radius:12px;box-shadow:0 6px 16px #0000000a;padding:12px}.invoice-card-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.invoice-card-actions{display:flex;flex-shrink:0;gap:8px}.invoice-card-date{color:#20c997;font-size:12px;font-weight:700}.invoice-card-name{color:#212529;font-size:15px;font-weight:700;margin-top:4px;word-break:break-word}.invoice-card-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#495057;display:-webkit-box;font-size:13px;margin-top:6px;overflow:hidden}.invoice-card-desc.muted{color:#adb5bd}.invoice-files{border-top:1px dashed #e9ecef;margin-top:10px;padding-top:10px}.invoice-files-title{color:#6c757d;font-size:12px;font-weight:700;gap:6px}.invoice-file-row,.invoice-files-title{align-items:center;display:flex;margin-bottom:8px}.invoice-file-row{background:#fff;border:1px solid #f1f3f5;border-radius:10px;gap:10px;justify-content:space-between;padding:8px 10px}.invoice-file-name{color:#343a40;flex:1 1;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-file-actions{display:flex;gap:8px}.icon-btn{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:10px;color:#495057;cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s;width:34px}.icon-btn:hover{border-color:#ced4da;box-shadow:0 6px 16px #0000000f;transform:translateY(-1px)}.icon-btn.danger{background:#dc35450f;border-color:#dc354540;color:#dc3545}.invoice-pagination{margin-top:14px}.invoice-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.invoice-form-grid .full{grid-column:1/-1}.invoice-textarea{min-height:90px;resize:vertical}.invoice-file-help{color:#6c757d;font-size:12px;margin-top:6px}.invoice-selected-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.invoice-selected-file{background:#20c9971a;border:1px solid #20c99740;border-radius:999px;color:#158f6d;font-size:12px;padding:6px 10px}@media (max-width:720px){.invoice-list-header-right{justify-content:space-between;width:100%}.invoice-search-wrap{max-width:none}.invoice-form-grid{grid-template-columns:1fr}}.time-picker-wrapper{position:relative}.time-picker-trigger{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#334155;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:10px;padding:10px 14px;transition:all .2s ease;width:100%}.time-picker-trigger:hover{background:#f8fafc;border-color:#94a3b8}.time-picker-trigger:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff26;outline:none}.time-picker-icon{color:#64748b;font-size:16px}.time-picker-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 40px #0000001f;left:0;min-width:220px;padding:16px;position:absolute;top:calc(100% + 6px);z-index:1000}.time-picker-columns{display:flex;gap:12px;margin-bottom:12px}.time-picker-column{align-items:center;display:flex;flex:1 1;flex-direction:column}.time-picker-column label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.time-picker-scroll{display:flex;flex-direction:column;gap:2px;max-height:140px;overflow-y:auto;overscroll-behavior:contain;padding:4px}.time-picker-scroll::-webkit-scrollbar{width:6px}.time-picker-scroll::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.time-picker-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.time-picker-period{display:flex;flex-direction:column;gap:4px}.time-picker-option{background:#f8fafc;border:1px solid #0000;border-radius:6px;color:#475569;cursor:pointer;font-size:14px;font-weight:500;min-width:44px;padding:8px 12px;transition:all .15s ease}.time-picker-option:hover{background:#e2e8f0;color:#334155}.time-picker-option.selected{background:#007bff;border-color:#007bff;color:#fff}.time-picker-apply{background:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px;transition:background .2s;width:100%}.time-picker-apply:hover{background:#0056b3}.add-schedule-record-page{margin:0 auto;max-width:1200px;padding:20px}.back-link{margin-bottom:10px}.page-subtitle{color:#666;margin-top:5px}.schedule-record-form{margin-bottom:40px;padding:30px}.schedule-record-form h2{color:#333;margin-bottom:25px}.form-section{margin-bottom:30px}.form-label{color:#333;display:block;font-size:16px;font-weight:600;margin-bottom:10px}.form-label-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px}.form-label-row .form-label{margin-bottom:0}.required{color:#dc3545}.protocols-selection{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;flex-wrap:wrap;gap:12px 20px;padding:15px}.protocol-checkbox-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:background-color .2s}.protocol-checkbox-label:hover{background:#e9ecef}.protocol-checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.protocol-color-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.protocol-checkbox-label .protocol-name{color:#333;font-weight:500}.form-hint{color:#666;font-size:14px;margin:10px 0 0}.masters-group-by-protocol{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 1px 3px #0000000d;padding:16px}.masters-search-wrap{margin-bottom:14px}.masters-search-input{border:1px solid #dee2e6;border-radius:8px;font-size:14px;max-width:100%;padding:10px 14px}.masters-search-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff26;outline:none}.masters-items-grid{grid-gap:10px 16px;display:grid;gap:10px 16px;grid-template-columns:repeat(3,1fr);margin-bottom:16px}@media (max-width:900px){.masters-items-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.masters-items-grid{grid-template-columns:1fr}}.master-checkbox-card{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:12px 14px;transition:background-color .2s,border-color .2s,box-shadow .2s}.master-checkbox-card:hover{background:#f8f9fa;border-color:#dee2e6}.master-checkbox-card:has(input:checked){background:#e7f3ff;border-color:#007bff;box-shadow:0 0 0 1px #007bff}.master-checkbox-card input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;width:18px}.master-checkbox-card .master-name{color:#333;flex:1 1;font-weight:500;min-width:0}.master-checkbox-card .master-description{color:#666;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.masters-pagination{align-items:center;border-top:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:4px;padding:12px 0 0}.masters-pagination-info{color:#6c757d;font-size:14px}.masters-pagination-buttons{align-items:center;display:flex;gap:12px}.masters-pagination-page{color:#495057;font-size:14px;font-weight:500}.masters-pagination-btn{min-width:80px}.masters-pagination-btn:disabled{cursor:not-allowed;opacity:.6}.masters-no-results{color:#6c757d;font-size:14px;margin:12px 0}.masters-group-header{border-left:4px solid #007bff;color:#333;font-weight:600;margin-bottom:10px;padding-left:10px}.masters-group-header-with-action{align-items:center;display:flex;gap:12px;justify-content:space-between;width:100%}.masters-group-header-with-action .btn{flex-shrink:0;margin-left:auto}.form-input,.form-select,.form-textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.form-textarea{min-height:80px;resize:vertical}.masters-selection{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;flex-direction:column;gap:12px;padding:15px}.master-checkbox-label{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:10px;padding:8px;transition:background-color .2s}.master-checkbox-label:hover{background:#e9ecef}.master-checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.master-name{color:#333;font-weight:500}.master-description{color:#666;font-size:14px}.items-details{display:flex;flex-direction:column;gap:15px}.item-detail-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:15px}.item-detail-card h4{color:#333;font-size:16px;margin:0 0 15px}.custom-fields-section{display:flex;flex-direction:column;gap:10px}.no-fields-message{color:#999;font-size:14px;font-style:italic;margin:10px 0}.custom-field-row{align-items:center;display:flex;gap:10px}.custom-field-key{flex:0 0 200px}.custom-field-key,.custom-field-value{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:8px 12px}.custom-field-value{flex:1 1}.custom-field-select{flex:0 0 160px;min-width:120px}.custom-field-other{flex:1 1;min-width:100px}.btn-remove-field{align-items:center;background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;padding:0;transition:background .2s;width:36px}.btn-remove-field:hover{background:#c82333}.btn-add-field{align-self:flex-start;margin-top:5px}.item-fields-list{margin-top:5px;padding-left:20px}.item-fields-list li{font-size:13px;margin-bottom:3px}.field-key{color:#555;font-weight:600}.form-row{grid-gap:15px;gap:15px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#555}.form-group input[type=date],.form-group input[type=text],.form-group input[type=time]{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px 12px}.form-actions{gap:10px;margin-top:30px}.btn-secondary:hover{background:#545b62}.btn-danger{background:#dc3545}.btn-danger:hover{background:#c82333}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-sm{font-size:12px}.records-link-section{margin-top:24px}.records-link-section .btn{display:inline-block}.records-list-section{padding:30px}.records-list-section h2{color:#333;margin-bottom:20px}.records-list{display:flex;flex-direction:column;gap:15px}.record-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:20px;transition:box-shadow .2s}.record-card:hover{box-shadow:0 2px 8px #0000001a}.record-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:15px}.record-header,.record-protocol{align-items:center;display:flex;gap:10px}.protocol-color-box{border:1px solid #0000001a;border-radius:4px;height:20px;width:20px}.protocol-name{color:#333;font-weight:600;text-transform:capitalize}.action-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.record-time{color:#666;font-weight:500}.record-description{color:#555;font-style:italic;margin-bottom:15px}.record-items{margin-bottom:15px}.record-items strong{color:#333;display:block;margin-bottom:8px}.record-items ul{margin:0;padding-left:20px}.record-items li{color:#555;margin-bottom:5px}.record-dates{color:#666;font-size:14px;margin-bottom:15px}.record-actions{display:flex;gap:10px}.empty-state{color:#666}.alert-error{background:#f8d7da}.entry-block{background:#fff;border:2px solid #e9ecef;border-radius:8px;margin-bottom:30px;padding:24px}.entry-block:last-of-type{margin-bottom:20px}.entry-doctor-only-checkbox{align-items:center;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:20px;color:#5f6368;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;margin-left:16px;padding:8px 14px;transition:background .2s,border-color .2s,color .2s,box-shadow .2s}.entry-doctor-only-checkbox:hover{background:#eef1f5;border-color:#c5cae9;color:#3949a3}.entry-doctor-only-checkbox--checked{background:#e8eaf6;border-color:#3949a3;color:#1a237e}.entry-doctor-only-checkbox--checked:hover{background:#c5cae9;border-color:#283593}.entry-doctor-only-checkbox-input{accent-color:#3949a3;cursor:pointer;flex-shrink:0;height:18px;width:18px}.entry-doctor-only-checkbox-icon{align-items:center;color:inherit;display:flex;font-size:16px}.entry-doctor-only-checkbox-label{white-space:nowrap}.entry-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.entry-header h3{color:#333;font-size:18px;margin:0}.entry-actions{border-top:2px solid #e9ecef;display:flex;gap:12px;margin-top:24px;padding-top:20px}.add-schedule-record-page .modal-content h3.modal-title{color:#333;font-size:20px;margin:0 0 16px}.form-hint-inline{color:#666;font-size:13px;margin:6px 0 0}.days-of-week-group{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;margin-top:20px;padding:20px}.days-of-week-label{color:#334155;display:block;font-size:15px;font-weight:600;margin-bottom:4px}.days-of-week-hint{color:#64748b;font-size:13px;line-height:1.4;margin-bottom:16px}.days-of-week-hint--single{color:#0f4c81;font-weight:500}.days-of-week-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.days-preset-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;box-shadow:0 1px 2px #0000000a;color:#64748b;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s ease}.days-preset-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.days-preset-btn:active{transform:scale(.97)}.days-preset-btn:focus-visible{outline:2px solid #007bff;outline-offset:2px}.days-preset-btn--active{background:#007bff;border-color:#007bff;color:#fff}.days-preset-btn--active:hover{background:#0056b3;border-color:#0056b3}.days-of-week-tiles{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,1fr)}@media (max-width:600px){.days-of-week-tiles{grid-template-columns:repeat(4,1fr)}}.day-tile{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000f;color:#475569;cursor:pointer;display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:6px;justify-content:center;min-height:56px;padding:10px 8px;transition:all .2s ease}.day-tile:hover{background:#f8fafc;border-color:#94a3b8;color:#334155}.day-tile:active{transform:scale(.96)}.day-tile:focus-visible{outline:2px solid #007bff;outline-offset:2px}.day-tile--selected{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#007bff;color:#1e40af}.day-tile--selected:hover{background:linear-gradient(135deg,#bfdbfe,#93c5fd)}.day-tile--disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.day-tile-check{color:#007bff;flex-shrink:0;font-size:14px}.checkbox-group-inline{margin-bottom:16px}.taking-action-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-top:8px}.taking-action-row .checkbox-label{margin-bottom:0}.checkbox-label{font-size:14px;margin-bottom:0}.checkbox-label input{cursor:pointer;flex-shrink:0;height:18px;width:18px}.form-flexible-label{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;gap:10px;margin-bottom:8px;padding:12px 16px}.form-flexible-label:hover{background:#f0f7ff;border-color:#007bff}.color-code-group{margin-bottom:20px}.color-code-group .form-group label{display:block;margin-bottom:8px}.color-picker-main{align-items:center;display:flex;gap:12px;margin-bottom:12px}.color-input-native{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;height:36px;padding:2px;width:48px}.color-hex-input{flex:1 1;font-family:monospace;max-width:120px}.quick-select-row{margin-top:12px}.quick-select-label{align-items:center;color:#555;display:inline-flex;font-size:14px;font-weight:500;gap:6px;margin-bottom:8px}.quick-select-icon{color:#6c757d;font-size:14px}.color-swatches-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(8,1fr)}.color-swatch{border:2px solid #ddd;border-radius:6px;cursor:pointer;height:32px;padding:0;transition:border-color .2s,transform .15s;width:32px}.color-swatch:hover{border-color:#333;transform:scale(1.05)}.color-swatch-selected{border-color:#007bff;box-shadow:0 0 0 2px #007bff4d}.modal-actions{gap:10px;margin-top:20px}.modal-actions-end{justify-content:flex-end}.modal-actions-end .btn-primary{order:1}.add-item-protocol-badge{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:10px;margin:-8px 0 16px;padding:10px 14px}.add-item-protocol-dot{border:1px solid #0000001a;border-radius:50%;flex-shrink:0;height:14px;width:14px}.add-item-protocol-name{color:#333;font-weight:600;text-transform:capitalize}@media (max-width:768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.entry-header,.record-header{align-items:flex-start;flex-direction:column}.entry-header{gap:12px}.entry-actions{flex-direction:column}}.schedule-records-page{margin:0 auto;max-width:900px;padding:20px}.schedule-records-page .page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:24px}.schedule-records-page .back-link{color:#007bff;display:inline-block;font-weight:500;margin-bottom:8px;text-decoration:none}.schedule-records-page .back-link:hover{text-decoration:underline}.schedule-records-page .page-subtitle{color:#666;font-size:14px;margin-top:4px}.schedule-records-page .empty-state,.schedule-records-page .loading{color:#666;padding:40px;text-align:center}.schedule-records-page .empty-state .btn{margin-top:16px}.schedule-records-page .records-list{display:flex;flex-direction:column;gap:16px}.schedule-records-page .record-card{background:#fff;border:2px solid #e9ecef;border-radius:10px;padding:20px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.schedule-records-page .record-card:hover{border-color:#007bff;box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.schedule-records-page .record-card[role=button]{cursor:pointer}.schedule-records-page .record-card[role=button]:active{box-shadow:0 2px 8px #00000014;transform:translateY(0)}.schedule-records-page .record-card:focus-visible{outline:2px solid #007bff;outline-offset:2px}.schedule-records-page .record-main-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.schedule-records-page .record-header-left{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.schedule-records-page .record-number{color:#007bff;font-size:16px;font-weight:700}.schedule-records-page .record-created-by{color:#6c757d;font-size:13px;font-weight:500}.schedule-records-page .record-completed-row{align-items:center;display:flex;gap:10px}.schedule-records-page .completed-label{color:#333;font-size:14px;font-weight:600}.schedule-records-page .completed-toggle{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#666;cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:6px 12px;transition:background .2s,color .2s,border-color .2s}.schedule-records-page .completed-toggle:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.schedule-records-page .completed-toggle:disabled{cursor:not-allowed;opacity:.7}.schedule-records-page .completed-toggle.is-completed{background:#d4edda;border-color:#28a745;color:#155724}.schedule-records-page .record-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:12px}.schedule-records-page .record-header,.schedule-records-page .record-protocol{align-items:center;display:flex;gap:10px}.schedule-records-page .protocol-color-box{border:1px solid #0000001a;border-radius:4px;height:18px;width:18px}.schedule-records-page .protocol-name{color:#333;font-weight:600;text-transform:capitalize}.schedule-records-page .action-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.schedule-records-page .record-time{color:#666;font-size:14px;font-weight:500}.schedule-records-page .record-description{color:#555;font-size:14px;font-style:italic;margin-bottom:12px}.schedule-records-page .record-items{margin-bottom:12px}.schedule-records-page .record-items strong{color:#333;display:block;font-size:14px;margin-bottom:6px}.schedule-records-page .record-items ul{margin:0;padding-left:20px}.schedule-records-page .record-items li{color:#555;font-size:14px;margin-bottom:4px}.schedule-records-page .item-fields-list{margin-top:4px;padding-left:18px}.schedule-records-page .item-fields-list li{font-size:13px;margin-bottom:2px}.schedule-records-page .field-key{color:#555;font-weight:600}.schedule-records-page .record-dates{color:#666;font-size:14px;margin-bottom:14px}.schedule-records-page .record-actions{display:flex;gap:10px}.schedule-records-page .alert{border-radius:6px;margin-bottom:20px;padding:12px 16px}.schedule-records-page .alert-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.schedule-records-page .alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.schedule-records-page .record-entries{margin-top:16px}.schedule-records-page .entry-section{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;margin-bottom:24px;padding:16px}.schedule-records-page .entry-section:last-child{margin-bottom:0}.schedule-records-page .entry-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.schedule-records-page .entry-header h4{color:#333;font-size:16px;font-weight:600;margin:0}.schedule-records-page .entry-time{align-items:center;color:#666;display:flex;font-size:14px;font-weight:500;gap:8px}.schedule-records-page .flexible-badge{border-radius:10px;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.schedule-records-page .flexible-badge--yes{background:#e8f5e9;color:#2e7d32}.schedule-records-page .flexible-badge--no{background:#f5f5f5;color:#757575}.schedule-records-page .entry-description{color:#555;font-size:14px;font-style:italic;margin-bottom:12px}.schedule-records-page .entry-protocols{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.schedule-records-page .protocol-badge{border-radius:16px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;text-transform:capitalize}.schedule-records-page .action-indicator{margin-left:4px}.schedule-records-page .entry-items{margin-bottom:12px}.schedule-records-page .entry-items strong{color:#333;display:block;font-size:14px;margin-bottom:6px}.schedule-records-page .entry-items ul{margin:0;padding-left:20px}.schedule-records-page .entry-items li{color:#555;font-size:14px;margin-bottom:4px}.schedule-records-page .entry-dates{color:#666;font-size:14px}.schedule-records-page .entry-days-of-week{color:#17a2b8;font-style:italic}@media (max-width:768px){.schedule-records-page .page-header{align-items:stretch;flex-direction:column}.schedule-records-page .record-header,.schedule-records-page .record-main-header{align-items:flex-start;flex-direction:column}.schedule-records-page .record-main-header{gap:12px}.schedule-records-page .entry-header{align-items:flex-start;flex-direction:column;gap:8px}}.all-documents-page{margin:0 auto;max-width:1400px;padding:20px}.page-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:30px}.page-header .header-content{flex:1 1}.page-header .btn{margin-top:0;white-space:nowrap}.back-link{align-items:center;display:inline-flex;font-size:14px;gap:8px;margin-bottom:16px}.header-content h1{align-items:center;color:#333;display:flex;font-size:32px;gap:12px;margin:0 0 8px}.header-content p{color:#666;font-size:16px;margin:0}.docs-filters{margin-bottom:24px;padding:20px}.filters-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.filter-group{display:flex;flex-direction:column;gap:10px}.filter-group label{color:#333;font-size:14px;font-weight:600}.search-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:#999}.search-input{border:1px solid #ddd;border-radius:6px;padding:10px 12px 10px 36px;transition:border-color .2s}.search-input:focus{box-shadow:0 0 0 2px #007bff40}.patient-dropdown-wrapper,.patient-dropdown-wrapper-modal{position:relative;width:100%}.patient-avatar-small{margin-top:2px}.selected-patient-name{color:#212529;flex:1 1;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{transition:transform .2s}.patient-select-input:hover .dropdown-arrow{color:#007bff}.patient-dropdown-list{overflow:hidden;z-index:1000}.search-icon-dropdown{align-items:center;display:flex;height:14px;justify-content:center;width:14px}.clear-search-dropdown{height:20px;transition:color .2s;width:20px}.dropdown-items-container{max-height:300px}.dropdown-item{min-height:56px}.dropdown-item.clear-filter-item{background:#fff3cd;color:#856404;font-weight:500}.dropdown-item.clear-filter-item:hover{background:#ffeaa7}.dropdown-item-info{gap:4px;padding-top:2px}.dropdown-item-name{line-height:1.4}.docs-empty,.docs-loading{color:#666;font-size:16px;padding:60px 20px;text-align:center}.docs-selection-bar{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;display:flex;gap:16px;margin-bottom:20px;padding:16px 20px}.select-all-checkbox{align-items:center;cursor:pointer;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.select-all-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.checkbox-label{color:#333;font-weight:500}.selection-info{flex:1 1}.selected-count{color:#007bff;font-weight:500}.btn-download-zip{display:flex;white-space:nowrap}.docs-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.doc-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:12px;padding:40px 16px 16px;position:relative;transition:all .2s ease}.doc-card:hover{border-color:#007bff;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.doc-card.selected{background:#f0f7ff;border-color:#007bff;box-shadow:0 0 0 2px #007bff33}.doc-card-checkbox{cursor:pointer;margin:0;position:absolute;right:12px;top:12px;z-index:10}.doc-card-checkbox input{accent-color:#007bff;cursor:pointer;height:18px;width:18px}.doc-card-header .btn-icon-edit{margin-left:auto}.doc-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.doc-card .card,.doc-card [class*=card]{background:#fff;border:none!important;box-shadow:none!important}.doc-card-title-section{flex:1 1;min-width:0}.doc-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#212529;display:-webkit-box;font-size:16px;font-weight:600;line-height:1.3;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis}.doc-card-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.doc-type-badge{background:#e7f3ff;border-radius:12px;color:#06c;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px}.doc-card-patient,.doc-card-patient .patient-link-card{align-items:center;display:flex;gap:8px}.doc-card-patient .patient-link-card{color:inherit;text-decoration:none;transition:all .2s}.doc-card-patient .patient-link-card:hover{color:#007bff}.doc-card-patient .patient-name-card{color:#212529;font-size:14px;font-weight:500}.doc-card-patient .patient-link-card:hover .patient-name-card{color:#007bff}.doc-card-patient .patient-avatar-small{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.doc-card-meta{border-top:1px solid #f1f3f4;display:flex;flex-wrap:wrap;gap:16px;padding-top:8px}.doc-card-meta .meta-item{align-items:center;color:#6c757d;display:flex;font-size:12px;gap:6px}.doc-card-meta .meta-icon{color:#adb5bd;font-size:11px}.doc-uploaded-by-badge{align-items:center;border-radius:12px;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:4px 10px;transition:all .2s ease}.doc-uploaded-by-badge:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.doc-uploaded-by-badge .doctor-badge-icon{font-size:11px;opacity:.9}.doc-uploaded-by-badge.doc-uploaded-by--patient{background:#e8f5e9;color:#2e7d32}.doc-uploaded-by-badge.doc-uploaded-by--doctor{background:#e3f2fd;color:#1565c0}.btn-icon-edit{align-items:center;background:#0000;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;justify-content:center;margin-left:auto;padding:6px;transition:all .2s}.btn-icon-edit:hover{background:#e7f3ff;color:#007bff}.current-file-hint{color:#6c757d;display:block;font-size:13px;margin-top:6px}.doc-tag{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 2px 8px #667eea4d;color:#fff;display:inline-block;font-size:15px;font-weight:600;letter-spacing:.3px;padding:8px 16px;transition:all .3s ease}.doc-card:hover .doc-tag{box-shadow:0 4px 12px #667eea66;transform:scale(1.05)}.doc-details{border-top:1px solid #e9ecef;margin-bottom:16px;padding-top:16px}.doc-detail-row{display:flex;font-size:14px;justify-content:space-between;margin-bottom:8px}.doc-label{color:#666;font-weight:500}.doc-patient-link{color:#007bff;font-weight:500;text-decoration:none;transition:color .2s}.doc-patient-link:hover{color:#0056b3;text-decoration:underline}.doc-actions{border-top:1px solid #e9ecef;display:flex;gap:8px;padding-top:16px}.doc-action-btn{align-items:center;border-radius:8px;color:#333;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:6px;justify-content:center;padding:10px 16px;text-align:center;text-decoration:none;transition:all .3s ease}.doc-action-btn.view{background:#f8f9fa;border:1px solid #dee2e6}.doc-action-btn.view:hover{background:#e9ecef;border-color:#007bff;box-shadow:0 2px 4px #0000001a;color:#007bff;transform:translateY(-1px)}.doc-action-btn.download{background:#007bff;border:1px solid #007bff;color:#fff}.doc-action-btn.download:hover{background:#0056b3;border-color:#0056b3;box-shadow:0 4px 8px #007bff4d;transform:translateY(-1px)}.modal-header{border-bottom:1px solid #e9ecef;padding-bottom:16px}.modal-header h2{font-size:24px}.close-btn{border-radius:4px;color:#999;font-size:28px;height:32px;transition:all .2s;width:32px}.close-btn:hover{background:#f0f0f0;color:#333}.form-group input[type=file],.form-group input[type=text]{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-group .patient-select-input input[type=text]{padding-left:36px}.form-group input[type=file]:focus,.form-group input[type=text]:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.form-group input[type=file]{cursor:pointer;padding:8px}.form-group small{color:#666;display:block;font-size:12px;margin-top:6px}.tag-autocomplete-wrapper{position:relative}.tag-input{font-size:14px;padding:10px 12px;width:100%}.tag-input,.tag-suggestions{border:1px solid #ddd;border-radius:6px}.tag-suggestions{background:#fff;box-shadow:0 4px 12px #00000026;left:0;list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:4px 0;position:absolute;right:0;top:100%;z-index:1000}.tag-suggestion-item{color:#333;cursor:pointer;font-size:14px;padding:10px 12px;transition:background .2s}.tag-suggestion-item:hover{background:#f1f3f4}.checkbox-label{gap:8px}.checkbox-label input[type=checkbox]{margin:0;width:auto}.modal-actions{padding-top:20px}.btn{border-radius:6px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-primary{background:#007bff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}@media (max-width:768px){.docs-grid{grid-template-columns:1fr}.page-header{align-items:stretch;flex-direction:column}.page-header .btn{justify-content:center;width:100%}}.patient-profile-page{box-sizing:border-box;margin:0 auto;max-width:1200px;min-height:0;overflow-x:hidden;padding:16px 20px;width:100%}.profile-header{margin-bottom:20px}.back-link{color:#007bff;display:inline-block;font-size:13px;font-weight:500;margin-bottom:12px;text-decoration:none}.back-link:hover{text-decoration:underline}.profile-header-content{align-items:flex-start;display:flex;gap:24px}.profile-avatar-block{flex-direction:column;flex-shrink:0;gap:10px}.profile-avatar-block,.profile-avatar-wrap{align-items:center;display:flex;position:relative}.profile-avatar-wrap{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 4px 12px #667eea4d;color:#fff;font-size:36px;font-weight:600;height:96px;justify-content:center;overflow:hidden;width:96px}.profile-avatar-img{display:block;height:100%;object-fit:cover;object-position:center;width:100%}.profile-avatar-initial{line-height:1}.profile-avatar-edit-btn{align-items:center;background:#007bff;border:2px solid #fff;border-radius:50%;bottom:0;box-shadow:0 2px 8px #0003;color:#fff;cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;position:absolute;right:0;transition:transform .2s,background .2s;width:28px}.profile-avatar-edit-btn:hover:not(:disabled){background:#0056b3;transform:scale(1.08)}.profile-avatar-edit-btn:disabled{cursor:not-allowed;opacity:.7}.profile-info{flex:1 1;min-width:0;width:100%}.profile-quick-strip{align-items:center;background:#fafbfc;border:1px solid #e9ecef;border-radius:10px;display:flex;flex-wrap:wrap;gap:14px 28px;margin-bottom:12px;padding:14px 18px}.profile-quick-item{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0;min-width:140px}.profile-quick-item .quick-icon{color:#007bff;flex-shrink:0;font-size:15px}.profile-quick-item .quick-label{color:#6c757d;flex-shrink:0;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.profile-quick-item .quick-value{align-items:center;color:#333;display:flex;flex-wrap:wrap;font-size:15px;font-weight:500;gap:6px;word-break:break-word}.profile-quick-value-with-status{align-items:flex-start;display:flex;flex-direction:column;gap:4px}.profile-quick-value-with-status .patient-status-badge-inline{border-radius:4px;font-size:11px;padding:2px 8px}.profile-quick-value-with-status .patient-status-pending{background:#fef3c7;border:1px solid #fcd34d;color:#b45309}.profile-quick-value-with-status .patient-status-verify{background:#dbeafe;border:1px solid #93c5fd;color:#1d4ed8}.profile-personal-info-label{align-items:center;background:#fff;border:1px solid #e2e6ea;border-radius:10px;box-shadow:0 1px 3px #0000000a;color:#495057;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:10px;margin-top:8px;padding:12px 18px;transition:all .2s ease}.profile-personal-info-label:hover{background:linear-gradient(135deg,#667eea0f,#764ba20f);border-color:#667eea;box-shadow:0 4px 12px #667eea26;color:#667eea;transform:translateY(-1px)}.profile-personal-info-label .label-icon{color:#667eea;font-size:18px}.profile-personal-info-label .label-chevron{color:#868e96;font-size:11px;margin-left:4px}.profile-details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.profile-detail-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:16px 18px;transition:background .2s ease,border-color .2s ease}.profile-detail-card:hover{background:#f1f3f5;border-color:#dee2e6}.profile-detail-card .detail-icon{color:#007bff;font-size:20px;margin-bottom:4px}.profile-detail-card .detail-label{color:#6c757d;font-size:13px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.profile-detail-card .detail-value{color:#333;font-size:16px;font-weight:500;line-height:1.4;word-break:break-word}.detail-value-with-badge{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.phone-label-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.phone-label-badge.small{font-size:11px;padding:3px 9px}.phone-label-badge.whatsapp{background:#dcf8c6;color:#075e54}.phone-label-badge.telegram{color:#08c}.phone-label-badge.none{background:#f5f5f5;color:#757575}.profile-sections{display:flex;flex-direction:column;gap:0;margin-bottom:20px}.profile-section-card{background:#fff;border:1px solid #e2e6ea;border-radius:12px;cursor:pointer;overflow:hidden;transition:all .2s ease}.profile-section-card:hover{border-color:#c5cdd4;box-shadow:0 2px 12px #0000000a}.profile-section-card:active{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.profile-section-header{align-items:center;box-sizing:border-box;display:flex;gap:12px;min-height:56px;padding:16px 20px}.section-icon{align-items:center;border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:18px;height:42px;justify-content:center;width:42px}.section-icon.personal{background:linear-gradient(135deg,#667eea,#764ba2)}.section-icon.contact{background:linear-gradient(135deg,#11998e,#38ef7d)}.section-icon.location{background:linear-gradient(135deg,#4facfe,#00f2fe)}.profile-section-header h2{color:#333;flex:1 1;font-size:18px;font-weight:600;margin:0}.section-chevron{color:#868e96;font-size:11px;transition:transform .2s ease}.profile-section-body{animation:sectionOpen .22s ease;border-top:1px solid #f0f0f0;padding:20px 20px 24px}@keyframes sectionOpen{0%{opacity:0}to{opacity:1}}.profile-section-body .profile-details-grid{padding-top:0}.profile-sub-list{border-top:1px dashed #e2e6ea;margin-top:20px;padding-top:18px}.profile-sub-list .detail-label{color:#6c757d;display:block;font-size:13px;font-weight:600;letter-spacing:.4px;margin-bottom:10px;text-transform:uppercase}.profile-list{list-style:none;margin:0;padding:0}.profile-list-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:12px;margin-bottom:10px;padding:12px 16px;transition:background .2s ease}.profile-list-item:hover{background:#eef0f2}.profile-list-item:last-child{margin-bottom:0}.profile-list-item a{color:#007bff;font-size:16px;text-decoration:none}.profile-list-item a:hover{text-decoration:underline}.list-item-icon{color:#6c757d;flex-shrink:0;font-size:15px}.profile-address-block{background:#f8f9fa;border-left:4px solid #007bff;border-radius:10px;margin-top:20px;padding:16px 18px}.profile-address-block .detail-label{color:#6c757d;display:block;font-size:13px;font-weight:600;margin-bottom:8px;text-transform:uppercase}.profile-address-text{color:#333;font-size:16px;line-height:1.55;margin:0;white-space:pre-wrap;word-break:break-word}.profile-edit-sections{display:flex;flex-direction:column;gap:24px}.form-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:20px}.form-section-title{border-bottom:2px solid #dee2e6;color:#333;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:10px}.phone-label-options{gap:10px;margin-top:10px}.phone-label-option{background:#fff;border:2px solid #dee2e6;border-radius:10px;padding:10px 18px;transition:all .2s ease}.phone-label-option:hover{background:#f0f7ff;border-color:#007bff}.phone-label-option input{opacity:0;pointer-events:none;position:absolute}.phone-label-option span{color:#495057;font-size:14px;font-weight:500}.phone-label-option.active{background:#e7f1ff}.phone-label-option.active span{color:#007bff}.btn-add-item{border:2px dashed #adb5bd;color:#6c757d;gap:8px;padding:10px 16px;transition:all .2s ease}.btn-add-item:hover{border-color:#007bff;color:#007bff}.form-group-with-remove{gap:10px;margin-bottom:12px}.btn-remove-item{align-items:center;border:1px solid #dee2e6;display:flex;height:42px;justify-content:center;transition:all .2s ease;width:42px}.btn-remove-item:hover{background:#fee;border-color:#f5c6cb}.profile-title-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.profile-info h1{color:#333;font-size:22px;font-weight:600;margin:0}.profile-title-actions{align-items:center;display:flex;gap:10px}.btn-change-password-profile,.btn-edit-profile,.btn-permission-profile{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.btn-edit-profile{background:#007bff14;border-color:#007bff40;color:#007bff}.btn-edit-profile:hover{background:#007bff26;border-color:#007bff;transform:translateY(-1px)}.btn-permission-profile{background:#f1f3f5;border-color:#dee2e6;color:#495057}.btn-permission-profile:hover{background:#e9ecef;border-color:#adb5bd;color:#212529;transform:translateY(-1px)}.btn-change-password-profile{background:#6f42c114;border-color:#6f42c166;color:#6f42c1}.btn-change-password-profile:hover{background:#6f42c129;border-color:#6f42c1;box-shadow:0 2px 10px #6f42c140;color:#4b278c;transform:translateY(-1px)}.btn-delete-patient{align-items:center;background:#dc354514;border:1px solid #dc35454d;border-radius:8px;color:#dc3545;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:background .2s,color .2s,border-color .2s,transform .2s}.btn-delete-patient:hover:not(:disabled){background:#dc354526;border-color:#dc3545;color:#c82333;transform:translateY(-1px)}.btn-delete-patient:disabled{cursor:not-allowed;opacity:.7}.form-input-readonly{background:#f8f9fa;color:#495057;cursor:not-allowed}.form-hint{color:#6c757d;display:block;font-size:12px;margin-top:4px}.detail-icon{color:#007bff;flex-shrink:0;font-size:18px}.profile-subtitle{align-items:center;color:#666;display:flex;flex-wrap:wrap;font-size:16px;gap:16px;margin:0}.profile-subtitle span{align-items:center;display:flex;gap:6px}.profile-loading{color:#666;font-size:18px;padding:60px 20px;text-align:center}.profile-actions{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-left:0;margin-top:28px;min-width:0;width:100%}.profile-other-input{margin-top:10px}.profile-action-card{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:10px;box-shadow:0 1px 4px #0000000a;color:inherit;display:flex;gap:14px;padding:14px 18px;text-decoration:none;transition:all .2s ease}.profile-action-card:hover{border-color:#007bff;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.action-icon{align-items:center;border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:22px;height:48px;justify-content:center;width:48px}.action-icon.schedule{background:linear-gradient(135deg,#667eea,#764ba2)}.action-icon.documents{background:linear-gradient(135deg,#f093fb,#f5576c)}.action-icon.reports{background:linear-gradient(135deg,#4facfe,#00f2fe)}.action-icon.invoices{background:linear-gradient(135deg,#20c997,#12b886)}.action-icon.call-summary{background:linear-gradient(135deg,#6f42c1,#5a32a3)}.action-content{flex:1 1}.action-content h3{color:#333;font-size:15px;font-weight:600;margin:0 0 4px}.action-content p{color:#666;font-size:12px;line-height:1.35;margin:0}.profile-edit-form{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;width:100%}.form-group label{color:#333;font-size:14px;font-weight:600;margin-bottom:8px}.form-input{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-row{grid-template-columns:1fr 1fr}.form-actions .btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:6px;justify-content:center;padding:10px 20px;transition:all .3s ease}.form-actions .btn:disabled{cursor:not-allowed;opacity:.6}.form-actions .btn-primary{background:#007bff;color:#fff}.form-actions .btn-primary:hover:not(:disabled){background:#0056b3;box-shadow:0 4px 8px #007bff4d;transform:translateY(-1px)}.form-actions .btn-secondary{background:#6c757d;color:#fff}.form-actions .btn-secondary:hover:not(:disabled){background:#5a6268;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.alert{border-radius:6px;font-size:14px;margin-bottom:16px}.alert-error{background:#fee;border:1px solid #fcc;color:#c33}.alert-success{background:#efe;border:1px solid #cfc;color:#3c3}@media (min-width:769px) and (max-width:1200px){.profile-actions{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.profile-header-content{align-items:stretch;flex-direction:column}.profile-quick-strip{align-items:flex-start;flex-direction:column;gap:10px}.profile-quick-item{min-width:0}.profile-details-grid{grid-template-columns:1fr}.profile-title-row{align-items:flex-start;flex-direction:column}.btn-edit-profile{justify-content:center;width:100%}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.profile-actions{grid-template-columns:1fr;margin-left:0}.profile-action-card{flex-direction:column;text-align:center}.profile-title-actions{flex-direction:column;width:100%}.btn-edit-profile,.btn-permission-profile{justify-content:center;width:100%}}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content.permission-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 12px 40px #0003;max-width:480px;transform-origin:center;width:100%}.modal-content.password-modal{animation:slideUp .28s ease-out;background:#fff;border-radius:16px;box-shadow:0 18px 45px #0f172a38;max-width:520px;overflow:hidden;width:100%}.password-modal .modal-header{padding:18px 22px 8px}.password-modal .modal-header h2{align-items:center;display:flex;gap:8px}.password-modal .modal-title-icon{color:#6f42c1}.password-mode-toggle{display:flex;gap:8px;padding:16px 20px 8px}.password-mode-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:999px;color:#495057;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.password-mode-btn:hover{background:#eef0f2}.password-mode-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 4px 12px #667eea66;color:#fff}.password-fields{padding:8px 20px 4px}.password-fields .form-group label{font-size:13px}.password-fields .form-group input{border:1px solid #dee2e6;border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.password-fields .form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea2e;outline:none}.password-info-box{background:#f5f3ff;border:1px solid #e0d9ff;border-radius:10px;color:#4b278c;font-size:13px;margin:8px 20px 0;padding:10px 12px}.modal-content.personal-info-modal{animation:slideUp .3s ease-out;background:#fff;border:1px solid #e9ecef;border-radius:16px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:560px;overflow:hidden;transform-origin:center;width:100%}.personal-info-modal .modal-header{border-bottom:1px solid #f0f0f0;flex-shrink:0;padding:20px 24px}.personal-info-modal .modal-header h2{align-items:center;color:#333;display:flex;font-size:20px;gap:12px}.personal-info-modal .modal-title-icon{color:#667eea;font-size:22px}.personal-info-modal-body{flex:1 1;overflow-y:auto;padding:24px}.personal-info-modal-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.personal-info-card{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e9ecef;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:16px;transition:all .2s ease}.personal-info-card:hover{border-color:#667eea;box-shadow:0 4px 16px #667eea1f;transform:translateY(-2px)}.personal-info-card-icon{color:#667eea;font-size:20px}.personal-info-card-label{color:#6c757d;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.personal-info-card-value,.personal-info-card-value-wrap{color:#333;font-size:15px;font-weight:500;word-break:break-word}.personal-info-card-value-wrap{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.personal-info-card-link{color:#007bff;text-decoration:none;transition:color .2s ease}.personal-info-card-link:hover{color:#0056b3;text-decoration:underline}.personal-info-address{background:#f8f9fa;border-left:4px solid #667eea;border-radius:12px;margin-top:20px;padding:18px}.personal-info-address .personal-info-card-label{display:block;margin-bottom:8px}.personal-info-address-text{color:#333;font-size:15px;line-height:1.55;margin:0;white-space:pre-wrap;word-break:break-word}.personal-info-list-section{border-top:1px dashed #e2e6ea;margin-top:20px;padding-top:20px}.personal-info-list-section .personal-info-card-label{display:block;margin-bottom:12px}.personal-info-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.personal-info-list-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;display:flex;gap:12px;padding:12px 16px;transition:all .2s ease}.personal-info-list-item:hover{background:#eef0f2;border-color:#667eea;box-shadow:0 2px 8px #667eea14}.personal-info-list-icon{color:#6c757d;flex-shrink:0;font-size:16px}.modal-header{padding:20px 20px 0}.modal-header h2{color:#333;font-size:20px;font-weight:600}.modal-close{align-items:center;background:#0000000d;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;line-height:1;padding:8px;transition:all .2s ease;width:32px}.modal-close:hover{background:#0000001a;color:#333;transform:rotate(90deg)}.modal-description{border-bottom:1px solid #f0f0f0;color:#666;font-size:14px;line-height:1.6;margin:12px 20px 0;padding-bottom:8px}.permission-modules{display:flex;flex-direction:column;gap:24px;padding:0 20px 16px}.permission-module{animation:moduleFadeIn .4s ease-out;background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e9ecef;border-radius:12px;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}@keyframes moduleFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.permission-module:before{background:linear-gradient(90deg,#007bff,#0056b3);content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.permission-module:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-2px)}.permission-module:hover:before{transform:scaleX(1)}.permission-module-title{align-items:center;color:#333;display:flex;font-size:16px;font-weight:600;gap:12px;margin:0 0 20px;transition:color .2s ease}.permission-module:hover .permission-module-title{color:#007bff}.permission-module-icon{color:#007bff;font-size:20px;transition:transform .3s ease}.permission-module:hover .permission-module-icon{transform:scale(1.1) rotate(5deg)}.permission-checkboxes{display:flex;flex-wrap:wrap;gap:12px}.permission-checkbox{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:8px;color:#333;cursor:pointer;display:flex;flex:1 1;font-size:15px;gap:10px;justify-content:center;min-width:100px;padding:12px 16px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.permission-action-icon{font-size:14px;opacity:.7;transition:all .2s ease}.permission-checkbox:hover{background:#f0f7ff;border-color:#007bff;box-shadow:0 2px 8px #007bff26;transform:translateY(-1px)}.permission-checkbox input{accent-color:#007bff;cursor:pointer;height:20px;position:relative;transition:transform .2s ease;width:20px}.permission-checkbox:hover input{transform:scale(1.15)}.permission-checkbox input:checked{animation:checkPulse .3s ease;transform:scale(1.15)}@keyframes checkPulse{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1.15)}}.permission-checkbox:has(input:checked){background:linear-gradient(135deg,#e7f3ff,#d0e7ff);border-color:#007bff;color:#007bff;font-weight:600}.permission-checkbox:hover .permission-action-icon{opacity:1;transform:scale(1.2)}.permission-checkbox:has(input:checked) .permission-action-icon{color:#007bff;opacity:1;transform:scale(1.1)}.permission-checkbox span{transition:color .2s ease}.permission-checkbox:has(input:checked) span{color:#007bff}.modal-actions{padding:16px 20px 20px}.modal-actions .btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;overflow:hidden;padding:12px 24px;position:relative;transition:all .3s ease}.modal-actions .btn:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.modal-actions .btn:hover:not(:disabled):before{height:300px;width:300px}.modal-actions .btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.modal-actions .btn-primary{background:linear-gradient(135deg,#007bff,#0056b3);box-shadow:0 4px 12px #007bff4d;color:#fff}.modal-actions .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 6px 20px #007bff66;transform:translateY(-2px)}.modal-actions .btn-primary:active:not(:disabled){box-shadow:0 2px 8px #007bff4d;transform:translateY(0)}.modal-actions .btn-secondary{background:#fff;border:2px solid #e9ecef;color:#6c757d}.modal-actions .btn-secondary:hover:not(:disabled){background:#f8f9fa;border-color:#6c757d;color:#495057;transform:translateY(-1px)}.export-data-page{margin:0 auto;max-width:900px;padding:24px}.export-data-page .page-header{margin-bottom:24px}.export-data-page .page-subtitle{color:#666;font-size:15px;margin-top:6px}.export-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;overflow:visible}.export-section h2{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;font-size:18px;gap:10px;margin:0;padding:20px 24px}.section-desc{color:#666;font-size:14px;margin:0 24px 16px}.patient-export-form{padding:0 24px 24px}.patient-export-row{gap:20px}.patient-export-fields,.patient-export-row{align-items:flex-end;display:flex;flex-wrap:wrap}.patient-export-fields{flex:1 1;gap:16px;min-width:0;overflow:visible}.patient-export-actions{flex-shrink:0}.btn-export-patient{align-items:center;display:inline-flex;gap:8px;padding:10px 20px;white-space:nowrap}.patient-export-form .form-group{display:flex;flex-direction:column;gap:4px}.patient-export-dropdown-wrapper{min-width:220px;overflow:visible;position:relative}.patient-export-form .form-group label{color:#555;font-size:13px}.patient-export-form .form-group input[type=date]{border:1px solid #dee2e6;border-radius:6px;font-size:14px;min-width:140px;padding:8px 12px}.patient-select-input{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;display:flex;min-height:42px;min-width:220px;padding:10px 14px;transition:all .2s;width:100%}.patient-select-input:hover{border-color:#007bff}.selected-patient-display{align-items:center;display:flex;gap:10px;width:100%}.select-placeholder{align-items:center;color:#6c757d;display:flex;justify-content:space-between;width:100%}.patient-avatar-small{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:36px;justify-content:center;width:36px}.dropdown-item-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.dropdown-item-name{color:#212529;font-size:14px;font-weight:500}.patient-email-small{color:#6c757d;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{color:#6c757d;flex-shrink:0;font-size:11px;margin-left:auto}.patient-dropdown-list{background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;left:0;margin-top:4px;min-width:280px;overflow:visible;position:absolute;right:0;top:100%;z-index:1050}.dropdown-search-wrapper{align-items:center;background:#f8f9fa;border-bottom:1px solid #f0f0f0;display:flex;padding:12px;position:relative}.search-icon-dropdown{color:#6c757d;font-size:14px;left:24px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:2}.dropdown-search-input{background:#fff;border:1px solid #dee2e6;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px 10px 42px;transition:all .2s;width:100%}.dropdown-search-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.clear-search-dropdown{align-items:center;background:#0000;border:none;color:#6c757d;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:4px;position:absolute;right:24px;top:50%;transform:translateY(-50%);z-index:2}.clear-search-dropdown:hover{color:#212529}.dropdown-items-container{max-height:280px;overflow-y:auto}.dropdown-item{align-items:flex-start;border-bottom:1px solid #f0f0f0;box-sizing:border-box;cursor:pointer;display:flex;gap:10px;min-height:52px;padding:12px 16px;transition:all .2s}.dropdown-item:hover{background:#f8f9fa}.dropdown-item.selected{background:#e7f3ff}.dropdown-item.no-results{color:#6c757d;cursor:default;font-style:italic;padding:16px}.dropdown-item.no-results:hover{background:#0000}.dropdown-item-info-message{background:#f8f9fa;color:#6c757d;font-size:12px;font-style:italic;padding:10px 14px;text-align:center}.export-settings-row{align-items:flex-start;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:24px;padding:20px 24px}.date-range-section h3,.patients-section h3{align-items:center;color:#333;display:flex;font-size:15px;gap:8px;margin:0 0 12px}.date-inputs{display:flex;flex-wrap:wrap;gap:16px}.date-range-section .form-group{display:flex;flex-direction:column;gap:4px}.date-range-section .form-group label{color:#555;font-size:13px}.date-range-section .form-group input{border:1px solid #dee2e6;border-radius:6px;font-size:14px;padding:8px 12px}.download-section{align-items:center;display:flex;gap:12px;margin-left:auto}.btn-download-pdf,.btn-download-zip{align-items:center;display:inline-flex;font-size:15px;gap:8px;padding:10px 20px}.btn-download-zip:disabled{cursor:not-allowed;opacity:.6}.patients-section{padding:20px 24px}.patients-section-header{gap:16px;justify-content:space-between;margin-bottom:16px}.patients-actions,.patients-section-header{align-items:center;display:flex;flex-wrap:wrap}.patients-actions{gap:12px}.search-box{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;display:flex;gap:8px;min-width:200px;padding:8px 12px}.search-box input{border:none;flex:1 1;font-size:14px;outline:none}.select-buttons{display:flex;gap:8px}.btn-sm{font-size:13px;padding:6px 12px}.patients-list{background:#fff;border:1px solid #e9ecef;border-radius:8px;max-height:320px;overflow-y:auto}.patient-check-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:background .15s}.patient-check-item:last-child{border-bottom:none}.patient-check-item:hover{background:#f8f9fa}.patient-check-item input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;width:18px}.patient-check-item .patient-name{color:#333;font-weight:500}.patient-check-item .patient-meta{color:#666;font-size:13px;margin-left:8px}.empty-list{color:#999;padding:40px 24px;text-align:center}.loading{color:#666;padding:48px}.branding-settings-page{padding:24px 0}.branding-settings-page .page-header{margin-bottom:24px}.branding-settings-page .page-header h1{align-items:center;display:flex;font-size:24px;gap:10px;margin:0 0 8px}.branding-settings-page .page-subtitle{color:#666;font-size:14px;margin:0}.branding-card{max-width:600px}.branding-card h2{font-size:18px;margin:0 0 8px}.branding-description{color:#666;font-size:14px;margin:0 0 24px}.logo-upload-section{align-items:flex-start;background:#f9f9f9;border:1px solid #eee;border-radius:8px;display:flex;flex-wrap:wrap;gap:24px;padding:16px}.logo-preview-box{align-items:center;display:flex;flex-direction:column;gap:8px}.logo-preview-img,.logo-preview-placeholder{background:#fff;border:1px solid #ddd;border-radius:6px;height:80px;max-width:200px;object-fit:contain;padding:8px;width:auto}.logo-preview-placeholder{align-items:center;color:#999;display:flex;font-size:12px;justify-content:center;min-width:120px}.logo-preview-label{color:#666;font-size:12px}.logo-actions{gap:8px}.loading-container,.logo-actions{display:flex;flex-direction:column}.loading-container{align-items:center;color:#666;justify-content:center;padding:48px}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #eee;border-radius:50%;border-top-color:#007bff;height:40px;margin-bottom:16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.roles-page{margin:0 auto;max-width:1400px;padding:24px}.roles-page .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.roles-page .page-header h1{color:#202124;font-size:28px;font-weight:700;margin:0}.roles-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.role-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px;transition:box-shadow .2s,transform .2s}.role-card .card,.role-card [class*=card]{background:#fff;border:none!important;box-shadow:none!important}.role-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.role-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.role-card-header h3{color:#202124;flex:1 1;font-size:18px;font-weight:600;margin:0}.role-actions{display:flex;gap:8px}.role-description{color:#5f6368;font-size:14px;line-height:1.5;margin:0 0 12px}.role-permissions-summary{border-top:1px solid #e9ecef;padding-top:12px}.permission-stats{color:#5f6368;display:flex;font-size:13px;gap:16px}.permission-stats span{align-items:center;display:flex;gap:4px}@media (max-width:768px){.roles-grid{grid-template-columns:1fr}}.role-form-page{margin:0 auto;max-width:960px;padding:24px}.role-form-header{margin-bottom:32px}.btn-back{align-items:center;background:#0000;border:1px solid #e0e0e0;border-radius:8px;color:#5f6368;cursor:pointer;display:inline-flex;font-size:14px;gap:8px;margin-bottom:16px;padding:8px 16px;transition:background .2s,color .2s,border-color .2s}.btn-back:hover{background:#f8f9fa;border-color:#dadce0;color:#202124}.role-form-header h1{color:#202124;font-size:28px;font-weight:700;margin:0}.role-form{display:flex;flex-direction:column;gap:32px}.role-form-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:28px}.role-form-section h2{border-bottom:1px solid #e9ecef;color:#202124;font-size:18px;font-weight:600;margin:0 0 20px;padding-bottom:12px}.section-hint{color:#5f6368;font-size:14px;margin:0 0 24px}.role-form-section .form-group{margin-bottom:20px}.role-form-section .form-group:last-child{margin-bottom:0}.role-form-section label{color:#202124;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.role-form-section input[type=text],.role-form-section textarea{border:1px solid #dadce0;border-radius:8px;font-size:15px;padding:12px 16px;transition:border-color .2s;width:100%}.role-form-section input:focus,.role-form-section textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff26;outline:none}.role-form-section textarea{min-height:100px;resize:vertical}.permissions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.permission-card{background:#fafbfc;border:2px solid #e9ecef;border-radius:12px;padding:18px;transition:all .2s ease}.permission-card .card,.permission-card [class*=card]{background:#fff;border:none!important;box-shadow:none!important}.permission-card:hover{background:#fff;border-color:#cbd5e0;box-shadow:0 4px 12px #0000000f}.permission-card--active{background:#f8fbff;border-color:#007bff}.permission-card--full{background:#f4fbf6;border-color:#28a745}.permission-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:14px}.permission-card-title{color:#202124;font-size:15px;font-weight:600}.permission-quick-actions{display:flex;gap:6px}.permission-quick-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;padding:4px 10px;transition:all .15s ease}.permission-quick-all{background:#e7f3ff;color:#06c}.permission-quick-all:hover{background:#007bff;color:#fff}.permission-quick-none{background:#f0f0f0;color:#5f6368}.permission-quick-none:hover{background:#e0e0e0;color:#202124}.permission-toggles{display:flex;flex-wrap:wrap;gap:8px}.permission-toggle{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#5f6368;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s ease}.permission-toggle:hover{background:#f0f7ff;border-color:#007bff;color:#007bff}.permission-toggle.active{background:#007bff;border-color:#007bff;color:#fff}.permission-toggle.active:hover{background:#0062cc;border-color:#0062cc;color:#fff}.permission-toggle-icon{font-size:12px;opacity:.9}.permission-extra{border-top:1px dashed #e0e0e0;margin-top:12px;padding-top:12px}.permission-toggle--extra{font-size:12px;padding:6px 12px}.permission-toggle--extra span{white-space:nowrap}.role-form-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:24px 0}.role-form-page .access-denied{color:#5f6368;padding:60px 20px;text-align:center}.role-form-page .access-denied svg{color:#ea4335;margin-bottom:16px}.role-form-page .access-denied h2{color:#202124;margin:0 0 8px}.role-form-page .loading{color:#5f6368;padding:60px 20px;text-align:center}@media (max-width:768px){.role-form-page{padding:16px}.permissions-grid{grid-template-columns:1fr}.permission-card-header{align-items:flex-start;flex-direction:column}.permission-toggles{width:100%}.permission-toggle{flex:1 1;justify-content:center;min-width:0}.role-form-actions{flex-direction:column}.role-form-actions .btn{width:100%}}.sub-users-page{margin:0 auto;max-width:1400px;padding:24px}.sub-users-page .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.sub-users-page .page-header h1{color:#202124;font-size:28px;font-weight:700;margin:0}.access-denied{color:#5f6368;padding:60px 20px;text-align:center}.access-denied svg{color:#ea4335;margin-bottom:16px}.access-denied h2{color:#202124;margin:0 0 8px}.filters-bar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.search-box{flex:1 1;min-width:250px;position:relative}.search-icon{color:#6c757d;font-size:14px;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.search-input{border:1px solid #dee2e6;border-radius:8px;font-size:14px;padding:10px 12px 10px 38px;transition:all .2s;width:100%}.search-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.filter-select{background:#fff;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;font-size:14px;min-width:150px;padding:10px 12px;transition:all .2s}.filter-select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.empty-state{background:#f8f9fa;border-radius:12px;color:#6c757d;padding:60px 20px}.empty-state svg{color:#adb5bd;margin-bottom:16px}.sub-users-table-wrapper{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.sub-users-table{border-collapse:collapse;width:100%}.sub-users-table thead{background:#f8f9fa}.sub-users-table th{border-bottom:2px solid #e9ecef;color:#5f6368;font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.sub-users-table td{border-bottom:1px solid #f1f3f4;color:#202124;font-size:14px;padding:16px}.sub-users-table tbody tr:hover{background:#f8f9fa}.user-info{align-items:center;display:flex;gap:10px}.user-icon{color:#5f6368;font-size:16px}.role-badge{background:#e3f2fd;border-radius:12px;color:#1565c0;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.no-role{color:#9aa0a6;font-style:italic}.status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:4px 10px}.status-active{background:#e8f5e9;color:#2e7d32}.status-inactive{background:#ffebee;color:#c62828}.table-actions{display:flex;gap:8px}.btn-icon{align-items:center;background:#0000;border:none;border-radius:6px;color:#5f6368;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;padding:0;transition:background .2s,color .2s;width:32px}.btn-icon:hover{background:#f1f3f4;color:#202124}.btn-icon-danger:hover{background:#fce8e6;color:#d93025}.sub-user-modal{box-sizing:border-box;max-width:480px;overflow-x:hidden;width:100%}.sub-user-modal .modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.sub-user-modal .modal-header h2{color:#202124;font-size:20px;font-weight:600;margin:0}.close-btn{align-items:center;background:#0000;border-radius:50%;color:#5f6368;display:flex;font-size:20px;height:36px;justify-content:center;padding:0;transition:background .2s,color .2s;width:36px}.close-btn:hover{background:#f1f3f4;color:#202124}.sub-user-modal .form-group{margin-bottom:20px}.sub-user-modal .form-group label{color:#202124;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.sub-user-modal .form-group input,.sub-user-modal .form-group select{border:1px solid #dadce0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;max-width:100%;padding:10px 12px;transition:border-color .2s;width:100%}.sub-user-modal .form-group input:focus,.sub-user-modal .form-group select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.sub-user-modal .form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.sub-user-modal .form-group small{color:#6c757d;display:block;font-size:12px;margin-top:6px}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:10px}.checkbox-label input[type=checkbox]{accent-color:#007bff;cursor:pointer;height:18px;width:18px}.info-box{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:8px;margin-bottom:20px;overflow-wrap:break-word;padding:12px 16px;word-break:break-word}.info-box p{color:#004085;font-size:13px;line-height:1.5;margin:0}.modal-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px}@media (max-width:768px){.sub-users-table-wrapper{overflow-x:auto}.sub-users-table{min-width:800px}.sub-user-modal{max-width:100%}.filters-bar{flex-direction:column}.search-box{min-width:auto}}.event-detail-success-banner{animation:fadeIn .3s ease;border-radius:0;font-weight:500;margin:0;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.patient-portal-schedule h1{color:#202124;font-size:24px;margin:0 0 8px}.calendar-wrapper-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:0 10px 10px}.patient-schedule-intro{color:#5f6368;font-size:14px;margin-bottom:20px}.patient-schedule-loading{color:#5f6368;padding:40px;text-align:center}.patient-schedule-nav{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.patient-schedule-week-label{color:#202124;font-weight:500;margin-left:8px}.patient-schedule-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(7,1fr)}@media (max-width:900px){.patient-schedule-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.patient-schedule-grid{grid-template-columns:1fr}}.patient-schedule-day{background:#fff;border-radius:10px;box-shadow:0 2px 6px #0000000f;padding:12px}.patient-schedule-day-header{border-bottom:1px solid #eee;color:#202124;font-size:13px;font-weight:600;margin-bottom:10px;padding-bottom:8px}.patient-schedule-day-blocks{display:flex;flex-direction:column;gap:10px}.patient-schedule-empty{color:#9aa0a6;font-size:12px}.patient-schedule-block{background:#f8f9fa;border-radius:8px;cursor:pointer;padding:10px;transition:background .2s}.patient-schedule-block:hover{background:#eef0f2}.patient-schedule-protocol-badge{border-radius:4px;color:#fff;display:inline-block;font-size:11px;margin-bottom:6px;padding:2px 8px}.patient-schedule-block-items{list-style:none;margin:0;padding:0}.patient-schedule-item-row{align-items:center;display:flex;font-size:13px;gap:8px;justify-content:space-between;padding:4px 0}.patient-schedule-item-name{flex:1 1;min-width:0}.patient-schedule-tick{background:none;border:none;color:#28a745;cursor:pointer;flex-shrink:0;font-size:18px;padding:4px}.patient-schedule-tick:disabled{cursor:not-allowed;opacity:.6}.patient-schedule-detail-summary{border-bottom:1px solid #eee;margin-bottom:16px;padding-bottom:16px}.patient-schedule-detail-item{align-items:center;display:inline-flex;gap:8px;margin-bottom:8px;margin-right:12px}.patient-schedule-notes-list{margin-bottom:20px}.patient-schedule-note{background:#f8f9fa;border-radius:8px;margin-bottom:10px;padding:12px}.patient-note-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.patient-note-head strong{font-size:14px}.patient-note-desc{color:#5f6368;font-size:13px;margin:8px 0 0;white-space:pre-wrap}.patient-note-files{color:#9aa0a6;font-size:12px;margin:6px 0 0}.btn-ghost{background:#0000;border:none;color:#5f6368;padding:4px 8px}.btn-ghost:hover{background:#f1f3f4;color:#202124}.patient-note-add-form,.patient-note-edit-form{margin-top:12px}.patient-note-input{margin-bottom:8px}.patient-note-input,.patient-note-textarea{border:1px solid #dadce0;border-radius:6px;font-size:14px;padding:8px 12px;width:100%}.patient-note-textarea{margin-bottom:10px;resize:vertical}.patient-note-actions{display:flex;gap:8px}.note-badge{align-items:center;border-radius:10px;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:600;gap:4px;padding:2px 8px}.note-badge .doctor-badge-icon{font-size:10px;opacity:.9}.note-badge--doctor{background:#e3f2fd;color:#1565c0}.note-badge--patient{background:#e8f5e9;color:#2e7d32}.doctor-badge{align-items:center;background:#e3f2fd;border:1px solid #0000;border-radius:12px;color:#1565c0;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:4px 10px;transition:all .2s ease;white-space:nowrap}.doctor-badge:hover{background:#bbdefb;box-shadow:0 2px 4px #1565c033;color:#0d47a1;transform:translateY(-1px)}.doctor-badge:active{transform:translateY(0)}.doctor-badge-icon{font-size:11px;opacity:.9}.patient-change-password h1{color:#202124;font-size:24px;margin:0 0 8px}.patient-cp-intro{color:#5f6368;font-size:14px;margin-bottom:24px}.patient-cp-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;max-width:400px;padding:28px}.patient-cp-form .form-group{margin-bottom:18px}.patient-cp-form label{color:#202124;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.patient-cp-form input{border:1px solid #dadce0;border-radius:8px;font-size:15px;padding:10px 14px;width:100%}.alert-success{background:#d4edda}.patient-reset-password{align-items:center;background:linear-gradient(135deg,#0f4c81,#1a6bb5 40%,#2d8fd6);box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:24px;position:relative;width:100%}.patient-reset-bg{background:radial-gradient(circle at 20% 80%,#ffffff14 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff0f 0,#0000 40%);inset:0;pointer-events:none;position:absolute}.patient-reset-card{animation:patientResetSlideUp .5s ease-out;background:#fff;border-radius:20px;box-shadow:0 24px 64px #0003,0 8px 24px #0000001f;max-width:440px;padding:40px 44px;position:relative;width:100%}@keyframes patientResetSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.patient-reset-header{margin-bottom:32px;text-align:center}.patient-reset-icon{animation:patientResetPulse 2s ease-in-out infinite;font-size:48px;margin-bottom:16px}@keyframes patientResetPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.patient-reset-header h1{color:#1a1a2e;font-size:26px;font-weight:600;margin:0 0 12px}.patient-reset-intro{color:#5f6368;font-size:15px;line-height:1.5;margin:0}.patient-reset-alert{animation:patientResetFadeIn .3s ease;border-radius:12px;font-size:14px;margin-bottom:24px;padding:14px 18px}@keyframes patientResetFadeIn{0%{opacity:0}to{opacity:1}}.patient-reset-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.patient-reset-alert.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.patient-reset-form{display:flex;flex-direction:column;gap:22px}.patient-reset-field{position:relative;transition:transform .2s ease}.patient-reset-field.focused{transform:translateY(-1px)}.patient-reset-field label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px;transition:color .2s}.patient-reset-field.focused label,.patient-reset-field.has-value label{color:#0f4c81}.patient-reset-field input{background:#fafafa;border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;font-size:16px;padding:14px 18px;transition:all .25s ease;width:100%}.patient-reset-field input:hover{background:#f5f5f5;border-color:#d1d5db}.patient-reset-field input:focus{background:#fff;border-color:#0f4c81;box-shadow:0 0 0 4px #0f4c8126;outline:none}.patient-reset-field input::placeholder{color:#9ca3af}.patient-reset-hint{color:#6b7280;display:block;font-size:12px;margin-top:6px}.patient-reset-recaptcha{display:flex;justify-content:center;margin:8px 0 4px;min-height:78px}.patient-reset-recaptcha>div{margin:0 auto}.patient-reset-btn{background:linear-gradient(135deg,#0f4c81,#1a6bb5);border:none;border-radius:12px;box-shadow:0 4px 14px #0f4c8159;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:16px 24px;transition:all .25s ease}.patient-reset-btn:hover:not(:disabled){box-shadow:0 6px 20px #0f4c8166;transform:translateY(-2px)}.patient-reset-btn:active:not(:disabled){transform:translateY(0)}.patient-reset-btn:disabled{cursor:not-allowed;opacity:.8}.patient-reset-btn-loading{align-items:center;display:inline-flex;gap:10px}.patient-reset-btn-loading .spinner{animation:patientResetSpin .8s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@keyframes patientResetSpin{to{transform:rotate(1turn)}}@media (max-width:480px){.patient-reset-card{padding:28px 24px}.patient-reset-header h1{font-size:22px}}.patient-verify-email{align-items:center;background:linear-gradient(135deg,#0f4c81,#1a6bb5 40%,#2d8fd6);box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:24px;position:relative;width:100%}.patient-verify-bg{background:radial-gradient(circle at 20% 80%,#ffffff14 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff0f 0,#0000 40%);inset:0;pointer-events:none;position:absolute}.patient-verify-card{animation:patientVerifySlideUp .5s ease-out;background:#fff;border-radius:20px;box-shadow:0 24px 64px #0003,0 8px 24px #0000001f;max-width:440px;padding:40px 44px;position:relative;width:100%}@keyframes patientVerifySlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.patient-verify-header{margin-bottom:28px;text-align:center}.patient-verify-icon{font-size:48px;margin-bottom:16px}.patient-verify-header h1{color:#1a1a2e;font-size:26px;font-weight:600;margin:0 0 12px}.patient-verify-intro{color:#5f6368;font-size:15px;line-height:1.5;margin:0}.patient-verify-intro strong{color:#1a1a2e}.patient-verify-alert{border-radius:12px;font-size:14px;margin-bottom:20px;padding:14px 18px}.patient-verify-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.patient-verify-alert.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.patient-verify-form{display:flex;flex-direction:column;gap:20px}.patient-verify-field label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.patient-verify-field input{background:#fafafa;border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;font-size:22px;letter-spacing:8px;padding:14px 18px;text-align:center;transition:all .2s;width:100%}.patient-verify-field input:focus{background:#fff;border-color:#0f4c81;box-shadow:0 0 0 4px #0f4c8126;outline:none}.patient-verify-timer{color:#6b7280;font-size:14px;text-align:center}.patient-verify-timer-expired{color:#b91c1c}.patient-verify-btn{background:linear-gradient(135deg,#0f4c81,#1a6bb5);border:none;border-radius:12px;box-shadow:0 4px 14px #0f4c8159;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:4px;padding:16px 24px;transition:all .25s ease}.patient-verify-btn:hover:not(:disabled){box-shadow:0 6px 20px #0f4c8166;transform:translateY(-2px)}.patient-verify-btn:disabled{cursor:not-allowed;opacity:.7}.patient-verify-btn-loading .spinner{animation:patientVerifySpin .8s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;height:18px;margin-right:8px;vertical-align:middle;width:18px}@keyframes patientVerifySpin{to{transform:rotate(1turn)}}.patient-verify-resend{margin-top:8px;text-align:center}.patient-verify-resend-btn{background:none;border:none;color:#0f4c81;cursor:pointer;font-size:14px;font-weight:600;padding:8px;text-decoration:underline}.patient-verify-resend-btn:hover:not(:disabled){color:#1a6bb5}.patient-verify-resend-btn:disabled{color:#9ca3af;cursor:not-allowed;text-decoration:none}@media (max-width:480px){.patient-verify-card{padding:28px 24px}.patient-verify-header h1{font-size:22px}.patient-verify-field input{font-size:20px;letter-spacing:6px}}.patient-portal-profile{margin:0 auto;max-width:800px;padding:16px 20px}.patient-portal-profile h1{color:#202124;font-size:24px;margin:0 0 8px}.patient-portal-profile-intro{color:#5f6368;font-size:14px;margin-bottom:24px}.patient-portal-profile-loading{color:#5f6368;padding:40px;text-align:center}.patient-portal-profile-avatar-section{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;display:flex;flex-wrap:wrap;justify-content:flex-start;margin-bottom:24px;padding:28px}.patient-portal-avatar-block{flex-shrink:0;position:relative}.patient-portal-avatar-wrap{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:48px;font-weight:600;height:120px;justify-content:center;overflow:hidden;position:relative;width:120px}.patient-portal-avatar-img{display:block;height:100%;object-fit:cover;object-position:center;width:100%}.patient-portal-avatar-initial{line-height:1}.patient-portal-avatar-edit-btn{align-items:center;background:#007bff;border:2px solid #fff;border-radius:50%;bottom:0;box-shadow:0 2px 8px #0003;color:#fff;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;position:absolute;right:0;transition:transform .2s,background .2s;width:32px}.patient-portal-avatar-edit-btn:hover:not(:disabled){background:#0056b3;transform:scale(1.08)}.patient-portal-avatar-edit-btn:disabled{cursor:not-allowed;opacity:.7}.patient-portal-profile-details{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:24px 28px}.patient-portal-profile-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.patient-portal-profile-header h2{color:#202124;font-size:20px;margin:0}.patient-portal-edit-btn{align-items:center;background:#007bff;border:1px solid #007bff;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:background .2s,background-color .2s}.patient-portal-edit-btn:hover{background:#0056b3;border-color:#0056b3}.patient-portal-quick-strip{align-items:center;background:#fafbfc;border:1px solid #e9ecef;border-radius:10px;display:flex;flex-wrap:wrap;gap:14px 28px;margin-bottom:20px;padding:14px 18px}.patient-portal-quick-item{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0;min-width:140px}.patient-portal-quick-item .quick-icon{color:#007bff;flex-shrink:0;font-size:15px}.patient-portal-quick-item .quick-label{color:#6c757d;flex-shrink:0;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.patient-portal-quick-item .quick-value{align-items:center;color:#333;display:flex;flex-wrap:wrap;font-size:15px;font-weight:500;gap:6px;word-break:break-word}.phone-label-badge{background:#e3f2fd;border-radius:4px;color:#1565c0;font-size:11px;padding:2px 8px}.phone-label-badge.whatsapp{background:#e8f5e9;color:#2e7d32}.phone-label-badge.telegram{background:#e3f2fd;color:#0277bd}.phone-label-badge.signal{background:#f3e5f5;color:#7b1fa2}.patient-portal-details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:20px}.patient-portal-detail-card{background:#fafbfc;border:1px solid #e9ecef;border-radius:8px;padding:12px 16px}.patient-portal-detail-card .detail-card-icon{color:#007bff;font-size:14px;margin-right:6px}.patient-portal-detail-card .detail-card-label{color:#6c757d;display:block;font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.patient-portal-detail-card .detail-card-value{color:#333;font-size:15px;font-weight:500}.patient-portal-address{margin-bottom:20px}.patient-portal-address .detail-card-label{color:#6c757d;display:block;font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:6px;text-transform:uppercase}.patient-portal-address-text{color:#333;font-size:15px;line-height:1.5;margin:0}.patient-portal-list-section{margin-bottom:16px}.patient-portal-list-section .detail-card-label{color:#6c757d;display:block;font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:8px;text-transform:uppercase}.patient-portal-list{list-style:none;margin:0;padding:0}.patient-portal-list-item{align-items:center;display:flex;font-size:15px;gap:8px;padding:6px 0}.patient-portal-list-item .list-icon{color:#007bff;flex-shrink:0;font-size:14px}.detail-link{color:#007bff;text-decoration:none}.detail-link:hover{text-decoration:underline}.patient-portal-edit-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:24px 28px}.patient-portal-form-sections{display:flex;flex-direction:column;gap:24px}.patient-portal-form-section h3{border-bottom:1px solid #e9ecef;color:#333;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.patient-portal-form-section .form-group{margin-bottom:16px}.patient-portal-form-section .form-group:last-child{margin-bottom:0}.patient-portal-form-section label{color:#495057;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.patient-portal-form-section .form-input{border:1px solid #dee2e6;border-radius:8px;box-sizing:border-box;font-size:15px;padding:10px 14px;width:100%}.patient-portal-form-section .form-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff33;outline:none}.patient-portal-form-section .form-input-readonly{background:#f8f9fa;color:#6c757d;cursor:not-allowed}.patient-portal-form-section .form-hint{color:#6c757d;display:block;font-size:12px;margin-top:6px}.patient-portal-form-section .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.patient-portal-select .patient-portal-select__control{border:1px solid #dee2e6;border-radius:8px;font-size:15px;min-height:42px}.patient-portal-select .patient-portal-select__control--is-focused{border-color:#007bff;box-shadow:0 0 0 2px #007bff33}.patient-portal-select .patient-portal-select__control:hover{border-color:#adb5bd}.patient-portal-select .patient-portal-select__placeholder{color:#6c757d}.patient-portal-select .patient-portal-select__input-container{margin:0;padding:0}.patient-portal-select .patient-portal-select__menu{z-index:100}.form-group-with-remove{align-items:center;display:flex;gap:8px}.form-group-with-remove .form-input{flex:1 1}.btn-remove-item{background:#fff;border:1px solid #dc3545;border-radius:8px;color:#dc3545;cursor:pointer;flex-shrink:0;font-size:14px;padding:8px 12px}.btn-remove-item:hover{background:#dc3545;color:#fff}.btn-add-item{align-items:center;background:#fff;border:1px dashed #007bff;border-radius:8px;color:#007bff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;margin-top:8px;padding:8px 14px}.btn-add-item:hover{background:#f0f7ff}.phone-label-options{display:flex;flex-wrap:wrap;gap:12px}.phone-label-option{align-items:center;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:14px;gap:6px;padding:8px 14px}.phone-label-option.active{background:#f0f7ff;border-color:#007bff;color:#007bff}.phone-label-option input{margin:0}.patient-portal-form-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;margin-top:24px;padding-top:20px}.patient-portal-form-actions .btn{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;gap:8px;padding:10px 20px}.patient-portal-form-actions .btn-primary{background:#007bff;border:none;color:#fff}.patient-portal-form-actions .btn-primary:hover:not(:disabled){background:#0056b3}.patient-portal-form-actions .btn-secondary{background:#fff;border:1px solid #dee2e6;color:#495057}.patient-portal-form-actions .btn-secondary:hover:not(:disabled){background:#f8f9fa}.patient-portal-form-actions .btn:disabled{cursor:not-allowed;opacity:.7}.patient-portal-profile .alert{border-radius:8px;font-size:14px;margin-bottom:20px;padding:12px 16px}.patient-portal-profile .alert-error{background:#fee;border:1px solid #fcc;color:#c33}.patient-portal-profile .alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.patient-portal-profile .btn-primary{background:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;padding:10px 20px}.patient-portal-profile .btn-primary:hover:not(:disabled){background:#0056b3}.patient-portal-profile .btn-primary:disabled{cursor:not-allowed;opacity:.7}.patient-request-new{align-items:center;background:linear-gradient(135deg,#0f4c81,#1a6bb5 40%,#2d8fd6);box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:24px;position:relative}.patient-request-new-bg{background:radial-gradient(circle at 20% 80%,#ffffff14 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff0f 0,#0000 40%);inset:0;pointer-events:none;position:absolute}.patient-request-new-card{animation:patientRequestNewSlideUp .5s ease-out;background:#fff;border-radius:20px;box-shadow:0 24px 64px #0003,0 8px 24px #0000001f;max-width:460px;padding:32px 40px;position:relative;width:100%}@keyframes patientRequestNewSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.patient-request-new-back{color:#0f4c81;display:inline-block;font-size:14px;font-weight:500;margin-bottom:20px;text-decoration:none;transition:color .2s}.patient-request-new-back:hover{color:#1a6bb5;text-decoration:underline}.patient-request-new-header{margin-bottom:24px;text-align:center}.patient-request-new-icon{font-size:44px;line-height:1;margin-bottom:14px}.patient-request-new-header h1{color:#1a1a2e;font-size:24px;font-weight:600;margin:0 0 10px}.patient-request-new-intro{color:#5f6368;font-size:15px;line-height:1.5;margin:0}.patient-request-new-loading{align-items:center;color:#64748b;display:flex;font-size:15px;gap:12px;justify-content:center;padding:32px}.patient-request-new-spinner{animation:patientRequestNewSpin .8s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#0f4c81;height:22px;width:22px}@keyframes patientRequestNewSpin{to{transform:rotate(1turn)}}.patient-request-new-alert{border-radius:10px;font-size:14px;margin-bottom:18px;padding:12px 16px}.patient-request-new-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.patient-request-new-form{display:flex;flex-direction:column;gap:18px}.patient-request-new-field label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.patient-request-new-field select{background:#fafafa;border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;color:#1a1a2e;cursor:pointer;font-size:16px;padding:14px 16px;transition:all .2s ease;width:100%}.patient-request-new-field select:hover{background:#f5f5f5;border-color:#d1d5db}.patient-request-new-field select:focus{background:#fff;border-color:#0f4c81;box-shadow:0 0 0 4px #0f4c8126;outline:none}.patient-request-new-input,.patient-request-new-textarea{background:#fafafa;border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;color:#1a1a2e;font-family:inherit;font-size:16px;padding:14px 16px;transition:all .2s ease;width:100%}.patient-request-new-textarea{min-height:100px;resize:vertical}.patient-request-new-input:hover,.patient-request-new-textarea:hover{background:#f5f5f5;border-color:#d1d5db}.patient-request-new-input:focus,.patient-request-new-textarea:focus{background:#fff;border-color:#0f4c81;box-shadow:0 0 0 4px #0f4c8126;outline:none}.patient-request-new-confirm-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.patient-request-new-confirm-modal{background:#fff;border-radius:16px;box-shadow:0 24px 64px #0003;max-width:380px;padding:24px;width:100%}.patient-request-new-confirm-title{color:#1a1a2e;font-size:16px;font-weight:500;line-height:1.5;margin:0 0 20px}.patient-request-new-confirm-actions{display:flex;gap:12px;justify-content:flex-end}.patient-request-new-confirm-actions .patient-request-new-btn{min-width:100px}.patient-request-new-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.patient-request-new-btn{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;min-width:110px;padding:14px 22px;transition:all .25s ease}.patient-request-new-btn.primary{background:linear-gradient(135deg,#0f4c81,#1a6bb5);box-shadow:0 4px 14px #0f4c8159;color:#fff}.patient-request-new-btn.primary:hover:not(:disabled){box-shadow:0 6px 20px #0f4c8166;transform:translateY(-2px)}.patient-request-new-btn.secondary{background:#f3f4f6;color:#374151}.patient-request-new-btn.secondary:hover:not(:disabled){background:#e5e7eb}.patient-request-new-btn:disabled{cursor:not-allowed;opacity:.7}.patient-request-new-btn-loading{align-items:center;display:inline-flex;gap:10px}.patient-request-new-btn-loading .spinner{animation:patientRequestNewSpin .8s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@media (max-width:480px){.patient-request-new-card{padding:24px 20px}.patient-request-new-header h1{font-size:22px}.patient-request-new-actions{flex-direction:column}.patient-request-new-btn{min-width:100%}}.patient-requests-page{margin:0 auto;max-width:1000px;min-height:60vh;padding:24px 20px}.patient-requests-header{margin-bottom:24px}.patient-requests-header-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.patient-requests-header h1{color:#1a1a2e;font-size:26px;font-weight:600;margin:0 0 6px}.patient-requests-subtitle{color:#5f6368;font-size:15px;margin:0}.patient-requests-new-btn{align-items:center;background:linear-gradient(135deg,#0f4c81,#1a6bb5);border-radius:10px;color:#fff;display:inline-flex;font-size:15px;font-weight:600;padding:12px 22px;text-decoration:none;transition:transform .2s,box-shadow .2s;white-space:nowrap}.patient-requests-new-btn:hover{box-shadow:0 4px 14px #0f4c8159;transform:translateY(-1px)}.patient-requests-filters{display:flex;flex-wrap:wrap;gap:8px}.patient-requests-filter-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#475569;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;transition:all .2s}.patient-requests-filter-btn:hover{background:#f8fafc;border-color:#0f4c81;color:#0f4c81}.patient-requests-filter-btn.active{background:linear-gradient(135deg,#0f4c81,#1a6bb5);border-color:#0000;color:#fff}.patient-requests-filter-count{background:#0000001f;border-radius:10px;font-size:12px;padding:2px 8px}.patient-requests-filter-btn.active .patient-requests-filter-count{background:#ffffff4d}.patient-requests-alert{border-radius:12px;font-size:14px;margin-bottom:20px;padding:14px 18px}.patient-requests-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.patient-requests-loading{align-items:center;color:#64748b;display:flex;font-size:15px;gap:12px;justify-content:center;padding:48px}.patient-requests-loading-spinner{animation:patientRequestsSpin .8s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#0f4c81;height:24px;width:24px}@keyframes patientRequestsSpin{to{transform:rotate(1turn)}}.patient-requests-empty{background:#f8fafc;border:2px dashed #e2e8f0;border-radius:16px;padding:48px 24px;text-align:center}.patient-requests-empty-icon{font-size:48px;margin-bottom:16px;opacity:.7}.patient-requests-empty p{color:#64748b;font-size:15px;margin:0 0 20px}.patient-requests-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.patient-requests-grid .card,.patient-requests-grid [class*=card]{background:#fff;border:none!important;box-shadow:none!important}.patient-requests-card{background:#fff;border-left:4px solid #94a3b8;border:none!important;border-radius:14px;box-shadow:0 2px 8px #0000000f!important;padding:18px 20px;transition:box-shadow .2s,transform .15s}.patient-requests-card:hover{box-shadow:0 4px 16px #00000014}.patient-requests-card.status-pending{border-left-color:#f59e0b}.patient-requests-card.status-accepted{border-left-color:#10b981}.patient-requests-card.status-closed{border-left-color:#64748b}.patient-requests-card-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:14px}.patient-requests-card-category{color:#1a1a2e;font-size:16px;font-weight:600}.patient-requests-card-status{border-radius:20px;font-size:12px;font-weight:600;padding:5px 12px}.patient-requests-card-status.status-pending{background:#fef3c7;color:#b45309}.patient-requests-card-status.status-accepted{background:#d1fae5;color:#047857}.patient-requests-card-status.status-closed{background:#f1f5f9;color:#475569}.patient-requests-card-detail{background:#f8fafc;border-radius:10px;margin-bottom:12px;padding:10px 12px}.patient-requests-card-subject{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:4px}.patient-requests-card-message{color:#475569;font-size:13px;line-height:1.45;margin:0;white-space:pre-wrap}.patient-requests-timer-wrap{align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:10px;display:flex;gap:10px;margin-bottom:12px;padding:10px 12px}.patient-requests-timer-label{color:#0369a1;font-size:12px;font-weight:600}.patient-requests-timer-value{font-feature-settings:"tnum";color:#0c4a6e;font-size:15px;font-variant-numeric:tabular-nums;font-weight:700}.patient-requests-timer-live{animation:patientRequestsPulse 1.5s ease-in-out infinite}@keyframes patientRequestsPulse{0%,to{opacity:1}50%{opacity:.85}}.patient-requests-close-summary{background:#f1f5f9;border-radius:10px;margin-top:8px;padding:10px 12px}.patient-requests-close-summary .patient-requests-timeline-label{display:block;margin-bottom:4px}.patient-requests-close-summary-text{color:#475569;font-size:13px;line-height:1.45;margin:0;white-space:pre-wrap}.patient-requests-timeline-compact{grid-gap:6px;display:grid;gap:6px}.patient-requests-timeline-row-compact{align-items:center;background:#f8fafc;border-radius:8px;display:flex;font-size:13px;justify-content:space-between;padding:6px 10px}.patient-requests-timeline-label{color:#64748b;font-size:12px;font-weight:500}.patient-requests-timeline-value{font-feature-settings:"tnum";color:#1e293b;font-size:12px;font-variant-numeric:tabular-nums}@media (max-width:768px){.patient-requests-grid{grid-template-columns:1fr}.patient-requests-header-top{align-items:stretch;flex-direction:column}.patient-requests-new-btn{justify-content:center}}@media (max-width:480px){.patient-requests-timeline-row-compact{align-items:flex-start;flex-direction:column;gap:2px}}.admin-panel{background:#f5f6fa;min-height:100vh}.admin-header{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;padding:20px 24px}.admin-header h1{color:#1a1a2e;font-size:24px;margin:0 0 4px}.admin-subtitle{color:#6c757d;font-size:14px;margin:0}.admin-header-actions{align-items:center;display:flex;gap:16px}.admin-user{color:#495057;font-size:14px}.admin-content{margin:0 auto;max-width:1200px;padding:24px}.admin-toolbar{margin-bottom:20px}.admin-form-card,.admin-list-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px;padding:24px}.admin-form-card h2,.admin-list-card h2{color:#333;font-size:18px;margin:0 0 20px}.alert-dismissible{align-items:center;display:flex;gap:12px;justify-content:space-between}.alert-close{background:none;border:none;cursor:pointer;font-size:20px;line-height:1;opacity:.7;padding:0 4px}.alert-close:hover{opacity:1}.alert-error .alert-close{color:#721c24}.alert-success .alert-close{color:#155724}.admin-list-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.admin-list-header h2{margin:0}.admin-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.admin-search{border:1px solid #dee2e6;border-radius:8px;font-size:14px;min-width:200px;padding:8px 14px;transition:border-color .2s,box-shadow .2s}.admin-search:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff26;outline:none}.admin-status-tabs{border:1px solid #dee2e6;border-radius:8px;display:flex;overflow:hidden}.admin-tab{background:#fff;border:none;color:#6c757d;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background .2s,color .2s}.admin-tab:hover{background:#f8f9fa;color:#333}.admin-tab.active{background:#007bff;color:#fff}.admin-loading{color:#6c757d;margin:0;padding:24px}.admin-table-wrap{border:1px solid #e9ecef;border-radius:8px;overflow-x:auto}.admin-table-row{transition:background .15s}.admin-table-row:hover{background:#f8f9fa}.admin-row-actions{align-items:center;display:inline-flex;flex-wrap:nowrap;gap:8px}.admin-row-actions .btn-small{flex-shrink:0;white-space:nowrap}.form-section{margin-bottom:24px}.form-section h3{color:#6c757d;font-size:14px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.form-group label{color:#495057;font-size:13px}.form-group input{border:1px solid #dee2e6;border-radius:8px;font-size:14px;padding:10px 12px;width:100%}.form-group input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff26;outline:none}.form-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;margin-top:24px;padding-top:20px}.admin-table{border-collapse:collapse;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #e9ecef;padding:12px 16px;text-align:left}.admin-table td:last-child,.admin-table th:last-child{text-align:right;white-space:nowrap;width:1%}.admin-table td:last-child{vertical-align:middle}.admin-table th{background:#f8f9fa;color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.admin-table td{color:#333;font-size:14px}.admin-table code{background:#f1f3f5;border-radius:4px;font-size:12px;padding:2px 8px}.admin-empty{color:#6c757d;padding:40px 20px;text-align:center}.admin-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px}.admin-badge-active{background:#d4edda;color:#155724}.admin-badge-inactive{background:#f8d7da;color:#721c24}.btn-small{font-size:13px;padding:6px 12px}.btn-warning{background:#dc3545;border:1px solid #dc3545;color:#fff}.btn-warning:hover:not(:disabled){background:#c82333;border-color:#bd2130}.admin-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.admin-modal-overlay .admin-modal{transform:scale(.96);transition:transform .2s ease}.admin-modal-enter .admin-modal{transform:scale(1)}.admin-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;max-height:90vh;max-width:560px;overflow-y:auto;padding:24px;width:100%}.admin-modal-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.admin-modal-head h2{color:#333;font-size:18px;margin:0}.admin-modal-close{background:none;border:none;color:#6c757d;cursor:pointer;flex-shrink:0;font-size:24px;line-height:1;padding:0 4px;transition:color .2s}.admin-modal-close:hover{color:#333}.admin-modal-form{margin-top:0}.admin-confirm-modal .admin-modal-head{margin-bottom:12px}.admin-confirm-text{color:#495057;line-height:1.5;margin:0 0 20px}.admin-confirm-text strong{color:#333}@media (max-width:768px){.admin-header{align-items:flex-start;flex-direction:column;gap:12px}.form-row{grid-template-columns:1fr}.admin-table{font-size:13px}.admin-table td,.admin-table th{padding:8px}}.staff-dashboard{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.staff-dashboard-header{background:#fff;box-shadow:0 1px 3px #00000014;padding:16px 24px}.staff-dashboard-header-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1000px}.staff-dashboard-header h1{color:#333;font-size:22px;margin:0}.staff-dashboard-user{align-items:center;display:flex;gap:16px}.staff-dashboard-user span{color:#666;font-size:14px}.staff-dashboard-main{flex:1 1;margin:0 auto;max-width:1200px;padding:20px 24px;width:100%}.staff-dashboard-intro-compact{margin-bottom:16px;padding:16px 20px}.staff-dashboard-intro-compact h2{font-size:20px;margin:0 0 6px}.staff-dashboard-intro-compact .staff-dashboard-subtitle{font-size:14px;margin:0}.staff-requests-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.staff-requests-filter-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#475569;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;transition:all .2s}.staff-requests-filter-btn:hover{background:#f8fafc;border-color:#0f4c81;color:#0f4c81}.staff-requests-filter-btn.active{background:linear-gradient(135deg,#0f4c81,#1a6bb5);border-color:#0000;color:#fff}.staff-requests-filter-count{background:#0000001f;border-radius:10px;font-size:12px;padding:2px 8px}.staff-requests-filter-btn.active .staff-requests-filter-count{background:#ffffff4d}.staff-requests-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.staff-requests-grid .card,.staff-requests-grid [class*=card]{background:#fff;border:none!important;box-shadow:none!important}.staff-requests-card-compact{border-left-width:3px;border-radius:12px;padding:14px 16px}.staff-requests-card-compact .staff-requests-card-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:6px}.staff-requests-card-compact .staff-requests-card-category{font-size:15px;font-weight:600}.staff-requests-card-compact .staff-requests-card-status{font-size:11px;padding:4px 10px}.staff-requests-card-compact .staff-requests-card-patient{font-size:13px;margin-bottom:10px}.staff-requests-timeline-compact{grid-gap:4px;display:grid;gap:4px;margin-bottom:12px}.staff-requests-timeline-row-compact{align-items:center;background:#f8fafc;border-radius:6px;display:flex;font-size:12px;justify-content:space-between;padding:4px 8px}.staff-requests-card-compact .staff-requests-timeline-label{color:#64748b;font-size:11px}.staff-requests-card-compact .staff-requests-timeline-value{font-size:11px}.staff-requests-card-compact .staff-requests-actions{margin-top:0}.staff-requests-card-compact .staff-requests-btn{font-size:13px;padding:8px 16px}@media (max-width:768px){.staff-requests-grid{grid-template-columns:1fr}}.staff-dashboard-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000f;padding:32px}.staff-dashboard-card h2{color:#333;font-size:24px;margin:0 0 12px}.staff-dashboard-subtitle{color:#666;font-size:16px;line-height:1.5;margin:0}.staff-dashboard .btn-sm{font-size:14px;padding:8px 16px}.staff-dashboard-intro{margin-bottom:24px}.staff-requests-alert{border-radius:12px;font-size:14px;margin-bottom:20px;padding:14px 18px}.staff-requests-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.staff-requests-loading{color:#666;padding:48px;text-align:center}.staff-requests-empty{background:#fff;border:2px dashed #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #0000000f;padding:48px 24px;text-align:center}.staff-requests-empty-icon{font-size:48px;margin-bottom:16px;opacity:.7}.staff-requests-empty p{color:#475569;margin:0 0 8px}.staff-requests-empty-hint{color:#94a3b8!important;font-size:14px!important}.staff-requests-list{display:flex;flex-direction:column;gap:20px}.staff-requests-card{background:#fff;border-left:4px solid #94a3b8;border-radius:16px;box-shadow:0 2px 8px #0000000f;padding:24px;transition:box-shadow .2s}.staff-requests-card:hover{box-shadow:0 4px 16px #00000014}.staff-requests-card-pending{border-left-color:#f59e0b}.staff-requests-card-accepted{border-left-color:#10b981}.staff-requests-card-closed{border-left-color:#64748b}.staff-requests-card-top{margin-bottom:20px}.staff-requests-card-meta{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.staff-requests-card-category{color:#1a1a2e;font-size:18px;font-weight:600}.staff-requests-card-status{border-radius:20px;font-size:13px;font-weight:600;padding:6px 14px}.staff-requests-card-status.status-pending{background:#fef3c7;color:#b45309}.staff-requests-card-status.status-accepted{background:#d1fae5;color:#047857}.staff-requests-card-status.status-closed{background:#f1f5f9;color:#475569}.staff-requests-card-patient{color:#475569;font-size:15px}.staff-requests-card-patient strong{color:#1e293b}.staff-requests-card-phone{color:#64748b;font-size:14px}.staff-requests-timeline{grid-gap:10px;display:grid;gap:10px;margin-bottom:20px}.staff-requests-timeline-row{align-items:center;background:#f8fafc;border-radius:10px;display:flex;font-size:14px;justify-content:space-between;padding:10px 14px}.staff-requests-timeline-label{color:#64748b;font-weight:500}.staff-requests-timeline-value{font-feature-settings:"tnum";color:#1e293b;font-variant-numeric:tabular-nums}.staff-requests-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.staff-requests-btn{border:none;border-radius:10px;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.staff-requests-btn:hover:not(:disabled){transform:translateY(-1px)}.staff-requests-btn:disabled{cursor:not-allowed;opacity:.7}.staff-requests-btn-accept{background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 2px 8px #0596694d;color:#308c96}.staff-requests-btn-accept:hover:not(:disabled){box-shadow:0 4px 12px #05966966}.staff-requests-btn-close{background:linear-gradient(135deg,#475569,#64748b);box-shadow:0 2px 8px #4755694d;color:#875454}.staff-requests-btn-close:hover:not(:disabled){box-shadow:0 4px 12px #47556966}.staff-requests-btn-loading{align-items:center;display:inline-flex;gap:8px}.staff-requests-btn-loading .spinner{animation:staffRequestsSpin .8s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes staffRequestsSpin{to{transform:rotate(1turn)}}.staff-requests-accepted-by-other{color:#64748b;font-size:14px;font-style:italic}.staff-requests-card-detail{background:#f8fafc;border-radius:8px;margin-bottom:8px;padding:8px 10px}.staff-requests-card-subject{color:#1e293b;font-size:13px;font-weight:600;margin-bottom:4px}.staff-requests-card-message{color:#475569;font-size:12px;line-height:1.45;white-space:pre-wrap}.staff-requests-card-close-summary{background:#f1f5f9;border-radius:8px;margin-top:6px;padding:8px 10px}.staff-requests-card-close-summary .staff-requests-timeline-label{display:block;margin-bottom:4px}.staff-requests-close-summary-text{color:#475569;font-size:12px;line-height:1.45;margin:0;white-space:pre-wrap}.staff-requests-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.staff-requests-modal{background:#fff;border-radius:16px;box-shadow:0 24px 64px #0003;max-width:420px;padding:24px;width:100%}.staff-requests-modal-close{max-width:440px}.staff-requests-modal-title{color:#1a1a2e;font-size:16px;font-weight:600;line-height:1.5;margin:0 0 20px}.staff-requests-modal-field{margin-bottom:18px}.staff-requests-modal-field label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.staff-requests-close-summary-input{border:2px solid #e5e7eb;border-radius:10px;box-sizing:border-box;font-family:inherit;font-size:14px;min-height:80px;padding:12px 14px;resize:vertical;width:100%}.staff-requests-close-summary-input:focus{border-color:#0f4c81;outline:none}.staff-requests-modal-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.staff-requests-btn.secondary{background:#f1f5f9;color:#475569}.staff-requests-btn.secondary:hover:not(:disabled){background:#e2e8f0}@media (max-width:600px){.staff-requests-timeline-row{align-items:flex-start;flex-direction:column;gap:4px}}.register-patient-page{align-items:center;background:linear-gradient(135deg,#0f4c81,#1a6bb5 40%,#2d8fd6);box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:24px}.register-patient-card{background:#fff;border-radius:20px;box-shadow:0 24px 64px #0003;max-width:560px;padding:36px 40px;width:100%}.register-patient-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:16px;padding:48px}.register-patient-spinner{animation:registerPatientSpin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#0f4c81;height:40px;width:40px}@keyframes registerPatientSpin{to{transform:rotate(1turn)}}.register-patient-card-error .register-patient-icon,.register-patient-card-success .register-patient-icon{font-size:56px;margin-bottom:16px;text-align:center}.register-patient-card-error h1,.register-patient-card-success h1{color:#1a1a2e;font-size:24px;margin:0 0 12px;text-align:center}.register-patient-card-error p,.register-patient-card-success p{color:#64748b;margin:0 0 24px;text-align:center}.register-patient-header{margin-bottom:28px;text-align:center}.register-patient-header .register-patient-icon{font-size:48px;margin-bottom:12px}.register-patient-header h1{color:#1a1a2e;font-size:26px;margin:0 0 8px}.register-patient-subtitle{color:#0f4c81;font-size:18px;margin:0 0 4px}.register-patient-invite{color:#64748b;font-size:14px;margin:0}.register-patient-form{display:flex;flex-direction:column;gap:18px}.register-patient-alert{border-radius:10px;font-size:14px;padding:14px 18px}.register-patient-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.register-patient-field{display:flex;flex-direction:column;gap:6px}.register-patient-field label{color:#374151;font-size:14px;font-weight:600}.register-patient-field input{background:#fafafa;border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;font-size:16px;min-width:0;padding:14px 16px;transition:all .2s;width:100%}.register-patient-field input:focus{background:#fff;border-color:#0f4c81;box-shadow:0 0 0 4px #0f4c8126;outline:none}.register-patient-select .register-patient-select__control{background:#fafafa;border:2px solid #e5e7eb;border-radius:12px;min-height:48px}.register-patient-select .register-patient-select__control--is-focused{background:#fff;border-color:#0f4c81;box-shadow:0 0 0 4px #0f4c8126}.register-patient-select .register-patient-select__control:hover{border-color:#d1d5db}.register-patient-select .register-patient-select__placeholder{color:#9ca3af}.register-patient-select .register-patient-select__menu{z-index:100}.register-patient-select-native{background:#fafafa;border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;cursor:pointer;font-size:16px;min-width:0;padding:14px 16px;transition:all .2s;width:100%}.register-patient-select-native:focus{background:#fff;border-color:#0f4c81;box-shadow:0 0 0 4px #0f4c8126;outline:none}.register-patient-other-input{margin-top:10px}.register-patient-row{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 1fr}.register-patient-row .register-patient-field{min-width:0}.register-patient-actions{margin-top:8px}.register-patient-btn{border:none;border-radius:12px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;padding:16px 24px;text-align:center;text-decoration:none;transition:all .2s;width:100%}.register-patient-btn.primary{background:linear-gradient(135deg,#0f4c81,#1a6bb5);color:#fff}.register-patient-btn.primary:hover:not(:disabled){box-shadow:0 6px 20px #0f4c8166;transform:translateY(-2px)}.register-patient-btn:disabled{cursor:not-allowed;opacity:.8}.register-patient-btn-loading{align-items:center;display:inline-flex;gap:10px;justify-content:center}.register-patient-btn-loading .spinner{animation:registerPatientSpin .8s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;height:20px;width:20px}.register-patient-login-link{color:#64748b;font-size:14px;margin:24px 0 0;text-align:center}.register-patient-login-link a{color:#0f4c81;font-weight:600;text-decoration:none}.register-patient-login-link a:hover{text-decoration:underline}@media (max-width:560px){.register-patient-row{grid-template-columns:1fr}.register-patient-card{padding:24px 20px}}.staff-portal--with-navbar{display:flex;flex-direction:column;min-height:100vh;padding-top:64px}.staff-portal__body{display:flex;flex:1 1;overflow:hidden}.staff-main{background-color:#f9fafb;flex:1 1;overflow-y:auto;padding:24px}@media (max-width:768px){.staff-main{padding:16px}}.app-footer{align-items:center;background:var(--color-primary-softer);border-top:1px solid var(--border-soft);color:var(--text-muted);display:flex;font-size:12px;justify-content:center;padding:12px 20px}.footer-powered-text{font-weight:500}.App{display:flex;flex-direction:column;min-height:100vh}.app-with-navbar{padding-top:64px}.App-main{flex:1 1;min-width:0;overflow-x:hidden}.container{margin:0 auto;max-width:1200px;padding:24px;width:100%}.card{background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:12px;box-shadow:var(--shadow-soft);margin-bottom:24px;padding:24px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 16px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-success{background-color:#28a745;color:#fff}.btn-success:hover{background-color:#218838}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn-secondary{background-color:#fff;border:1px solid var(--border-soft);color:var(--text-medium)}.btn-secondary:hover{background-color:#f9fafb}.form-group{margin-bottom:20px}.form-group label{color:var(--text-strong);display:block;font-weight:500;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid var(--border-soft);border-radius:8px;color:var(--text-strong);font-size:14px;padding:10px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #7b2c8324;outline:none}.form-group textarea{min-height:100px;resize:vertical}.table{border-collapse:collapse;margin-top:20px;width:100%}.table td,.table th{border-bottom:1px solid var(--border-soft);padding:14px 12px;text-align:left}.table th{background-color:#fff;color:var(--text-strong);font-weight:600}.table tr:hover{background-color:#fafafa}.modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;width:90%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h2{margin:0}.close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:24px}.close-btn:hover{color:var(--text-strong)}.alert{border-radius:4px;margin-bottom:20px;padding:12px 16px}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.empty-state,.loading{color:var(--text-muted);padding:40px;text-align:center}.file-upload-area{border:2px dashed var(--border-soft);border-radius:4px;cursor:pointer;margin-bottom:20px;padding:20px;text-align:center;transition:all .3s}.file-upload-area:hover{background-color:var(--color-primary-softer);border-color:var(--color-primary)}.file-upload-area input[type=file]{display:none}.file-list{margin-top:10px}.file-item{align-items:center;background-color:var(--color-primary-softer);border-radius:4px;display:flex;justify-content:space-between;margin-bottom:8px;padding:8px}.file-item span{flex:1 1;margin-right:10px}.view-icon-btn{align-items:center;background-color:var(--color-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;height:36px;justify-content:center;min-width:40px;padding:8px 12px;transition:all .3s ease}.view-icon-btn:hover{background-color:var(--color-primary-hover);box-shadow:0 2px 6px #7b2c833d}.view-icon-btn:active{box-shadow:0 1px 2px #7b2c8333}.view-icon-btn svg{transition:none}
/*# sourceMappingURL=main.e350ea3c.css.map*/