@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";.logo{display:inline-flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:all var(--transition)}.logo-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-sm{gap:var(--space-2)}.logo-lg{gap:var(--space-4)}.auth-container{min-height:100vh;display:flex;background:var(--bg-page)}.auth-split{display:flex;width:100%;min-height:100vh}.auth-left{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-10);background:#fff}.auth-right{flex:1;background:linear-gradient(135deg,#2563eb,#3b82f6,#60a5fa);display:flex;align-items:center;justify-content:center;padding:var(--space-10);position:relative;overflow:hidden}.auth-right:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(255,255,255,.08) 0%,transparent 40%)}.auth-illustration{position:relative;z-index:1;text-align:center;color:#fff;max-width:500px}.auth-illustration-content{background:#ffffff1a;backdrop-filter:blur(20px);border-radius:var(--radius-2xl);padding:var(--space-10);border:1px solid rgba(255,255,255,.2)}.auth-illustration-icon{width:120px;height:120px;margin:0 auto var(--space-6);background:#ffffff26;border-radius:var(--radius-2xl);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px)}.auth-illustration-icon svg{width:64px;height:64px;color:#fff}.auth-illustration h2{font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-4);color:#fff}.auth-illustration p{font-size:var(--text-lg);color:#ffffffe6;line-height:1.6}.auth-form-container{width:100%;max-width:420px}.auth-logo{margin-bottom:var(--space-10)}.auth-header{margin-bottom:var(--space-8)}.auth-title{font-size:var(--text-3xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.auth-subtitle{font-size:var(--text-base);color:var(--text-secondary)}.auth-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.checkbox-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.auth-link{color:var(--primary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;text-decoration:none;transition:color var(--transition)}.auth-link:hover{color:var(--primary-hover)}.auth-divider{position:relative;text-align:center;margin:var(--space-6) 0}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border)}.auth-divider span{position:relative;display:inline-block;padding:0 var(--space-4);background:#fff;color:var(--text-tertiary);font-size:var(--text-sm)}.auth-footer{margin-top:var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--text-secondary);display:flex;justify-content:center;align-items:center;gap:var(--space-2)}.social-buttons{display:flex;gap:var(--space-3)}.btn-social{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition)}.btn-social:hover{background:var(--bg-hover);border-color:var(--border-medium)}.btn-social svg{width:20px;height:20px}.auth-success-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;background:var(--success-light);border-radius:var(--radius-full);margin-bottom:var(--space-6);color:var(--success)}.otp-inputs{display:flex;gap:var(--space-3);justify-content:center}.otp-input{width:48px;height:56px;text-align:center;font-size:var(--text-xl);font-weight:var(--font-semibold);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);transition:all var(--transition)}.otp-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-lighter)}.auth-single{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-page);padding:var(--space-6)}.auth-card-single{width:100%;max-width:420px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-2xl);padding:var(--space-10) var(--space-8);box-shadow:var(--shadow-lg)}@media(max-width:1024px){.auth-split{flex-direction:column}.auth-right{min-height:300px}.auth-left,.auth-right{flex:none;width:100%}}@media(max-width:767px){.auth-left,.auth-right,.auth-illustration-content{padding:var(--space-6)}.social-buttons{flex-direction:column}.otp-inputs{gap:var(--space-2)}.otp-input{width:44px;height:52px;font-size:var(--text-lg)}}.breadcrumbs{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.breadcrumbs-item{color:var(--text-secondary);transition:color var(--transition);font-weight:var(--font-medium);text-decoration:none;cursor:pointer}.breadcrumbs-item:hover:not(.active){color:var(--text-primary)}.breadcrumbs-item.active{color:var(--text-primary);font-weight:var(--font-semibold);cursor:default}.breadcrumbs-separator{color:var(--text-tertiary);flex-shrink:0}@media(max-width:767px){.breadcrumbs{display:none}}.topbar{height:var(--topbar-height);background:var(--bg-sidebar);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-6);position:fixed;top:0;left:var(--sidebar-width);right:0;z-index:var(--z-sticky);transition:all var(--transition)}.topbar.sidebar-collapsed{left:var(--sidebar-collapsed)}.topbar-search{display:flex;align-items:center;gap:var(--space-3);background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-full);padding:8px 16px;max-width:400px;flex:1;margin-left:auto;transition:all var(--transition)}.topbar-search:hover{border-color:var(--border-medium)}.topbar-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-lighter)}.topbar-search .search-icon{color:var(--text-tertiary);flex-shrink:0}.topbar-search-input{border:none;background:transparent;outline:none;width:100%;font-family:inherit;font-size:var(--text-sm);color:var(--text-primary)}.topbar-search-input::-webkit-input-placeholder{color:var(--text-tertiary)}.topbar-search-input::-moz-placeholder{color:var(--text-tertiary)}.topbar-search-input:-ms-input-placeholder{color:var(--text-tertiary)}.topbar-search-input::-ms-input-placeholder{color:var(--text-tertiary)}.topbar-search-input::placeholder{color:var(--text-tertiary)}.topbar-primary-btn{display:flex;align-items:center;gap:var(--space-2);padding:9px 18px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition);white-space:nowrap}.topbar-primary-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.topbar-primary-btn:active{transform:translateY(0)}.topbar-primary-btn svg{flex-shrink:0}.topbar-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:var(--radius-full);cursor:pointer;color:var(--text-secondary);transition:all var(--transition);position:relative}.topbar-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.topbar-notifications .notification-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--danger);border-radius:50%;border:2px solid var(--bg-sidebar)}.topbar-avatar-btn{border:none;background:transparent;padding:0;cursor:pointer;transition:all var(--transition);border-radius:var(--radius-full);overflow:hidden}.topbar-avatar-btn:hover{transform:scale(1.05);box-shadow:0 0 0 3px var(--primary-lighter)}.topbar-avatar-img{width:40px;height:40px;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;display:block}.topbar-menu{position:absolute;top:calc(100% + var(--space-3));right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);min-width:280px;padding:var(--space-3);z-index:var(--z-dropdown)}.topbar-menu-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);margin-bottom:var(--space-2)}.topbar-menu-avatar{width:48px;height:48px;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;flex-shrink:0}.topbar-menu-user-info{flex:1;min-width:0}.topbar-menu-user-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2);margin-bottom:2px}.topbar-menu-badge{display:inline-flex;align-items:center;padding:2px 8px;background:var(--primary);color:#fff;font-size:11px;font-weight:var(--font-semibold);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em}.topbar-menu-user-email{font-size:var(--text-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-menu-divider{height:1px;background:var(--border);margin:var(--space-2) 0}.topbar-menu-item{width:100%;padding:10px 12px;text-align:left;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);font-family:inherit;font-weight:var(--font-medium);color:var(--text-primary);transition:all var(--transition)}.topbar-menu-item:hover{background:var(--bg-hover)}.topbar-menu-item svg{color:var(--text-secondary);flex-shrink:0}.topbar-menu-item-logout{color:var(--danger)}.topbar-menu-item-logout svg{color:var(--danger)}.topbar-menu-item-logout:hover{background:var(--danger-light)}@media(max-width:767px){.topbar{left:0;padding:0 var(--space-4);gap:var(--space-3)}.topbar-search{max-width:200px}}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border);overflow:hidden;transition:width var(--transition);flex-shrink:0;padding-right:4px;position:fixed;left:0;top:0;bottom:0;z-index:calc(var(--z-sticky) + 1);display:flex;flex-direction:column}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-logo{padding:var(--space-4) var(--space-4);flex-shrink:0;display:flex;align-items:center;min-height:var(--topbar-height);border-bottom:1px solid var(--border)}.sidebar.collapsed .sidebar-logo{justify-content:center;padding:0}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-4) var(--space-3);scrollbar-width:thin;scrollbar-color:transparent transparent}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background-color:transparent;border-radius:var(--radius-full);-webkit-transition:background-color .16s ease;transition:background-color .16s ease}@-webkit-keyframes sidebar-scrollbar-peek{0%{background-color:var(--border-medium)}70%{background-color:var(--border-medium)}to{background-color:transparent}}@keyframes sidebar-scrollbar-peek{0%{background-color:var(--border-medium)}70%{background-color:var(--border-medium)}to{background-color:transparent}}.sidebar:hover .sidebar-content::-webkit-scrollbar-thumb{-webkit-animation:sidebar-scrollbar-peek 1.2s ease-out 1;animation:sidebar-scrollbar-peek 1.2s ease-out 1}.sidebar.is-scrolling .sidebar-content{scrollbar-color:var(--border-medium) transparent}.sidebar.is-scrolling .sidebar-content::-webkit-scrollbar-thumb{background-color:var(--border-medium);-webkit-animation:none;animation:none}.sidebar.is-scrolling .sidebar-content::-webkit-scrollbar-thumb:hover{background-color:var(--text-tertiary)}.sidebar-nav{display:flex;flex-direction:column;gap:0}.sidebar-section{display:flex;flex-direction:column;gap:6px}.sidebar-menu-item-wrapper{width:100%;margin-bottom:6px}.sidebar-item{width:100%;display:flex;align-items:center;gap:var(--space-3);height:44px;padding:10px 12px;border-radius:12px;cursor:pointer;background:transparent;border:none;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;text-align:left;transition:background-color .16s cubic-bezier(.4,0,.2,1),color .16s cubic-bezier(.4,0,.2,1),transform .16s cubic-bezier(.4,0,.2,1)}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-item:active{transform:translateY(.5px)}.sidebar-item.active{background:var(--bg-active);color:var(--primary);font-weight:var(--font-semibold);position:relative;border-top-left-radius:0;border-bottom-left-radius:0}.sidebar-item.active:before{content:"";position:absolute;left:-3px;top:0;bottom:0;width:3px;border-radius:999px;background:var(--primary)}.sidebar-item.has-active-child{color:var(--text-primary)}.sidebar-item.has-children[aria-expanded=true]{background:var(--bg-hover);color:var(--text-primary)}.sidebar-item svg{flex-shrink:0}.sidebar-icon-placeholder{width:18px;height:18px;display:inline-block}.sidebar-item-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item-arrow{display:flex;align-items:center;justify-content:center;margin-left:auto;color:var(--text-tertiary);transition:transform .18s cubic-bezier(.4,0,.2,1)}.sidebar-item[aria-expanded=true] .sidebar-item-arrow{transform:rotate(90deg)}.sidebar.collapsed .sidebar-item{justify-content:center;padding:10px}.sidebar.collapsed .sidebar-item-text{opacity:0;width:0;overflow:hidden}.sidebar.collapsed .sidebar-item-arrow{display:none}.sidebar-submenu{margin-left:calc(18px + var(--space-3));margin-top:6px;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .22s cubic-bezier(.4,0,.2,1),opacity .18s cubic-bezier(.4,0,.2,1);transition:grid-template-rows .22s cubic-bezier(.4,0,.2,1),opacity .18s cubic-bezier(.4,0,.2,1),-ms-grid-rows .22s cubic-bezier(.4,0,.2,1)}.sidebar-submenu-inner{overflow:hidden;display:flex;flex-direction:column;gap:4px;transform:translateY(-4px);transition:transform .22s cubic-bezier(.4,0,.2,1)}.sidebar-submenu.open{grid-template-rows:1fr;opacity:1}.sidebar-submenu.open .sidebar-submenu-inner{transform:translateY(0)}.sidebar-item.submenu-item{position:relative;height:40px;padding:8px 12px 8px 14px;font-weight:var(--font-medium);color:var(--text-secondary)}.sidebar-item.submenu-item:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--text-tertiary);display:inline-block;margin-right:10px}.sidebar-item.submenu-item.active:before{background:var(--primary)}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-tertiary);text-align:center}@media(max-width:767px){.sidebar{transform:translate(-100%);box-shadow:var(--shadow-lg);z-index:var(--z-overlay);transition:transform .22s cubic-bezier(.4,0,.2,1),width var(--transition)}.sidebar.open{transform:translate(0)}}.dashboard-layout{display:flex;height:100vh;background:var(--bg-page)}.dashboard-content{flex:1;display:flex;flex-direction:column;margin-left:var(--sidebar-width);transition:margin-left var(--transition);min-width:0}.dashboard-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed)}.dashboard-main{flex:1;overflow-y:auto;overflow-x:hidden;margin-top:var(--topbar-height);background:radial-gradient(ellipse 120% 80% at 50% 0%,rgba(37,99,235,.03),transparent 60%),var(--bg-page);padding-right:1rem;padding-top:2rem;padding-bottom:2rem}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:calc(var(--z-overlay) - 1)}.mobile-menu-btn{display:none;position:fixed;top:16px;left:16px;width:40px;height:40px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary);box-shadow:var(--shadow-sm);z-index:calc(var(--z-sticky) + 3);transition:all var(--transition)}.mobile-menu-btn:hover{background:var(--bg-hover);transform:scale(1.05)}.desktop-only{display:flex}@media(max-width:767px){.dashboard-content{margin-left:0}.dashboard-main{width:100%}.mobile-menu-btn{display:flex}.desktop-only{display:none}}:root{--bg-page: #f9fafb;--bg-sidebar: #ffffff;--bg-card: #ffffff;--bg-hover: #f3f4f6;--bg-active: #eff4fe;--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-disabled: #d1d5db;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #dbeafe;--primary-lighter: #eff6ff;--primary-shadow: rgba(37, 99, 235, .15);--success: #16a34a;--success-light: #ecfdf5;--warning: #f59e0b;--warning-light: #fffbeb;--danger: #dc2626;--danger-light: #fef2f2;--info: #2563eb;--info-light: #eff6ff;--border: #e5e7eb;--border-light: #f3f4f6;--border-medium: #d1d5db;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 30px rgba(0, 0, 0, .12);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Inter", sans-serif;--font-mono: "SF Mono", Monaco, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--topbar-height: 64px;--sidebar-width: 240px;--sidebar-collapsed: 64px;--transition: .15s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1100;--z-overlay: 1200;--z-modal: 1300}:root{--container-max: 1400px;--margin: var(--space-4);--gutter: var(--space-6);--columns: 4}.container{max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--margin);padding-right:var(--margin)}.container-full{width:100%;max-width:100%;padding-left:var(--margin);padding-right:var(--margin)}.row{display:grid;grid-template-columns:repeat(var(--columns),1fr);gap:var(--gutter)}.col{grid-column:span var(--span, 4)}.set-m-1{--span: 1}.set-m-2{--span: 2}.set-m-3{--span: 3}.set-m-4{--span: 4}@media(min-width:768px){:root{--margin: var(--space-6);--gutter: var(--space-8);--columns: 8}.col{grid-column:span var(--span-t, var(--span, 8))}.set-t-1{--span-t: 1}.set-t-2{--span-t: 2}.set-t-3{--span-t: 3}.set-t-4{--span-t: 4}.set-t-5{--span-t: 5}.set-t-6{--span-t: 6}.set-t-7{--span-t: 7}.set-t-8{--span-t: 8}}@media(min-width:1280px){:root{--margin: var(--space-10);--gutter: var(--space-8);--columns: 12}.col{grid-column:span var(--span-d, var(--span-t, var(--span, 12)))}.set-d-1{--span-d: 1}.set-d-2{--span-d: 2}.set-d-3{--span-d: 3}.set-d-4{--span-d: 4}.set-d-5{--span-d: 5}.set-d-6{--span-d: 6}.set-d-7{--span-d: 7}.set-d-8{--span-d: 8}.set-d-9{--span-d: 9}.set-d-10{--span-d: 10}.set-d-11{--span-d: 11}.set-d-12{--span-d: 12}}@media(min-width:1920px){:root{--container-max: 1680px}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{height:100%}body{background:var(--bg-page);color:var(--text-primary);font-family:Inter,sans-serif;font-size:var(--text-base);line-height:1.5;font-weight:var(--font-normal)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:1.2;color:var(--text-primary)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{color:var(--text-secondary);line-height:1.6}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-xs)}.card-header{margin-bottom:var(--space-5)}.card-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.card-subtitle{font-size:var(--text-sm);color:var(--text-secondary)}.input,.select,.textarea{width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);padding:10px 12px;font-family:inherit;font-size:var(--text-sm);transition:all var(--transition);outline:none}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-medium)}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-lighter)}.input::placeholder{color:var(--text-tertiary)}.textarea{resize:vertical;min-height:100px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-md);padding:10px 16px;border:1px solid transparent;cursor:pointer;font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition);white-space:nowrap;outline:none}.btn:focus-visible{box-shadow:0 0 0 3px var(--primary-lighter)}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-medium)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-sm{padding:6px 12px;font-size:var(--text-xs)}.btn-lg{padding:12px 20px;font-size:var(--text-base)}.btn:disabled{opacity:.5;cursor:not-allowed}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap}.badge-primary{background:var(--primary-light);color:var(--primary)}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-neutral{background:var(--bg-active);color:var(--text-secondary)}.avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary);flex-shrink:0}.avatar-sm{width:28px;height:28px;font-size:var(--text-xs)}.avatar-lg{width:44px;height:44px;font-size:var(--text-base)}.table-container{overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-card)}.table{width:100%;border-collapse:collapse}.table thead{background:var(--bg-hover);border-bottom:1px solid var(--border)}.table th{text-align:left;padding:12px 16px;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.table td{padding:14px 16px;border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--text-primary)}.table tbody tr{transition:background var(--transition)}.table tbody tr:hover{background:var(--bg-hover)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4)}.modal{background:var(--bg-card);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-lg{font-size:var(--text-lg)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}
