:root{--slate-900: #0f172a;--slate-800: #1e293b;--slate-700: #334155;--slate-600: #475569;--slate-500: #64748b;--slate-400: #94a3b8;--slate-300: #cbd5e1;--slate-200: #e2e8f0;--slate-100: #f1f5f9;--slate-50: #f8fafc;--white: #ffffff;--accent: #0d9488;--accent-light: #14b8a6;--accent-dark: #0f766e;--teal-50: #f0fdfa;--teal-100: #ccfbf1;--red-500: #ef4444;--green-500: #22c55e;--amber-500: #f59e0b;--font-display: "Plus Jakarta Sans", sans-serif;--font-body: "DM Sans", sans-serif;--sidebar-width: 240px;--sidebar-collapsed-width: 64px;--topbar-height: 64px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--slate-800);background:var(--white);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--slate-900)}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--slate-100);color:var(--slate-700);display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:100;border-right:1px solid var(--slate-200)}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-logo{height:var(--topbar-height);display:flex;align-items:center;justify-content:center;padding:0 20px;border-bottom:1px solid var(--slate-200);background:var(--white)}.sidebar.collapsed .sidebar-logo{padding:0 12px;justify-content:center}.sidebar-logo img{height:52px;transition:opacity .2s;object-fit:contain}.sidebar.collapsed .sidebar-logo img{height:40px}.sidebar-toggle{position:absolute;right:-12px;top:24px;width:24px;height:24px;background:var(--accent);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;box-shadow:0 2px 8px #00000026;transition:transform .2s;z-index:10}.sidebar-toggle:hover{transform:scale(1.1)}.sidebar-nav{flex:1;padding:16px 8px;overflow-y:auto}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:4px 0;color:var(--slate-600);text-decoration:none;border-radius:8px;transition:all .2s;font-weight:500;font-size:14px;cursor:pointer;white-space:nowrap}.sidebar.collapsed .sidebar-nav-item{justify-content:center;padding:12px}.sidebar-nav-item:hover{background:var(--teal-50);color:var(--accent-dark)}.sidebar-nav-item.active{background:var(--accent);color:var(--white)}.sidebar-nav-item.active:hover{background:var(--accent-dark);color:var(--white)}.sidebar-nav-item svg{width:20px;height:20px;flex-shrink:0}.sidebar.collapsed .sidebar-nav-item span{display:none}.main-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{height:var(--topbar-height);background:var(--white);border-bottom:1px solid var(--slate-200);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:24px;box-shadow:0 1px 2px #00000005}.topbar-title{font-size:20px;font-weight:700;color:var(--slate-900);white-space:nowrap}.topbar-search{flex:1;max-width:600px}.search-form{display:flex;gap:8px;align-items:center}.search-filter-wrapper{position:relative}.search-filter{height:40px;padding:0 32px 0 12px;border:1px solid var(--slate-300);border-radius:8px;background:var(--white);color:var(--slate-700);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:16px}.search-filter:hover{border-color:var(--accent)}.search-filter:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--teal-50)}.search-input-wrapper{position:relative;flex:1}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--slate-400);pointer-events:none}.search-input{width:100%;height:40px;padding:0 16px 0 40px;border:1px solid var(--slate-300);border-radius:8px;background:var(--white);color:var(--slate-900);font-size:14px;transition:all .2s}.search-input::placeholder{color:var(--slate-400)}.search-input:hover{border-color:var(--slate-400)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--teal-50)}.topbar-actions{display:flex;align-items:center;gap:16px}.topbar-user{display:flex;align-items:center;gap:12px}.topbar-avatar{width:36px;height:36px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.topbar-user{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background .2s;position:relative}.topbar-user:hover{background:var(--slate-50)}.topbar-user-info{text-align:right}.topbar-user-name{font-size:14px;font-weight:600;color:var(--slate-900);line-height:1.2}.topbar-user-role{font-size:12px;color:var(--slate-500);line-height:1.2}.topbar-dropdown-arrow{width:16px;height:16px;color:var(--slate-500)}.dropdown-overlay{position:fixed;inset:0;z-index:998}.topbar-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:var(--white);border:1px solid var(--slate-200);border-radius:12px;box-shadow:0 10px 40px #0000001f;z-index:999;overflow:hidden}.topbar-dropdown-header{padding:16px;display:flex;gap:12px;align-items:center;background:var(--slate-50)}.topbar-avatar-large{width:48px;height:48px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0}.topbar-dropdown-name{font-size:15px;font-weight:600;color:var(--slate-900);line-height:1.3}.topbar-dropdown-email{font-size:13px;color:var(--slate-600);line-height:1.3}.topbar-dropdown-divider{height:1px;background:var(--slate-200);margin:4px 0}.topbar-dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;color:var(--slate-700);text-decoration:none;font-size:14px;transition:background .2s}.topbar-dropdown-item:hover{background:var(--slate-50)}.topbar-dropdown-item svg{width:20px;height:20px;stroke:var(--slate-500);flex-shrink:0}.topbar-dropdown-item:hover svg{stroke:var(--accent)}.content{flex:1;overflow-y:auto;padding:32px;background:var(--white)}.card{background:var(--white);border-radius:16px;padding:32px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;border:1px solid var(--slate-200);transition:all .2s ease}.card:hover{box-shadow:0 4px 12px #0000000f,0 2px 4px #00000008}.card-header{margin-bottom:20px}.card-title{font-size:18px;font-weight:700;color:var(--slate-900)}.card-subtitle{font-size:13px;color:var(--slate-500);margin-top:4px}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1200px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.sidebar{position:fixed;height:100%;z-index:1000}}.stat-card{padding:28px;text-align:left}.stat-label{font-size:13px;color:var(--slate-500);font-weight:500;margin-bottom:8px}.stat-value{font-size:32px;font-weight:800;color:var(--slate-900);font-family:var(--font-display)}.stat-change{font-size:13px;margin-top:8px;display:flex;align-items:center;gap:4px}.stat-change.positive{color:var(--green-500)}.stat-change.negative{color:var(--red-500)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-family:var(--font-display);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none}.btn-primary{background:var(--accent);color:var(--white)}.btn-primary:hover{background:var(--accent-dark)}.btn-secondary{background:var(--slate-100);color:var(--slate-700)}.btn-secondary:hover{background:var(--slate-200)}.spinner{width:24px;height:24px;border:3px solid var(--slate-200);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background:var(--slate-50)}th{padding:12px 16px;text-align:left;font-weight:600;font-size:13px;color:var(--slate-700);border-bottom:2px solid var(--slate-200)}td{padding:12px 16px;border-bottom:1px solid var(--slate-100);vertical-align:top}tr:hover{background:var(--slate-50)}.practice-selector-card{margin-bottom:24px}.practice-selector-label{display:block;font-size:14px;font-weight:600;color:var(--slate-700);margin-bottom:8px}.practice-dropdown-wrapper{position:relative}.practice-selector-input{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:1px solid var(--slate-300);border-radius:8px;background:var(--white);cursor:pointer;transition:all .2s}.practice-selector-input:hover{border-color:var(--accent)}.practice-selector-display{flex:1}.practice-selector-name{font-size:15px;font-weight:600;color:var(--slate-900);line-height:1.4}.practice-selector-location{font-size:13px;color:var(--slate-500);line-height:1.4}.practice-selector-placeholder{color:var(--slate-400);font-size:14px}.practice-selector-arrow{width:20px;height:20px;color:var(--slate-400);flex-shrink:0;margin-left:12px}.practice-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1px solid var(--slate-200);border-radius:8px;box-shadow:0 10px 40px #0000001f;z-index:1000;max-height:400px;overflow:hidden;display:flex;flex-direction:column}.practice-dropdown-search{padding:12px;border-bottom:1px solid var(--slate-200);position:relative}.practice-dropdown-search input{width:100%;padding:8px 12px 8px 36px;border:1px solid var(--slate-300);border-radius:6px;font-size:14px;outline:none}.practice-dropdown-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--teal-50)}.search-icon-small{position:absolute;left:20px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--slate-400);pointer-events:none}.practice-dropdown-list{overflow-y:auto;max-height:320px}.practice-dropdown-item{padding:12px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--slate-100)}.practice-dropdown-item:last-child{border-bottom:none}.practice-dropdown-item:hover{background:var(--slate-50)}.practice-dropdown-item.selected{background:var(--teal-50)}.practice-dropdown-item-name{font-size:14px;font-weight:600;color:var(--slate-900);margin-bottom:4px}.practice-dropdown-item-meta{font-size:12px;color:var(--slate-500)}.practice-dropdown-empty{padding:32px;text-align:center;color:var(--slate-500);font-size:14px}.tabs{display:flex;border-bottom:2px solid var(--slate-200);gap:0}.tab{padding:14px 24px;background:none;border:none;border-bottom:3px solid transparent;color:var(--slate-600);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:-2px;position:relative}.tab:hover{color:var(--accent);background:var(--slate-50)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-content{padding:24px 0}.tab-content h3{margin-bottom:16px;color:var(--slate-800);font-size:18px}.icon-button{background:none;border:1px solid var(--slate-300);padding:6px;border-radius:6px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;color:var(--slate-600)}.icon-button:hover{background:var(--teal-50);border-color:var(--accent);color:var(--accent)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal-content{background:var(--white);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:900px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:24px 32px;border-bottom:1px solid var(--slate-200);display:flex;align-items:center;justify-content:space-between}.modal-header h2{margin:0;font-size:20px;font-weight:700;color:var(--slate-900)}.modal-close{background:none;border:none;font-size:32px;line-height:1;color:var(--slate-400);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:var(--slate-100);color:var(--slate-900)}.modal-body{padding:24px 32px 32px;overflow-y:auto}.modal-section{margin-bottom:32px}.modal-section:last-child{margin-bottom:0}.modal-section h3{font-size:16px;font-weight:700;color:var(--slate-900);margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--slate-200)}.info-group{margin-bottom:16px}.info-group label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--slate-500);margin-bottom:4px}.info-group .value{font-size:15px;font-weight:600;color:var(--slate-900)}.info-group .value.highlight{color:var(--accent-dark);font-size:18px;font-weight:700}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{font-size:12px;font-weight:600;color:var(--slate-500);text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:15px;font-weight:500;color:var(--slate-900)}.dropdown-overlay{position:fixed;inset:0;z-index:999}.performance-badge{display:inline-block;padding:6px 12px;border-radius:6px;fontSize:12px;font-weight:600;text-transform:capitalize}.performance-badge.excellent{background-color:#dcfce7;color:#166534}.performance-badge.good{background-color:#dbeafe;color:#1e40af}.performance-badge.warning{background-color:#fef3c7;color:#92400e}.performance-badge.critical{background-color:#fee2e2;color:#991b1b}.metric-card{transition:transform .2s ease,box-shadow .2s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f!important}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:600;line-height:1;text-transform:capitalize}.status-badge.neutral{background:var(--slate-100);color:var(--slate-600)}.status-badge.paid,.status-badge.active{background:var(--teal-50);color:var(--accent-dark)}.status-badge.denied,.status-badge.rejected{background:#fee2e2;color:#991b1b}.status-badge.pending{background:#fef3c7;color:#92400e}
