.gm-app{display:block}.gm-app-body{background:var(--gm-bg);min-height:100vh;color:var(--gm-text-primary);font:var(--gm-text-body);-webkit-font-smoothing:antialiased;display:block}.gm-app{--gm-bg:#fff;--gm-surface:#fff;--gm-surface-2:#fafafa;--gm-surface-sunken:#ececef;--gm-border:#e4e5e8;--gm-border-strong:#d7d8da;--gm-overlay:#0f111580;--gm-text-primary:#1b1b1e;--gm-text-secondary:#5f6368;--gm-text-tertiary:#80868b;--gm-text-inverse:#fff;--gm-text-disabled:#b4b5bd;--gm-accent-50:#e8f0fe;--gm-accent-100:#d2e3fc;--gm-accent-200:#aecbfa;--gm-accent-400:#4285f4;--gm-accent-500:#1a73e8;--gm-accent-600:#185abc;--gm-accent-700:#12459a;--gm-accent-contrast:#fff;--gm-flame-500:#f29900;--gm-flame-100:#feefc3;--gm-success-50:#e6f4ea;--gm-success-500:#1e8e3e;--gm-success-600:#137333;--gm-success-text:#0d652d;--gm-warning-50:#fef7e0;--gm-warning-500:#d98b0d;--gm-warning-600:#b06000;--gm-warning-text:#8a5807;--gm-danger-50:#fce8e6;--gm-danger-500:#d93025;--gm-danger-600:#b3261e;--gm-danger-text:#a50e0e;--gm-danger-solid:#d93025;--gm-info-50:#e8f0fe;--gm-info-500:#1a73e8;--gm-info-600:#185abc;--gm-info-text:#174ea6;--gm-neutral-50:#f1f3f4;--gm-neutral-500:#80868b;--gm-neutral-text:#5f6368;--gm-chart-1:#1a73e8;--gm-chart-2:#f29900;--gm-chart-3:#1e8e3e;--gm-chart-4:#d93025;--gm-chart-5:#9334e6;--gm-chart-6:#12b5cb;--gm-chart-7:#e52592;--gm-chart-8:#80868b;--gm-font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--gm-font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--gm-text-page-title:700 26px/1.25 var(--gm-font);--gm-text-section-title:600 16px/1.35 var(--gm-font);--gm-text-card-title:600 14px/1.4 var(--gm-font);--gm-text-body:400 14px/1.5 var(--gm-font);--gm-text-body-medium:500 14px/1.5 var(--gm-font);--gm-text-auxiliary:400 12.5px/1.45 var(--gm-font);--gm-text-indicator:700 30px/1.1 var(--gm-font);--gm-text-indicator-sm:700 20px/1.2 var(--gm-font);--gm-text-code:400 12.5px/1.5 var(--gm-font-mono);--gm-sp-1:4px;--gm-sp-2:8px;--gm-sp-3:12px;--gm-sp-4:16px;--gm-sp-5:20px;--gm-sp-6:24px;--gm-sp-8:32px;--gm-sp-10:40px;--gm-sp-12:48px;--gm-sp-16:64px;--gm-radius-sm:8px;--gm-radius-md:12px;--gm-radius-lg:16px;--gm-radius-xl:20px;--gm-radius-full:999px;--gm-shadow-sm:0 1px 2px #0000000d;--gm-shadow-md:0 1px 3px #00000014, 0 1px 2px #0000000a;--gm-shadow-lg:0 4px 16px #0000001f, 0 2px 6px #0000000f;--gm-shadow-focus:0 0 0 3px var(--gm-accent-200);--gm-density-row-h:52px;--gm-density-control-h:40px;--gm-density-card-pad:20px;--gm-density-gap:16px;--gm-transition-fast:.12s cubic-bezier(.4,0,.2,1);--gm-transition-base:.18s cubic-bezier(.4,0,.2,1);--gm-sidebar-w:248px;--gm-sidebar-w-collapsed:72px;--gm-topbar-h:60px}.gm-app[data-density=compact]{--gm-density-row-h:40px;--gm-density-control-h:32px;--gm-density-card-pad:14px;--gm-density-gap:10px}.gm-app[data-theme=dark]{--gm-bg:#131314;--gm-surface:#1e1f20;--gm-surface-2:#1a1b1c;--gm-surface-sunken:#2a2b2d;--gm-border:#3c4043;--gm-border-strong:#4a4d51;--gm-overlay:#000000a6;--gm-text-primary:#e8eaed;--gm-text-secondary:#9aa0a6;--gm-text-tertiary:#71767a;--gm-text-inverse:#131314;--gm-text-disabled:#4c4d57;--gm-accent-50:#1a2c4d;--gm-accent-100:#1f3a6b;--gm-accent-200:#2b4d8c;--gm-accent-400:#669df6;--gm-accent-500:#8ab4f8;--gm-accent-600:#aecbfa;--gm-accent-700:#d2e3fc;--gm-accent-contrast:#131314;--gm-success-50:#0f2a17;--gm-success-500:#81c995;--gm-success-text:#a8dab5;--gm-warning-50:#362b0e;--gm-warning-500:#fdd663;--gm-warning-text:#fde293;--gm-danger-50:#3a1414;--gm-danger-500:#f28b82;--gm-danger-text:#f6aea9;--gm-danger-solid:#e5484d;--gm-info-50:#1a2c4d;--gm-info-500:#8ab4f8;--gm-info-text:#aecbfa;--gm-neutral-50:#28292b;--gm-neutral-500:#9aa0a6;--gm-neutral-text:#bdc1c6;--gm-shadow-sm:0 1px 2px #0006;--gm-shadow-md:0 2px 10px #00000080;--gm-shadow-lg:0 12px 32px #0009;--gm-shadow-focus:0 0 0 3px var(--gm-accent-200)}.gm-app[data-contrast=high]{--gm-border:var(--gm-border-strong);--gm-text-secondary:var(--gm-text-primary)}.gm-app[data-contrast=high] .btn,.gm-app[data-contrast=high] .input,.gm-app[data-contrast=high] .card{border-width:1.5px!important}.gm-app[data-contrast=high]:not([data-theme=dark]){--gm-text-secondary:#33343b;--gm-border:#9a9ba5}.gm-app,.gm-app *,.gm-app :before,.gm-app :after{box-sizing:border-box}.gm-app h1,.gm-app h2,.gm-app h3,.gm-app h4,.gm-app p,.gm-app ul,.gm-app ol,.gm-app figure{margin:0}.gm-app ul,.gm-app ol{padding:0;list-style:none}.gm-app button{font-family:inherit}.gm-app a{color:var(--gm-accent-500);text-decoration:none}.gm-app a:hover{text-decoration:underline}.gm-app img,.gm-app svg{max-width:100%;display:block}.gm-app ::selection{background:var(--gm-accent-200)}@media (prefers-reduced-motion:reduce){.gm-app,.gm-app *,.gm-app :before,.gm-app :after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.gm-app[data-reduce-motion=true] *,.gm-app[data-reduce-motion=true] :before,.gm-app[data-reduce-motion=true] :after{transition-duration:.001ms!important;animation-duration:.001ms!important}.gm-app :focus-visible{outline:2px solid var(--gm-accent-500);outline-offset:2px;border-radius:4px}.gm-app .gm-icon{stroke-width:2px;flex-shrink:0;width:18px;height:18px}.gm-app .gm-icon-sm{width:14px;height:14px}.gm-app .gm-icon-lg{width:22px;height:22px}.gm-app .tx-page-title{font:var(--gm-text-page-title);letter-spacing:-.01em}.gm-app .tx-section-title{font:var(--gm-text-section-title)}.gm-app .tx-card-title{font:var(--gm-text-card-title)}.gm-app .tx-body{font:var(--gm-text-body)}.gm-app .tx-body-medium{font:var(--gm-text-body-medium)}.gm-app .tx-aux{font:var(--gm-text-auxiliary);color:var(--gm-text-secondary)}.gm-app .tx-indicator{font:var(--gm-text-indicator);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.gm-app .tx-indicator-sm{font:var(--gm-text-indicator-sm);font-variant-numeric:tabular-nums}.gm-app .tx-code{font:var(--gm-text-code);background:var(--gm-surface-sunken);border-radius:6px;padding:1px 6px}.gm-app .tx-secondary{color:var(--gm-text-secondary)}.gm-app .tx-tertiary{color:var(--gm-text-tertiary)}.gm-app .u-flex{flex-direction:row;display:flex}.gm-app .u-flex-col{flex-direction:column;display:flex}.gm-app .u-items-center{align-items:center}.gm-app .u-justify-between{justify-content:space-between}.gm-app .u-gap-1{gap:var(--gm-sp-1)}.gm-app .u-gap-2{gap:var(--gm-sp-2)}.gm-app .u-gap-3{gap:var(--gm-sp-3)}.gm-app .u-gap-4{gap:var(--gm-sp-4)}.gm-app .u-wrap{flex-wrap:wrap}.gm-app .u-mt-2{margin-top:var(--gm-sp-2)}.gm-app .u-mt-3{margin-top:var(--gm-sp-3)}.gm-app .u-mt-4{margin-top:var(--gm-sp-4)}.gm-app .u-mt-6{margin-top:var(--gm-sp-6)}.gm-app .u-mb-2{margin-bottom:var(--gm-sp-2)}.gm-app .u-mb-3{margin-bottom:var(--gm-sp-3)}.gm-app .u-mb-4{margin-bottom:var(--gm-sp-4)}.gm-app .u-w-full{width:100%}.gm-app .u-relative{position:relative}.gm-app .u-hidden{display:none!important}.gm-app .u-scroll-x{overflow-x:auto}.gm-app .u-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gm-app .u-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gm-app .gm-shell{min-height:100vh;display:flex}.gm-app .gm-sidebar{width:var(--gm-sidebar-w);background:var(--gm-surface-2);border-right:1px solid var(--gm-border);transition:width var(--gm-transition-base);z-index:30;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.gm-app .gm-sidebar.is-collapsed{width:var(--gm-sidebar-w-collapsed)}.gm-app .gm-sidebar.is-collapsed .gm-sidebar-label,.gm-app .gm-sidebar.is-collapsed .gm-brand-text,.gm-app .gm-sidebar.is-collapsed .gm-sidebar-group-title{display:none}.gm-app .gm-sidebar.is-collapsed .gm-nav-item{justify-content:center}.gm-app .gm-brand{align-items:center;gap:var(--gm-sp-2);padding:var(--gm-sp-4);height:var(--gm-topbar-h);border-bottom:1px solid var(--gm-border);display:flex}.gm-app .gm-brand-mark{border-radius:var(--gm-radius-sm);background:var(--gm-text-primary);width:30px;height:30px;color:var(--gm-flame-500);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gm-app .gm-brand-text{letter-spacing:-.01em;white-space:nowrap;font-size:14.5px;font-weight:700}.gm-app .gm-brand-sub{color:var(--gm-text-tertiary);white-space:nowrap;font-size:11px}.gm-app .gm-sidebar-scroll{padding:var(--gm-sp-3);flex:1;overflow-y:auto}.gm-app .gm-sidebar-group{margin-bottom:var(--gm-sp-4)}.gm-app .gm-sidebar-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--gm-text-tertiary);padding:0 var(--gm-sp-3);margin-bottom:var(--gm-sp-2);font-size:11px;font-weight:600}.gm-app .gm-nav-item{align-items:center;gap:var(--gm-sp-3);padding:9px var(--gm-sp-3);border-radius:var(--gm-radius-sm);color:var(--gm-text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-size:13.5px;font-weight:500;display:flex;position:relative}.gm-app .gm-nav-item:hover{background:var(--gm-surface-sunken);color:var(--gm-text-primary)}.gm-app .gm-nav-item.is-active{background:var(--gm-surface-sunken);color:var(--gm-text-primary);font-weight:600}.gm-app .gm-nav-item.is-active svg{color:var(--gm-text-primary)}.gm-app .gm-nav-item .gm-badge-count{margin-left:auto}.gm-app .gm-nav-item .gm-nav-chevron{transition:transform var(--gm-transition-fast);margin-left:auto}.gm-app .gm-nav-item[aria-expanded=true] .gm-nav-chevron{transform:rotate(90deg)}.gm-app .gm-nav-sub{flex-direction:column;gap:2px;margin-top:2px;padding-left:30px;display:flex}.gm-app .gm-nav-sub .gm-nav-item{padding:7px var(--gm-sp-3);font-size:13px}.gm-app .gm-sidebar-footer{padding:var(--gm-sp-3);border-top:1px solid var(--gm-border)}.gm-app .gm-main{flex-direction:column;flex:1;min-width:0;display:flex}.gm-app .gm-topbar{height:var(--gm-topbar-h);border-bottom:1px solid var(--gm-border);background:color-mix(in srgb, var(--gm-surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:var(--gm-sp-3);padding:0 var(--gm-sp-5);z-index:20;display:flex;position:sticky;top:0}.gm-app .gm-topbar-search{flex:1;max-width:420px}.gm-app .gm-topbar-spacer{flex:1}.gm-app .gm-content{padding:var(--gm-sp-6);width:100%;max-width:1400px;margin:0 auto}.gm-app .btn{justify-content:center;align-items:center;gap:var(--gm-sp-2);height:var(--gm-density-control-h);padding:0 var(--gm-sp-4);border-radius:var(--gm-radius-sm);white-space:nowrap;cursor:pointer;transition:border-color var(--gm-transition-fast), box-shadow var(--gm-transition-fast), transform var(--gm-transition-fast);-webkit-user-select:none;user-select:none;border:1px solid #0000;font-size:13.5px;font-weight:600;display:inline-flex;position:relative}.gm-app .btn:active{transform:scale(.98)}.gm-app .btn:disabled,.gm-app .btn.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.gm-app .btn--primary{background:var(--gm-text-primary);color:var(--gm-surface);border-color:var(--gm-text-primary)}.gm-app .btn--primary:hover{color:#fff;background:#3c4043;border-color:#3c4043}.gm-app .btn--primary:focus-visible{box-shadow:var(--gm-shadow-focus)}.gm-app .btn--secondary{background:var(--gm-surface);color:var(--gm-text-primary);border-color:var(--gm-border-strong)}.gm-app .btn--secondary:hover{background:var(--gm-surface-sunken)}.gm-app .btn--tertiary{background:var(--gm-surface-sunken);color:var(--gm-text-primary)}.gm-app .btn--tertiary:hover{background:var(--gm-border)}.gm-app .btn--ghost{color:var(--gm-text-secondary);background:0 0}.gm-app .btn--ghost:hover{background:var(--gm-surface-sunken);color:var(--gm-text-primary)}.gm-app .btn--outline{border-color:var(--gm-border-strong);color:var(--gm-text-primary);background:0 0}.gm-app .btn--outline:hover{background:var(--gm-surface-sunken)}.gm-app .btn--danger{background:var(--gm-danger-solid);color:#fff;border-color:var(--gm-danger-solid)}.gm-app .btn--danger:hover{background:var(--gm-danger-600);border-color:var(--gm-danger-600)}.gm-app .btn--link{color:var(--gm-accent-500);background:0 0;height:auto;padding:0;font-weight:600}.gm-app .btn--link:hover{text-decoration:underline}.gm-app .btn--sm{height:30px;padding:0 var(--gm-sp-3);border-radius:7px;font-size:12.5px}.gm-app .btn--lg{height:46px;padding:0 var(--gm-sp-5);font-size:14.5px}.gm-app .btn--full{width:100%}.gm-app .btn--circle{border-radius:var(--gm-radius-full);width:var(--gm-density-control-h);padding:0}.gm-app .btn--icon-only{width:var(--gm-density-control-h);padding:0}.gm-app .btn--icon-only.btn--sm{width:30px}.gm-app .btn--floating{border-radius:var(--gm-radius-full);width:52px;height:52px;box-shadow:var(--gm-shadow-lg);z-index:40;position:fixed;bottom:28px;right:28px}.gm-app .btn-count{border-radius:var(--gm-radius-full);background:#ffffff40;padding:1px 7px;font-size:11px;font-weight:700}.gm-app .btn--secondary .btn-count,.gm-app .btn--outline .btn-count,.gm-app .btn--ghost .btn-count{background:var(--gm-surface-sunken);color:var(--gm-text-secondary)}.gm-app .btn-kbd{font:var(--gm-text-code);margin-left:var(--gm-sp-1);background:#ffffff2e;border-radius:5px;padding:1px 6px;font-size:11px}.gm-app .btn--secondary .btn-kbd,.gm-app .btn--outline .btn-kbd{background:var(--gm-surface-sunken);border:1px solid var(--gm-border)}.gm-app .btn.is-loading{pointer-events:none;color:#0000!important}.gm-app .btn.is-loading:after{content:"";border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite gm-spin;position:absolute}.gm-app .btn--secondary.is-loading:after,.gm-app .btn--outline.is-loading:after,.gm-app .btn--ghost.is-loading:after{border-color:var(--gm-border-strong);border-top-color:var(--gm-text-primary)}@keyframes gm-spin{to{transform:rotate(360deg)}}.gm-app .btn-group{border-radius:var(--gm-radius-sm);border:1px solid var(--gm-border-strong);display:inline-flex;overflow:hidden}.gm-app .btn-group .btn{border:none;border-right:1px solid var(--gm-border-strong);border-radius:0}.gm-app .btn-group .btn:last-child{border-right:none}.gm-app .segmented{background:var(--gm-surface-sunken);border-radius:var(--gm-radius-sm);gap:2px;padding:3px;display:inline-flex}.gm-app .segmented button{color:var(--gm-text-secondary);cursor:pointer;transition:box-shadow var(--gm-transition-fast);background:0 0;border:none;border-radius:7px;padding:6px 14px;font-size:13px;font-weight:600}.gm-app .segmented button.is-active{background:var(--gm-surface);color:var(--gm-text-primary);box-shadow:var(--gm-shadow-sm)}.gm-app .split-btn{display:inline-flex}.gm-app .split-btn .btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.gm-app .split-btn .btn--icon-only{border-left:1px solid #ffffff40;border-top-left-radius:0;border-bottom-left-radius:0;width:32px}.gm-app .split-btn .btn--secondary+.btn--icon-only,.gm-app .split-btn .btn--outline+.btn--icon-only{border-left-color:var(--gm-border-strong)}.gm-app .menu{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);min-width:200px;box-shadow:var(--gm-shadow-lg);z-index:60;opacity:0;pointer-events:none;transition:opacity var(--gm-transition-fast), transform var(--gm-transition-fast);padding:6px;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(-4px)scale(.98)}.gm-app .menu.is-open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.gm-app .menu-item{align-items:center;gap:var(--gm-sp-2);text-align:left;width:100%;color:var(--gm-text-primary);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:8px 10px;font-size:13.5px;display:flex}.gm-app .menu-item:hover{background:var(--gm-surface-sunken)}.gm-app .menu-item.danger{color:var(--gm-danger-500)}.gm-app .menu-item:disabled{opacity:.4;cursor:not-allowed}.gm-app .menu-sep{background:var(--gm-border);height:1px;margin:5px 2px}.gm-app .menu-shortcut{color:var(--gm-text-tertiary);margin-left:auto;font-size:11px}.gm-app .field{flex-direction:column;gap:6px;display:flex}.gm-app .field-label{color:var(--gm-text-primary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.gm-app .field-label .req{color:var(--gm-danger-500)}.gm-app .field-help{color:var(--gm-text-tertiary);font-size:12.5px}.gm-app .field-help-icon{color:var(--gm-text-tertiary);cursor:help}.gm-app .input-wrap{align-items:center;display:flex;position:relative}.gm-app .input{width:100%;height:var(--gm-density-control-h);background:var(--gm-surface);border:1px solid var(--gm-border-strong);border-radius:var(--gm-radius-sm);padding:0 var(--gm-sp-3);color:var(--gm-text-primary);transition:border-color var(--gm-transition-fast), box-shadow var(--gm-transition-fast);font-size:13.5px}.gm-app .input::placeholder{color:var(--gm-text-tertiary)}.gm-app .input:hover{border-color:var(--gm-text-tertiary)}.gm-app .input:focus{border-color:var(--gm-accent-500);box-shadow:var(--gm-shadow-focus);outline:none}.gm-app .input:disabled,.gm-app .input.is-disabled{background:var(--gm-surface-sunken);color:var(--gm-text-disabled);cursor:not-allowed}.gm-app .input.is-readonly{background:var(--gm-surface-sunken)}.gm-app .input.is-success{border-color:var(--gm-success-500)}.gm-app .input.is-warning{border-color:var(--gm-warning-500)}.gm-app .input.is-error{border-color:var(--gm-danger-500)}.gm-app .input.is-error:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--gm-danger-500) 25%, transparent)}.gm-app textarea.input{height:auto;padding:var(--gm-sp-3);resize:vertical;min-height:90px;font-family:var(--gm-font);line-height:1.5}.gm-app .input.tx-code-input{font-family:var(--gm-font-mono)}.gm-app .input-wrap .input--with-icon-left{padding-left:36px}.gm-app .input-wrap .input--with-icon-right{padding-right:36px}.gm-app .input-icon-left,.gm-app .input-icon-right{color:var(--gm-text-tertiary);pointer-events:none;display:flex;position:absolute}.gm-app .input-icon-left{left:11px}.gm-app .input-icon-right{right:11px}.gm-app .input-clear-btn{background:var(--gm-surface-sunken);color:var(--gm-text-secondary);cursor:pointer;pointer-events:auto;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;right:8px}.gm-app .input-clear-btn:hover{background:var(--gm-border)}.gm-app .input-loading-spinner{border:2px solid var(--gm-border-strong);border-top-color:var(--gm-accent-500);border-radius:50%;width:15px;height:15px;animation:.7s linear infinite gm-spin;position:absolute;right:11px}.gm-app .field-msg{align-items:center;gap:5px;font-size:12.5px;display:flex}.gm-app .field-msg.success{color:var(--gm-success-text)}.gm-app .field-msg.warning{color:var(--gm-warning-text)}.gm-app .field-msg.error{color:var(--gm-danger-text)}.gm-app .char-counter{color:var(--gm-text-tertiary);text-align:right;font-size:11.5px}.gm-app .char-counter.is-near-limit{color:var(--gm-warning-text)}.gm-app .input-group{display:flex}.gm-app .input-group .input-group-addon{padding:0 var(--gm-sp-3);background:var(--gm-surface-sunken);border:1px solid var(--gm-border-strong);color:var(--gm-text-secondary);white-space:nowrap;align-items:center;font-size:13px;display:flex}.gm-app .input-group .input-group-addon:first-child{border-radius:var(--gm-radius-sm) 0 0 var(--gm-radius-sm);border-right:none}.gm-app .input-group .input-group-addon:last-child{border-radius:0 var(--gm-radius-sm) var(--gm-radius-sm) 0;border-left:none}.gm-app .input-group .input:not(:first-child):not(:last-child){border-radius:0}.gm-app .input-group .input:first-child:not(:last-child){border-radius:var(--gm-radius-sm) 0 0 var(--gm-radius-sm)}.gm-app .input-group .input:last-child:not(:first-child){border-radius:0 var(--gm-radius-sm) var(--gm-radius-sm) 0}.gm-app .ai-fill-btn{color:var(--gm-accent-500);background:var(--gm-accent-50);cursor:pointer;pointer-events:auto;border:none;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11.5px;font-weight:600;display:flex;position:absolute;right:8px}.gm-app .suggest-list{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);max-height:260px;box-shadow:var(--gm-shadow-lg);z-index:50;padding:6px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.gm-app .suggest-item{cursor:pointer;border-radius:7px;padding:8px 10px;font-size:13.5px}.gm-app .suggest-item:hover,.gm-app .suggest-item.is-active{background:var(--gm-accent-50);color:var(--gm-accent-600)}.gm-app .suggest-item mark{background:var(--gm-warning-50);color:inherit;border-radius:2px;font-weight:700}.gm-app .checkbox{cursor:pointer;align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.gm-app .checkbox input{display:none}.gm-app .checkbox .box{border:1.5px solid var(--gm-border-strong);background:var(--gm-surface);width:18px;height:18px;transition:border-color var(--gm-transition-fast);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.gm-app .checkbox input:checked+.box{background:var(--gm-text-primary);border-color:var(--gm-text-primary)}.gm-app .checkbox input:checked+.box svg{stroke:#fff;display:block}.gm-app .checkbox .box svg{width:12px;height:12px;display:none}.gm-app .checkbox.is-indeterminate .box{background:var(--gm-text-primary);border-color:var(--gm-text-primary)}.gm-app .checkbox.is-indeterminate .box:after{content:"";background:#fff;border-radius:1px;width:8px;height:2px}.gm-app .checkbox input:disabled+.box{opacity:.4;cursor:not-allowed}.gm-app .checkbox input:focus-visible+.box{box-shadow:var(--gm-shadow-focus)}.gm-app .radio{cursor:pointer;align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.gm-app .radio input{display:none}.gm-app .radio .dot{border:1.5px solid var(--gm-border-strong);width:18px;height:18px;transition:border-color var(--gm-transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.gm-app .radio input:checked+.dot{border-color:var(--gm-accent-500)}.gm-app .radio input:checked+.dot:after{content:"";background:var(--gm-accent-500);border-radius:50%;width:9px;height:9px}.gm-app .radio input:disabled+.dot{opacity:.4}.gm-app .radio-card{border:1px solid var(--gm-border-strong);border-radius:var(--gm-radius-md);cursor:pointer;transition:border-color var(--gm-transition-fast);background:0 0;gap:10px;padding:14px;display:flex}.gm-app .radio-card:has(input:checked){border-color:var(--gm-accent-500);background:var(--gm-accent-50)}.gm-app .radio-card-title{font-size:13.5px;font-weight:600}.gm-app .radio-card-desc{color:var(--gm-text-secondary);margin-top:2px;font-size:12.5px}.gm-app .switch{cursor:pointer;align-items:center;gap:10px;display:inline-flex;position:relative}.gm-app .switch input{display:none}.gm-app .switch .track{border-radius:var(--gm-radius-full);background:var(--gm-border-strong);flex-shrink:0;width:38px;height:22px;position:relative}.gm-app .switch .track:after{content:"";width:18px;height:18px;transition:transform var(--gm-transition-fast);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.gm-app .switch input:checked+.track{background:var(--gm-success-500)}.gm-app .switch input:checked+.track:after{transform:translate(16px)}.gm-app .switch input:disabled+.track{opacity:.4;cursor:not-allowed}.gm-app .switch .switch-label{font-size:13.5px}.gm-app .switch .switch-label small{color:var(--gm-text-tertiary);font-size:12px;font-weight:400;display:block}.gm-app .chip{border-radius:var(--gm-radius-full);background:var(--gm-surface-sunken);border:1px solid var(--gm-border);cursor:pointer;transition:border-color var(--gm-transition-fast);color:var(--gm-text-secondary);align-items:center;gap:5px;padding:5px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.gm-app .chip:hover{border-color:var(--gm-border-strong)}.gm-app .chip.is-selected{background:var(--gm-accent-50);border-color:var(--gm-accent-400);color:var(--gm-accent-600)}.gm-app .chip .chip-remove{opacity:.6;display:flex}.gm-app .chip .chip-remove:hover{opacity:1}.gm-app .tag{background:var(--gm-neutral-50);color:var(--gm-neutral-text);border-radius:6px;align-items:center;gap:4px;padding:2px 8px 2px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.gm-app .tag .tag-x{cursor:pointer;opacity:.6;display:flex}.gm-app .tag .tag-x:hover{opacity:1}.gm-app .tag-input-box{border:1px solid var(--gm-border-strong);border-radius:var(--gm-radius-sm);background:var(--gm-surface);min-height:var(--gm-density-control-h);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.gm-app .tag-input-box input{min-width:80px;color:var(--gm-text-primary);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.gm-app .color-swatch{border:2px solid var(--gm-surface);width:26px;height:26px;box-shadow:0 0 0 1px var(--gm-border-strong);cursor:pointer;border-radius:8px;position:relative}.gm-app .color-swatch.is-selected:after{content:"";border:2px solid var(--gm-accent-500);border-radius:11px;position:absolute;inset:-4px}.gm-app .select-trigger{width:100%;height:var(--gm-density-control-h);background:var(--gm-surface);border:1px solid var(--gm-border-strong);border-radius:var(--gm-radius-sm);padding:0 var(--gm-sp-3);cursor:pointer;color:var(--gm-text-primary);justify-content:space-between;align-items:center;gap:8px;font-size:13.5px;display:flex}.gm-app .select-trigger:hover{border-color:var(--gm-text-tertiary)}.gm-app .select-trigger .placeholder{color:var(--gm-text-tertiary)}.gm-app .select-trigger svg{color:var(--gm-text-tertiary);transition:transform var(--gm-transition-fast)}.gm-app .select-trigger.is-open svg.chev{transform:rotate(180deg)}.gm-app .select-panel{z-index:55;background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);box-shadow:var(--gm-shadow-lg);max-height:280px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.gm-app .select-search{border-bottom:1px solid var(--gm-border);margin-bottom:6px;padding:6px}.gm-app .select-option{cursor:pointer;border-radius:7px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13.5px;display:flex}.gm-app .select-option:hover{background:var(--gm-surface-sunken)}.gm-app .select-option.is-selected{color:var(--gm-accent-600);background:var(--gm-accent-50);font-weight:600}.gm-app .select-option-group{text-transform:uppercase;letter-spacing:.05em;color:var(--gm-text-tertiary);padding:8px 10px 4px;font-size:11px;font-weight:700}.gm-app .combobox-multi-value{flex-wrap:wrap;gap:5px;display:flex}.gm-app .tree-item{cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:13.5px;display:flex}.gm-app .tree-item:hover{background:var(--gm-surface-sunken)}.gm-app .tree-children{padding-left:22px}.gm-app .tree-toggle{width:16px;height:16px;color:var(--gm-text-tertiary);cursor:pointer;justify-content:center;align-items:center;display:flex}.gm-app .slider-wrap{padding:8px 4px}.gm-app .slider-track{background:var(--gm-border-strong);border-radius:var(--gm-radius-full);height:5px;position:relative}.gm-app .slider-range{background:var(--gm-accent-500);border-radius:var(--gm-radius-full);height:100%;position:absolute}.gm-app .slider-thumb{background:var(--gm-surface);border:2.5px solid var(--gm-accent-500);cursor:grab;width:18px;height:18px;box-shadow:var(--gm-shadow-sm);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.gm-app .slider-marks{color:var(--gm-text-tertiary);justify-content:space-between;margin-top:8px;font-size:11px;display:flex}.gm-app .progress-bar{border-radius:var(--gm-radius-full);background:var(--gm-surface-sunken);height:8px;overflow:hidden}.gm-app .progress-bar-fill{background:var(--gm-accent-500);border-radius:var(--gm-radius-full);height:100%;transition:width .4s}.gm-app .progress-bar-fill.success{background:var(--gm-success-500)}.gm-app .progress-bar-fill.warning{background:var(--gm-warning-500)}.gm-app .progress-bar-fill.danger{background:var(--gm-danger-500)}.gm-app .progress-bar.thin{height:4px}.gm-app .progress-steps{align-items:center;display:flex}.gm-app .progress-step{flex:1;align-items:center;display:flex}.gm-app .progress-step:last-child{flex:0}.gm-app .progress-step-dot{background:var(--gm-surface-sunken);border:2px solid var(--gm-border-strong);width:26px;height:26px;color:var(--gm-text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11.5px;font-weight:700;display:flex}.gm-app .progress-step.is-done .progress-step-dot{background:var(--gm-success-500);border-color:var(--gm-success-500);color:#fff}.gm-app .progress-step.is-active .progress-step-dot{border-color:var(--gm-accent-500);color:var(--gm-accent-500)}.gm-app .progress-step-line{background:var(--gm-border-strong);flex:1;height:2px;margin:0 6px}.gm-app .progress-step.is-done .progress-step-line{background:var(--gm-success-500)}.gm-app .progress-step-label{color:var(--gm-text-secondary);text-align:center;margin-top:6px;font-size:11.5px}.gm-app .progress-circle{justify-content:center;align-items:center;display:inline-flex;position:relative}.gm-app .progress-circle svg{transform:rotate(-90deg)}.gm-app .progress-circle-value{font-size:13px;font-weight:700;position:absolute}.gm-app .mini-meter{align-items:center;gap:8px;display:flex}.gm-app .mini-meter-track{border-radius:var(--gm-radius-full);background:var(--gm-surface-sunken);width:70px;height:6px;overflow:hidden}.gm-app .mini-meter-fill{border-radius:var(--gm-radius-full);height:100%}.gm-app .filter-bar{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);top:var(--gm-topbar-h);z-index:10;flex-flow:wrap;align-items:center;gap:8px;padding:10px;display:flex;position:sticky}.gm-app .filter-btn{border-radius:var(--gm-radius-sm);border:1px dashed var(--gm-border-strong);color:var(--gm-text-secondary);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:600;display:flex}.gm-app .filter-btn:hover{border-style:solid;border-color:var(--gm-accent-400);color:var(--gm-accent-600)}.gm-app .filter-chip{border-radius:var(--gm-radius-sm);background:var(--gm-accent-50);color:var(--gm-accent-600);align-items:center;gap:6px;padding:6px 6px 6px 12px;font-size:12.5px;font-weight:600;display:flex}.gm-app .filter-chip .op{opacity:.7;font-weight:500}.gm-app .filter-chip button{cursor:pointer;width:18px;height:18px;color:inherit;background:#0000000f;border:none;border-radius:5px;justify-content:center;align-items:center;display:flex}.gm-app .filter-count-badge{background:var(--gm-text-primary);color:var(--gm-surface);border-radius:var(--gm-radius-full);margin-left:4px;padding:1px 6px;font-size:10.5px;font-weight:700}.gm-app .filter-clear-all{color:var(--gm-text-tertiary);cursor:pointer;font-size:12.5px}.gm-app .filter-clear-all:hover{color:var(--gm-danger-500)}.gm-app .filter-rule-row{background:var(--gm-surface-sunken);border-radius:var(--gm-radius-sm);align-items:center;gap:8px;margin-bottom:6px;padding:8px;display:flex}.gm-app .filter-logic-connector{background:var(--gm-surface);border:1px solid var(--gm-border-strong);border-radius:6px;font-size:11px;font-weight:700;display:inline-flex;overflow:hidden}.gm-app .filter-logic-connector button{cursor:pointer;color:var(--gm-text-secondary);background:0 0;border:none;padding:3px 9px}.gm-app .filter-logic-connector button.is-active{background:var(--gm-accent-500);color:#fff}.gm-app .breadcrumb{color:var(--gm-text-tertiary);align-items:center;gap:6px;font-size:12.5px;display:flex}.gm-app .breadcrumb a{color:var(--gm-text-tertiary)}.gm-app .breadcrumb .current{color:var(--gm-text-primary);font-weight:600}.gm-app .breadcrumb .sep{color:var(--gm-text-tertiary);opacity:.5}.gm-app .tabs{border-bottom:1px solid var(--gm-border);gap:4px;display:flex}.gm-app .tab-btn{color:var(--gm-text-tertiary);cursor:pointer;background:0 0;border:none;margin-right:20px;padding:10px 4px;font-size:13.5px;font-weight:600;position:relative;top:1px}.gm-app .tab-btn:hover{color:var(--gm-text-primary)}.gm-app .tab-btn.is-active{color:var(--gm-text-primary);border-bottom:2px solid var(--gm-accent-500)}.gm-app .tabs.pills{background:var(--gm-surface-sunken);border-radius:var(--gm-radius-sm);border-bottom:none;padding:4px;display:inline-flex}.gm-app .tabs.pills .tab-btn{border-radius:7px;margin-right:0;padding:6px 14px;top:0}.gm-app .tabs.pills .tab-btn.is-active{background:var(--gm-surface);box-shadow:var(--gm-shadow-sm);border-bottom:none}.gm-app .subtabs{gap:16px;display:flex}.gm-app .subtabs .tab-btn{margin-right:0;padding:6px 0;font-size:12.5px}.gm-app .pagination{align-items:center;gap:4px;display:flex}.gm-app .pagination button{min-width:30px;height:30px;color:var(--gm-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:0 6px;font-size:12.5px;font-weight:600}.gm-app .pagination button:hover{background:var(--gm-surface-sunken)}.gm-app .pagination button.is-active{background:var(--gm-text-primary);color:var(--gm-surface)}.gm-app .pagination button:disabled{opacity:.35;cursor:not-allowed}.gm-app .stepper-nav{justify-content:space-between;align-items:center;padding:10px 0;display:flex}.gm-app .cmdk-overlay{background:var(--gm-overlay);z-index:200;opacity:0;pointer-events:none;transition:opacity var(--gm-transition-base);justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.gm-app .cmdk-overlay.is-open{opacity:1;pointer-events:auto}.gm-app .cmdk-box{background:var(--gm-surface);border-radius:var(--gm-radius-lg);width:100%;max-width:560px;box-shadow:var(--gm-shadow-lg);transition:transform var(--gm-transition-base);border:1px solid var(--gm-border);overflow:hidden;transform:translateY(-8px)}.gm-app .cmdk-overlay.is-open .cmdk-box{transform:translateY(0)}.gm-app .cmdk-input-row{border-bottom:1px solid var(--gm-border);align-items:center;gap:10px;padding:16px;display:flex}.gm-app .cmdk-input-row input{color:var(--gm-text-primary);background:0 0;border:none;outline:none;flex:1;font-size:15px}.gm-app .cmdk-list{max-height:360px;padding:8px;overflow-y:auto}.gm-app .cmdk-group-title{text-transform:uppercase;letter-spacing:.05em;color:var(--gm-text-tertiary);padding:10px 10px 4px;font-size:11px;font-weight:700}.gm-app .cmdk-item{border-radius:var(--gm-radius-sm);cursor:pointer;align-items:center;gap:10px;padding:10px;font-size:13.5px;display:flex}.gm-app .cmdk-item:hover,.gm-app .cmdk-item.is-active{background:var(--gm-accent-50);color:var(--gm-accent-600)}.gm-app .cmdk-item .gm-icon{color:var(--gm-text-tertiary)}.gm-app .cmdk-item.is-active .gm-icon{color:var(--gm-accent-500)}.gm-app .cmdk-item .menu-shortcut{margin-left:auto}.gm-app .scroll-top-btn{background:var(--gm-text-primary);width:42px;height:42px;color:var(--gm-surface);box-shadow:var(--gm-shadow-lg);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--gm-transition-base), transform var(--gm-transition-base);z-index:50;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(10px)}.gm-app .scroll-top-btn.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.gm-app .card{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);box-shadow:var(--gm-shadow-sm);padding:var(--gm-density-card-pad)}.gm-app .card--clickable{cursor:pointer;transition:box-shadow var(--gm-transition-fast), border-color var(--gm-transition-fast), transform var(--gm-transition-fast)}.gm-app .card--clickable:hover{box-shadow:var(--gm-shadow-md);border-color:var(--gm-border-strong);transform:translateY(-1px)}.gm-app .card--selected{border-color:var(--gm-accent-500);box-shadow:0 0 0 1px var(--gm-accent-500)}.gm-app .card-header{margin-bottom:var(--gm-sp-4);justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.gm-app .card-header-text{flex-direction:column;gap:2px;display:flex}.gm-app .card-desc{color:var(--gm-text-secondary);font-size:12.5px}.gm-app .card--soon{opacity:.55}.gm-app .card--alert{border-color:var(--gm-warning-500);background:var(--gm-warning-50)}.gm-app .card-drag-handle{cursor:grab;color:var(--gm-text-tertiary)}.gm-app .kpi-card{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);padding:var(--gm-density-card-pad);box-shadow:var(--gm-shadow-sm);flex-direction:column;gap:10px;display:flex;position:relative}.gm-app .kpi-top{justify-content:space-between;align-items:center;display:flex}.gm-app .kpi-name{color:var(--gm-text-secondary);align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:flex}.gm-app .kpi-value-row{align-items:baseline;gap:8px;display:flex}.gm-app .kpi-unit{color:var(--gm-text-tertiary);font-size:13px;font-weight:600}.gm-app .kpi-delta{border-radius:var(--gm-radius-full);align-items:center;gap:3px;padding:2px 7px;font-size:12px;font-weight:700;display:inline-flex}.gm-app .kpi-delta.up{background:var(--gm-success-50);color:var(--gm-success-text)}.gm-app .kpi-delta.down{background:var(--gm-danger-50);color:var(--gm-danger-text)}.gm-app .kpi-delta.flat{background:var(--gm-neutral-50);color:var(--gm-neutral-text)}.gm-app .kpi-meta{color:var(--gm-text-tertiary);justify-content:space-between;align-items:center;gap:8px;font-size:11.5px;display:flex}.gm-app .kpi-sparkline{height:34px;margin-top:2px}.gm-app .kpi-goal-row{color:var(--gm-text-tertiary);justify-content:space-between;align-items:center;font-size:11.5px;display:flex}.gm-app .status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.gm-app .status-dot.success{background:var(--gm-success-500)}.gm-app .status-dot.warning{background:var(--gm-warning-500)}.gm-app .status-dot.danger{background:var(--gm-danger-500)}.gm-app .status-dot.info{background:var(--gm-info-500)}.gm-app .status-dot.neutral{background:var(--gm-neutral-500)}.gm-app .status-dot.pulse{position:relative}.gm-app .status-dot.pulse:after{content:"";background:inherit;opacity:.4;border-radius:50%;animation:1.8s ease-out infinite gm-pulse;position:absolute;inset:-4px}@keyframes gm-pulse{0%{opacity:.5;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}.gm-app .badge{border-radius:var(--gm-radius-full);align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.gm-app .badge.success{background:var(--gm-success-50);color:var(--gm-success-text)}.gm-app .badge.warning{background:var(--gm-warning-50);color:var(--gm-warning-text)}.gm-app .badge.danger{background:var(--gm-danger-50);color:var(--gm-danger-text)}.gm-app .badge.info{background:var(--gm-info-50);color:var(--gm-info-text)}.gm-app .badge.neutral{background:var(--gm-neutral-50);color:var(--gm-neutral-text)}.gm-app .badge.accent{background:var(--gm-accent-50);color:var(--gm-accent-600)}.gm-app .badge.outline{border:1px solid var(--gm-border-strong);color:var(--gm-text-secondary);background:0 0}.gm-app .gm-badge-count{background:var(--gm-danger-solid);color:#fff;border-radius:var(--gm-radius-full);text-align:center;min-width:18px;padding:1px 6px;font-size:10.5px;font-weight:700}.gm-app .avatar{background:var(--gm-accent-100);width:30px;height:30px;color:var(--gm-accent-600);border:2px solid var(--gm-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.gm-app .avatar-group{display:flex}.gm-app .avatar-group .avatar{margin-left:-8px}.gm-app .avatar-group .avatar:first-child{margin-left:0}.gm-app .table-wrap{border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);background:var(--gm-surface);overflow:hidden}.gm-app .table-toolbar{border-bottom:1px solid var(--gm-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.gm-app table.gm-table{border-collapse:collapse;width:100%;font-size:13px}.gm-app .gm-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--gm-text-tertiary);background:var(--gm-surface-2);border-bottom:1px solid var(--gm-border);white-space:nowrap;z-index:5;padding:10px 14px;font-size:11px;font-weight:700;position:sticky;top:0}.gm-app .gm-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.gm-app .gm-table thead th.sortable:hover{color:var(--gm-text-primary)}.gm-app .gm-table thead th .sort-icon{vertical-align:-3px;opacity:.4;margin-left:4px;display:inline-flex}.gm-app .gm-table thead th.is-sorted .sort-icon{opacity:1;color:var(--gm-accent-500)}.gm-app .gm-table tbody tr{border-bottom:1px solid var(--gm-border)}.gm-app .gm-table tbody tr:last-child{border-bottom:none}.gm-app .gm-table tbody tr:hover{background:var(--gm-surface-2)}.gm-app .gm-table tbody tr.is-selected{background:var(--gm-accent-50)}.gm-app .gm-table tbody tr.is-recent td{animation:2s ease-out gm-highlight-row}@keyframes gm-highlight-row{0%{background:var(--gm-warning-50)}to{background:0 0}}.gm-app .gm-table td{height:var(--gm-density-row-h);color:var(--gm-text-primary);vertical-align:middle;padding:0 14px}.gm-app .gm-table td.num{text-align:right;font-variant-numeric:tabular-nums}.gm-app .gm-table td.actions-col{text-align:right}.gm-app .gm-table tbody tr.is-group-header td{background:var(--gm-surface-2);color:var(--gm-text-secondary);height:34px;font-size:12px;font-weight:700}.gm-app .gm-table tbody tr.is-subtotal td{background:var(--gm-surface-sunken);font-weight:700}.gm-app .gm-table tfoot td{background:var(--gm-surface-2);border-top:2px solid var(--gm-border);padding:10px 14px;font-weight:700}.gm-app .gm-table .cell-with-avatar{align-items:center;gap:8px;display:flex}.gm-app .gm-table .cell-sku{font-family:var(--gm-font-mono);color:var(--gm-text-secondary);font-size:12px}.gm-app .gm-table .cell-product-thumb{background:var(--gm-surface-sunken);width:30px;height:30px;color:var(--gm-text-tertiary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.gm-app .gm-table .row-expand-btn{color:var(--gm-text-tertiary);cursor:pointer;transition:transform var(--gm-transition-fast);display:inline-flex}.gm-app .gm-table tr.is-expanded .row-expand-btn{color:var(--gm-accent-500);transform:rotate(90deg)}.gm-app .gm-table .subrow-panel td{background:var(--gm-surface-sunken);padding:14px}.gm-app .gm-table td.editable-cell{cursor:text}.gm-app .gm-table td.editable-cell:hover{background:var(--gm-accent-50);outline:1px dashed var(--gm-accent-400);outline-offset:-2px}.gm-app .gm-table td.editable-cell input{border:1px solid var(--gm-accent-500);background:var(--gm-surface);border-radius:5px;width:100%;padding:4px 6px;font-size:13px}.gm-app .gm-table .cell-delta-mini{font-size:11px;font-weight:700}.gm-app .gm-table .col-resize-handle{cursor:col-resize;width:5px;position:absolute;top:0;bottom:0;right:0}.gm-app .gm-table th{position:relative}.gm-app .gm-table .col-pinned{background:var(--gm-surface);z-index:4;position:sticky;left:0;box-shadow:2px 0 4px #0000000a}.gm-app .gm-table thead th.col-pinned{background:var(--gm-surface-2);z-index:6}.gm-app .table-bulk-bar{background:var(--gm-text-primary);color:var(--gm-surface);align-items:center;gap:12px;padding:10px 16px;font-size:13px;font-weight:600;display:flex;position:sticky;bottom:0}.gm-app .table-bulk-bar .btn--secondary{color:#fff;background:#ffffff1a;border-color:#fff3}.gm-app .table-bulk-bar .btn--secondary:hover{background:#ffffff2e}.gm-app .table-footer{border-top:1px solid var(--gm-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;display:flex}.gm-app .column-manager-item{align-items:center;gap:8px;padding:6px 4px;display:flex}.gm-app .column-manager-item .drag{color:var(--gm-text-tertiary);cursor:grab}.gm-app .compare-table th,.gm-app .compare-table td{text-align:center}.gm-app .compare-table .row-label{text-align:left;font-weight:600}.gm-app .compare-table .winner{background:var(--gm-success-50);color:var(--gm-success-text);font-weight:700}.gm-app .inline-spark{vertical-align:middle;display:inline-block}.gm-app .list-simple>*+*{border-top:1px solid var(--gm-border)}.gm-app .list-item{align-items:center;gap:10px;padding:12px 4px;display:flex}.gm-app .list-item-main{flex:1;min-width:0}.gm-app .list-item-title{font-size:13.5px;font-weight:600}.gm-app .list-item-sub{color:var(--gm-text-tertiary);font-size:12px}.gm-app .list-item.is-draggable{cursor:grab}.gm-app .activity-feed{padding-left:22px;position:relative}.gm-app .activity-feed:before{content:"";background:var(--gm-border);width:2px;position:absolute;top:4px;bottom:4px;left:6px}.gm-app .activity-item{padding-bottom:20px;position:relative}.gm-app .activity-item:before{content:"";background:var(--gm-surface);border:2px solid var(--gm-accent-500);border-radius:50%;width:12px;height:12px;position:absolute;top:3px;left:-22px}.gm-app .activity-item.success:before{border-color:var(--gm-success-500)}.gm-app .activity-item.danger:before{border-color:var(--gm-danger-500)}.gm-app .activity-time{color:var(--gm-text-tertiary);font-size:11px}.gm-app .order-timeline{align-items:flex-start;gap:0;padding:8px 0;display:flex;overflow-x:auto}.gm-app .order-timeline-step{flex-direction:column;align-items:center;min-width:92px;display:flex;position:relative}.gm-app .order-timeline-step:not(:last-child):after{content:"";background:var(--gm-border-strong);z-index:0;width:100%;height:2px;position:absolute;top:15px;left:60%}.gm-app .order-timeline-step.is-done:not(:last-child):after{background:var(--gm-success-500)}.gm-app .order-timeline-icon{background:var(--gm-surface-sunken);border:2px solid var(--gm-border-strong);z-index:1;width:30px;height:30px;color:var(--gm-text-tertiary);border-radius:50%;justify-content:center;align-items:center;display:flex}.gm-app .order-timeline-step.is-done .order-timeline-icon{background:var(--gm-success-500);border-color:var(--gm-success-500);color:#fff}.gm-app .order-timeline-step.is-current .order-timeline-icon{border-color:var(--gm-accent-500);color:var(--gm-accent-500);background:var(--gm-accent-50)}.gm-app .order-timeline-label{text-align:center;color:var(--gm-text-secondary);max-width:90px;margin-top:6px;font-size:11px}.gm-app .order-timeline-time{color:var(--gm-text-tertiary);font-size:10px}.gm-app .kanban-board{gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.gm-app .kanban-col{background:var(--gm-surface-2);border-radius:var(--gm-radius-md);flex-shrink:0;min-width:260px;padding:10px}.gm-app .kanban-col-header{justify-content:space-between;align-items:center;padding:4px 4px 10px;font-size:12.5px;font-weight:700;display:flex}.gm-app .kanban-card{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-sm);cursor:grab;box-shadow:var(--gm-shadow-sm);margin-bottom:8px;padding:10px}.gm-app .kanban-card-title{margin-bottom:6px;font-size:13px;font-weight:600}.gm-app .mini-calendar{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.gm-app .mini-calendar .cal-cell{aspect-ratio:1;cursor:pointer;color:var(--gm-text-secondary);border-radius:6px;justify-content:center;align-items:center;font-size:12px;display:flex}.gm-app .mini-calendar .cal-cell:hover{background:var(--gm-surface-sunken)}.gm-app .mini-calendar .cal-cell.is-today{border:1px solid var(--gm-accent-500);color:var(--gm-accent-600);font-weight:700}.gm-app .mini-calendar .cal-cell.is-selected{background:var(--gm-accent-500);color:#fff}.gm-app .mini-calendar .cal-cell.is-muted{color:var(--gm-text-disabled)}.gm-app .mini-calendar .cal-weekday{color:var(--gm-text-tertiary);text-transform:uppercase;font-size:10px;font-weight:700}.gm-app .date-range-quick{border-right:1px solid var(--gm-border);flex-direction:column;gap:2px;min-width:130px;margin-right:10px;padding-right:10px;display:flex}.gm-app .date-range-quick button{text-align:left;cursor:pointer;color:var(--gm-text-secondary);background:0 0;border:none;border-radius:6px;padding:7px 8px;font-size:12.5px}.gm-app .date-range-quick button:hover,.gm-app .date-range-quick button.is-active{background:var(--gm-accent-50);color:var(--gm-accent-600)}.gm-app .upload-dropzone{border:2px dashed var(--gm-border-strong);border-radius:var(--gm-radius-lg);text-align:center;color:var(--gm-text-secondary);cursor:pointer;transition:border-color var(--gm-transition-fast);padding:32px}.gm-app .upload-dropzone:hover,.gm-app .upload-dropzone.is-dragover{border-color:var(--gm-accent-500);background:var(--gm-accent-50);color:var(--gm-accent-600)}.gm-app .upload-file-row{border:1px solid var(--gm-border);border-radius:var(--gm-radius-sm);align-items:center;gap:10px;margin-top:8px;padding:10px;display:flex}.gm-app .upload-file-icon{background:var(--gm-accent-50);width:32px;height:32px;color:var(--gm-accent-500);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.gm-app .chart-card{flex-direction:column;gap:10px;display:flex}.gm-app .chart-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.gm-app .chart-legend-custom{flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.gm-app .legend-item{cursor:pointer;color:var(--gm-text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.gm-app .legend-item .dot{border-radius:3px;width:9px;height:9px}.gm-app .legend-item.is-off{opacity:.35;text-decoration:line-through}.gm-app .chart-canvas{width:100%}.gm-app .chart-canvas.h-sm{height:220px}.gm-app .chart-canvas.h-md{height:300px}.gm-app .chart-canvas.h-lg{height:380px}.gm-app .chart-empty-note{color:var(--gm-text-tertiary);align-items:center;gap:6px;font-size:11.5px;display:flex}.gm-app .chart-fullscreen-overlay{background:var(--gm-bg);z-index:150;flex-direction:column;padding:24px;display:flex;position:fixed;inset:0}.gm-app .modal-overlay{background:var(--gm-overlay);z-index:100;opacity:0;pointer-events:none;transition:opacity var(--gm-transition-base);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.gm-app .modal-overlay.is-open{opacity:1;pointer-events:auto}.gm-app .modal-box{background:var(--gm-surface);border-radius:var(--gm-radius-lg);width:100%;max-width:480px;box-shadow:var(--gm-shadow-lg);transition:transform var(--gm-transition-base);border:1px solid var(--gm-border);flex-direction:column;max-height:88vh;display:flex;transform:scale(.96)translateY(8px)}.gm-app .modal-overlay.is-open .modal-box{transform:scale(1)translateY(0)}.gm-app .modal-box.lg{max-width:680px}.gm-app .modal-box.fullscreen{max-width:96vw;max-height:94vh}.gm-app .modal-header{justify-content:space-between;align-items:flex-start;padding:20px 20px 0;display:flex}.gm-app .modal-title{font:var(--gm-text-section-title)}.gm-app .modal-close{color:var(--gm-text-tertiary);cursor:pointer}.gm-app .modal-body{flex:1;padding:16px 20px;overflow-y:auto}.gm-app .modal-footer{border-top:1px solid var(--gm-border);justify-content:flex-end;align-items:center;gap:10px;padding:16px 20px;display:flex}.gm-app .modal-footer.between{justify-content:space-between}.gm-app .modal-box.danger .modal-icon-badge{background:var(--gm-danger-50);color:var(--gm-danger-500)}.gm-app .modal-icon-badge{border-radius:var(--gm-radius-md);background:var(--gm-warning-50);width:42px;height:42px;color:var(--gm-warning-500);justify-content:center;align-items:center;margin-bottom:12px;display:flex}.gm-app .confirm-impact-box{background:var(--gm-surface-sunken);border-radius:var(--gm-radius-md);margin:12px 0;padding:14px}.gm-app .confirm-impact-row{border-bottom:1px solid var(--gm-border);justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.gm-app .confirm-impact-row:last-child{border-bottom:none}.gm-app .confirm-type-word{font-family:var(--gm-font-mono);background:var(--gm-danger-50);color:var(--gm-danger-text);border-radius:5px;padding:1px 6px;font-weight:700}.gm-app .drawer-overlay{background:var(--gm-overlay);z-index:100;opacity:0;pointer-events:none;transition:opacity var(--gm-transition-base);position:fixed;inset:0}.gm-app .drawer-overlay.is-open{opacity:1;pointer-events:auto}.gm-app .drawer-panel{background:var(--gm-surface);width:420px;max-width:92vw;box-shadow:var(--gm-shadow-lg);transition:transform var(--gm-transition-base);border-left:1px solid var(--gm-border);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.gm-app .drawer-overlay.is-open .drawer-panel{transform:translate(0)}.gm-app .drawer-panel.lg{width:560px}.gm-app .drawer-header{border-bottom:1px solid var(--gm-border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.gm-app .drawer-body{flex:1;padding:20px;overflow-y:auto}.gm-app .bottom-sheet-overlay{background:var(--gm-overlay);z-index:100;opacity:0;pointer-events:none;transition:opacity var(--gm-transition-base);position:fixed;inset:0}.gm-app .bottom-sheet-overlay.is-open{opacity:1;pointer-events:auto}.gm-app .bottom-sheet{background:var(--gm-surface);box-shadow:var(--gm-shadow-lg);transition:transform var(--gm-transition-base);border-top:1px solid var(--gm-border);border-radius:20px 20px 0 0;max-height:80vh;padding:20px;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}.gm-app .bottom-sheet-overlay.is-open .bottom-sheet{transform:translateY(0)}.gm-app .tooltip-pop{background:var(--gm-text-primary);color:var(--gm-surface);white-space:nowrap;z-index:90;opacity:0;pointer-events:none;transition:opacity var(--gm-transition-fast), transform var(--gm-transition-fast);border-radius:7px;margin-left:-50%;padding:6px 10px;font-size:11.5px;font-weight:500;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateY(4px)}.gm-app[data-theme=dark] .tooltip-pop{background:var(--gm-surface-2);border:1px solid var(--gm-border-strong);color:var(--gm-text-primary)}.gm-app .has-tooltip{position:relative}.gm-app .has-tooltip:hover .tooltip-pop{opacity:1;transform:translateY(0)}.gm-app .popover-box{z-index:60;background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);width:280px;box-shadow:var(--gm-shadow-lg);opacity:0;pointer-events:none;transition:all var(--gm-transition-fast);padding:14px;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-4px)}.gm-app .popover-box.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.gm-app .help-tour-tooltip{background:var(--gm-accent-600);color:#fff;border-radius:var(--gm-radius-md);max-width:260px;box-shadow:var(--gm-shadow-lg);padding:14px}.gm-app .help-tour-tooltip .tour-progress{opacity:.75;margin-bottom:6px;font-size:11px}.gm-app .toast-region{z-index:300;flex-direction:column;gap:10px;width:340px;max-width:92vw;display:flex;position:fixed;bottom:20px;right:20px}.gm-app .toast{border-radius:var(--gm-radius-md);background:var(--gm-surface);border:1px solid var(--gm-border);box-shadow:var(--gm-shadow-lg);color:var(--gm-text-primary);align-items:flex-start;gap:10px;padding:13px 14px;animation:.25s ease-out gm-toast-in;display:flex;position:static}@keyframes gm-toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.gm-app .toast.success{border-left:3px solid var(--gm-success-500)}.gm-app .toast.error{border-left:3px solid var(--gm-danger-500)}.gm-app .toast.warning{border-left:3px solid var(--gm-warning-500)}.gm-app .toast .toast-icon.success{color:var(--gm-success-500)}.gm-app .toast .toast-icon.error{color:var(--gm-danger-500)}.gm-app .toast .toast-icon.warning{color:var(--gm-warning-500)}.gm-app .toast-close{color:var(--gm-text-tertiary);cursor:pointer;margin-left:auto}.gm-app .toast-undo{color:var(--gm-accent-500);cursor:pointer;font-size:12.5px;font-weight:700}.gm-app .alert-banner{border-radius:var(--gm-radius-md);border:1px solid #0000;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.gm-app .alert-banner.info{background:var(--gm-info-50);color:var(--gm-info-text);border-color:color-mix(in srgb, var(--gm-info-500) 30%, transparent)}.gm-app .alert-banner.warning{background:var(--gm-warning-50);color:var(--gm-warning-text);border-color:color-mix(in srgb, var(--gm-warning-500) 30%, transparent)}.gm-app .alert-banner.danger{background:var(--gm-danger-50);color:var(--gm-danger-text);border-color:color-mix(in srgb, var(--gm-danger-500) 30%, transparent)}.gm-app .alert-banner.success{background:var(--gm-success-50);color:var(--gm-success-text);border-color:color-mix(in srgb, var(--gm-success-500) 30%, transparent)}.gm-app .alert-banner .alert-title{color:var(--gm-text-primary);margin-bottom:2px;font-size:13.5px;font-weight:700}.gm-app .alert-banner .alert-body{font-size:12.5px}.gm-app .alert-banner .alert-close{cursor:pointer;opacity:.6;margin-left:auto}.gm-app .alert-banner.critical{background:var(--gm-danger-solid);color:#fff;border:none}.gm-app .alert-banner.critical .alert-title{color:#fff}.gm-app .inline-field-alert{border-radius:7px;align-items:center;gap:6px;margin-top:6px;padding:8px 10px;font-size:12px;display:flex}.gm-app .inline-field-alert.error{background:var(--gm-danger-50);color:var(--gm-danger-text)}.gm-app .perm-denied-box{background:var(--gm-neutral-50);border-radius:var(--gm-radius-md);color:var(--gm-neutral-text);align-items:center;gap:10px;padding:12px 14px;font-size:13px;display:flex}.gm-app .skeleton{background:linear-gradient(90deg, var(--gm-surface-sunken) 25%, var(--gm-border) 37%, var(--gm-surface-sunken) 63%);background-size:400% 100%;border-radius:6px;animation:1.4s infinite gm-skeleton}@keyframes gm-skeleton{0%{background-position:100%}to{background-position:0}}.gm-app .skeleton.line{height:12px;margin-bottom:8px}.gm-app .skeleton.title{width:40%;height:18px;margin-bottom:14px}.gm-app .skeleton.avatar{border-radius:50%;width:32px;height:32px}.gm-app .skeleton.card{border-radius:var(--gm-radius-lg);height:100px}.gm-app .empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:48px 24px;display:flex}.gm-app .empty-state-icon{border-radius:var(--gm-radius-lg);background:var(--gm-surface-sunken);width:52px;height:52px;color:var(--gm-text-tertiary);justify-content:center;align-items:center;margin-bottom:10px;display:flex}.gm-app .empty-state-title{font:var(--gm-text-card-title)}.gm-app .empty-state-desc{color:var(--gm-text-tertiary);max-width:340px;font-size:12.5px}.gm-app .screen-state-banner{border-radius:var(--gm-radius-md);align-items:center;gap:10px;padding:10px 16px;font-size:12.5px;font-weight:600;display:flex}.gm-app .screen-state-banner.offline{background:var(--gm-neutral-50);color:var(--gm-neutral-text)}.gm-app .screen-state-banner.maintenance{background:var(--gm-warning-50);color:var(--gm-warning-text)}.gm-app .screen-state-banner.readonly{background:var(--gm-info-50);color:var(--gm-info-text)}.gm-app .screen-state-banner.reconnecting{background:var(--gm-warning-50);color:var(--gm-warning-text)}.gm-app .state-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.gm-app .state-demo-card{border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);flex-direction:column;min-height:150px;padding:14px;display:flex}.gm-app .state-demo-label{text-transform:uppercase;letter-spacing:.04em;color:var(--gm-text-tertiary);margin-bottom:8px;font-size:11px;font-weight:700}.gm-app .ai-command-bar{border-radius:var(--gm-radius-full);background:var(--gm-surface);border:1.5px solid var(--gm-border-strong);box-shadow:var(--gm-shadow-sm);align-items:center;gap:10px;padding:4px 4px 4px 16px;display:flex}.gm-app .ai-command-bar input{color:var(--gm-text-primary);background:0 0;border:none;outline:none;flex:1;height:42px;font-size:14px}.gm-app .ai-command-bar .ai-sparkle{color:var(--gm-accent-500)}.gm-app .ai-suggest-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.gm-app .ai-suggest-chip{border-radius:var(--gm-radius-full);background:var(--gm-accent-50);color:var(--gm-accent-600);cursor:pointer;border:none;padding:6px 12px;font-size:12px;font-weight:600}.gm-app .ai-suggest-chip:hover{background:var(--gm-accent-100)}.gm-app .ai-panel{flex-direction:column;height:100%;display:flex}.gm-app .ai-msg{gap:10px;margin-bottom:16px;display:flex}.gm-app .ai-msg-avatar{color:#fff;background:linear-gradient(135deg, var(--gm-accent-500), var(--gm-flame-500));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.gm-app .ai-msg.user .ai-msg-avatar{background:var(--gm-surface-sunken);color:var(--gm-text-secondary)}.gm-app .ai-msg-bubble{background:var(--gm-surface-2);border-radius:var(--gm-radius-md);max-width:100%;padding:10px 13px;font-size:13px;line-height:1.55}.gm-app .ai-msg.user .ai-msg-bubble{background:var(--gm-accent-50);color:var(--gm-accent-700)}.gm-app .ai-confidence{border-radius:var(--gm-radius-full);align-items:center;gap:5px;margin-top:8px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.gm-app .ai-confidence.high{background:var(--gm-success-50);color:var(--gm-success-text)}.gm-app .ai-confidence.medium{background:var(--gm-warning-50);color:var(--gm-warning-text)}.gm-app .ai-sources-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.gm-app .ai-source-pill{background:var(--gm-surface-sunken);color:var(--gm-text-secondary);border-radius:6px;padding:3px 8px;font-size:11px}.gm-app .ai-action-proposal{border:1px solid var(--gm-accent-200);background:var(--gm-accent-50);border-radius:var(--gm-radius-md);margin-top:10px;padding:12px}.gm-app .ai-action-proposal-title{color:var(--gm-accent-700);align-items:center;gap:6px;margin-bottom:6px;font-size:12.5px;font-weight:700;display:flex}.gm-app .ai-tool-log{font:var(--gm-text-code);background:var(--gm-surface-sunken);border-radius:8px;margin-top:8px;padding:10px;font-size:11.5px}.gm-app .ai-tool-log-step{color:var(--gm-text-secondary);align-items:center;gap:6px;padding:3px 0;display:flex}.gm-app .ai-tool-log-step.done{color:var(--gm-success-text)}.gm-app .ai-feedback-row{gap:6px;margin-top:8px;display:flex}.gm-app .ai-feedback-row button{border:1px solid var(--gm-border);background:var(--gm-surface);cursor:pointer;width:28px;height:28px;color:var(--gm-text-tertiary);border-radius:7px;justify-content:center;align-items:center;display:flex}.gm-app .ai-feedback-row button:hover{color:var(--gm-accent-500);border-color:var(--gm-accent-400)}.gm-app .ai-input-bar{border-top:1px solid var(--gm-border);gap:8px;padding-top:12px;display:flex}.gm-app .ai-input-bar input{flex:1}.gm-app .integration-row{border-bottom:1px solid var(--gm-border);align-items:center;gap:12px;padding:12px 4px;display:flex}.gm-app .integration-row:last-child{border-bottom:none}.gm-app .integration-icon{border-radius:var(--gm-radius-sm);background:var(--gm-surface-sunken);width:36px;height:36px;color:var(--gm-text-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.gm-app .integration-name{font-size:13.5px;font-weight:600}.gm-app .integration-meta{color:var(--gm-text-tertiary);flex-wrap:wrap;gap:10px;font-size:11.5px;display:flex}.gm-app .integration-latency-good{color:var(--gm-success-text)}.gm-app .integration-latency-bad{color:var(--gm-danger-text)}.gm-app .alert-center-item{border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);gap:12px;margin-bottom:8px;padding:13px;display:flex}.gm-app .alert-center-item.sev-critical{border-left:3px solid var(--gm-danger-500)}.gm-app .alert-center-item.sev-warning{border-left:3px solid var(--gm-warning-500)}.gm-app .alert-center-item.sev-info{border-left:3px solid var(--gm-info-500)}.gm-app .alert-center-item.is-resolved{opacity:.5}.gm-app .alert-sev-icon{border-radius:var(--gm-radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.gm-app .alert-sev-icon.sev-critical{background:var(--gm-danger-50);color:var(--gm-danger-500)}.gm-app .alert-sev-icon.sev-warning{background:var(--gm-warning-50);color:var(--gm-warning-500)}.gm-app .alert-sev-icon.sev-info{background:var(--gm-info-50);color:var(--gm-info-500)}.gm-app .alert-actions-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.gm-app .reconcile-row{border-bottom:1px solid var(--gm-border);grid-template-columns:1.5fr 1fr 1fr 1fr auto;align-items:center;gap:10px;padding:12px 4px;font-size:13px;display:grid}.gm-app .reconcile-diff.ok{color:var(--gm-success-text);font-weight:700}.gm-app .reconcile-diff.bad{color:var(--gm-danger-text);font-weight:700}.gm-app .queue-item{border:1px solid var(--gm-border);border-radius:var(--gm-radius-md);align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.gm-app .queue-priority-bar{border-radius:var(--gm-radius-full);flex-shrink:0;align-self:stretch;width:4px}.gm-app .queue-priority-bar.high{background:var(--gm-danger-500)}.gm-app .queue-priority-bar.medium{background:var(--gm-warning-500)}.gm-app .queue-priority-bar.low{background:var(--gm-neutral-500)}.gm-app .queue-sla-tag{border-radius:6px;padding:2px 7px;font-size:11px;font-weight:700}.gm-app .audit-row{border-bottom:1px solid var(--gm-border);grid-template-columns:140px 1fr auto;align-items:start;gap:12px;padding:12px 4px;font-size:12.5px;display:grid}.gm-app .audit-diff-box{font-family:var(--gm-font-mono);align-items:center;gap:8px;margin-top:4px;font-size:11.5px;display:flex}.gm-app .audit-diff-old{color:var(--gm-danger-text);background:var(--gm-danger-50);border-radius:5px;padding:1px 6px;text-decoration:line-through}.gm-app .audit-diff-new{color:var(--gm-success-text);background:var(--gm-success-50);border-radius:5px;padding:1px 6px}.gm-app .audit-actor{align-items:center;gap:6px;font-weight:600;display:flex}.gm-app .audit-actor.is-automation{color:var(--gm-accent-600)}.gm-app .env-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:6px;padding:2px 8px;font-size:10.5px;font-weight:700}.gm-app .env-badge.prod{background:var(--gm-danger-50);color:var(--gm-danger-text)}.gm-app .env-badge.staging{background:var(--gm-warning-50);color:var(--gm-warning-text)}.gm-app .env-badge.dev{background:var(--gm-info-50);color:var(--gm-info-text)}.gm-app .gm-mobile-menu-btn{display:none}@media (max-width:1080px){.gm-app .gm-sidebar{box-shadow:var(--gm-shadow-lg);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.gm-app .gm-sidebar.is-mobile-open{transform:translate(0)}.gm-app .gm-content{padding:var(--gm-sp-4)}.gm-app .gm-mobile-menu-btn{display:inline-flex}.gm-app .kpi-grid,.gm-app .state-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important}}@media (max-width:720px){.gm-app .gm-topbar{padding:0 var(--gm-sp-3)}.gm-app .gm-topbar-search{display:none}.gm-app .card-grid-2,.gm-app .card-grid-3,.gm-app .card-grid-4{grid-template-columns:1fr!important}.gm-app .modal-box,.gm-app .modal-box.lg{max-width:94vw}.gm-app .drawer-panel,.gm-app .drawer-panel.lg{width:94vw}.gm-app .table-wrap{overflow-x:auto}.gm-app .reconcile-row,.gm-app .audit-row{grid-template-columns:1fr;gap:4px}.gm-app .kpi-grid,.gm-app .state-grid{grid-template-columns:1fr 1fr!important}}.gm-app .section{margin-bottom:var(--gm-sp-8)}.gm-app .section-title-row{margin-bottom:var(--gm-sp-4);justify-content:space-between;align-items:center;display:flex}.gm-app .card-grid-2{gap:var(--gm-density-gap);grid-template-columns:repeat(2,1fr);display:grid}.gm-app .card-grid-3{gap:var(--gm-density-gap);grid-template-columns:repeat(3,1fr);display:grid}.gm-app .card-grid-4{gap:var(--gm-density-gap);grid-template-columns:repeat(4,1fr);display:grid}.gm-app .kpi-grid{gap:var(--gm-density-gap);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.gm-app .component-showcase{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.gm-app .showcase-block{border:1px dashed var(--gm-border);border-radius:var(--gm-radius-md);padding:16px}.gm-app .token-swatch-row{flex-wrap:wrap;gap:12px;display:flex}.gm-app .token-swatch{width:96px}.gm-app .token-swatch .sw{border-radius:var(--gm-radius-md);border:1px solid var(--gm-border);height:56px;margin-bottom:6px}.gm-app .token-swatch .lbl{color:var(--gm-text-secondary);font-size:11px}.gm-app .token-swatch .val{color:var(--gm-text-tertiary);font-size:10px;font-family:var(--gm-font-mono)}.gm-app .type-specimen-row{border-bottom:1px solid var(--gm-border);align-items:baseline;gap:16px;padding:12px 0;display:flex}.gm-app .type-specimen-row .lbl{width:160px;color:var(--gm-text-tertiary);font-size:11.5px;font-family:var(--gm-font-mono);flex-shrink:0}.gm-app .gm-panel-scroll{max-height:460px;padding-right:4px;overflow-y:auto}.gm-app .icon-badge{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.gm-app .icon-badge.sm{border-radius:9px;width:34px;height:34px}.gm-app .icon-badge.amber{color:#a66a00;background:#fef7e0}.gm-app .icon-badge.blue{color:#1a56d6;background:#e8f0fe}.gm-app .icon-badge.purple{color:#7b2fd1;background:#f3e8fd}.gm-app .icon-badge.green{color:#16793a;background:#e6f4ea}.gm-app .icon-badge.pink{color:#c21e77;background:#fce7f3}.gm-app .icon-badge.orange{color:#c4530a;background:#feeee2}.gm-app .icon-badge.teal{color:#0c7e7e;background:#e0f5f5}.gm-app .icon-badge.red{color:#b3261e;background:#fce8e6}.gm-app[data-theme=dark] .icon-badge.amber{color:#fdd663;background:#362b0e}.gm-app[data-theme=dark] .icon-badge.blue{color:#8ab4f8;background:#1a2c4d}.gm-app[data-theme=dark] .icon-badge.purple{color:#d0a8fa;background:#2e1f4d}.gm-app[data-theme=dark] .icon-badge.green{color:#81c995;background:#0f2a17}.gm-app[data-theme=dark] .icon-badge.pink{color:#f28fce;background:#3d1530}.gm-app[data-theme=dark] .icon-badge.orange{color:#f4a662;background:#3a230f}.gm-app[data-theme=dark] .icon-badge.teal{color:#5fd3d3;background:#0e2e2e}.gm-app[data-theme=dark] .icon-badge.red{color:#f28b82;background:#3a1414}.gm-app .module-card{background:var(--gm-surface);border:1px solid var(--gm-border);border-radius:var(--gm-radius-lg);padding:var(--gm-density-card-pad);box-shadow:var(--gm-shadow-sm);transition:box-shadow var(--gm-transition-fast), border-color var(--gm-transition-fast), transform var(--gm-transition-fast);flex-direction:column;gap:10px;display:flex}.gm-app .module-card:hover{box-shadow:var(--gm-shadow-md);border-color:var(--gm-border-strong);transform:translateY(-1px)}.gm-app .module-card-title{font-size:14.5px;font-weight:600}.gm-app .module-card-desc{color:var(--gm-text-secondary);flex:1;font-size:12.5px;line-height:1.5}.gm-app .module-card-grid{gap:var(--gm-density-gap);grid-template-columns:repeat(3,1fr);display:grid}
