:root{--color-brand: #2563EB;--color-brand-hover: #1D4ED8;--color-brand-light: #DBEAFE;--color-brand-subtle: #EFF6FF;--color-sidebar-bg: #0F172A;--color-sidebar-surface: #1E293B;--color-sidebar-text: #94A3B8;--color-sidebar-text-active: #F1F5F9;--color-sidebar-accent: #3B82F6;--color-sidebar-border: rgba(255, 255, 255, .06);--color-bg-main: #F8FAFC;--color-bg-card: #FFFFFF;--color-bg-elevated: #FFFFFF;--color-bg-hover: #F1F5F9;--color-bg-active: #E2E8F0;--color-text-primary: #0F172A;--color-text-secondary: #64748B;--color-text-tertiary: #94A3B8;--color-text-inverse: #F8FAFC;--color-border: #E2E8F0;--color-border-hover: #CBD5E1;--color-border-focus: var(--color-brand);--color-success: #10B981;--color-success-border: #A7F3D0;--color-warning: #F59E0B;--color-warning-border: #FDE68A;--color-error: #EF4444;--color-error-border: #FECACA;--color-info: #3B82F6;--color-info-bg: #EFF6FF;--color-info-border: #BFDBFE;--color-indigo: #6366F1;--color-violet: #8B5CF6;--color-teal: #14B8A6;--color-sky: #38BDF8;--color-rose: #F43F5E;--color-amber: #F59E0B;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .06);--shadow-glow: 0 0 20px rgba(37, 99, 235, .15);--shadow-card-hover: 0 8px 25px -5px rgba(0, 0, 0, .1), 0 4px 10px -4px rgba(0, 0, 0, .06);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width: 240px;--bottomnav-height: 64px;--color-bg-secondary: var(--color-bg-main);--color-text-main: var(--color-text-primary);--color-text-secondary: var(--color-text-secondary);--color-accent: var(--color-brand);--color-accent-hover: var(--color-brand-hover);--color-border-standard: var(--color-border);--color-border-emphasis: var(--color-border-hover);--color-success-text: #166534;--color-success-bg: #ECFDF5;--color-warning-text: #92400E;--color-warning-bg: #FFFBEB;--color-error-text: #991B1B;--color-error-bg: #FEF2F2;--font-family-main: var(--font-family)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-main);overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}h1,h2,h3,h4,h5,h6{font-weight:600;color:var(--color-text-primary);line-height:1.3;letter-spacing:-.01em}h1{font-size:var(--font-size-3xl);font-weight:700;letter-spacing:-.025em}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-base)}p{color:var(--color-text-secondary);line-height:1.6}a{color:var(--color-brand);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-brand-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.625rem 1.25rem;border-radius:var(--radius-md);font-weight:500;font-family:var(--font-family);font-size:var(--font-size-base);cursor:pointer;border:1px solid transparent;transition:all var(--transition-base);white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;min-height:40px}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,var(--color-brand),var(--color-brand-hover));color:#fff;box-shadow:0 1px 3px #2563eb4d,0 1px 2px #2563eb33}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #2563eb59,0 2px 4px #2563eb33;transform:translateY(-1px)}.btn-secondary{background-color:var(--color-bg-card);color:var(--color-text-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-hover);border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:none}.btn-ghost:hover:not(:disabled){background-color:var(--color-bg-hover);color:var(--color-text-primary)}.btn-danger{background:linear-gradient(135deg,var(--color-error),#DC2626);color:#fff;box-shadow:0 1px 3px #ef44444d}.btn-danger:hover:not(:disabled){box-shadow:0 4px 12px #ef444459;transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,var(--color-success),#059669);color:#fff;box-shadow:0 1px 3px #10b9814d}.btn-success:hover:not(:disabled){box-shadow:0 4px 12px #10b98159;transform:translateY(-1px)}.form-group{margin-bottom:var(--space-5);display:flex;flex-direction:column}.form-label{font-size:var(--font-size-xs);text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.05em;margin-bottom:var(--space-2);font-weight:600}.form-input,.form-select{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.625rem .875rem;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-bg-card);transition:all var(--transition-base);box-shadow:var(--shadow-xs);width:100%}.form-input::placeholder{color:var(--color-text-tertiary)}.form-input:hover:not(:focus):not(:disabled){border-color:var(--color-border-hover)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #2563eb1a,var(--shadow-xs)}.form-input:disabled{background-color:var(--color-bg-main);color:var(--color-text-tertiary);cursor:not-allowed}textarea.form-input{resize:vertical;min-height:80px}.card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card-interactive:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.app-container{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);padding:var(--space-4);position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 50%,rgba(37,99,235,.08) 0%,transparent 50%),radial-gradient(ellipse at 70% 20%,rgba(99,102,241,.06) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(37,99,235,.05) 0%,transparent 50%);animation:authBgFloat 20s ease-in-out infinite alternate;pointer-events:none}@keyframes authBgFloat{0%{transform:translate(0) rotate(0)}to{transform:translate(-2%,2%) rotate(1deg)}}.auth-container .card{max-width:420px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-xl);position:relative;z-index:1;animation:fadeInUp .5s ease-out}.onboarding-container{max-width:800px;margin:0 auto;padding:var(--space-8) var(--space-4)}.stepper-header{margin-bottom:var(--space-8);text-align:center}.error-text{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--space-1);font-weight:500}.layout-content{padding:var(--space-6);padding-bottom:calc(var(--bottomnav-height) + 20px);animation:fadeIn .3s ease-out}.hide-mobile{display:none!important}@media (min-width: 768px){.layout-content{margin-left:var(--sidebar-width);padding-bottom:var(--space-8)}.hide-desktop{display:none!important}.hide-mobile{display:flex!important}}.table{width:100%;border-collapse:collapse;text-align:left;font-size:var(--font-size-base)}.table thead{background-color:var(--color-bg-main);border-bottom:1px solid var(--color-border)}.table thead th{padding:.875rem 1rem;color:var(--color-text-secondary);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;-webkit-user-select:none;user-select:none}.table thead th[data-sortable]{cursor:pointer;transition:color var(--transition-fast)}.table thead th[data-sortable]:hover{color:var(--color-text-primary)}.table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast)}.table tbody tr:hover{background-color:var(--color-bg-hover)}.table tbody tr:last-child{border-bottom:none}.table tbody td{padding:.875rem 1rem;color:var(--color-text-primary)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.1875rem .625rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.01em;white-space:nowrap;line-height:1.4}.badge-primary{background-color:var(--color-brand-light);color:var(--color-brand)}.badge-success{background-color:var(--color-success-bg);color:#065f46}.badge-warning{background-color:var(--color-warning-bg);color:#92400e}.badge-error{background-color:var(--color-error-bg);color:#991b1b}.badge-neutral{background-color:var(--color-bg-hover);color:var(--color-text-secondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes progressBar{0%{width:100%}to{width:0%}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-fadeInUp{animation:fadeInUp .4s ease-out}.animate-slideUp{animation:slideUp .35s cubic-bezier(.4,0,.2,1)}.animate-spin,.spin{animation:spin 1s linear infinite}.skeleton-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.skeleton-shimmer{background:linear-gradient(90deg,var(--color-bg-hover) 25%,var(--color-bg-active) 50%,var(--color-bg-hover) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.focus-ring:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot-online{background-color:var(--color-success);box-shadow:0 0 6px #10b98166;animation:breathe 3s ease-in-out infinite}.status-dot-offline{background-color:var(--color-error);box-shadow:0 0 6px #ef444466}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172a99;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:50;animation:fadeIn .2s ease-out}.glass{background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3)}.gradient-text{background:linear-gradient(135deg,var(--color-brand),var(--color-indigo));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 767px){h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-lg)}.layout-content{padding:var(--space-4);padding-bottom:calc(var(--bottomnav-height) + 20px)}}@media (min-width: 1280px){.layout-content{padding:var(--space-8) var(--space-8)}}@media print{.sidebar,.bottom-nav,.btn{display:none!important}.layout-content{margin-left:0!important;padding:0!important}}
