@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary:#485a7d;--primary-hover:#3a4a68;--primary-light:#485a7d1a;--primary-tint-soft:#485a7d0d;--primary-tint:#485a7d1a;--primary-tint-strong:#485a7d29;--secondary:#10b981;--secondary-hover:#0e9c6e;--background:#f8f9fb;--surface:#fff;--text-main:#1f2937;--text-muted:#596074;--border:#e5e7eb;--danger:#ef4444;--glass-bg:#ffffffd9;--glass-border:#fff9;--glass-shadow:0 2px 12px #0000000a;--glass-card-bg:#ffffffb3;--glass-card-border:#ffffff80;--glass-card-hover:#ffffffd9;--input-bg:#fffc;--hover-bg:#0000000a;--sidebar-bg:#fff9;--skeleton-base:#f0f0f0;--skeleton-highlight:#e0e0e0;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--text-xs:.75rem;--text-sm:.85rem;--text-base:.9rem;--text-md:1rem;--text-lg:1.15rem;--text-xl:1.5rem;--text-2xl:2rem;--status-info:#3b82f6;--status-info-bg:#3b82f626;--status-success:#10b981;--status-success-bg:#10b98126;--status-warning:#b45309;--status-warning-bg:#f59e0b26;--status-danger:#ef4444;--status-danger-bg:#ef444426;--status-neutral:#6b7280;--status-neutral-bg:#6b728026;--status-purple:#8b5cf6;--status-purple-bg:#8b5cf626}[data-theme=dark]{--primary:#7b91b8;--primary-hover:#6a82a8;--primary-light:#7b91b826;--primary-tint-soft:#7b91b814;--primary-tint:#7b91b824;--primary-tint-strong:#7b91b838;--secondary:#34d399;--secondary-hover:#2bc28a;--background:#1a1d24;--surface:#242830;--text-main:#e8eaed;--text-muted:#9aa0ac;--border:#2d323b;--danger:#f87171;--glass-bg:#242830d9;--glass-border:#373c4699;--glass-shadow:0 2px 12px #0003;--glass-card-bg:#2d323ab3;--glass-card-border:#373c4680;--glass-card-hover:#323741d9;--input-bg:#282c34cc;--hover-bg:#ffffff0f;--sidebar-bg:#1e2128cc;--skeleton-base:#2d323b;--skeleton-highlight:#3a3f4a;--status-info:#60a5fa;--status-success:#34d399;--status-warning:#f59e0b;--status-danger:#f87171;--status-neutral:#9aa0ac;--status-purple:#a78bfa}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,sans-serif}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);padding:1.5rem}.glass-card{background:var(--glass-card-bg);border:1px solid var(--glass-card-border);border-radius:var(--radius-md);transition:transform .2s,box-shadow .2s;box-shadow:0 4px 6px #00000005}.glass-card:hover{background:var(--glass-card-hover);transform:translateY(-2px);box-shadow:0 4px 16px #0000000f}button{cursor:pointer;background:var(--primary);color:#fff;border-radius:var(--radius-sm);border:none;padding:.5rem 1rem;font-family:inherit;font-weight:500;transition:background-color .2s,transform .1s}button:hover{background:var(--primary-hover)}button:active{transform:scale(.98)}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);width:100%;min-width:0;min-height:42px;color:var(--text-main);box-sizing:border-box;padding:.6rem .85rem;font-family:inherit;font-size:.9rem;line-height:1.4;transition:border-color .2s,box-shadow .2s;overflow:visible}select{appearance:auto;cursor:pointer;text-overflow:ellipsis;height:auto;min-height:42px;padding-right:2rem;overflow:visible}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}h1,h2,h3,h4{color:var(--text-main);margin-bottom:.5rem;font-weight:600}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.data-table th{text-align:left;color:var(--text-muted);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border);white-space:nowrap;padding:.5rem .6rem}.data-table td{border-bottom:1px solid var(--border);color:var(--text-main);white-space:nowrap;padding:.45rem .6rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--hover-bg)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.toggle-switch{flex-shrink:0;width:40px;height:22px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:var(--border);border-radius:22px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:all .3s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #00000026}.toggle-switch input:checked+.toggle-slider{background-color:var(--secondary)}.toggle-switch input:focus-visible+.toggle-slider{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--secondary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.toggle-switch input:disabled+.toggle-slider{opacity:.6;cursor:not-allowed}.page-container{flex-direction:column;gap:1.75rem;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-title{font-size:var(--text-2xl);color:var(--text-main);margin:0 0 .25rem;font-weight:600}.page-subtitle{color:var(--text-muted);margin:0}.header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.row{align-items:center;gap:.5rem;display:flex}.row-lg{align-items:center;gap:1rem;display:flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.row-end{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.col{flex-direction:column;gap:1rem;display:flex}.col-sm{flex-direction:column;gap:.75rem;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.span-full{grid-column:1/-1}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;padding:.85rem 1.25rem;display:flex}.toolbar input[type=text],.toolbar .search-box input,.toolbar .input-wrap input{height:36px;font-size:var(--text-sm)}.toolbar select{height:36px;font-size:var(--text-sm);padding-top:0;padding-bottom:0}.btn{justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.btn-outline{background:var(--glass-card-hover);color:var(--text-main);border:1px solid var(--border)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--secondary);color:#fff}.btn-secondary:hover{background:var(--secondary-hover)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--hover-bg);color:var(--text-main)}.btn-danger{background:var(--danger)}.btn-danger:hover{filter:brightness(.9)}.btn-sm{font-size:var(--text-sm);padding:.4rem .75rem}.btn-icon{color:var(--text-muted);background:0 0;border:none;padding:.35rem}.btn-icon:hover{background:var(--hover-bg);color:var(--text-main)}.pagination-nav{justify-content:center;align-items:center;gap:.75rem;padding:1.25rem 1rem;display:flex}.pagination-btn{background:var(--surface);color:var(--text-main);transition:background-color .15s,border-color .15s,color .15s,opacity .15s;box-shadow:0 1px 3px #0000000a}.pagination-btn:hover:not(:disabled){background:var(--hover-bg);border-color:var(--primary)}.pagination-btn:disabled{cursor:not-allowed;opacity:.45}.pagination-pill{background:var(--glass-card-bg);border:1px solid var(--border);font-size:var(--text-sm);color:var(--text-muted);border-radius:20px;align-items:center;padding:.35rem .85rem;display:inline-flex}.pagination-pill strong{color:var(--text-main);margin:0 .35rem}.tab{color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.tab.active{background:var(--primary);color:#fff;border:none}.filter-tabs{border-radius:var(--radius-sm);border:1px solid var(--border);box-sizing:border-box;background:#0000000a;flex-shrink:0;align-items:center;gap:3px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}[data-theme=dark] .filter-tabs{background:#ffffff0d}.filter-tab{font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;gap:.45rem;height:32px;padding:.35rem .85rem;font-weight:500;line-height:1.2;transition:background-color .15s,color .15s,box-shadow .15s;display:inline-flex}.filter-tab:hover:not(.active){color:var(--text-main);background:#0000000a}[data-theme=dark] .filter-tab:hover:not(.active){background:#ffffff0f}.filter-tab.active{background:var(--primary);color:#fff;font-weight:600;box-shadow:0 1px 3px #0000001f}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-label{font-size:var(--text-sm);color:var(--text-main);margin-bottom:.4rem;font-weight:500;display:block}.field-hint{color:var(--text-muted);font-size:var(--text-xs);margin-top:.25rem;display:block}.field-error{color:var(--danger);font-size:var(--text-xs);margin-top:.25rem;display:block}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-control{width:100%}.form-control.is-invalid{border-color:var(--danger)}.form-control.is-invalid:focus{box-shadow:0 0 0 3px var(--danger)}.error-message{color:var(--danger);font-size:var(--text-xs);margin-top:.25rem;display:block}textarea.form-control{resize:vertical;width:100%;min-height:42px}.input-wrap,.search-box{align-items:center;display:flex;position:relative}.input-icon,.input-wrap .input-icon,.search-box .input-icon{color:var(--text-muted);pointer-events:none;z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.input-wrap input,.input-wrap select,.search-box input{padding-left:2.25rem!important}.search-box input{height:36px;font-size:var(--text-sm);border-radius:var(--radius-sm);width:100%;padding-right:2rem!important}.search-clear-btn{cursor:pointer;color:var(--text-muted);z-index:2;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:13px;line-height:1;transition:background-color .15s,color .15s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-clear-btn:hover{color:var(--text-primary);background-color:var(--bg-hover,#00000014)}.badge{font-size:var(--text-xs);white-space:nowrap;border-radius:8px;align-items:center;gap:.25rem;padding:.25rem .6rem;font-weight:600;display:inline-flex}.section-title{font-size:var(--text-md);color:var(--text-main);margin:0;font-weight:600}.card-title{font-size:var(--text-base);color:var(--text-main);margin:0;font-weight:600}.padded-center{text-align:center;padding:2rem}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.stat-card{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.stat-value{font-size:var(--text-xl);color:var(--text-main);margin:0;font-weight:700}.stat-label{font-size:var(--text-sm);color:var(--text-muted)}.text-muted{color:var(--text-muted)}@media (width<=768px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}}@media (width<=480px){.grid-2,.grid-3,.grid-4,.form-grid{grid-template-columns:1fr}}.app-container{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--sidebar-bg);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--glass-border);flex-direction:column;flex-shrink:0;width:256px;padding:1.25rem;transition:width .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.sidebar.collapsed{width:80px;padding:1.25rem .65rem}.brand{align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:0 .85rem;display:flex}.sidebar.collapsed .brand{justify-content:center;padding:0}.brand-text{flex-direction:column;flex:1;display:flex;overflow:hidden}.sidebar.collapsed .brand-text{display:none}.brand h2{color:var(--text-main);letter-spacing:-.5px;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.1rem;font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}.brand .subtitle{color:var(--primary);letter-spacing:.5px;font-size:.65rem;font-weight:700}.sidebar-toggle{background:var(--surface);border:1px solid var(--border);cursor:pointer;z-index:60;width:28px;height:28px;color:var(--text-main);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;display:flex;position:absolute;top:24px;right:-14px;box-shadow:0 2px 8px #0000001a}.sidebar-toggle:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.1);box-shadow:0 3px 10px #00000026}.sidebar-toggle:active{transform:scale(.95)}.nav-menu{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:.25rem;display:flex;overflow:hidden auto}.nav-menu::-webkit-scrollbar{width:4px}.nav-menu::-webkit-scrollbar-track{background:0 0}.nav-menu::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px}.nav-menu:hover::-webkit-scrollbar-thumb{background-color:var(--text-muted)}.nav-link{border-radius:var(--radius-md);color:var(--text-muted);align-items:center;gap:.75rem;padding:.7rem .85rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s,box-shadow .2s;display:flex;position:relative}.nav-link:hover{background:var(--hover-bg);color:var(--text-main);text-decoration:none}.nav-link.active{background:var(--primary);color:#fff;box-shadow:0 4px 10px var(--primary-light)}.nav-link.active .nav-icon,.nav-link.active .nav-label{color:#fff}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.nav-label{white-space:nowrap;overflow:hidden}.sidebar.collapsed .nav-label{display:none!important}.sidebar.collapsed .nav-link{justify-content:center;padding:.7rem}.sidebar.collapsed .nav-divider{align-self:center;width:60%}.nav-divider{background:var(--border);height:1px;margin:.5rem 0}.theme-toggle{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:.75rem;width:100%;padding:.7rem .85rem;font-size:.875rem;font-weight:500;transition:background-color .2s,color .2s;display:flex}.theme-toggle:hover{background:var(--hover-bg);color:var(--text-main)}.sidebar.collapsed .theme-toggle{justify-content:center;padding:.7rem}.sidebar.collapsed .theme-toggle-label{display:none}.user-profile{background:var(--hover-bg);border-radius:var(--radius-md);border:1px solid var(--glass-border);align-items:center;gap:.75rem;margin-top:.75rem;padding:.85rem;display:flex}.sidebar.collapsed .user-profile{flex-direction:column;justify-content:center;gap:.5rem;padding:.5rem}.avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;font-weight:600;display:flex}.user-profile .info{flex-direction:column;flex:1;display:flex;overflow:hidden}.sidebar.collapsed .user-profile .info{display:none}.user-profile .name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.user-profile .clinic{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.icon-btn{color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:.4rem;display:flex}.sidebar.collapsed .icon-btn{display:none}.icon-btn:hover{background:var(--hover-bg);color:var(--danger)}.main-content{flex-direction:column;flex:1;min-width:0;padding:2rem 3rem;display:flex;overflow-y:auto}.mobile-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:900;justify-content:space-between;align-items:center;padding:1rem;display:none}.hamburger-btn{color:var(--text-main);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;display:flex}.sidebar-overlay{z-index:998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;display:none;position:fixed;inset:0}@media (width<=768px){.mobile-header{display:flex}.sidebar{z-index:999;background:var(--surface);height:100vh;transition:left .3s;position:fixed;left:-260px}.sidebar.mobile-open{width:256px;left:0}.sidebar-overlay.mobile-open{display:block}.sidebar-toggle{display:none}.main-content{padding:1rem}}@media (width<=480px){div[style*="grid-template-columns: 1fr 1fr"],div[style*="gridTemplateColumns: '1fr 1fr'"],div[style*="grid-template-columns: 1.2fr 0.8fr"],div[style*="grid-template-columns: 2fr 1fr"]{grid-template-columns:1fr!important}}.notif-bell{flex-shrink:0;position:relative}.notif-bell-btn{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.4rem;display:flex;position:relative}.notif-bell-btn:hover{background:var(--hover-bg);color:var(--text-main)}.notif-badge{background:var(--danger);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.6rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-2px;right:-2px}.notif-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);z-index:1000;width:340px;max-width:90vw;position:absolute;bottom:calc(100% + 8px);left:-8px;overflow:hidden;box-shadow:0 12px 32px #0000002e}.mobile-header .notif-dropdown{inset:calc(100% + 8px) -8px auto auto}.notif-header{border-bottom:1px solid var(--border);font-weight:600;font-size:var(--text-sm);color:var(--text-main);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.notif-mark-all{color:var(--primary);font-size:var(--text-xs);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:.3rem;padding:.2rem .4rem;display:flex}.notif-mark-all:hover{background:var(--hover-bg)}.notif-list{max-height:360px;overflow-y:auto}.notif-empty{text-align:center;color:var(--text-muted);font-size:var(--text-sm);padding:1.5rem 1rem}.notif-item{text-align:left;border:none;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;align-items:flex-start;gap:.6rem;width:100%;padding:.7rem 1rem;display:flex}.notif-item:hover{background:var(--hover-bg)}.notif-item.unread{background:var(--primary-subtle,#3b82f60f)}.notif-icon{flex-shrink:0;margin-top:1px}.notif-content{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.notif-title{font-size:var(--text-sm);color:var(--text-main);font-weight:600}.notif-body{font-size:var(--text-xs);color:var(--text-muted);line-height:1.35}.notif-time{color:var(--text-muted);opacity:.8;font-size:.65rem}.notif-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}
