.topbar{--topbar-bg: rgba(250, 250, 250, .96);--topbar-border: rgba(226, 231, 235, .8);--topbar-shadow: var(--shadow-navbar);--text-main: var(--text-primary);--text-muted: var(--text-secondary);--hover-bg: var(--bg-hover);--active-bg: rgba(58, 120, 168, .12);--active-color: var(--brand-primary);--nav-height: 44px;--nav-radius: var(--border-radius-md);--nav-padding-x: 18px;--nav-font-size: 14px;--dropdown-width: 220px;--transition: var(--transition-base)}.topbar{position:sticky;top:0;z-index:var(--z-sticky);background:var(--topbar-bg);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);border-bottom:1px solid var(--topbar-border);box-shadow:var(--topbar-shadow)}.topbar.scrolled{box-shadow:0 8px 30px #0000001f}.topbar-inner{max-width:var(--container-xl);margin:auto;padding:12px 24px;display:flex;align-items:center;gap:24px}.brand{font-size:20px;font-weight:var(--font-weight-extrabold);color:var(--text-main);cursor:pointer;white-space:nowrap}.nav{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:6px;background:#ffffffb3;border-radius:var(--border-radius-lg);border:1px solid var(--border-light)}.nav>a,.dropdown-toggle{height:var(--nav-height);padding:0 var(--nav-padding-x);display:flex;align-items:center;justify-content:center;font-size:var(--nav-font-size);font-weight:var(--font-weight-semibold);color:var(--text-muted);border-radius:var(--nav-radius);background:transparent;cursor:pointer;position:relative;transition:var(--transition)}.nav>a:hover,.dropdown-toggle:hover{background:var(--hover-bg);color:var(--text-main);transform:translateY(-2px)}.router-link-exact-active,.dropdown-menu.active .dropdown-toggle{background:var(--active-bg);color:var(--active-color);box-shadow:0 4px 14px #3a78a838}.dropdown-menu{position:relative}.dropdown-content{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(10px);width:var(--dropdown-width);padding:6px;background:var(--topbar-bg);border-radius:var(--border-radius-md);border:1px solid var(--border-light);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:var(--transition);z-index:var(--z-dropdown)}.dropdown-menu.active .dropdown-content{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.dropdown-content a{padding:10px 14px;display:block;font-size:13px;font-weight:var(--font-weight-medium);color:var(--text-main);border-radius:var(--border-radius-sm);transition:var(--transition)}.dropdown-content a:hover{background:var(--hover-bg)}.dropdown-content .router-link-exact-active{background:var(--active-bg);color:var(--active-color)}.user-area{display:flex;align-items:center;gap:14px;padding:8px 16px;background:#ffffffd9;border-radius:var(--border-radius-lg);border:1px solid var(--border-light);white-space:nowrap}.btn-logout{background:none;border:none;font-size:14px;font-weight:var(--font-weight-semibold);color:var(--text-muted);cursor:pointer;transition:var(--transition)}.btn-logout:hover{color:var(--danger)}@media(max-width:1024px){.nav>a,.dropdown-toggle{padding:0 14px;font-size:13px}}@media(max-width:768px){.topbar-inner{overflow-x:auto}.nav{min-width:max-content}.dropdown-content{position:static;width:100%;box-shadow:none;border:none;background:transparent;transform:none;opacity:1;visibility:visible;padding:0}.dropdown-menu.active .dropdown-toggle{background:var(--active-bg)}}@media(prefers-color-scheme:dark){.topbar{--topbar-bg: rgba(15,23,42,.96);--text-main: #f1f5f9;--text-muted: #94a3b8;--hover-bg: rgba(255,255,255,.05);--active-bg: rgba(58, 120, 168, .22)}.nav,.user-area{background:#1e293bd9;border-color:#334155cc}}.modal-container form{display:flex;flex-direction:column;gap:var(--spacing-4)}.modal-footer,.modal-footer-actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-4)}.modal-footer .btn-cancel,.modal-footer .submit-button,.modal-footer-actions .btn-cancel,.modal-footer-actions .submit-button{flex:1;width:100%;height:var(--control-height-md);border-radius:var(--border-radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);display:inline-flex;align-items:center;justify-content:center}.btn-cancel{background:var(--gray-200);border:1px solid var(--border-default);color:var(--text-secondary)}.btn-cancel:hover{background:var(--gray-300);color:var(--text-primary)}.btn-cancel:focus-visible{outline:none;box-shadow:var(--shadow-focus)}@media(max-width:520px){.modal-footer,.modal-footer-actions{flex-direction:column}}.user-info[data-v-37841bef]{display:flex;flex-direction:column;align-items:flex-end;margin-right:var(--spacing-4)}.user-name[data-v-37841bef]{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.user-role[data-v-37841bef]{font-size:var(--font-size-xs);color:var(--brand-primary);text-transform:uppercase;letter-spacing:1px}.layout-default[data-v-aa046222]{display:flex;flex-direction:column;min-height:100vh}.page-content[data-v-aa046222]{flex:1;display:flex;justify-content:center;background-color:var(--bg-page)}.content-wrapper[data-v-aa046222]{width:100%;max-width:1440px;padding:32px;box-sizing:border-box}@media(max-width:768px){.content-wrapper[data-v-aa046222]{padding:16px}}.login-split{display:flex;min-height:100vh;width:100%}.login-left-side,.login-right-side{display:flex;align-items:center;justify-content:center;padding:var(--spacing-12)}.login-left-side{flex:1.15}.login-right-side{flex:.85}.left-content,.left-wrap{width:100%;max-width:560px}.right-content,.right-wrap{width:100%;max-width:420px}.login-left-side{justify-content:flex-start;padding-left:clamp(32px,6vw,96px);background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-dark));color:var(--text-on-primary)}.brand-header{margin-bottom:var(--spacing-12)}.brand-title{font-size:clamp(40px,3vw,56px);font-weight:var(--font-weight-extrabold);line-height:1.05;margin:0 0 var(--spacing-2) 0}.brand-subtitle{font-size:clamp(16px,1.3vw,20px);opacity:.92;font-weight:var(--font-weight-normal);margin:0}.features-grid{display:grid;gap:var(--spacing-6);margin-top:var(--spacing-12)}.feature-card{display:flex;align-items:center;gap:var(--spacing-6);background:#ffffff1f;border-radius:var(--border-radius-md);padding:var(--spacing-6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:var(--transition-base)}.feature-card:hover{background:#ffffff2e}.feature-icon{font-size:var(--font-size-2xl);flex-shrink:0}.feature-content h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-1) 0}.feature-content p{font-size:var(--font-size-sm);opacity:.95;margin:0}.login-right-side{background:var(--bg-card)}.form-header{margin-bottom:var(--spacing-8);text-align:center}.form-title{font-size:28px;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-2) 0}.form-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.login-form{width:100%}.input-container{position:relative}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:var(--spacing-1);color:var(--text-secondary);transition:var(--transition-base)}.password-toggle:hover{color:var(--text-primary)}.password-toggle:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--border-radius-sm)}.submit-button{width:100%;height:var(--control-height-md);border-radius:var(--border-radius-md);border:none;background:var(--bg-primary);color:var(--text-on-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-base);margin-top:var(--spacing-6)}.submit-button:hover:not(:disabled){background:var(--bg-primary-hover)}.submit-button:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.submit-button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.form-links{margin-top:var(--spacing-3);display:flex;align-items:center;justify-content:center;gap:var(--spacing-2)}.form-links .link{font-size:var(--font-size-sm);color:var(--text-secondary);text-decoration:none;transition:var(--transition-base)}.form-links .link:hover{color:var(--text-primary);text-decoration:underline}.form-links .link-sep{color:var(--text-muted)}.error-message{color:var(--danger);font-size:var(--font-size-xs);text-align:center;margin-top:var(--spacing-6);padding:var(--spacing-2);background:var(--danger-bg);border-radius:var(--border-radius-sm);border-left:3px solid var(--danger)}.success-message{color:var(--success);font-size:var(--font-size-xs);display:block;margin-top:var(--spacing-2)}.modal-overlay{position:fixed;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:var(--spacing-8);z-index:var(--z-modal)}.modal-container{width:100%;max-width:560px;background:var(--bg-card);border-radius:var(--border-radius-lg);padding:var(--spacing-8);box-shadow:var(--shadow-modal)}.modal-header{margin-bottom:var(--spacing-4)}.modal-title{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);color:var(--text-primary)}.modal-subtitle{margin:var(--spacing-1) 0 0 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.modal-footer,.modal-footer-actions{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin-top:24px}.modal-footer .btn-cancel,.modal-footer .submit-button,.modal-footer-actions .btn-cancel,.modal-footer-actions .submit-button{height:48px;border-radius:12px;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center;white-space:nowrap;margin-top:0}.modal-footer .btn-cancel,.modal-footer-actions .btn-cancel{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1;cursor:pointer}.modal-footer .btn-cancel:hover,.modal-footer-actions .btn-cancel:hover{background:#e5e7eb}.modal-footer .submit-button,.modal-footer-actions .submit-button{background:var(--brand-primary);color:#fff;border:none;cursor:pointer}.modal-footer .submit-button:hover:not(:disabled),.modal-footer-actions .submit-button:hover:not(:disabled){background:var(--brand-primary-dark)}.modal-footer button:disabled,.modal-footer-actions button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:520px){.modal-footer,.modal-footer-actions{grid-template-columns:1fr}}.form-input:-webkit-autofill,.form-input:-webkit-autofill:hover,.form-input:-webkit-autofill:focus,.form-input:-webkit-autofill:active{-webkit-text-fill-color:var(--text-primary);caret-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--bg-input) inset;box-shadow:0 0 0 1000px var(--bg-input) inset;transition:background-color 9999s ease-in-out 0s}.form-input:-moz-autofill{box-shadow:0 0 0 1000px var(--bg-input) inset;filter:none}@media(max-width:1024px){.login-split{flex-direction:column}.login-left-side{justify-content:center;padding-left:var(--spacing-12)}.left-content,.left-wrap{max-width:520px;text-align:center}}@media(max-width:640px){.login-left-side,.login-right-side{padding:var(--spacing-8)}.brand-title{font-size:var(--font-size-3xl)}.form-title{font-size:var(--font-size-2xl)}}.auth-layout[data-v-cdad0dc9]{min-height:100vh;display:flex;align-items:center;justify-content:center}:root{--brand-primary: #3A78A8;--brand-primary-dark: #2F6289;--brand-primary-light: #4A8FC8;--brand-primary-soft: #E6F0F7;--brand-secondary: #8B7355;--brand-secondary-soft: #f5f1eb;--gray-50: #fafafa;--gray-100: #f2f2f2;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--success: #059669;--success-bg: rgba(5, 150, 105, .08);--warning: #d97706;--warning-bg: rgba(217, 119, 6, .08);--danger: #dc2626;--danger-bg: rgba(220, 38, 38, .08);--info: #3A78A8;--info-bg: rgba(58, 120, 168, .08);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-tertiary: var(--gray-500);--text-muted: var(--gray-400);--text-invert: #ffffff;--text-on-primary: #ffffff;--text-on-secondary: #ffffff;--text-on-success: #ffffff;--text-on-danger: #ffffff;--bg-page: var(--gray-100);--bg-elevated: #ffffff;--bg-card: #ffffff;--bg-input: var(--gray-50);--bg-sidebar: var(--gray-50);--bg-hover: rgba(58, 120, 168, .08);--bg-active: rgba(58, 120, 168, .12);--bg-primary: var(--brand-primary);--bg-primary-hover: var(--brand-primary-dark);--bg-success: var(--success);--bg-success-soft: var(--success-bg);--bg-danger: var(--danger);--bg-danger-soft: var(--danger-bg);--border-light: var(--gray-200);--border-default: var(--gray-300);--border-strong: var(--gray-400);--border-focus: var(--brand-primary);--border-radius-xs: 4px;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 16px;--border-radius-xl: 20px;--border-radius-2xl: 24px;--border-radius-full: 9999px;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--line-height-loose: 2;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--control-height-xs: 32px;--control-height-sm: 40px;--control-height-md: 48px;--control-height-lg: 56px;--control-height-xl: 64px;--control-padding-x-sm: 12px;--control-padding-y-sm: 8px;--control-padding-x-md: 16px;--control-padding-y-md: 12px;--control-padding-x-lg: 20px;--control-padding-y-lg: 14px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 4px 8px rgba(0, 0, 0, .05);--shadow-md: 0 10px 20px rgba(0, 0, 0, .08);--shadow-lg: 0 30px 60px rgba(0, 0, 0, .12);--shadow-xl: 0 50px 100px rgba(0, 0, 0, .15);--shadow-card: var(--shadow-md);--shadow-modal: var(--shadow-lg);--shadow-navbar: 0 4px 20px rgba(0, 0, 0, .08);--shadow-floating: 0 8px 30px rgba(0, 0, 0, .12);--shadow-focus: 0 0 0 3px rgba(58, 120, 168, .2);--shadow-focus-error: 0 0 0 3px rgba(220, 38, 38, .2);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .3s cubic-bezier(.68, -.55, .265, 1.55);--animation-fade-in: fadeIn var(--transition-base);--animation-slide-up: slideUp var(--transition-slow);--animation-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--z-dropdown: 10;--z-sticky: 20;--z-fixed: 30;--z-modal-backdrop: 40;--z-modal: 50;--z-popover: 60;--z-tooltip: 70;--z-toast: 80;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--sidebar-width: 260px;--sidebar-collapsed: 80px;--header-height: 64px;--grid-gap-sm: var(--spacing-2);--grid-gap-md: var(--spacing-4);--grid-gap-lg: var(--spacing-6);--opacity-disabled: .5;--opacity-hover: .9;--opacity-active: .8}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.request-access-link{text-align:center;margin-top:var(--spacing-6);font-size:var(--font-size-sm);color:var(--text-secondary)}.request-access-link a{color:var(--brand-primary);font-weight:var(--font-weight-bold);text-decoration:none}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:var(--animation-fade-in)}.modal-container{background:var(--bg-elevated);padding:var(--spacing-8);border-radius:var(--border-radius-lg);width:100%;max-width:450px;box-shadow:var(--shadow-modal);animation:var(--animation-slide-up)}.modal-header h3{color:var(--brand-primary);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-1)}.modal-header p{color:var(--text-tertiary);margin-bottom:var(--spacing-6)}.modal-footer{display:flex;gap:var(--spacing-4);margin-top:var(--spacing-6)}.btn-cancel{flex:1;height:var(--control-height-md);background:var(--gray-200);border:none;border-radius:var(--border-radius-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-base)}.btn-cancel:hover{background:var(--gray-300)}:root{--text-main: var(--text-primary);--border-soft: var(--border-light);--card-radius: var(--border-radius-lg);--card-shadow: var(--shadow-card);--font-main: var(--font-sans);--focus-ring: var(--shadow-focus);--control-radius-md: var(--border-radius-md);--font-size-md: var(--font-size-base)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--bg-page);color:var(--text-primary)}:where(a,button,input,select,textarea,[tabindex]):focus{outline:none}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:none;box-shadow:var(--shadow-focus)}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;align-items:start}.col-span-12{grid-column:span 12}.col-span-11{grid-column:span 11}.col-span-10{grid-column:span 10}.col-span-9{grid-column:span 9}.col-span-8{grid-column:span 8}.col-span-7{grid-column:span 7}.col-span-6{grid-column:span 6}.col-span-5{grid-column:span 5}.col-span-4{grid-column:span 4}.col-span-3{grid-column:span 3}.col-span-2{grid-column:span 2}.col-span-1{grid-column:span 1}.input-wrapper{min-width:0}.input-field{width:100%;box-sizing:border-box}@media(max-width:900px){.col-span-12,.col-span-11,.col-span-10,.col-span-9,.col-span-8,.col-span-7,.col-span-6,.col-span-5,.col-span-4,.col-span-3,.col-span-2,.col-span-1{grid-column:span 12}}.card{background:var(--bg-card);border-radius:var(--card-radius);border:1px solid var(--border-soft);overflow:hidden;transition:var(--transition-base)}.card--shadow{box-shadow:var(--card-shadow)}.card--hoverable:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-header{padding:var(--spacing-4) var(--spacing-5);background:var(--bg-input);border-bottom:1px solid var(--border-soft)}.card-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-main)}.card-body{padding:var(--spacing-5)}.card-footer{padding:var(--spacing-4) var(--spacing-5);background:var(--bg-input);border-top:1px solid var(--border-soft)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.form-label span{color:var(--danger);margin-left:2px}.form-input{width:100%;height:var(--control-height-md);padding:0 var(--control-padding-x-md);font-family:var(--font-main);font-size:var(--font-size-md);color:var(--text-main);background:var(--bg-input);border-radius:var(--control-radius-md);border:1px solid var(--border-soft);transition:var(--transition-base)}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{outline:none;border-color:var(--border-focus);background:var(--bg-card);box-shadow:var(--shadow-focus)}.form-input:disabled,.form-input[readonly]{opacity:var(--opacity-disabled);cursor:not-allowed}.input-wrapper{display:flex;flex-direction:column;gap:6px}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-muted)}.required{color:var(--danger);margin-left:2px}.input-container{position:relative;display:flex;align-items:center}.input-field{width:100%;height:var(--control-height-md);padding:0 var(--control-padding-x-md);font-family:var(--font-main);font-size:var(--font-size-md);color:var(--text-main);background:var(--bg-input);border-radius:var(--control-radius-md);border:1px solid var(--border-soft);transition:var(--transition-base)}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{outline:none;border-color:var(--border-focus);background:var(--bg-card);box-shadow:var(--shadow-focus)}.is-disabled .input-field{opacity:var(--opacity-disabled);cursor:not-allowed}.has-error .input-field{border-color:var(--danger);background:var(--danger-bg)}.has-error .input-field:focus{box-shadow:var(--shadow-focus-error)}.input-prefix,.input-suffix{position:absolute;top:50%;transform:translateY(-50%);color:var(--text-muted);display:flex;align-items:center}.input-prefix{left:12px}.input-suffix{right:12px}.input-message{min-height:18px}.input-error{font-size:var(--font-size-sm);color:var(--danger);font-weight:var(--font-weight-medium)}.input-hint{font-size:var(--font-size-xs);color:var(--text-muted)}.input-wrapper.has-prefix .input-field{padding-left:40px}.input-wrapper.has-suffix .input-field{padding-right:40px}.table-container{background:var(--bg-card);border-radius:var(--card-radius);border:1px solid var(--border-soft);overflow:hidden}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-md)}.table th{padding:14px 16px;text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-muted);background:var(--bg-input);border-bottom:1px solid var(--border-soft);white-space:nowrap}.table td{padding:14px 16px;border-bottom:1px solid var(--border-soft);color:var(--text-main)}.is-striped tbody tr:nth-child(2n){background:var(--gray-50)}.is-hoverable tbody tr:hover{background:var(--bg-hover);cursor:pointer}.table-state{padding:48px!important}.table-loading,.table-empty{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted)}.empty-icon{font-size:28px}.table-footer{padding:12px 16px;background:var(--bg-input);border-top:1px solid var(--border-soft)}.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-main);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);height:var(--control-height-md);padding:0 20px;border-radius:var(--control-radius-md);border:1px solid transparent;cursor:pointer;transition:var(--transition-base)}.btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn--sm{height:var(--control-height-sm);padding:0 14px;font-size:var(--font-size-sm)}.btn--lg{height:var(--control-height-lg);padding:0 24px;font-size:var(--font-size-lg)}.btn--primary{background:var(--bg-primary);color:var(--text-on-primary)}.btn--primary:after{content:"";position:absolute;top:0;left:-120%;width:120%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);transition:left .6s ease}.btn--primary:hover:not(:disabled){background:var(--bg-primary-hover)}.btn--primary:hover:not(:disabled):after{left:120%}.btn--secondary{background:var(--bg-card);color:var(--text-main);border-color:var(--border-soft)}.btn--secondary:hover:not(:disabled){background:var(--bg-hover)}.btn--outline{background:transparent;color:var(--brand-primary);border-color:var(--brand-primary)}.btn--outline:hover:not(:disabled){background:var(--bg-hover)}.btn--danger{background:var(--danger);color:var(--text-invert)}.btn--danger:hover:not(:disabled){background:#b91c1c}.btn--success{background:var(--success);color:var(--text-invert)}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn--loading{pointer-events:none}.btn--full{width:100%}.btn__spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.btn--secondary .btn__spinner,.btn--outline .btn__spinner{border-color:#3a78a84d;border-top-color:var(--brand-primary)}.spinner{width:28px;height:28px;border:3px solid var(--border-soft);border-top-color:var(--brand-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:700}.status-badge.active{background:var(--success);color:#fff}.status-badge.inactive{background:var(--warning);color:#000}.loading{display:flex;align-items:center;gap:var(--spacing-3);color:var(--text-secondary);font-size:var(--font-size-sm)}.loading.inline{position:relative}.loading.overlay{position:fixed;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-modal);justify-content:center}.loading-text{font-weight:var(--font-weight-medium)}.form-group{min-width:0}.form-input{width:100%;box-sizing:border-box}.check-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding-top:6px}@media(max-width:900px){.col-span-6,.col-span-5,.col-span-4,.col-span-3{grid-column:span 12}}.table td{vertical-align:middle}.table .form-input{height:32px;padding:0 8px}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-success{background-color:#dcfce7;color:#166534}.badge-warning{background-color:#fef9c3;color:#854d0e}.badge-danger{background-color:#fee2e2;color:#991b1b}.table td{padding:12px 16px;vertical-align:middle;border-bottom:1px solid var(--border-soft)}.table .btn--sm{height:28px;padding:0 8px}.table .form-input{height:32px;font-size:13px}.table-actions{display:flex;align-items:center;justify-content:center;gap:8px;height:100%}.table td .btn{margin:0;vertical-align:middle}.table td{vertical-align:middle!important}.header-between{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.card-filter{padding:15px 20px;background:var(--bg-input);border-bottom:1px solid var(--border-soft)}.card-body--flush{padding:0}.cell-stack{display:flex;flex-direction:column;gap:2px}.cell-muted{font-size:12px;color:var(--text-muted)}.badge-neutral{background:var(--bg-page);color:var(--text-main)}.header-between{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem}.cell-stack{display:flex;flex-direction:column;line-height:1.2}.badge{padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600}.card-subtitle{color:var(--text-muted);font-size:var(--font-size-sm);margin:0}.footer-between{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 18px;border-top:1px solid var(--border-soft)}.footer-actions{display:flex;gap:10px;align-items:center}.muted{color:var(--text-muted);font-size:var(--font-size-sm)}.container-botoes{display:flex;justify-content:flex-end;gap:10px}.form-divider{grid-column:span 12;height:1px;background:var(--border-soft);margin:12px 0}.form-section-title{grid-column:span 12;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-top:16px;margin-bottom:8px}
