:root{--green-50: #f0fdf4;--green-100: #dcfce7;--green-200: #bbf7d0;--green-300: #86efac;--green-400: #4ade80;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--green-800: #166534;--green-900: #14532d;--color-primary: var(--green-500);--color-primary-hover: var(--green-600);--color-primary-soft: var(--green-100);--color-on-primary: #ffffff;--color-success: var(--green-500);--color-info: #0ea5e9;--color-warning: #f59e0b;--color-danger: #ef4444;--bg-app: #f6faf7;--bg-surface: #ffffff;--bg-surface-2: #f3f7f4;--bg-elevated: #ffffff;--text-strong: #0f1c14;--text-default: #1f2937;--text-muted: #5b6b60;--text-subtle: #8a988f;--text-on-soft: var(--green-800);--border: #e3ece6;--border-strong: #cfe0d6;--ring: color-mix(in srgb, var(--green-500) 45%, transparent);--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(16,40,28,.05);--shadow-md: 0 4px 16px rgba(16,40,28,.07);--shadow-lg: 0 12px 32px rgba(16,40,28,.1);--shadow-focus: 0 0 0 4px var(--ring);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--font-sans: "Inter", "Plus Jakarta Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 32px;--fs-display: 40px;--lh-tight: 1.2;--lh-normal: 1.5;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--bento-gap: var(--space-5);--bento-cols: 12;--bento-row: 120px;--bento-card-pad: var(--space-6);--bento-card-radius: var(--radius-lg);--ease: cubic-bezier(.2,.8,.2,1);--dur-fast: .12s;--dur: .2s;--dur-slow: .32s;--z-base: 0;--z-sticky: 100;--z-overlay: 800;--z-modal: 900;--z-toast: 1000}.bento-grid{display:grid;grid-template-columns:repeat(var(--bento-cols),1fr);grid-auto-rows:var(--bento-row);gap:var(--bento-gap)}.bento-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--bento-card-radius);box-shadow:var(--shadow-sm);padding:var(--bento-card-pad);transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.bento-card:hover{box-shadow:var(--shadow-md)}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.row-1{grid-row:span 1}.row-2{grid-row:span 2}.row-3{grid-row:span 3}@media (max-width: 1024px){:root{--bento-cols: 8}}@media (max-width: 720px){:root{--bento-cols: 4}.col-3,.col-4,.col-6,.col-8,.col-12{grid-column:span 4}}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;text-decoration:none;transition:background var(--dur-fast, .12s) var(--ease, ease),opacity var(--dur-fast, .12s)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);color:#fff;text-decoration:none}.btn-secondary,.btn-cancel{background:var(--bg-surface);color:var(--text-default);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled),.btn-cancel:hover:not(:disabled){background:var(--bg-surface-2)}.btn-danger-outline{background:none;color:var(--color-danger, #dc2626);border:1px solid var(--color-danger, #dc2626)}.btn-danger-outline:hover:not(:disabled){background:#fef2f2}.btn-warn-outline{background:none;color:#b45309;border:1px solid #f59e0b}.btn-warn-outline:hover:not(:disabled){background:#fffbeb}.btn-sm{padding:5px 12px;font-size:12px}.badge,.status-badge,.enabled-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill, 999px);font-size:11px;font-weight:600;letter-spacing:.02em}.badge-green,.status-active,.status-indexed,.enabled-true,.plan-pro{background:var(--color-primary-soft);color:var(--color-primary-hover)}.badge-blue,.status-processing,.plan-starter{background:#dbeafe;color:#1d4ed8}.badge-yellow,.status-queued,.status-pending,.plan-enterprise{background:#fef3c7;color:#92400e}.badge-red,.status-failed,.status-suspended{background:#fee2e2;color:#991b1b}.badge-gray,.status-inactive,.enabled-false,.badge-inactive,.plan-free{background:#f3f4f6;color:#6b7280}.badge-active{background:var(--color-primary-soft);color:var(--color-primary-hover)}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--text-default)}.field input,.field select,.field textarea{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;outline:none;font-family:inherit;background:var(--bg-surface);color:var(--text-default);transition:border-color var(--dur-fast, .12s);box-sizing:border-box}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-primary)}.field textarea{resize:vertical;min-height:80px}.field hint{font-size:12px;color:var(--text-subtle);display:block;margin-top:4px}.field .error-msg{font-size:12px;color:var(--color-danger, #dc2626);margin-top:4px}.tbl{width:100%;border-collapse:collapse}.tbl th,.tbl td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px}.tbl th{font-weight:600;color:var(--text-muted);background:var(--bg-surface-2);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.tbl td{color:var(--text-default)}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:var(--bg-surface-2);cursor:pointer}.tbl-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.card-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.card-panel-sm{padding:18px 20px;border-radius:var(--radius-md)}.card-panel-hover{box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}.card-panel-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.overlay{position:fixed;inset:0;background:#0000004d;z-index:900;display:flex;align-items:center;justify-content:center}.modal{background:var(--bg-surface);border-radius:var(--radius-lg);padding:32px;width:520px;max-width:calc(100vw - 48px);box-shadow:var(--shadow-lg)}.modal-title{font-size:18px;font-weight:700;margin-bottom:20px;color:var(--text-default)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.page{padding:32px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.page-title{font-size:22px;font-weight:700;color:var(--text-default)}.page-title small{display:block;font-size:13px;font-weight:400;color:var(--text-muted);margin-top:2px}.section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px}.section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:16px}.breadcrumb{font-size:13px;color:var(--text-muted);margin-bottom:12px}.breadcrumb a{color:var(--color-primary);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.empty-state{padding:60px 32px;text-align:center;color:var(--text-muted)}.search-input{padding:9px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;outline:none;font-family:inherit;background:var(--bg-surface);color:var(--text-default)}.search-input:focus{border-color:var(--color-primary)}.filter-btn{padding:6px 14px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-surface);font-size:13px;cursor:pointer;font-weight:500;color:var(--text-muted);transition:background var(--dur-fast, .12s),color var(--dur-fast, .12s)}.filter-btn.active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-hover)}.tab-bar{display:flex;gap:4px;margin-bottom:24px}.tab{padding:8px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;background:none;border:none;color:var(--text-muted);text-decoration:none;display:inline-block;transition:background var(--dur-fast, .12s),color var(--dur-fast, .12s)}.tab:hover{background:var(--bg-surface-2);color:var(--text-default);text-decoration:none}.tab.active{background:var(--color-primary-soft);color:var(--color-primary-hover)}.load-more{display:block;margin:16px auto 0;padding:8px 24px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;font-size:13px;font-family:inherit}.load-more:hover{background:var(--bg-surface-2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-sans, "Inter", system-ui, sans-serif);font-size:14px;color:var(--text-default, #1f2937);background:var(--bg-app, #f6faf7);-webkit-font-smoothing:antialiased}a{color:var(--color-primary, #22c55e);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong, #cfe0d6);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-subtle, #8a988f)}:focus-visible{outline:2px solid var(--color-primary, #22c55e);outline-offset:2px;border-radius:4px}.ib-toast-container{position:fixed;bottom:24px;right:24px;z-index:var(--z-toast, 1000);display:flex;flex-direction:column;gap:8px}
