:root{--color-primary: #0f172a;--color-primary-hover: #1e293b;--color-primary-light: rgba(15, 23, 42, .08);--color-success: #16a34a;--color-success-hover: #15803d;--color-success-light: rgba(22, 163, 74, .08);--color-warning: #ca8a04;--color-warning-hover: #a16207;--color-warning-light: rgba(202, 138, 4, .08);--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-light: rgba(220, 38, 38, .08);--color-info: #2563eb;--color-info-hover: #1d4ed8;--color-info-light: rgba(37, 99, 235, .08);--severity-critical: #dc2626;--severity-critical-bg: rgba(220, 38, 38, .08);--severity-high: #ea580c;--severity-high-bg: rgba(234, 88, 12, .08);--severity-medium: #ca8a04;--severity-medium-bg: rgba(202, 138, 4, .08);--severity-low: #2563eb;--severity-low-bg: rgba(37, 99, 235, .08);--severity-safe: #16a34a;--severity-safe-bg: rgba(22, 163, 74, .08);--bg-primary: #ffffff;--bg-primary-rgb: 255, 255, 255;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-elevated: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-inverse: #ffffff;--border-color: #e2e8f0;--border-color-light: #f1f5f9;--radius: 6px;--radius-sm: 3px;--radius-lg: 8px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-md: 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 6px -2px rgba(0, 0, 0, .08);--shadow-xl: 0 8px 16px -4px rgba(0, 0, 0, .1);--overlay-bg: rgba(15, 23, 42, .4);--color-info-border: rgba(37, 99, 235, .15);--color-success-border: rgba(22, 163, 74, .15);--color-warning-border: rgba(202, 138, 4, .15);--color-danger-border: rgba(220, 38, 38, .15);--space-2xs: 2px;--space-xs: 4px;--space-sm: 6px;--space-md: 10px;--space-lg: 14px;--space-xl: 20px;--space-2xl: 32px;--space-3xl: 48px;--font-family: "Ubuntu", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "Ubuntu Mono", "SF Mono", "Fira Code", "Consolas", monospace;--font-size-3xs: .5625rem;--font-size-2xs: .6875rem;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-lg: 1rem;--font-size-xl: 1.125rem;--font-size-2xl: 1.25rem;--font-size-3xl: 1.5rem;--font-size-4xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.01em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-caps: .05em;--line-height-none: 1;--line-height-tight: 1.2;--line-height-snug: 1.35;--line-height-normal: 1.5;--line-height-relaxed: 1.65;--transition-fast: .1s ease;--transition-base: .15s ease;--transition-slow: .25s ease;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--sidebar-width: 220px;--header-height: 52px;--container-max-width: 1280px}[data-theme=dark]{--bg-primary: #0f172a;--bg-primary-rgb: 15, 23, 42;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-elevated: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--text-inverse: #0f172a;--border-color: #334155;--border-color-light: #475569;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5);--overlay-bg: rgba(0, 0, 0, .5);--color-primary-light: rgba(15, 23, 42, .15);--color-success-light: rgba(34, 197, 94, .15);--color-warning-light: rgba(245, 158, 11, .15);--color-danger-light: rgba(239, 68, 68, .15);--color-info-light: rgba(59, 130, 246, .15);--color-info-border: rgba(59, 130, 246, .3);--color-success-border: rgba(34, 197, 94, .3);--color-warning-border: rgba(245, 158, 11, .3);--color-danger-border: rgba(239, 68, 68, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-primary)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{color:var(--text-secondary);line-height:var(--line-height-relaxed)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}code,pre{font-family:var(--font-mono);font-size:var(--font-size-sm)}code{background-color:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm)}pre{background-color:var(--bg-secondary);padding:var(--space-md);border-radius:var(--radius);overflow-x:auto}pre code{background:none;padding:0}ul,ol{padding-left:var(--space-lg)}li{color:var(--text-secondary);margin-bottom:var(--space-xs)}::selection{background-color:var(--color-primary);color:var(--text-inverse)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-color-light)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-2xs{font-size:var(--font-size-2xs)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.tracking-tight{letter-spacing:var(--letter-spacing-tight)}.tracking-normal{letter-spacing:var(--letter-spacing-normal)}.tracking-wide{letter-spacing:var(--letter-spacing-wide)}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.tabs{display:flex;flex-direction:column}.tabs-list{display:flex;gap:4px}.tabs-list-default{padding:3px;gap:2px;background-color:var(--bg-secondary);border-radius:var(--radius);border:1px solid var(--border-color)}.tabs-list-default .tabs-trigger{flex:1;padding:6px 12px;font-family:var(--font-family);font-size:12px;font-weight:var(--font-weight-medium);color:var(--text-secondary);background:none;border:none;border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:all var(--transition-fast)}.tabs-list-default .tabs-trigger:hover:not(:disabled){color:var(--text-primary)}.tabs-list-default .tabs-trigger.active{color:var(--text-inverse);background-color:var(--color-primary)}.tabs-list-pills{gap:6px}.tabs-list-pills .tabs-trigger{padding:4px 10px;font-size:12px;font-weight:var(--font-weight-medium);color:var(--text-secondary);background:none;border:1px solid transparent;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.tabs-list-pills .tabs-trigger:hover:not(:disabled){color:var(--text-primary);background-color:var(--bg-secondary)}.tabs-list-pills .tabs-trigger.active{color:var(--color-primary);background-color:var(--color-primary-light);border-color:transparent}.tabs-list-underline{border-bottom:1px solid var(--border-color);gap:0}.tabs-list-underline .tabs-trigger{position:relative;padding:8px 12px;font-size:12px;font-weight:var(--font-weight-medium);color:var(--text-secondary);background:none;border:none;cursor:pointer;transition:all var(--transition-fast)}.tabs-list-underline .tabs-trigger:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background-color:transparent;transition:background-color var(--transition-fast)}.tabs-list-underline .tabs-trigger:hover:not(:disabled){color:var(--text-primary)}.tabs-list-underline .tabs-trigger.active{color:var(--color-primary)}.tabs-list-underline .tabs-trigger.active:after{background-color:var(--color-primary)}.tabs-trigger:disabled{opacity:.5;cursor:not-allowed}.tabs-content{padding:12px 0;animation:tabs-content-in .15s ease-out}@keyframes tabs-content-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.tabs-list{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.tabs-list::-webkit-scrollbar{display:none}.tabs-list-default .tabs-trigger{flex:none;padding:6px 10px;font-size:11px;white-space:nowrap}.tabs-list-pills .tabs-trigger{padding:4px 8px;font-size:11px;white-space:nowrap}.tabs-list-underline .tabs-trigger{padding:6px 10px;font-size:11px;white-space:nowrap}.tabs-content{padding:8px 0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-family);font-weight:var(--font-weight-medium);text-align:center;white-space:nowrap;cursor:pointer;border:1px solid transparent;border-radius:var(--radius);transition:all var(--transition-fast);text-decoration:none;line-height:1}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{height:26px;padding:0 8px;font-size:12px}.btn-md{height:32px;padding:0 12px;font-size:13px}.btn-lg{height:38px;padding:0 16px;font-size:14px}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-tertiary);border-color:var(--border-color)}.btn-danger{background-color:var(--color-danger);border-color:var(--color-danger);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-hover);border-color:var(--color-danger-hover)}.btn-success{background-color:var(--color-success);border-color:var(--color-success);color:var(--text-inverse)}.btn-success:hover:not(:disabled){background-color:var(--color-success-hover);border-color:var(--color-success-hover)}.btn-ghost{background-color:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-link{background-color:transparent;border-color:transparent;color:var(--color-info);padding:0;height:auto;font-weight:var(--font-weight-normal)}.btn-link:hover:not(:disabled){color:var(--color-info-hover);text-decoration:underline}.btn-full{width:100%}.btn-loading{position:relative;color:transparent!important}.btn-spinner{position:absolute;display:flex;align-items:center;justify-content:center}.btn-spinner svg{width:16px;height:16px;animation:btn-spin .8s linear infinite}.btn-primary .btn-spinner,.btn-danger .btn-spinner,.btn-success .btn-spinner{color:var(--text-inverse)}.btn-secondary .btn-spinner,.btn-ghost .btn-spinner{color:var(--text-primary)}@keyframes btn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-text{display:inline-flex;align-items:center;line-height:1}.btn-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn-icon svg{width:14px;height:14px}.btn-lg .btn-icon svg{width:16px;height:16px}.btn-sm .btn-icon svg{width:12px;height:12px}.btn-group{display:flex;gap:4px}.btn-group-vertical{flex-direction:column}@media(max-width:768px){.btn-md{height:30px;padding:0 10px;font-size:12px}.btn-lg{height:34px;padding:0 14px;font-size:13px}.btn-group{flex-wrap:wrap}}.input-wrapper{position:relative;display:flex;align-items:center;width:100%}.input{width:100%;height:32px;padding:0 10px;font-family:var(--font-family);font-size:13px;color:var(--text-primary);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);transition:all var(--transition-fast)}.input::placeholder{color:var(--text-muted)}.input:hover:not(:disabled){border-color:var(--border-color-light)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.input:disabled{opacity:.5;cursor:not-allowed;background-color:var(--bg-tertiary)}.input-error .input{border-color:var(--color-danger)}.input-error .input:focus{box-shadow:0 0 0 2px var(--color-danger-light)}.input-icon{position:absolute;display:flex;align-items:center;justify-content:center;color:var(--text-muted);pointer-events:none}.input-icon svg{width:14px;height:14px}.input-icon-left{left:10px}.input-icon-right{right:10px}.input-icon.clickable{pointer-events:auto;cursor:pointer;transition:color var(--transition-fast)}.input-icon.clickable:hover{color:var(--text-primary)}.has-left-icon .input{padding-left:32px}.has-right-icon .input{padding-right:32px}.input-sm .input{height:26px;font-size:12px;padding:0 8px}.input-sm .input-icon svg{width:12px;height:12px}.input-sm.has-left-icon .input{padding-left:28px}.input-sm.has-right-icon .input{padding-right:28px}.input-lg .input{height:38px;font-size:14px;padding:0 12px}.input-lg .input-icon svg{width:16px;height:16px}.input-lg.has-left-icon .input{padding-left:36px}.input-lg.has-right-icon .input{padding-right:36px}@media(max-width:768px){.input{height:34px;font-size:14px}.input-lg .input{height:36px}}.badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-family);font-weight:var(--font-weight-semibold);white-space:nowrap;line-height:1;text-transform:uppercase;letter-spacing:.025em}.badge-xs{height:16px;padding:0 4px;font-size:9px;border-radius:3px}.badge-sm{height:18px;padding:0 5px;font-size:10px;border-radius:3px}.badge-md{height:20px;padding:0 6px;font-size:11px;border-radius:4px}.badge-lg{height:24px;padding:0 8px;font-size:12px;border-radius:4px}.badge-default{background-color:var(--bg-tertiary);color:var(--text-secondary)}.badge-primary{background-color:var(--color-primary);color:var(--text-inverse)}.badge-success{background-color:var(--color-success);color:var(--text-inverse)}.badge-warning{background-color:var(--color-warning);color:var(--text-inverse)}.badge-danger{background-color:var(--color-danger);color:var(--text-inverse)}.badge-info{background-color:var(--color-info);color:var(--text-inverse)}.badge-soft-default{background-color:var(--bg-tertiary);color:var(--text-secondary)}.badge-soft-primary{background-color:var(--color-primary-light);color:var(--color-primary)}.badge-soft-success{background-color:var(--color-success-light);color:var(--color-success)}.badge-soft-warning{background-color:var(--color-warning-light);color:var(--color-warning)}.badge-soft-danger{background-color:var(--color-danger-light);color:var(--color-danger)}.badge-soft-info{background-color:var(--color-info-light);color:var(--color-info)}.badge-critical{background-color:var(--severity-critical);color:#fff}.badge-high{background-color:var(--severity-high);color:#fff}.badge-medium{background-color:var(--severity-medium);color:#fff}.badge-low{background-color:var(--severity-low);color:#fff}.badge-safe{background-color:var(--severity-safe);color:#fff}.badge-dot-indicator{width:6px;height:6px;border-radius:50%;background-color:currentColor}.badge-outline{background-color:transparent;border:1px solid currentColor}.badge-pill{border-radius:var(--radius-full)}.badge-count{min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:var(--font-weight-bold);border-radius:var(--radius-full);background-color:var(--color-danger);color:#fff}@media(max-width:768px){.badge-md{height:18px;padding:0 5px;font-size:10px}.badge-lg{height:20px;padding:0 6px;font-size:11px}}.card{background-color:var(--bg-primary);border-radius:var(--radius);overflow:hidden}.card-default,.card-bordered{border:1px solid var(--border-color)}.card-elevated{border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.card-padding-none{padding:0}.card-padding-sm{padding:8px}.card-padding-md{padding:12px}.card-padding-lg{padding:16px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary)}.card-padding-none .card-header{padding:10px 14px}.card-header-content{flex:1;min-width:0}.card-title{font-size:13px;font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;line-height:1.3}.card-description{font-size:12px;color:var(--text-muted);margin:2px 0 0;line-height:1.4}.card-header-action{flex-shrink:0}.card-content,.card-padding-none .card-content{padding:12px 14px}.card-header+.card-content{padding-top:12px}.card-footer{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:8px 14px;border-top:1px solid var(--border-color);background-color:var(--bg-secondary)}.card-padding-none .card-footer{padding:8px 14px}.section-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius)}.section-card-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary)}.section-card-title{font-size:13px;font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.section-card-content{padding:12px 14px}.card-compact .card-header{padding:8px 12px}.card-compact .card-content{padding:10px 12px}.card-compact .card-title{font-size:12px}.card-list-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-color)}.card-list-item:last-child{border-bottom:none}.card-list-item-content{flex:1;min-width:0}.card-list-item-title{font-size:13px;font-weight:var(--font-weight-medium);color:var(--text-primary);margin:0}.card-list-item-description{font-size:12px;color:var(--text-muted);margin:0}@media(max-width:768px){.card-header{padding:8px 12px;gap:8px}.card-padding-none .card-header{padding:8px 12px}.card-title{font-size:12px}.card-description{font-size:11px}.card-content,.card-padding-none .card-content{padding:10px 12px}.card-footer{padding:6px 12px;gap:4px}.card-padding-sm{padding:6px}.card-padding-md{padding:10px}.card-padding-lg{padding:12px}.section-card-header{padding:8px 12px}.section-card-title{font-size:12px}.section-card-content{padding:10px 12px}.card-list-item{gap:8px;padding:6px 0}.card-list-item-title{font-size:12px}.card-list-item-description{font-size:11px}}.ds-text{margin:0;padding:0;color:var(--text-primary, #1a1a2e)}.ds-text--h1{font-size:2rem;font-weight:700;line-height:1.2;letter-spacing:-.02em}.ds-text--h2{font-size:1.5rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}.ds-text--h3{font-size:1.25rem;font-weight:600;line-height:1.4}.ds-text--h4{font-size:1.125rem;font-weight:600;line-height:1.4}.ds-text--body{font-size:1rem;font-weight:400;line-height:1.6}.ds-text--body-sm{font-size:.875rem;font-weight:400;line-height:1.5}.ds-text--caption{font-size:.75rem;font-weight:400;line-height:1.4}.ds-text--label{font-size:.875rem;font-weight:500;line-height:1.4}.ds-text--muted{color:var(--text-secondary, #6b7280)}.ds-text--primary{color:var(--primary, #3b82f6)}.ds-text--success{color:var(--success, #10b981)}.ds-text--warning{color:var(--warning, #f59e0b)}.ds-text--danger{color:var(--danger, #ef4444)}.ds-text--normal{font-weight:400}.ds-text--medium{font-weight:500}.ds-text--semibold{font-weight:600}.ds-text--bold{font-weight:700}.ds-text--left{text-align:left}.ds-text--center{text-align:center}.ds-text--right{text-align:right}.form-group{display:flex;flex-direction:column;gap:4px}.form-label{font-size:12px;font-weight:var(--font-weight-medium);color:var(--text-primary)}.form-required{color:var(--color-danger);margin-left:2px}.form-error{font-size:11px;color:var(--color-danger)}.form-hint{font-size:11px;color:var(--text-muted)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:14px}.form-divider{display:flex;align-items:center;gap:10px;margin:14px 0}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background-color:var(--border-color)}.form-divider-text{font-size:12px;color:var(--text-muted);white-space:nowrap}@media(max-width:768px){.form-actions{flex-wrap:wrap;margin-top:12px}.form-divider{margin:12px 0}}.select-wrapper{position:relative;display:flex;align-items:center;width:100%}.select{width:100%;height:32px;padding:0 32px 0 10px;font-family:var(--font-family);font-size:13px;color:var(--text-primary);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all var(--transition-fast)}.select:hover:not(:disabled){border-color:var(--border-color-light)}.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.select:disabled{opacity:.5;cursor:not-allowed;background-color:var(--bg-tertiary)}.select option{background-color:var(--bg-secondary);color:var(--text-primary)}.select-icon{position:absolute;right:10px;display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--text-muted)}.select-icon svg{width:14px;height:14px}.select-error .select{border-color:var(--color-danger)}.select-error .select:focus{box-shadow:0 0 0 2px var(--color-danger-light)}.select-sm .select{height:26px;font-size:12px;padding:0 28px 0 8px}.select-sm .select-icon svg{width:12px;height:12px}.select-lg .select{height:38px;font-size:14px;padding:0 36px 0 12px}.select-lg .select-icon svg{width:16px;height:16px}.toggle-wrapper{display:inline-flex;align-items:center;gap:var(--space-sm)}.toggle{position:relative;display:inline-block;cursor:pointer}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-slider{display:block;background-color:var(--bg-tertiary);border-radius:var(--radius-full);transition:all var(--transition-fast)}.toggle-slider:before{content:"";position:absolute;background-color:var(--bg-primary);border-radius:var(--radius-full);transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.toggle-input:checked+.toggle-slider{background-color:var(--color-primary)}.toggle-input:focus-visible+.toggle-slider{outline:2px solid var(--color-primary);outline-offset:2px}.toggle-input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle-sm .toggle-slider{width:32px;height:18px}.toggle-sm .toggle-slider:before{width:14px;height:14px;top:2px;left:2px}.toggle-sm .toggle-input:checked+.toggle-slider:before{transform:translate(14px)}.toggle-md .toggle-slider{width:40px;height:22px}.toggle-md .toggle-slider:before{width:18px;height:18px;top:2px;left:2px}.toggle-md .toggle-input:checked+.toggle-slider:before{transform:translate(18px)}.toggle-lg .toggle-slider{width:48px;height:26px}.toggle-lg .toggle-slider:before{width:22px;height:22px;top:2px;left:2px}.toggle-lg .toggle-input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-label{font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.textarea{width:100%;min-height:100px;padding:var(--space-md);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);transition:all var(--transition-fast);line-height:var(--line-height-normal)}.textarea::placeholder{color:var(--text-muted)}.textarea:hover:not(:disabled){border-color:var(--border-color-light)}.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.textarea:disabled{opacity:.5;cursor:not-allowed;background-color:var(--bg-tertiary)}.textarea-error{border-color:var(--color-danger)}.textarea-error:focus{box-shadow:0 0 0 3px var(--color-danger-light)}.layout{display:flex;min-height:100vh;background-color:var(--bg-primary)}.main-content{flex:1;min-width:0;overflow-y:auto}.page{padding:16px 20px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.page-header-content{flex:1;min-width:0}.page-title{font-size:18px;font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.page-description{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.page-actions{display:flex;gap:6px;flex-shrink:0}.container{width:100%;margin:0 auto;padding:0 10px}.container-sm{max-width:640px}.container-md{max-width:768px}.container-lg{max-width:1024px}.container-xl{max-width:1280px}.container-full{max-width:100%}.grid{display:grid;gap:12px}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1200px){.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.layout{display:block}.main-content{width:100%;min-height:calc(100vh - var(--mobile-header-height, 52px))}.page{padding:12px}.page-header{flex-direction:column;align-items:stretch}.page-actions{width:100%}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr;gap:10px}}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media(max-width:1024px){.settings-grid{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:4px}.gap-sm{gap:6px}.gap-md{gap:10px}.gap-lg{gap:14px}.gap-xl{gap:20px}.sidebar{display:flex;flex-direction:column;width:var(--sidebar-width);height:100vh;position:sticky;top:0;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);transition:width var(--transition-base);overflow-y:auto}.sidebar-collapsed{width:56px}.sidebar-header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border-color)}.sidebar-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-logo img{height:24px;width:auto}.sidebar-title{font-size:14px;font-weight:var(--font-weight-bold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-collapsed .sidebar-title{display:none}.sidebar-nav{flex:1;padding:8px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:2px;font-size:13px;color:var(--text-secondary);text-decoration:none;border-radius:var(--radius);transition:all var(--transition-fast);cursor:pointer}.nav-item:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background-color:var(--color-primary-light);color:var(--color-primary)}.nav-item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px}.nav-item-icon svg{width:18px;height:18px}.nav-item-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-collapsed .nav-item-text{display:none}.nav-item-badge{flex-shrink:0}.sidebar-collapsed .nav-item-badge{display:none}.sidebar-footer{margin-top:auto;padding:8px 12px;border-top:1px solid var(--border-color)}.sidebar-footer .logout-button{width:100%;justify-content:center;padding:6px 10px;font-size:12px}.user-profile{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius);background-color:var(--bg-tertiary)}.user-avatar{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);background-color:var(--color-primary);color:var(--text-inverse);font-size:11px;font-weight:var(--font-weight-medium);flex-shrink:0}.user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-full)}.user-info{display:flex;flex-direction:column;min-width:0}.sidebar-collapsed .user-info{display:none}.user-name{font-size:12px;font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-section{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border-color);background:linear-gradient(to bottom,var(--bg-tertiary),transparent)}.user-section-info{display:flex;align-items:center;gap:8px}.user-section-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;font-size:12px;font-weight:var(--font-weight-bold);flex-shrink:0}.user-section-details{display:flex;flex-direction:column;min-width:0;flex:1}.user-section-name{font-size:12px;font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.user-section-email{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.user-section-actions{display:flex;align-items:center;gap:6px;margin-top:2px}.logout-button{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.logout-button:hover{background:#ef44441a;border-color:var(--color-danger);color:var(--color-danger)}.logout-button svg{flex-shrink:0;width:12px;height:12px}.logout-text{font-weight:var(--font-weight-medium)}.sidebar-collapsed .logout-text{display:none}.sidebar-collapsed .sidebar-user-section{align-items:center;padding:8px;background:none}.sidebar-collapsed .user-section-info{display:none}.sidebar-collapsed .logout-button{margin-top:0;padding:4px}.mobile-header{display:none;align-items:center;gap:8px;padding:10px 14px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:var(--z-sticky)}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:none;border-radius:var(--radius);color:var(--text-primary);cursor:pointer;transition:background-color var(--transition-fast)}.mobile-menu-btn:hover{background-color:var(--bg-tertiary)}.mobile-header-logo{display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.mobile-header-title{font-size:14px;font-weight:var(--font-weight-bold);color:var(--text-primary)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:calc(var(--z-modal-backdrop));opacity:0;transition:opacity var(--transition-base)}.sidebar-overlay.open{opacity:1}@media(max-width:768px){.mobile-header{display:flex;min-height:var(--mobile-header-height)}.mobile-menu-btn{width:var(--touch-target-min);height:var(--touch-target-min)}.sidebar{position:fixed;left:0;top:0;width:var(--sidebar-width);z-index:var(--z-modal);transform:translate(-100%);transition:transform var(--transition-slow);box-shadow:var(--shadow-xl);max-width:85vw;visibility:hidden}.sidebar.open{visibility:visible;transform:translate(0)}.sidebar-overlay.open{display:block}.nav-item{min-height:var(--touch-target-min);padding:12px 14px;font-size:14px}.nav-item-icon{width:22px;height:22px}.nav-item-icon svg{width:22px;height:22px}.sidebar-user-section{padding:14px}.user-section-avatar{width:40px;height:40px;font-size:14px}.user-section-name{font-size:14px}.user-section-email{font-size:12px}.logout-button{min-height:40px;padding:10px 14px;font-size:13px}.logout-button svg{width:16px;height:16px}.sidebar-footer .logout-button{padding:12px 14px}}.table-wrapper{width:100%;overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border-color)}.table{width:100%;border-collapse:collapse;font-size:13px}.table-head{background-color:var(--bg-secondary)}.table-header{padding:8px 12px;text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);white-space:nowrap}.table-header.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table-header.sortable:hover{background-color:var(--bg-tertiary)}.table-header-content{display:flex;align-items:center;gap:4px}.sort-icon{display:flex;flex-direction:column;opacity:.3}.sort-icon svg{width:12px;height:12px}.sort-icon .sort-asc,.sort-icon .sort-desc{opacity:.3}.sort-icon.asc .sort-asc,.sort-icon.desc .sort-desc{opacity:1}.table-header.sortable:hover .sort-icon{opacity:.6}.table-row{transition:background-color var(--transition-fast)}.table-row:not(:last-child){border-bottom:1px solid var(--border-color)}.table-cell{padding:8px 12px;color:var(--text-primary);vertical-align:middle}.table-hoverable .table-row:hover{background-color:var(--bg-secondary)}.table-striped .table-row:nth-child(2n){background-color:var(--bg-secondary)}.table-compact .table-header,.table-compact .table-cell{padding:6px 10px;font-size:12px}.table-compact .table-header{font-size:10px}.table-bordered .table-header,.table-bordered .table-cell{border:1px solid var(--border-color)}.table-row.selected,.table-row.selected:hover{background-color:var(--color-primary-light)}.table-empty{text-align:center;padding:24px;color:var(--text-muted);font-size:13px}.table-cell-status{display:inline-flex;align-items:center;gap:6px}.table-cell-status:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.table-cell-status.status-success:before{background-color:var(--color-success)}.table-cell-status.status-warning:before{background-color:var(--color-warning)}.table-cell-status.status-danger:before{background-color:var(--color-danger)}.table-cell-status.status-info:before{background-color:var(--color-info)}.table .col-compact,.table .col-status,.table .col-actions,.table .col-date{width:1%;white-space:nowrap;text-align:center}.table .col-status{min-width:80px;max-width:120px}.table .col-actions{text-align:right}.table .col-date{min-width:90px}@media(max-width:768px){.table{font-size:12px}.table-header,.table-cell{padding:6px 8px}.table-header{font-size:10px}.table-compact .table-header,.table-compact .table-cell{padding:4px 6px;font-size:11px}.table-wrapper{-webkit-overflow-scrolling:touch}.table-empty{padding:16px;font-size:12px}}.pagination,.pagination-pages{display:flex;align-items:center;gap:4px}.pagination-btn{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;font-size:12px;font-weight:var(--font-weight-medium);color:var(--text-secondary);background-color:transparent;border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){background-color:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color-light)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background-color:var(--color-primary);color:var(--text-inverse);border-color:var(--color-primary)}.pagination-btn.active:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;color:var(--text-muted);font-size:12px}.pagination-btn svg{width:14px;height:14px}.pagination-compact .pagination-btn{min-width:24px;height:24px;font-size:11px}.pagination-compact .pagination-btn svg{width:12px;height:12px}.pagination-compact .pagination-ellipsis{min-width:24px;height:24px;font-size:11px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:16px;background-color:var(--overlay-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-overlay-in .15s ease-out}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}.modal{display:flex;flex-direction:column;width:100%;max-height:calc(100vh - 48px);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:modal-in .15s ease-out}@keyframes modal-in{0%{opacity:0;transform:scale(.98) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-sm{max-width:360px}.modal-md{max-width:480px}.modal-lg{max-width:640px}.modal-xl{max-width:800px}.modal-full{max-width:calc(100vw - 48px);max-height:calc(100vh - 48px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);flex-shrink:0}.modal-title{font-size:14px;font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin:-4px -4px -4px 0;color:var(--text-muted);background:none;border:none;border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast)}.modal-close:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.modal-close svg{width:16px;height:16px}.modal-body{flex:1;padding:16px;overflow-y:auto;color:var(--text-secondary);font-size:13px;line-height:1.5}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border-color);background-color:var(--bg-secondary);flex-shrink:0}@media(max-width:640px){.modal-overlay{padding:12px;align-items:flex-end}.modal{max-width:100%;max-height:85vh;border-radius:var(--radius) var(--radius) 0 0}.modal-full{max-height:100vh;border-radius:0}}.alert{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--radius);border-left:3px solid;font-size:13px}.alert-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.alert-icon svg{width:16px;height:16px}.alert-content{flex:1;min-width:0}.alert-title{font-size:13px;font-weight:var(--font-weight-semibold);margin-bottom:2px}.alert-message{font-size:12px;color:inherit;opacity:.9;line-height:1.4}.alert-dismiss{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;padding:0;margin:-2px -4px -2px 0;color:currentColor;opacity:.5;background:none;border:none;border-radius:var(--radius);cursor:pointer;transition:opacity var(--transition-fast)}.alert-dismiss:hover{opacity:1}.alert-dismiss svg{width:14px;height:14px}.alert-info{background-color:var(--color-info-light);border-left-color:var(--color-info);color:var(--color-info)}.alert-success{background-color:var(--color-success-light);border-left-color:var(--color-success);color:var(--color-success)}.alert-warning{background-color:var(--color-warning-light);border-left-color:var(--color-warning);color:var(--color-warning)}.alert-danger{background-color:var(--color-danger-light);border-left-color:var(--color-danger);color:var(--color-danger)}.alert-compact{padding:8px 10px;font-size:12px}.alert-compact .alert-icon svg{width:14px;height:14px}.alert-compact .alert-title{font-size:12px}.alert-compact .alert-message{font-size:11px}.toast-container{position:fixed;z-index:var(--z-tooltip);display:flex;flex-direction:column;gap:6px;max-width:340px;pointer-events:none}.toast-top-right{top:14px;right:14px}.toast-top-left{top:14px;left:14px}.toast-bottom-right{bottom:14px;right:14px}.toast-bottom-left{bottom:14px;left:14px}.toast-top-center{top:14px;left:50%;transform:translate(-50%)}.toast-bottom-center{bottom:14px;left:50%;transform:translate(-50%)}.toast{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-md);pointer-events:auto;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.toast-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.toast-icon svg{width:16px;height:16px}.toast-content{flex:1;min-width:0}.toast-title{font-size:13px;font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:2px}.toast-message{font-size:12px;color:var(--text-secondary);line-height:1.4}.toast-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;padding:0;margin:-2px -4px -2px 0;color:var(--text-muted);background:none;border:none;border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast)}.toast-close:hover{color:var(--text-primary);background-color:var(--bg-secondary)}.toast-close svg{width:14px;height:14px}.toast-info .toast-icon{color:var(--color-info)}.toast-success .toast-icon{color:var(--color-success)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-danger .toast-icon{color:var(--color-danger)}@media(max-width:480px){.toast-container{left:10px;right:10px;max-width:none;transform:none}.toast-top-center,.toast-bottom-center{left:10px;transform:none}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);text-align:center}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin-bottom:var(--space-lg);color:var(--text-muted);background-color:var(--bg-secondary);border-radius:var(--radius-full)}.empty-state-icon svg{width:48px;height:48px}.empty-state-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-sm)}.empty-state-description{font-size:var(--font-size-sm);color:var(--text-secondary);max-width:400px;margin-bottom:var(--space-lg)}.empty-state-action{display:flex;gap:var(--space-sm)}.spinner{display:inline-flex;color:var(--color-primary)}.spinner svg{animation:spinner-rotate 1s linear infinite}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-sm svg{width:16px;height:16px}.spinner-md svg{width:24px;height:24px}.spinner-lg svg{width:40px;height:40px}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-tertiary) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-rounded{border-radius:var(--radius)}.skeleton-circle{border-radius:var(--radius-full)}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:rgba(var(--bg-primary-rgb),.8);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-modal)}.loading-overlay-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.loading-overlay-text{font-size:var(--font-size-sm);color:var(--text-secondary)}.progress-wrapper{display:flex;align-items:center;gap:var(--space-sm)}.progress{flex:1;background-color:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-sm{height:4px}.progress-md{height:8px}.progress-lg{height:12px}.progress-bar{height:100%;background-color:var(--color-primary);border-radius:var(--radius-full);transition:width var(--transition-base)}.progress-success .progress-bar{background-color:var(--color-success)}.progress-warning .progress-bar{background-color:var(--color-warning)}.progress-danger .progress-bar{background-color:var(--color-danger)}.progress-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);min-width:40px;text-align:right}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background-color:var(--color-primary);color:var(--text-inverse);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);overflow:hidden}.avatar-xs{width:24px;height:24px;font-size:var(--font-size-xs)}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar-md{width:40px;height:40px;font-size:var(--font-size-sm)}.avatar-lg{width:48px;height:48px;font-size:var(--font-size-base)}.avatar-xl{width:64px;height:64px;font-size:var(--font-size-lg)}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-initials{line-height:1}.avatar-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:var(--bg-tertiary);color:var(--text-muted)}.avatar-fallback svg{width:60%;height:60%}.avatar-status{position:absolute;bottom:0;right:0;width:25%;height:25%;min-width:8px;min-height:8px;border-radius:var(--radius-full);border:2px solid var(--bg-primary)}.avatar-status-online{background-color:var(--color-success)}.avatar-status-offline{background-color:var(--text-muted)}.avatar-status-away{background-color:var(--color-warning)}.avatar-status-busy{background-color:var(--color-danger)}.avatar-group{display:flex;flex-direction:row-reverse;justify-content:flex-end}.avatar-group .avatar{margin-left:-8px;border:2px solid var(--bg-primary)}.avatar-group .avatar:last-child{margin-left:0}.avatar-overflow{background-color:var(--bg-tertiary);color:var(--text-secondary)}.dropdown{position:relative;display:inline-block}.dropdown-trigger{cursor:pointer}.dropdown-menu{position:absolute;top:100%;margin-top:var(--space-xs);min-width:200px;padding:var(--space-xs);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);animation:dropdown-in .15s ease-out}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-align-left{left:0}.dropdown-align-right{right:0}.dropdown-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);color:var(--text-primary);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background-color var(--transition-fast)}.dropdown-item:hover:not(:disabled){background-color:var(--bg-secondary)}.dropdown-item:disabled{opacity:.5;cursor:not-allowed}.dropdown-item-danger{color:var(--color-danger)}.dropdown-item-danger:hover:not(:disabled){background-color:var(--color-danger-light)}.dropdown-item-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-muted)}.dropdown-item-icon svg{width:16px;height:16px}.dropdown-item-danger .dropdown-item-icon{color:var(--color-danger)}.dropdown-item-text{flex:1}.dropdown-divider{height:1px;margin:var(--space-xs) 0;background-color:var(--border-color)}.dropdown-label{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-icon{position:absolute;left:var(--space-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);pointer-events:none}.search-input-icon svg{width:18px;height:18px}.search-spinner{animation:search-spinner-rotate 1s linear infinite}@keyframes search-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.search-input{width:100%;padding:var(--space-sm) var(--space-md);padding-left:calc(var(--space-sm) + 18px + var(--space-sm));padding-right:calc(var(--space-sm) + 18px + var(--space-sm));font-size:var(--font-size-sm);color:var(--text-primary);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);transition:all var(--transition-fast)}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{outline:none;background-color:var(--bg-primary);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.search-input-clear{position:absolute;right:var(--space-sm);display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;color:var(--text-muted);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.search-input-clear:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.search-input-clear svg{width:14px;height:14px}.stat-card{padding:12px 14px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius)}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.stat-card-title{font-size:11px;font-weight:var(--font-weight-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.stat-card-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--color-primary);background-color:var(--color-primary-light);border-radius:var(--radius)}.stat-card-icon svg{width:14px;height:14px}.stat-card-value{font-size:20px;font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1.2;margin-bottom:4px}.stat-card-change{display:flex;align-items:center;gap:4px;font-size:11px}.stat-card-trend-icon{display:flex;align-items:center;justify-content:center}.stat-card-trend-icon svg{width:12px;height:12px}.stat-card-change-value{font-weight:var(--font-weight-medium)}.stat-card-change-label{color:var(--text-muted)}.stat-card-change-up{color:var(--color-success)}.stat-card-change-down{color:var(--color-danger)}.stat-card-change-neutral{color:var(--text-secondary)}@media(max-width:768px){.stat-card{padding:10px 12px}.stat-card-header{margin-bottom:4px}.stat-card-title{font-size:10px}.stat-card-icon{width:24px;height:24px}.stat-card-icon svg{width:12px;height:12px}.stat-card-value{font-size:16px;margin-bottom:2px}.stat-card-change{font-size:10px}}:root{--checkout-border: #e2e8f0;--checkout-border-hover: #cbd5e1;--checkout-input-bg: #f8fafc;--checkout-section-bg: #f1f5f9;--checkout-text: #1e293b;--checkout-text-muted: #64748b;--checkout-success: #22c55e;--checkout-success-bg: #dcfce7;--checkout-error: #ef4444;--checkout-error-bg: #fee2e2;--checkout-info-bg: #e0f2fe;--checkout-info-text: #0369a1}.checkout-page{min-height:100vh;background:var(--checkout-bg, #f8fafc);padding:24px;font-family:var(--font-family)}.checkout-container{max-width:1000px;margin:0 auto}.checkout-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--checkout-bg, #f8fafc)}.checkout-spinner{width:48px;height:48px;border:4px solid var(--checkout-border);border-top-color:var(--checkout-primary, #0f172a);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.checkout-loading p{margin-top:16px;color:var(--checkout-text-muted)}.checkout-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--checkout-bg, #f8fafc);text-align:center;padding:24px}.checkout-error-icon{font-size:64px;margin-bottom:16px}.checkout-error h2{margin:0 0 8px;color:var(--checkout-text)}.checkout-error p{color:var(--checkout-text-muted);max-width:400px}.checkout-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;position:relative}.checkout-header-nav{width:40px;height:40px;display:flex;align-items:center;justify-content:flex-start}.header-back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:#fff;border:1px solid var(--checkout-border);border-radius:10px;color:var(--checkout-text);cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.header-back-btn:hover{background:var(--checkout-section-bg);border-color:var(--checkout-border-hover);transform:translate(-2px)}.header-back-btn svg{width:20px;height:20px}.header-spacer{width:40px;height:40px}.checkout-header-brand{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.checkout-logo{max-width:150px;max-height:60px;object-fit:contain}.checkout-logo-placeholder{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;font-weight:700}.checkout-title{font-size:24px;font-weight:700;color:var(--checkout-text);margin:0}.checkout-nav-container{margin-bottom:32px}.checkout-nav{display:flex;align-items:center;margin-bottom:24px;min-height:40px}.nav-back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid var(--checkout-border);border-radius:10px;color:var(--checkout-text);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.nav-back-btn:hover{background:var(--checkout-section-bg);border-color:var(--checkout-border-hover);transform:translate(-2px)}.nav-back-btn svg{flex-shrink:0;color:var(--checkout-text-muted);transition:color .2s ease}.nav-back-btn:hover svg{color:var(--checkout-primary, #0f172a)}.nav-spacer{height:40px}.checkout-steps{display:flex;align-items:center;justify-content:center;margin-bottom:32px;padding:0 16px;max-width:480px;margin-left:auto;margin-right:auto}.checkout-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.step-number{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;background:var(--checkout-border);color:var(--checkout-text-muted);transition:all .3s ease;flex-shrink:0}.checkout-step.active .step-number{background:var(--checkout-primary, #0f172a);color:#fff;box-shadow:0 2px 8px #0f172a40}.checkout-step.completed .step-number{background:var(--checkout-success);color:#fff}.step-label{font-size:13px;color:var(--checkout-text-muted);font-weight:500;white-space:nowrap}.checkout-step.active .step-label{color:var(--checkout-primary, #0f172a);font-weight:600}.checkout-step.completed .step-label{color:var(--checkout-success)}.step-connector{width:80px;height:2px;background:var(--checkout-border);flex-shrink:0;margin:0 12px 28px;transition:background .3s ease}.step-connector.completed{background:var(--checkout-success)}.interval-toggle{display:flex;align-items:center;justify-content:center;gap:4px;margin:0 auto 28px;background:#f1f5f9;border-radius:12px;padding:4px;max-width:320px}.interval-toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;background:transparent;color:var(--checkout-text-muted);position:relative}.interval-toggle-btn:hover{color:var(--checkout-text)}.interval-toggle-btn.active{background:#fff;color:var(--checkout-text);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;font-weight:600}.interval-discount-badge{display:inline-flex;align-items:center;padding:2px 8px;background:#dcfce7;color:#16a34a;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.interval-toggle-btn.active .interval-discount-badge{background:#bbf7d0}.checkout-section-title{text-align:center;font-size:20px;font-weight:600;color:var(--checkout-text);margin:0 0 24px}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:900px;margin:0 auto}.plan-card{background:#fff;border-radius:16px;padding:28px;box-shadow:0 4px 6px -1px #00000012,0 2px 4px -1px #0000000a;border:1px solid var(--checkout-border);cursor:pointer;transition:all .3s ease;position:relative}.plan-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px -4px #0000001f;border-color:var(--checkout-border-hover)}.plan-card.featured{border-color:var(--checkout-primary, #0f172a);border-width:2px}.plan-card.selected{border-color:var(--checkout-primary, #0f172a);border-width:2px;background:#0f172a05}.plan-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--checkout-primary, #0f172a);color:#fff;padding:4px 16px;border-radius:20px;font-size:12px;font-weight:600}.plan-name{font-size:20px;font-weight:700;color:var(--checkout-text);margin:0 0 8px}.plan-description{font-size:14px;color:var(--checkout-text-muted);margin:0 0 20px}.plan-price{margin-bottom:16px}.price-amount{font-size:36px;font-weight:800;color:var(--checkout-text)}.price-interval{font-size:14px;color:var(--checkout-text-muted);margin-left:4px}.plan-trial{display:inline-block;background:var(--checkout-success-bg);color:var(--color-success-hover);padding:4px 12px;border-radius:8px;font-size:13px;font-weight:500;margin-bottom:16px}.plan-features{list-style:none;padding:0;margin:0 0 24px}.plan-features li{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px;color:var(--text-secondary)}.feature-check{width:18px;height:18px;color:var(--checkout-success);flex-shrink:0}.plan-select-btn{width:100%;padding:14px;border:none;border-radius:10px;font-size:15px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.plan-select-btn:hover{opacity:.9;transform:scale(1.02)}.checkout-payment{max-width:800px;margin:0 auto}.back-btn{display:none}.payment-layout{display:grid;grid-template-columns:1fr 360px;gap:32px}@media(max-width:768px){.payment-layout{grid-template-columns:1fr}.order-summary{order:-1}}.order-summary{background:#fff;border-radius:16px;padding:24px;height:fit-content;position:sticky;top:24px;border:1px solid var(--checkout-border);box-shadow:0 4px 6px -1px #00000012,0 2px 4px -1px #0000000a}.order-summary h3{font-size:16px;font-weight:600;color:var(--checkout-text);margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--checkout-border)}.summary-plan{display:flex;justify-content:space-between;margin-bottom:12px}.summary-plan-name{font-weight:500;color:var(--checkout-text)}.summary-plan-price{color:var(--checkout-text-muted)}.summary-trial{display:flex;justify-content:space-between;font-size:13px;color:var(--color-success-hover);background:var(--checkout-success-bg);padding:8px 12px;border-radius:8px;margin-bottom:12px}.summary-divider{height:1px;background:var(--checkout-border);margin:16px 0}.summary-total{display:flex;justify-content:space-between;font-size:18px;font-weight:700;color:var(--checkout-text)}.payment-form-container{background:#fff;border-radius:16px;padding:24px;border:1px solid var(--checkout-border);box-shadow:0 4px 6px -1px #00000012,0 2px 4px -1px #0000000a}.checkout-form .form-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--checkout-border)}.checkout-form .form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.checkout-form h3{font-size:13px;font-weight:600;margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px;color:var(--checkout-text-muted)}.checkout-form .form-group{margin-bottom:16px}.checkout-form label{display:block;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.checkout-form input[type=text],.checkout-form input[type=email]{width:100%;padding:14px 16px;border:1px solid var(--checkout-border);border-radius:10px;font-size:15px;color:var(--checkout-text);background:var(--checkout-input-bg);transition:all .2s ease;box-sizing:border-box}.checkout-form input:focus{outline:none;border-color:var(--checkout-primary, #0f172a);background:#fff;box-shadow:0 0 0 3px #0f172a1a}.gateway-options{display:flex;gap:12px}.gateway-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border:2px solid var(--checkout-border);border-radius:12px;cursor:pointer;transition:all .2s ease}.gateway-option:hover{border-color:var(--border-color-light)}.gateway-option.selected{border-color:var(--checkout-primary, #0f172a);background:#0f172a08}.gateway-option input{display:none}.gateway-icon{font-size:24px}.gateway-name{font-size:14px;font-weight:500;color:var(--checkout-text)}.payment-method-options{display:flex;gap:12px;flex-wrap:wrap}.payment-method-option{display:flex;align-items:center;gap:10px;padding:14px 18px;border:2px solid var(--checkout-border);border-radius:10px;cursor:pointer;transition:all .2s ease}.payment-method-option:hover{border-color:var(--border-color-light)}.payment-method-option.selected{border-color:var(--checkout-primary, #0f172a);background:#0f172a08}.payment-method-option input{display:none}.method-icon{font-size:20px}.method-name{font-size:14px;font-weight:500;color:var(--checkout-text)}.card-element-container{padding:14px;border:2px solid var(--checkout-border);border-radius:10px;margin-bottom:20px;transition:all .2s ease}.card-element-container:focus-within{border-color:var(--checkout-primary, #0f172a);box-shadow:0 0 0 4px #0f172a14}.payment-submit-btn{width:100%;padding:16px;border:none;border-radius:12px;font-size:16px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.payment-submit-btn:hover:not(:disabled){opacity:.9;transform:scale(1.01)}.payment-submit-btn:disabled{opacity:.6;cursor:not-allowed}.btn-loading{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%}.btn-loading:before{content:"";width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.payment-error{background:var(--checkout-error-bg);color:var(--checkout-error);padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:16px}.pix-result,.boleto-result{text-align:center}.pix-result h3,.boleto-result h3{color:var(--color-success-hover);margin-bottom:8px}.pix-qrcode{margin:20px 0}.pix-qrcode img{width:200px;height:200px;border-radius:12px;box-shadow:0 4px 12px #0000001a}.pix-copy,.boleto-barcode{display:flex;gap:8px;margin:16px 0}.pix-copy input,.boleto-barcode code{flex:1;padding:12px;border:2px solid var(--checkout-border);border-radius:8px;font-size:12px;font-family:var(--font-mono);word-break:break-all}.pix-copy button,.boleto-barcode button{padding:12px 20px;border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer}.boleto-download{display:inline-block;padding:14px 28px;border-radius:10px;color:#fff;text-decoration:none;font-weight:600;margin-top:8px}.pix-info,.boleto-info{font-size:13px;color:var(--checkout-text-muted);margin-top:16px}.asaas-redirect-info{background:var(--checkout-info-bg);color:var(--checkout-info-text);padding:14px;border-radius:10px;font-size:14px;margin-bottom:16px;text-align:center}.security-info{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;padding:16px;background:var(--checkout-section-bg);border-radius:10px;font-size:13px;color:var(--checkout-text-muted)}.security-info svg{color:var(--checkout-success)}.checkout-success{text-align:center;padding:60px 24px;background:#fff;border-radius:20px;max-width:500px;margin:0 auto}.success-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.success-icon svg{width:40px;height:40px;color:#fff}.checkout-success h2{font-size:28px;font-weight:700;color:var(--checkout-text);margin:0 0 12px}.checkout-success p{font-size:16px;color:var(--checkout-text-muted);margin:0 0 8px}.success-email{margin-top:24px!important}.success-support{font-size:14px!important;margin-top:32px!important}.success-support a{color:var(--checkout-primary, #0f172a)}.success-return{margin-top:32px;text-align:center}.return-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;font-size:16px;font-weight:600;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease}.return-btn:hover{opacity:.9;transform:translateY(-1px)}.return-btn-secondary{background:transparent!important;color:var(--checkout-text, #1e293b);border:2px solid var(--checkout-border, #e2e8f0)}.return-btn-secondary:hover{background:var(--checkout-background-muted, #f8fafc)!important;border-color:var(--checkout-primary, #0f172a)}.redirect-countdown{margin-top:16px;font-size:14px;color:var(--checkout-text-muted)}.redirect-countdown strong{color:var(--checkout-primary, #0f172a);font-weight:600}.checkout-footer{text-align:center;margin-top:48px;padding-top:24px;border-top:1px solid var(--checkout-border)}.checkout-footer p{font-size:13px;color:var(--text-muted);margin:0 0 12px}.footer-links{display:flex;justify-content:center;gap:24px;margin-bottom:16px}.footer-links a{font-size:13px;color:var(--checkout-text-muted);text-decoration:none}.footer-links a:hover{color:var(--checkout-primary, #0f172a)}.footer-security{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--text-muted)}.footer-security svg{color:var(--checkout-success)}.current-plan-section{max-width:600px;margin:0 auto}.current-plan-section>.back-btn{display:none}.current-plan-card{background:#fff;border-radius:20px;padding:32px;box-shadow:0 4px 6px -1px #00000012,0 2px 4px -1px #0000000a;border:1px solid var(--checkout-border)}.current-plan-header{text-align:center;margin-bottom:24px}.current-plan-badge{display:inline-block;padding:6px 16px;border-radius:20px;font-size:12px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.current-plan-title{font-size:24px;font-weight:700;color:var(--checkout-text);margin:0}.current-plan-details{text-align:center;padding:24px 0;border-top:1px solid var(--checkout-border);border-bottom:1px solid var(--checkout-border)}.current-plan-name{font-size:28px;font-weight:700;color:var(--checkout-text);margin:0 0 8px}.current-plan-description{font-size:14px;color:var(--checkout-text-muted);margin:0 0 20px}.current-plan-price{margin-bottom:24px}.current-plan-price .price-amount{font-size:42px;font-weight:800;color:var(--checkout-text)}.current-plan-price .price-interval{font-size:16px;color:var(--checkout-text-muted);margin-left:4px}.current-plan-details .plan-features{text-align:left;max-width:300px;margin:0 auto 24px}.current-plan-info{display:flex;flex-direction:column;gap:12px;margin-top:24px}.plan-info-item{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;color:var(--checkout-text-muted);background:var(--checkout-section-bg);padding:12px 16px;border-radius:10px}.plan-info-item svg{flex-shrink:0}.plan-info-item.trial-info{background:var(--checkout-info-bg);color:var(--checkout-info-text)}.plan-info-item.cancel-warning{background:#fef3c7;color:#92400e}.current-plan-actions{padding-top:24px;display:flex;flex-direction:column;gap:12px}.change-plan-btn{width:100%;padding:14px;border:2px solid;border-radius:12px;font-size:15px;font-weight:600;background:transparent;cursor:pointer;transition:all .2s ease}.change-plan-btn:hover{opacity:.8}.current-plan-support{text-align:center;font-size:14px;color:var(--checkout-text-muted);margin-top:24px}.current-plan-support a{font-weight:500;text-decoration:none}.current-plan-support a:hover{text-decoration:underline}.cancel-plan-btn{width:100%;padding:14px;border:2px solid #ef4444;border-radius:12px;font-size:15px;font-weight:600;background:transparent;color:#ef4444;cursor:pointer;transition:all .2s ease}.cancel-plan-btn:hover{background:#fef2f2}.cancel-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.cancel-modal{background:#fff;border-radius:20px;padding:32px;max-width:480px;width:100%;box-shadow:0 20px 60px #00000026}.cancel-modal-header{text-align:center;margin-bottom:20px}.cancel-modal-icon{color:#f59e0b;margin-bottom:12px}.cancel-modal-header h3{font-size:20px;font-weight:700;color:var(--checkout-text);margin:0}.cancel-modal-text{font-size:14px;line-height:1.6;color:var(--checkout-text-muted);text-align:center;margin:0 0 24px}.cancel-modal-text strong{color:var(--checkout-text)}.cancel-modal-reason{margin-bottom:24px}.cancel-modal-reason label{display:block;font-size:13px;font-weight:600;color:var(--checkout-text);margin-bottom:8px}.cancel-modal-reason textarea{width:100%;padding:12px;border:1px solid var(--checkout-border);border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;color:var(--checkout-text);background:var(--checkout-section-bg);box-sizing:border-box}.cancel-modal-reason textarea:focus{outline:none;border-color:var(--checkout-border);box-shadow:0 0 0 2px #0000000d}.cancel-modal-actions{display:flex;gap:12px}.cancel-modal-keep{flex:1;padding:12px;border:2px solid;border-radius:12px;font-size:14px;font-weight:600;background:transparent;cursor:pointer;transition:all .2s ease}.cancel-modal-keep:hover{opacity:.8}.cancel-modal-keep:disabled{opacity:.5;cursor:not-allowed}.cancel-modal-confirm{flex:1;padding:12px;border:none;border-radius:12px;font-size:14px;font-weight:600;background:#ef4444;color:#fff;cursor:pointer;transition:all .2s ease}.cancel-modal-confirm:hover{background:#dc2626}.cancel-modal-confirm:disabled{opacity:.6;cursor:not-allowed}.plan-card.current{border-color:var(--checkout-success);border-width:2px;cursor:default;opacity:.85}.plan-card.current:hover{transform:none;box-shadow:0 4px 6px -1px #00000012,0 2px 4px -1px #0000000a}.plan-badge.current-badge{background:var(--checkout-success)!important}.plan-select-btn.disabled{cursor:not-allowed}@media(max-width:640px){.checkout-page{padding:12px}.checkout-header{margin-bottom:16px;gap:8px}.checkout-header-nav,.header-back-btn{width:36px;height:36px}.header-back-btn svg{width:18px;height:18px}.header-spacer{width:36px;height:36px}.checkout-header-brand{gap:8px}.checkout-logo{max-width:100px;max-height:35px}.checkout-logo-placeholder{width:36px;height:36px;font-size:18px;border-radius:10px}.checkout-title{font-size:16px}.checkout-steps{margin-bottom:24px;padding:0 8px}.step-number{width:32px;height:32px;font-size:12px}.step-label{font-size:11px}.step-connector{width:48px;margin:0 8px 28px}.checkout-step{gap:6px}.interval-toggle{max-width:280px;margin-bottom:20px}.interval-toggle-btn{padding:8px 16px;font-size:13px}.interval-discount-badge{font-size:10px;padding:1px 6px}.plans-grid{grid-template-columns:1fr;gap:16px}.plan-card{padding:20px;border-radius:12px}.plan-name{font-size:18px}.price-amount{font-size:28px}.checkout-section-title{font-size:18px;margin-bottom:16px}.payment-layout{gap:16px}.order-summary{padding:16px;border-radius:12px;position:static}.order-summary h3{font-size:14px;margin-bottom:12px;padding-bottom:12px}.summary-total{font-size:16px}.payment-form-container{padding:16px;border-radius:12px}.checkout-form .form-section{margin-bottom:16px;padding-bottom:16px}.checkout-form input[type=text],.checkout-form input[type=email]{padding:12px 14px;font-size:14px}.payment-method-options{flex-direction:column}.payment-method-option{width:100%;padding:12px 14px}.gateway-options{flex-direction:column}.payment-submit-btn{padding:14px;font-size:15px;border-radius:10px}.security-info{padding:12px;font-size:12px;margin-top:16px}.checkout-success{padding:32px 16px;border-radius:16px}.checkout-success h2{font-size:22px}.success-icon{width:64px;height:64px;margin-bottom:16px}.success-icon svg{width:32px;height:32px}.checkout-footer{margin-top:24px;padding-top:16px}.footer-links{gap:16px}.current-plan-card{padding:20px;border-radius:16px}.current-plan-name{font-size:22px}.current-plan-price .price-amount{font-size:32px}}.free-trial-section{text-align:center}.free-trial-banner{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px;background:linear-gradient(135deg,#dcfce7,#d1fae5);border-radius:12px;margin-bottom:24px}.trial-icon{font-size:32px}.trial-info{text-align:left}.trial-info strong{display:block;font-size:18px;color:#166534;margin-bottom:4px}.trial-info p{margin:0;font-size:14px;color:#15803d}.free-trial-btn{margin-top:16px}.trial-disclaimer{margin-top:16px;font-size:13px;color:var(--checkout-text-muted)}.trial-banner{display:flex;align-items:center;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;margin-bottom:24px}.trial-banner-icon{font-size:28px;flex-shrink:0}.trial-banner-content{flex:1}.trial-banner-content strong{display:block;color:#92400e;font-size:15px;margin-bottom:4px}.trial-banner-content p{color:#a16207;font-size:13px;margin:0}.plan-badge.upgrade-badge{background:linear-gradient(135deg,#059669,#10b981)!important}.plan-badge.downgrade-badge{background:linear-gradient(135deg,#6366f1,#818cf8)!important}.plan-badge.trial-badge{background:linear-gradient(135deg,#f59e0b,#fbbf24)!important}.plan-badge.expired-badge{background:linear-gradient(135deg,#dc2626,#ef4444)!important}.plan-select-btn.upgrade{background:linear-gradient(135deg,#059669,#10b981)!important}.plan-select-btn.downgrade{background:linear-gradient(135deg,#6366f1,#818cf8)!important}.summary-plan-change{margin:16px 0;padding:16px;border-radius:12px;border:1px solid}.summary-plan-change.upgrade{background:linear-gradient(135deg,#dcfce7,#d1fae5);border-color:#10b981}.summary-plan-change.downgrade{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#818cf8}.plan-change-from{display:flex;justify-content:space-between;font-size:13px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.1)}.summary-plan-change.upgrade .plan-change-from{color:#065f46}.summary-plan-change.downgrade .plan-change-from{color:#4338ca}.plan-change-type{display:flex;flex-direction:column;gap:4px}.plan-change-type>span:first-child{font-weight:700;font-size:15px}.summary-plan-change.upgrade .plan-change-type>span:first-child{color:#047857}.summary-plan-change.downgrade .plan-change-type>span:first-child{color:#4f46e5}.plan-change-note{font-size:12px;font-weight:400}.summary-plan-change.upgrade .plan-change-note{color:#059669}.summary-plan-change.downgrade .plan-change-note{color:#6366f1}@media(max-width:380px){.checkout-page{padding:8px}.checkout-header{gap:6px}.checkout-header-nav,.header-back-btn{width:32px;height:32px}.header-back-btn svg{width:16px;height:16px}.header-spacer{width:32px;height:32px}.checkout-logo{max-width:80px;max-height:30px}.checkout-logo-placeholder{width:32px;height:32px;font-size:16px}.checkout-title{font-size:14px}.checkout-steps{padding:0 4px;margin-bottom:20px}.step-label{font-size:10px}.step-number{width:28px;height:28px;font-size:11px}.step-connector{width:32px;margin:0 4px 24px}.checkout-step{gap:4px}.order-summary,.payment-form-container{padding:12px}.checkout-form input[type=text],.checkout-form input[type=email]{padding:10px 12px;font-size:14px}.pix-copy,.boleto-barcode{flex-direction:column}}:root{--one-time-primary: #0f172a}.one-time-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;background:#f8fafc}.one-time-loading p{color:#64748b;font-size:1rem}.spinner-icon{animation:spin 1s linear infinite;color:var(--one-time-primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.one-time-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:.5rem;background:#f8fafc;text-align:center;padding:2rem}.one-time-error h2{color:#dc2626;font-size:1.5rem;margin:0}.one-time-error p{color:#64748b;font-size:1rem;margin:0}.one-time-container{min-height:100vh;background:#f8fafc;padding:2rem 1rem}.one-time-header{text-align:center;margin-bottom:2rem;position:relative}.one-time-header .back-btn{position:absolute;left:0;top:0;display:flex;align-items:center;gap:4px;padding:8px 0;background:none;border:none;color:#64748b;font-size:14px;cursor:pointer;transition:all .2s ease}.one-time-header .back-btn:hover{color:var(--one-time-primary)}.one-time-header .logo{max-height:48px;max-width:200px;margin-bottom:1rem}.one-time-header h1{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0 0 .5rem}.one-time-header p{color:#64748b;font-size:1rem;margin:0}.one-time-alert{max-width:800px;margin:0 auto 1.5rem;padding:.75rem 1rem;border-radius:8px;font-size:.875rem}.one-time-alert.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:900px;margin:0 auto 2rem;padding:0 1rem}.product-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}.product-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.product-card.selected{border-color:var(--one-time-primary);box-shadow:0 0 0 3px #0f172a1a}.product-card.highlighted{border-color:#3b82f6}.product-card.highlighted.selected{border-color:var(--one-time-primary)}.product-card .badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#3b82f6;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:9999px;white-space:nowrap}.product-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:12px;margin-bottom:1rem;color:var(--one-time-primary)}.product-card h3{font-size:1.25rem;font-weight:600;color:#0f172a;margin:0 0 .5rem}.product-card .description{color:#64748b;font-size:.875rem;margin:0 0 1rem;line-height:1.5}.product-card .price{font-size:2rem;font-weight:700;color:var(--one-time-primary);margin-bottom:.25rem}.product-card .executions{font-size:.875rem;color:#64748b;margin-bottom:1rem}.product-card .features{list-style:none;padding:0;margin:0 0 1rem;text-align:left;width:100%}.product-card .features li{display:flex;align-items:center;gap:.5rem;padding:.375rem 0;font-size:.875rem;color:#475569}.product-card .features li svg{color:#22c55e;flex-shrink:0}.select-indicator{margin-top:auto;padding-top:1rem}.select-indicator .selected-icon{color:var(--one-time-primary)}.select-indicator .unselected-circle{width:24px;height:24px;border:2px solid #cbd5e1;border-radius:50%}.payment-section{max-width:500px;margin:0 auto;padding:0 1rem}.payment-section h2{font-size:1.25rem;font-weight:600;color:#0f172a;margin:0 0 1rem;text-align:center}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.payment-method{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease}.payment-method:hover{border-color:#cbd5e1}.payment-method.active{border-color:var(--one-time-primary);background:#f8fafc}.payment-method svg{color:#64748b}.payment-method.active svg{color:var(--one-time-primary)}.payment-method span{font-size:.875rem;font-weight:600;color:#0f172a}.payment-method small{font-size:.75rem;color:#64748b}.checkout-summary{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem;margin-bottom:1.5rem}.summary-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.875rem;color:#64748b}.summary-row.total{border-top:1px solid #e2e8f0;margin-top:.5rem;padding-top:1rem;font-size:1rem;font-weight:600;color:#0f172a}.checkout-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:var(--one-time-primary);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.checkout-button:hover:not(:disabled){opacity:.9}.checkout-button:disabled{opacity:.7;cursor:not-allowed}.pix-payment{max-width:500px;margin:0 auto;background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 12px #0000000d}.pix-header{text-align:center;margin-bottom:1.5rem}.pix-icon-wrapper{width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:#dcfce7;color:#22c55e;border-radius:50%;margin:0 auto 1rem}.pix-header h2{font-size:1.5rem;font-weight:600;color:#0f172a;margin:0 0 .5rem}.pix-header p{color:#64748b;font-size:.875rem;margin:0}.pix-qr{display:flex;justify-content:center;margin-bottom:1.5rem}.pix-qr img{width:200px;height:200px;border-radius:8px}.pix-copy{margin-bottom:1.5rem}.pix-label{font-size:.875rem;font-weight:500;color:#64748b;margin:0 0 .5rem}.pix-code{display:flex;gap:.5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem}.pix-code code{flex:1;font-size:.75rem;color:#475569;word-break:break-all;background:none}.pix-code button{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:var(--one-time-primary);color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;white-space:nowrap}.pix-code button:hover{opacity:.9}.pix-info{text-align:center}.pix-info p{margin:0 0 .5rem;font-size:.875rem;color:#475569}.pix-info .pix-note{font-size:.75rem;color:#94a3b8;margin-top:1rem}.success-page{max-width:480px;margin:0 auto;padding:3rem 1.5rem;text-align:center}.success-icon{width:96px;height:96px;display:flex;align-items:center;justify-content:center;background:#dcfce7;color:#22c55e;border-radius:50%;margin:0 auto 1.5rem}.success-icon.error{background:#fef2f2;color:#dc2626}.success-page h1{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0 0 .75rem}.success-message{color:#64748b;font-size:1rem;margin:0 0 2rem;line-height:1.6}.purchase-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1rem 1.5rem;margin-bottom:2rem}.purchase-details .detail-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9375rem}.purchase-details .detail-row span:first-child{color:#64748b}.purchase-details .detail-row span:last-child{color:#0f172a;font-weight:500}.checkout-button.secondary{background:#f1f5f9;color:#475569}.checkout-button.secondary:hover:not(:disabled){background:#e2e8f0}.success-redirect{margin-top:1.5rem}.success-redirect .checkout-button{margin-bottom:1rem}.redirect-countdown{color:#64748b;font-size:.875rem;margin:0}.redirect-countdown strong{color:var(--one-time-primary)}.success-page h2{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0 0 .75rem}.stripe-card-form{width:100%}.card-element-wrapper{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1rem;margin-bottom:1rem;transition:border-color .2s ease}.card-element-wrapper:focus-within{border-color:var(--one-time-primary)}.card-error{background:#fef2f2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;margin-bottom:1rem;border:1px solid #fecaca}.select-product-btn{width:100%;margin-top:auto;padding:.75rem 1rem;background:var(--one-time-primary);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.select-product-btn:hover{opacity:.9}.payment-page{max-width:480px;margin:0 auto;padding:0 1rem}.selected-product-card{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem}.product-icon-small{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:10px;color:var(--one-time-primary);flex-shrink:0}.selected-product-card .product-info{flex:1}.selected-product-card .product-info h3{font-size:1rem;font-weight:600;color:#0f172a;margin:0 0 .25rem}.selected-product-card .product-info p{font-size:.875rem;color:#64748b;margin:0}.selected-product-card .product-price{font-size:1.25rem;font-weight:700;color:var(--one-time-primary)}.payment-method-section{margin-bottom:1.5rem}.payment-method-section h2{font-size:1rem;font-weight:600;color:#0f172a;margin:0 0 1rem}.payment-method-section .payment-methods{display:flex;gap:.75rem}.payment-method-section .payment-method{flex:1;flex-direction:row;justify-content:center;gap:.5rem;padding:.875rem 1rem}.payment-method-section .payment-method span{font-size:.8125rem}.card-form-section{margin-top:1.5rem}.powered-by{margin-top:2rem;padding-top:1.5rem;text-align:center;color:#94a3b8;font-size:.75rem}.powered-by a{color:var(--one-time-primary);text-decoration:none;font-weight:500}@media(max-width:600px){.products-grid,.payment-methods{grid-template-columns:1fr}.payment-method-section .payment-methods{flex-direction:column}.selected-product-card{flex-direction:column;text-align:center}.selected-product-card .product-info{text-align:center}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);line-height:1.5}.dashboard-container{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column}.sidebar-header{padding:20px;border-bottom:1px solid var(--border-color)}.logo{display:flex;align-items:center;gap:12px}.logo-icon{font-size:var(--font-size-2xl)}.logo-text{font-weight:700;font-size:var(--font-size-lg)}.logo-subtitle{font-size:var(--font-size-xs);color:var(--text-muted)}.sidebar-nav{flex:1;padding:16px}.nav-section{margin-bottom:24px}.nav-section-title{font-size:var(--font-size-2xs);font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;padding:0 12px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);color:var(--text-secondary);text-decoration:none;transition:all .2s}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background:var(--color-primary);color:#fff}.nav-icon{font-size:var(--font-size-base)}.sidebar-footer{padding:16px;border-top:1px solid var(--border-color)}.user-profile{display:flex;align-items:center;gap:12px;padding:8px;border-radius:var(--radius);cursor:pointer;transition:background .2s}.user-profile:hover{background:var(--bg-tertiary)}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:600}.user-info{flex:1;min-width:0}.user-name{font-weight:500;font-size:var(--font-size-sm)}.user-email{font-size:var(--font-size-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis}.main-content{flex:1;overflow-y:auto}.page{padding:32px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.page-header h1{font-size:var(--font-size-2xl);font-weight:700}.page-header p{color:var(--text-secondary);margin-top:4px}.header-actions{display:flex;gap:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);padding:20px}.stat-icon{width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);margin-bottom:12px}.stat-icon.primary{background:#0f172a1a}.stat-icon.success{background:#22c55e33}.stat-icon.warning{background:#f59e0b33}.stat-icon.info{background:#3b82f633}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.stat-value{font-size:var(--font-size-3xl);margin-top:4px}.section-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);margin-bottom:24px}.section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.section-header h2{font-size:var(--font-size-base);font-weight:600}.section-content{padding:20px}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.data-table th,.data-table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border-color)}.data-table th{font-size:var(--font-size-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-secondary)}.data-table td{color:var(--text-primary)}.data-table tbody tr:hover{background:var(--bg-tertiary)}.data-table .col-compact,.data-table .col-status,.data-table .col-actions,.data-table .col-date{width:1%;white-space:nowrap;text-align:center}.data-table .col-status{min-width:80px;max-width:120px}.data-table .col-actions{text-align:right}.data-table .col-date{min-width:90px}.user-cell{display:flex;align-items:center;gap:12px}.user-avatar-small{width:32px;height:32px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:600}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap}.badge-success{background:#22c55e33;color:var(--color-success)}.badge-warning{background:#f59e0b33;color:var(--color-warning)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:500;border:none;cursor:pointer;transition:all .2s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover{background:var(--border-color)}.btn-danger{background:var(--color-danger);color:#fff}.btn-sm{padding:6px 12px;font-size:var(--font-size-xs)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:var(--font-size-sm);font-weight:500;margin-bottom:6px}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password]{width:100%;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);font-size:var(--font-size-sm)}.form-group input:focus{outline:none;border-color:var(--color-primary)}.search-input{padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);font-size:var(--font-size-sm);width:200px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.login-card{width:100%;max-width:400px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);padding:40px}.login-header{text-align:center;margin-bottom:32px}.login-logo{font-size:var(--font-size-5xl);display:block;margin-bottom:16px}.login-header h1{font-size:var(--font-size-2xl);font-weight:700}.login-header p{color:var(--text-secondary);margin-top:8px}.error-message{background:#ef444433;color:var(--color-danger);padding:12px;border-radius:var(--radius);margin-bottom:16px;font-size:var(--font-size-sm)}.login-card .btn{width:100%;justify-content:center;margin-top:8px}.login-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.login-footer p{color:var(--text-secondary);font-size:var(--font-size-sm)}.link-button{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;padding:0}.link-button:hover{text-decoration:underline}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.oauth-provider{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border-color)}.oauth-provider:last-child{border-bottom:none}.oauth-provider-info{display:flex;align-items:center;gap:12px}.oauth-icon{font-size:var(--font-size-2xl)}.oauth-name{font-weight:500}.oauth-description{font-size:var(--font-size-xs);color:var(--text-muted)}.switch{position:relative;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--bg-tertiary);border-radius:24px;transition:.2s}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+.slider{background:var(--color-primary)}.switch input:checked+.slider:before{transform:translate(20px)}.code-block{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius);padding:16px;font-family:var(--font-mono);font-size:var(--font-size-sm);overflow-x:auto;white-space:pre}.api-key{font-family:var(--font-mono);background:var(--bg-tertiary);padding:4px 8px;border-radius:4px;font-size:var(--font-size-xs)}.empty-state{text-align:center;padding:40px}.empty-state .text-muted{color:var(--text-muted);margin-top:4px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:var(--font-size-lg);font-weight:600}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-2xl);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:20px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid var(--border-color)}.breadcrumb{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:8px}.breadcrumb-link{color:var(--color-primary);cursor:pointer}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-separator{margin:0 8px}.action-buttons{display:flex;gap:8px}.form-group textarea{width:100%;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);font-size:var(--font-size-sm);font-family:inherit;resize:vertical}.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.form-group textarea.textarea-code,textarea.textarea-code{font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.6;-moz-tab-size:2;tab-size:2;white-space:pre;background:var(--code-bg);color:var(--code-text);border:1px solid var(--code-border);border-radius:var(--radius);padding:12px;min-height:200px;resize:vertical}.form-group textarea.textarea-code:focus,textarea.textarea-code:focus{outline:none;border-color:var(--code-border-focus);box-shadow:0 0 0 2px var(--color-primary-light)}.input-code,input.input-code{font-family:var(--font-mono);font-size:var(--font-size-xs);background:var(--code-bg);color:var(--code-text);border:1px solid var(--code-border);letter-spacing:.02em}.input-code:focus,input.input-code:focus{border-color:var(--code-border-focus);box-shadow:0 0 0 2px var(--color-primary-light)}.form-group small{display:block;font-size:var(--font-size-xs);color:var(--text-muted);margin-top:4px}.alert{padding:16px;border-radius:var(--radius);margin-bottom:16px}.alert-success{background:#22c55e1a;border:1px solid var(--color-success)}.alert-success strong{color:var(--color-success)}.api-key-display{display:block;background:var(--bg-primary);padding:8px 12px;border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--font-size-sm);word-break:break-all;border:1px solid var(--border-color)}.api-key-created-alert{background-color:var(--color-success-light, rgba(34, 197, 94, .1));border:1px solid var(--color-success, #22c55e);border-radius:var(--radius);padding:16px;margin-bottom:16px}.api-key-created-content{display:flex;flex-direction:column;gap:12px}.api-key-created-message{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.api-key-created-message strong{color:var(--color-success, #22c55e)}.api-key-created-message span{color:var(--text-secondary);font-size:var(--font-size-sm)}.api-key-created-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.api-key-created-actions .api-key-display{flex:1;min-width:200px;margin:0}.settings-group{display:flex;flex-direction:column;gap:16px}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color)}.setting-item:last-child{border-bottom:none}.setting-item label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.setting-item small{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px}.setting-item code{background:var(--bg-tertiary);padding:4px 8px;border-radius:4px;font-family:var(--font-mono);font-size:var(--font-size-xs)}.setting-item>span:not(.toggle-slider){font-size:var(--font-size-sm);color:var(--text-secondary)}.badge-danger{background:#ef444433;color:var(--color-danger)}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-secondary)}.domain-input-row{display:flex;gap:8px}.domain-input-row input{flex:1;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);font-size:var(--font-size-sm)}.domain-input-row input:focus{outline:none;border-color:var(--color-primary)}.domain-input-row input::placeholder{color:var(--text-muted)}.domain-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.domain-tag{display:inline-flex;align-items:center;gap:6px;background:var(--bg-tertiary);color:var(--text-primary);padding:4px 10px;border-radius:16px;font-size:var(--font-size-sm)}.domain-tag-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;font-size:var(--font-size-base);line-height:1}.domain-tag-remove:hover{color:var(--color-danger)}.toggle{position:relative;display:inline-block;width:48px;height:26px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-tertiary);transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle input:checked+.toggle-slider{background-color:var(--color-primary)}.toggle input:checked+.toggle-slider:before{transform:translate(22px)}.toggle input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.text-muted{color:var(--text-muted)}.section-title{margin:24px 0 8px;font-size:var(--font-size-sm);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.setting-row{display:flex;justify-content:space-between;align-items:center}.public-auth-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background:var(--theme-background, #f8fafc);font-family:var(--font-family)}.public-auth-background{display:none}.public-auth-card{width:100%;max-width:400px;background:#fff;border-radius:8px;padding:40px;box-shadow:0 0 0 1px #32325d1a,0 2px 5px -1px #32325d40,0 15px 35px -5px #0000001a}.public-auth-header{text-align:center;margin-bottom:28px}.public-auth-logo{width:50px;height:50px;background:var(--theme-primary, #0f172a);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);margin:0 auto 24px;color:#fff}.public-auth-logo-img{width:50px;height:50px;border-radius:10px;object-fit:contain;margin:0 auto 24px}.public-auth-header h1{font-size:var(--font-size-2xl);font-weight:600;margin-bottom:8px;color:#0a2540;letter-spacing:-.5px}.public-auth-header p{color:#425466;font-size:var(--font-size-sm);line-height:1.5}.public-auth-card .form-group{margin-bottom:16px}.public-auth-card .form-group label{display:block;font-size:var(--font-size-sm);font-weight:500;margin-bottom:6px;color:#0a2540}.public-auth-card .form-group input{width:100%;padding:12px 14px;background:#fff;border:1px solid #e6e6e6;border-radius:6px;color:#0a2540;font-size:var(--font-size-sm);transition:border-color .15s ease,box-shadow .15s ease}.public-auth-card .form-group input::placeholder{color:#8898aa}.public-auth-card .form-group input:focus{outline:none;border-color:var(--theme-primary, #0f172a);box-shadow:0 0 0 3px var(--theme-primary-light, rgba(15, 23, 42, .1))}.public-auth-card .btn-primary{width:100%;display:flex;justify-content:center;align-items:center;padding:12px 16px;font-size:var(--font-size-sm);font-weight:600;border-radius:6px;margin-top:8px;background:var(--theme-primary, #0f172a);border:none;color:#fff;cursor:pointer;transition:background .15s ease,transform .1s ease,box-shadow .15s ease}.public-auth-card .btn-primary:hover:not(:disabled){background:var(--theme-primary-hover, #1e293b);box-shadow:0 4px 12px var(--theme-primary-light, rgba(15, 23, 42, .3))}.public-auth-card .btn-primary:active:not(:disabled){transform:scale(.98)}.public-auth-card .btn-primary:disabled{opacity:.5;cursor:not-allowed;background:#a3acb9}.public-auth-footer{text-align:center;margin-top:24px;padding-top:20px;border-top:1px solid #e6e6e6}.public-auth-footer p{color:#425466;font-size:var(--font-size-sm);margin-bottom:6px}.public-auth-footer p:last-child{margin-bottom:0}.public-auth-footer a{color:var(--theme-primary, #0f172a);text-decoration:none;font-weight:500}.public-auth-footer a:hover{text-decoration:underline}.public-auth-card .divider{display:flex;align-items:center;gap:16px;margin:20px 0}.public-auth-card .divider:before,.public-auth-card .divider:after{content:"";flex:1;height:1px;background:#e6e6e6}.public-auth-card .divider span{font-size:var(--font-size-xs);color:#8898aa;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.public-auth-card .oauth-buttons{display:flex;gap:12px}.public-auth-card .btn-oauth{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;background:#fff;border:1px solid #e6e6e6;border-radius:6px;color:#0a2540;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.public-auth-card .btn-oauth:hover{background:#f6f9fc;border-color:#d8d8d8}.public-auth-card .btn-oauth svg{flex-shrink:0;width:18px;height:18px}.public-auth-card .btn-github{background:var(--github-btn-bg);border-color:var(--github-btn-bg);color:#fff}.public-auth-card .btn-github:hover{background:var(--github-btn-bg-hover);border-color:var(--github-btn-bg-hover)}.powered-by{margin-top:24px;text-align:center;color:#8898aa;font-size:var(--font-size-xs);position:relative;z-index:1}.powered-by a{color:var(--theme-primary, #0f172a);text-decoration:none;font-weight:500}.powered-by a:hover{text-decoration:underline}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:40px;color:#425466}.success-message{padding:12px 16px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:10px;color:var(--color-success);font-size:var(--font-size-sm);margin-bottom:16px}.password-requirements{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.password-requirements .requirement{font-size:var(--font-size-xs);color:#8898aa;display:flex;align-items:center;gap:6px;transition:color .2s ease}.password-requirements .requirement.valid{color:var(--color-success)}.password-match{margin-top:8px;font-size:var(--font-size-xs);display:flex;align-items:center;gap:6px}.password-match.valid{color:var(--color-success)}.password-match.invalid{color:var(--color-danger)}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}}@media(max-width:768px){.sidebar{display:none}.stats-grid{grid-template-columns:1fr}.page-header{flex-direction:column;gap:16px}.header-actions{width:100%}.search-input{flex:1}}
