.gva-setup__logo-img{height:52px;margin-bottom:4px}.gva-setup__card{gap:16px;max-width:480px}.gva-setup__site-url{color:#374151;word-break:break-all;text-align:left;background:#f4f4f4;border-radius:8px;width:100%;padding:10px 14px;font-size:13px}.gva-setup__site-url-label{color:#6b7280}.gva-setup__btn{width:100%}.gva-setup__running{color:#283a56}.gva-setup__done{color:#16a34a;font-weight:600}.gva-setup__error{color:#b91c1c;text-align:left;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;width:100%;padding:10px 14px;font-size:13px}:root{--font-sans:"Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--color-brand:#202b40;--color-brand-hover:#181f2e;--color-brand-light:#ebf0fa;--color-accent:#2e4a8e;--color-accent-light:#ebf0fa;--color-text:#1f2937;--color-text-strong:#111827;--color-text-sec:#4b5563;--color-text-muted:#6b7280;--color-text-faint:#9ca3af;--color-text-hint:#8a8a8a;--color-text-placeholder:#616161;--color-bg:#fff;--color-bg-page:#f5f6f8;--color-surface:#fff;--color-surface-hover:#f9fafb;--color-surface-alt:#f5f6f8;--color-border:#e5e7eb;--color-border-input:#d1d5db;--color-border-faint:#f0f0f0;--color-border-focus:#2e4a8e;--color-link:#2e4a8e;--color-disabled-bg:#f3f4f6;--color-disabled-text:#9ca3af;--opacity-disabled:.5;--color-success:#16a34a;--color-success-dark:#0d5c0a;--color-success-bg:#dcfce7;--color-success-border:#92c78f;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-danger-dark:#8b0005;--color-danger-bg:#fee2e2;--color-danger-border:#f5a4a8;--color-danger-mid:#ef4444;--color-danger-faint:#fef2f2;--color-danger-faint-border:#fecaca;--color-warning:#f59e0b;--color-warning-text:#7d4900;--color-warning-bg:#fef3c7;--color-warning-border:#f5c65a;--color-info:#2563eb;--color-info-bg:#dbeafe;--color-info-border:#93c5fd;--header-height:52px;--color-header-bg:var(--color-brand);--color-header-text:#fff;--sidebar-width:220px;--color-sidebar-bg:#f8f9fb;--color-sidebar-border:var(--color-border);--color-sidebar-hover:#eef0f4;--color-sidebar-active-bg:var(--color-brand);--color-sidebar-active-text:#fff;--color-sidebar-active-indicator:var(--color-accent);--content-padding:var(--space-6);--content-max-width:1200px;--radius-sm:2px;--radius-md:3px;--radius-lg:4px;--radius-xl:6px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--z-base:1;--z-sticky:100;--z-dropdown:200;--z-modal:1000;--z-toast:1100;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:18px;--text-2xl:24px;--text-3xl:28px;--btn-height-sm:28px;--btn-height-md:36px;--btn-height-lg:44px;--icon-sm:14px;--icon-md:18px;--icon-lg:24px;--shadow-sm:0 1px 2px #0000000d;--shadow-card:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-card-hover:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-dropdown:0 4px 16px #0000001f;--shadow-modal:0 16px 48px #00000029;--transition-fast:.12s;--transition-base:.15s;--transition-slow:.25s}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100vh;font-family:var(--font-sans);font-size:var(--text-md);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}a{color:inherit;text-decoration:none}.gva-btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--btn-height-md);padding:0 var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);border:none;font-family:inherit;display:inline-flex}.gva-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.gva-btn:hover:not(:disabled){transform:translateY(-1px)}.gva-btn:active:not(:disabled){transform:translateY(0)}.gva-btn--primary{background:var(--color-brand);color:#fff;box-shadow:var(--shadow-sm);border:none}.gva-btn--primary:hover:not(:disabled){background:var(--color-brand-hover);box-shadow:var(--shadow-card)}.gva-btn--secondary{background:var(--color-surface);color:var(--color-text-sec);border:1px solid var(--color-border-input)}.gva-btn--secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-text-faint)}.gva-btn--danger{background:var(--color-danger);color:#fff;box-shadow:var(--shadow-sm);border:none}.gva-btn--danger:hover:not(:disabled){background:var(--color-danger-hover)}.gva-btn--edit{color:var(--color-text-sec);border:1px solid var(--color-border);height:var(--btn-height-sm);padding:0 var(--space-3);font-size:var(--text-sm);background:0 0}.gva-btn--edit:hover:not(:disabled){background:var(--color-surface-alt);border-color:var(--color-text-faint)}.gva-btn--icon-danger{color:var(--color-danger-mid);border:1px solid var(--color-danger-faint-border);border-radius:var(--radius-md);height:var(--btn-height-sm);padding:0 var(--space-3);font-size:var(--text-sm);background:0 0}.gva-btn--icon-danger:hover:not(:disabled){color:#fff;background:var(--color-danger);border-color:var(--color-danger)}.gva-btn--ghost{color:var(--color-text-muted);font-size:var(--text-sm);height:var(--btn-height-sm);padding:0 var(--space-3);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none}.gva-btn--ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.gva-btn--sm{height:var(--btn-height-sm);padding:0 var(--space-3);font-size:var(--text-sm)}.gva-btn--lg{height:var(--btn-height-lg);padding:0 var(--space-5);font-size:var(--text-md)}.gva-btn--full{width:100%}.gva-btn--navy{background:var(--color-brand);color:#fff;border:none}.gva-field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.gva-field:last-child{margin-bottom:0}.gva-field--mt{margin-top:var(--space-3)}.gva-field--mt20{margin-top:var(--space-5)}.gva-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-sec);margin-bottom:var(--space-1);display:block}.gva-form-group{margin-bottom:var(--space-4)}.gva-form-group:last-child{margin-bottom:0}.gva-input,.gva-select{width:100%;height:var(--btn-height-md);padding:0 var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;font-family:inherit}.gva-input:focus,.gva-select:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px #2e4a8e1a}.gva-input::placeholder{color:var(--color-text-faint)}.gva-input--error{border-color:var(--color-danger)}.gva-input--readonly,.gva-input--locked{background:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:default}.gva-textarea{border:1px solid var(--color-border-input);border-radius:var(--radius-md);width:100%;font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);resize:vertical;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:7px 10px;font-family:inherit}.gva-textarea:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px #2e4a8e1f}.gva-hint{font-size:var(--text-xs);color:var(--color-text-hint)}.gva-error{font-size:var(--text-xs);color:var(--color-danger)}.gva-alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-base);border-left:4px solid #0000;line-height:1.5}.gva-alert--error{background:var(--color-danger-bg);color:var(--color-danger-dark);border-color:var(--color-danger)}.gva-alert--success{background:var(--color-success-bg);color:var(--color-success-dark);border-color:var(--color-success)}.gva-alert--warning{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning)}.gva-alert--info{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info)}.gva-alert--mb,.gva-alert--mb12{margin-bottom:var(--space-3)}.gva-alert--mt{margin-top:10px}.gva-alert--mt16{margin-top:var(--space-4)}.gva-alert--mw{max-width:500px}.gva-badge{border-radius:var(--radius-xl);font-size:var(--text-sm);background:var(--color-border);color:var(--color-text-sec);padding:3px 10px;font-weight:600;display:inline-block}.gva-badge--active{color:var(--color-success);background:#dcfce7}.gva-badge--trial{color:#1a4dbe;background:#e8f0fe;border:1px solid #a8c4f5}.gva-badge--expired{color:#a31515;background:#fce8e8}.gva-badge--suspended{color:var(--color-text-muted);background:0 0}.gva-badge--paid{color:var(--color-success);background:#dcfce7}.gva-badge--pending{color:#92400e;background:#fef9c3}.gva-badge--overdue{color:var(--color-danger-mid);background:#fee2e2}.gva-badge--warn{color:#92400e;background:#fef3c7}.gva-badge--danger{color:#721c24;background:#f8d7da}@keyframes gva-spin{to{transform:rotate(360deg)}}.gva-spinner{border:2px solid var(--color-border);border-top-color:var(--color-brand);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.7s linear infinite gva-spin;display:inline-block}.gva-spinner--sm{border-width:2px;width:14px;height:14px}.gva-spinner--lg{border-width:3px;width:32px;height:32px}.gva-modal-overlay{z-index:var(--z-modal);padding:var(--space-4);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gva-modal{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-7) var(--space-8);width:100%;max-width:580px;box-shadow:var(--shadow-modal);max-height:85vh;overflow-y:auto}.gva-modal--sm{max-width:420px}.gva-modal--lg{max-width:680px}.gva-modal--xl{max-width:820px}.gva-modal__title{font-size:var(--text-lg);color:var(--color-text-strong);margin:0 0 6px;font-weight:700}.gva-modal__subtitle{font-size:var(--text-xs);color:var(--color-brand);border-radius:var(--radius-sm);margin-bottom:var(--space-2);background:#e8eef8;padding:2px 7px;display:inline-block}.gva-modal__desc{font-size:var(--text-base);color:#424242;margin:6px 0 0;line-height:1.5}.gva-modal__meta{margin:var(--space-1) 0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-placeholder)}.gva-modal__body{margin:0 0 var(--space-6);font-size:var(--text-base);color:#424242}.gva-modal__warning{font-size:var(--text-base);color:var(--color-text);margin:0 0 6px}.gva-modal__actions{gap:var(--space-2);margin-top:var(--space-5);justify-content:flex-end;display:flex}.gva-modal__title--danger{color:var(--color-danger)}.gva-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.gva-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.gva-table th{text-align:left;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted);letter-spacing:.02em;padding:0 var(--space-4);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border);white-space:nowrap;height:40px}.gva-table td{padding:0 var(--space-4);border-bottom:1px solid var(--color-border-faint);height:48px;color:var(--color-text-sec);vertical-align:middle}.gva-table tbody tr:last-child td{border-bottom:none}.gva-table tbody tr{transition:background var(--transition-fast)}.gva-table tbody tr:hover td{background:var(--color-surface-hover)}.gva-table-link{color:var(--color-brand);cursor:pointer;font-weight:600}.gva-table-link:hover{text-decoration:underline}.gva-table-empty{text-align:center;color:var(--color-text-hint);padding:var(--space-3) 0}.gva-page-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.gva-page-header__left{flex:1;min-width:0}.gva-page-header__actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.gva-page-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-strong);margin:0;line-height:1.25}.gva-page-desc{font-size:var(--text-md);color:var(--color-text-muted);margin:0;line-height:1.5}.gva-section-title{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-text-sec);text-transform:uppercase;letter-spacing:.5px;margin:var(--space-6) 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.gva-section-desc{margin:0 0 var(--space-5);font-size:var(--text-md);color:var(--color-text-muted);line-height:1.5}.gva-section-desc__usage{color:var(--color-text);font-weight:500}.gva-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-base), transform var(--transition-base);overflow:hidden}.gva-card:hover{box-shadow:var(--shadow-card-hover)}.gva-card--table{padding:0}.gva-card--flat,.gva-card--flat:hover{box-shadow:none}.gva-info-box{border-radius:var(--radius-lg);margin-top:var(--space-5);background:#fffbeb;border:1px solid #fde68a;padding:14px 18px}.gva-info-box__title{font-size:var(--text-base);color:var(--color-warning);margin:0 0 var(--space-2);font-weight:600}.gva-info-box ul{margin:0;padding-left:18px}.gva-info-box li{font-size:var(--text-base);color:#b45309;line-height:1.6}.gva-full-screen-loading{min-height:100vh;font-size:var(--text-md);color:var(--color-text-placeholder);justify-content:center;align-items:center;display:flex}.gva-check--yes{color:#22c55e;font-size:15px;font-weight:700}.gva-check--no{color:var(--color-border-input);font-size:15px}.gva-cell-center{text-align:center}.gva-cell-muted{text-align:center;color:var(--color-text-hint)}.gva-cell-empty{text-align:center;color:var(--color-text-hint);padding:var(--space-3) 0}.gva-sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.gva-btn-group{gap:var(--space-2);margin-top:var(--space-4);display:flex}.gva-row-actions{gap:var(--space-1);align-items:center;display:flex}.gva-filter-bar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.gva-btn:focus-visible,.gva-input:focus-visible,.gva-select:focus-visible,.gva-textarea:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.gva-skip-link{padding:var(--space-2) var(--space-4);background:var(--color-brand);color:#fff;z-index:var(--z-toast);transition:top var(--transition-fast);font-size:var(--text-sm);text-decoration:none;position:absolute;top:-40px;left:0}.gva-skip-link:focus{top:0}@keyframes gva-skeleton-pulse{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.gva-skeleton{background:linear-gradient(90deg, var(--color-surface-alt) 0%, var(--color-surface-hover) 50%, var(--color-surface-alt) 100%);margin-bottom:var(--space-2);background-size:200px 100%;animation:1.5s ease-in-out infinite gva-skeleton-pulse;display:block}.gva-skeleton:last-child{margin-bottom:0}.gva-toast-container{bottom:var(--space-5);right:var(--space-5);z-index:var(--z-toast);gap:var(--space-2);flex-direction:column;max-width:380px;display:flex;position:fixed}@keyframes gva-toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.gva-toast{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);animation:gva-toast-in var(--transition-slow) ease-out;font-size:var(--text-sm);border-left:4px solid #0000;line-height:1.4;display:flex}.gva-toast--success{background:var(--color-success-bg);color:var(--color-success-dark);border-color:var(--color-success)}.gva-toast--error{background:var(--color-danger-bg);color:var(--color-danger-dark);border-color:var(--color-danger)}.gva-toast--warning{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning)}.gva-toast--info{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info)}.gva-toast__message{flex:1}.gva-toast__close{font-size:var(--text-lg);cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;padding:0;line-height:1}.gva-toast__close:hover{opacity:1}
