@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--background:#0a101e;--foreground:#e5e7eb;--card:#111827;--primary:#3c83f6;--primary-hover:#5e99f7;--secondary:#1f2937;--muted:#1f2937;--muted-foreground:#7588a3;--accent:#253141;--accent-foreground:#7eaaf1;--destructive:#ef4343;--border:#1f2937;--input:#283548;--ring:#3c83f6;--bg:var(--background);--bg-card:var(--card);--bg-input:var(--secondary);--bg-panel:#080c17;--bg-solid-1:#080c17;--bg-solid-2:var(--secondary);--bg-solid-3:#273345;--bg-active:#2c3a4e;--text:var(--foreground);--text-muted:var(--muted-foreground);--border-strong:#2c3a4e;--primary-soft:rgba(60,131,246,.12);--primary-border:rgba(60,131,246,.3);--danger:#ef4343;--danger-hover:#f26464;--danger-soft:rgba(239,67,67,.1);--danger-border:rgba(239,67,67,.25);--success:#21c45d;--success-hover:#2edc6d;--success-soft:rgba(33,196,93,.1);--success-border:rgba(33,196,93,.25);--warning:#fbbd23;--warning-soft:rgba(251,189,35,.1);--warning-border:rgba(251,189,35,.25);--optional:var(--muted-foreground);--radius:8px;--radius-lg:10px;--radius-sm:6px;--sidebar:#020617;--sidebar-foreground:#d0d5dd;--sidebar-muted-foreground:#8391a5;--sidebar-accent:#0f1524;--sidebar-active:#172036;--sidebar-active-foreground:#fff;--sidebar-border:#0b1222;--sidebar-primary:#3c83f6;--sidebar-primary-accent:#77a8f9;--header-height:3.5rem;--header-bg:rgba(10,16,30,.88);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.25);--shadow-md:0 4px 12px 0 rgba(0,0,0,.3);--shadow-card:0 1px 3px 0 rgba(0,0,0,.3),0 1px 2px -1px rgba(0,0,0,.3);--alpha-overlay:rgba(0,0,0,.5)}html.light{--background:#f8f9fc;--foreground:#0f1729;--card:#fff;--primary:#2463eb;--primary-hover:#1453db;--secondary:#eef2f6;--muted:#eef2f6;--muted-foreground:#5b6d86;--accent:#e4eaf1;--accent-foreground:#1147bb;--destructive:#dc2828;--border:#ccd5e0;--input:#b6c0ce;--ring:#2463eb;--bg:var(--background);--bg-card:var(--card);--bg-input:#fff;--bg-panel:#f0f4f9;--bg-solid-1:#f0f4f9;--bg-solid-2:var(--secondary);--bg-solid-3:#d9dfe8;--bg-active:#cfd7e2;--text:var(--foreground);--text-muted:var(--muted-foreground);--border-strong:#b9c5d5;--primary-soft:rgba(36,99,235,.1);--primary-border:rgba(36,99,235,.28);--danger:#dc2828;--danger-hover:#c52020;--danger-soft:rgba(220,40,40,.08);--danger-border:rgba(220,40,40,.22);--success:#16a249;--success-hover:#12873d;--success-soft:rgba(22,162,73,.1);--success-border:rgba(22,162,73,.25);--warning:#f59f0a;--warning-soft:rgba(245,159,10,.1);--warning-border:rgba(245,159,10,.25);--optional:var(--muted-foreground);--sidebar:#1d2839;--sidebar-foreground:#d0d5dd;--sidebar-muted-foreground:#97a3b4;--sidebar-accent:#2d3748;--sidebar-active:#374458;--sidebar-active-foreground:#fff;--sidebar-border:#293647;--sidebar-primary:#2463eb;--sidebar-primary-accent:#77a8f9;--header-bg:rgba(248,249,252,.92);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 12px 0 rgba(0,0,0,.08);--shadow-card:0 1px 3px 0 rgba(0,0,0,.07),0 1px 2px -1px rgba(0,0,0,.06);--alpha-overlay:rgba(0,0,0,.25)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:14px;font-weight:400;line-height:1.6}*{scrollbar-width:thin;scrollbar-color:var(--border-strong)transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}.app-layout{min-height:100vh;display:flex}.content-area{flex-direction:column;flex:1;min-height:100vh;display:flex;overflow:hidden}.main-content{flex:1;max-width:1200px;padding:2rem 2.5rem;overflow-y:auto}@media (width<=768px){.app-layout{flex-direction:column}.main-content{padding:1.5rem 1rem}}.app-header{height:var(--header-height);background:var(--header-bg);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:20;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:0 1.5rem 0 2rem;display:flex;position:sticky;top:0}.app-header-left{align-items:center;gap:.75rem;display:flex}.app-header-logo{color:inherit;flex-shrink:0;align-items:center;gap:.5rem;text-decoration:none;display:none}.app-header-logo-mark{border-radius:var(--radius-sm);background:var(--primary-soft);width:1.75rem;height:1.75rem;color:var(--primary);border:1px solid var(--primary-border);flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:flex}.app-header-subtitle{color:var(--muted-foreground);white-space:nowrap;font-size:.8125rem}.app-header-right{align-items:center;gap:.5rem;display:flex}.theme-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);width:2.25rem;height:2.25rem;color:var(--muted-foreground);cursor:pointer;box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.theme-toggle:hover{background:var(--secondary);color:var(--foreground);border-color:var(--border-strong)}.theme-toggle svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.icon-sun{display:none}.icon-moon,html.light .icon-sun{display:block}html.light .icon-moon{display:none}@media (width<=768px){.app-header{padding:0 1rem}.app-header-logo{display:flex}.app-header-subtitle{display:none}}.sidebar{background:var(--sidebar);border-right:1px solid var(--sidebar-border);flex-direction:column;flex-shrink:0;width:15rem;height:100vh;padding:1.5rem .75rem;display:flex;position:sticky;top:0}.sidebar-header{border-bottom:1px solid var(--sidebar-border);margin-bottom:1rem;padding:0 .75rem 1.5rem}.sidebar-header h1{letter-spacing:-.01em;font-size:1.125rem;font-weight:600}.title-brand{color:var(--sidebar-foreground)}.title-accent{color:var(--sidebar-primary-accent);font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:1px;display:flex;overflow-y:auto}.sidebar-item{border-radius:var(--radius-sm);color:var(--sidebar-foreground);align-items:center;gap:.625rem;padding:.5625rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-item svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;color:var(--sidebar-muted-foreground);flex-shrink:0;transition:color .15s}.sidebar-item:hover{background:var(--sidebar-accent);color:var(--sidebar-foreground)}.sidebar-item:hover svg{color:var(--sidebar-foreground)}.sidebar-item.active{background:var(--sidebar-active);color:var(--sidebar-active-foreground);font-weight:600}.sidebar-item.active svg{color:var(--sidebar-primary-accent)}.sidebar-sub{color:var(--sidebar-muted-foreground);border-radius:var(--radius-sm);padding:.375rem .75rem .375rem 2.625rem;font-size:.8125rem;text-decoration:none;transition:background .15s,color .15s;display:block}.sidebar-sub:hover{background:var(--sidebar-accent);color:var(--sidebar-foreground)}.sidebar-sub.active{color:var(--sidebar-active-foreground);background:var(--sidebar-active)}.sidebar-footer{border-top:1px solid var(--sidebar-border);margin-top:auto;padding-top:1rem}.page{flex-direction:column;gap:2rem;display:flex}.page-header{margin-bottom:.5rem}.page-header h2{letter-spacing:-.02em;color:var(--foreground);font-size:1.5rem;font-weight:600}.page-header .subtitle,.subtitle{color:var(--muted-foreground);margin-top:.25rem;font-size:.875rem}.section-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);margin-bottom:.75rem;font-size:.6875rem;font-weight:600}.section-heading-dot{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.75rem;font-weight:600;display:flex}.section-heading-dot .dot{border-radius:50%;width:8px;height:8px;display:inline-block}.section-heading-dot .dot.yellow{background:var(--warning)}.section-heading-dot .dot.green{background:var(--success)}.section-heading-dot .dot.red{background:var(--danger)}.stat-cards-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.stat-card{background:var(--card);border-radius:var(--radius-lg);align-items:center;gap:1rem;padding:1.25rem;display:flex}.stat-icon{background:var(--accent);border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;padding:.75rem;display:flex}.stat-icon svg{width:22px;height:22px;stroke:var(--accent-foreground);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.stat-value{color:var(--foreground);font-size:1.5rem;font-weight:600;line-height:1.2}.stat-label{color:var(--muted-foreground);font-size:.8125rem}.accordion-item{border-bottom:1px solid var(--border)}.accordion-item:last-child{border-bottom:none}.accordion-item summary::-webkit-details-marker{content:"";display:none}.accordion-item summary::marker{content:"";display:none}.integration-row{border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;padding:1rem 1.25rem;transition:background .15s;display:flex}.integration-row:last-child{border-bottom:none}.integration-row:hover{background:var(--secondary)}.accordion-trigger{cursor:pointer;justify-content:space-between;align-items:center;padding:.875rem 0;list-style:none;transition:background .15s;display:flex}.accordion-trigger-left{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.accordion-icon-box,.accordion-icon-circle{background:var(--accent);border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;display:flex}.accordion-icon-box svg,.accordion-icon-circle svg{width:18px;height:18px;stroke:var(--accent-foreground);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.accordion-info{flex:1;min-width:0}.accordion-info .name{color:var(--foreground);font-size:.875rem;font-weight:500}.accordion-info .sub{color:var(--muted-foreground);margin-top:1px;font-size:.75rem}.accordion-badges{flex-shrink:0;gap:.375rem;display:flex}.chevron{color:var(--muted-foreground);flex-shrink:0;margin-left:.5rem;font-size:.625rem;transition:transform .2s}details[open]>summary .chevron{transform:rotate(180deg)}.accordion-content{padding:0 0 1rem}.accordion-stats-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem;display:grid}@media (width<=640px){.accordion-stats-grid{grid-template-columns:1fr}}.accordion-stat-box{background:var(--secondary);border-radius:var(--radius-sm);padding:.75rem 1rem}.accordion-stat-box .label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);margin-bottom:.25rem;font-size:.6875rem}.accordion-stat-box .value{color:var(--foreground);font-size:1rem;font-weight:600}.accordion-stat-box .value.mono{word-break:break-all;font-family:JetBrains Mono,monospace;font-size:.75rem}.accordion-actions{flex-wrap:wrap;gap:.5rem;display:flex}.accordion-meta{justify-content:space-between;align-items:center;margin-top:.75rem;display:flex}.badge-tag{border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-foreground);align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;display:inline-flex}.badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.status-dot{font-size:.75rem;font-weight:500}.status-dot.online{color:var(--success)}.status-dot.paused{color:var(--muted-foreground)}.status-dot.offline{color:var(--danger)}.btn{border-radius:var(--radius);cursor:pointer;background:var(--secondary);color:var(--foreground);border:none;align-items:center;gap:.375rem;padding:.5rem 1rem;font-family:inherit;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.btn:hover{background:var(--muted)}.btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn-sm{border-radius:var(--radius-sm);padding:.375rem .75rem;font-size:.75rem}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-danger,.btn-destructive{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover,.btn-destructive:hover{background:rgba(186,44,44,.18)}.btn-success{background:var(--success-soft);color:var(--success)}.btn-success:hover{background:rgba(16,183,127,.18)}.btn-disabled{background:var(--secondary);color:var(--muted-foreground);opacity:.5;cursor:not-allowed}.btn-ghost{color:var(--muted-foreground);background:0 0}.btn-ghost:hover{background:var(--secondary);color:var(--foreground)}.btn-icon{border-radius:var(--radius-sm);cursor:pointer;width:2rem;height:2rem;color:var(--muted-foreground);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.875rem;transition:background .15s,color .15s;display:inline-flex}.btn-icon:hover{background:var(--secondary);color:var(--foreground)}.btn-icon.btn-icon-destructive{color:rgba(211,69,69,.6)}.btn-icon.btn-icon-destructive:hover{color:var(--danger);background:rgba(186,44,44,.1)}.btn-icon.btn-icon-primary{color:rgba(60,131,246,.7)}.btn-icon.btn-icon-primary:hover{color:var(--primary);background:rgba(60,131,246,.1)}.btn-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em;background:0 0;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:.15rem .5rem;font-family:inherit;font-size:.65rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-toggle:hover{background:var(--secondary);color:var(--foreground)}.btn-toggle.active{color:var(--primary);background:rgba(60,131,246,.12);border-color:rgba(60,131,246,.3)}.btn-add{border:1px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--muted-foreground);background:0 0;align-items:center;gap:.375rem;padding:.375rem .75rem;font-family:inherit;font-size:.75rem;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-add:hover{color:var(--primary);background:rgba(60,131,246,.08);border-color:rgba(60,131,246,.3)}textarea,select,.input{background:var(--bg-input);border:1px solid var(--input);border-radius:var(--radius-sm);width:100%;color:var(--foreground);outline:none;height:2.25rem;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}input[type=text]{background:var(--bg-input);border:1px solid var(--input);border-radius:var(--radius-sm);width:100%;color:var(--foreground);outline:none;height:2.25rem;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}input[type=number]{background:var(--bg-input);border:1px solid var(--input);border-radius:var(--radius-sm);width:100%;color:var(--foreground);outline:none;height:2.25rem;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}input[type=url]{background:var(--bg-input);border:1px solid var(--input);border-radius:var(--radius-sm);width:100%;color:var(--foreground);outline:none;height:2.25rem;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}input[type=password]{background:var(--bg-input);border:1px solid var(--input);border-radius:var(--radius-sm);width:100%;color:var(--foreground);outline:none;height:2.25rem;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}input[type=email]{background:var(--bg-input);border:1px solid var(--input);border-radius:var(--radius-sm);width:100%;color:var(--foreground);outline:none;height:2.25rem;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}textarea{height:auto;min-height:5rem}select{height:2.25rem}input:focus,textarea:focus,select:focus,.input:focus{border-color:var(--ring);box-shadow:0 0 0 2px var(--primary-soft)}input::placeholder{color:var(--muted-foreground)}textarea::placeholder{color:var(--muted-foreground)}label{color:var(--foreground);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.form-group{margin-bottom:1rem}.card,.section{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);padding:1.5rem}.section-title,.card-title{color:var(--foreground);margin-bottom:1rem;font-size:.875rem;font-weight:600}.section>h3{color:var(--foreground);border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.5rem;font-size:.875rem;font-weight:600}.cron-console{background:var(--card);border-radius:var(--radius-lg);height:300px;padding:1rem 1.25rem;font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.7;overflow-y:auto}.cron-line{color:var(--muted-foreground)}.cron-line .ok{color:var(--success);font-weight:500}.cron-line .err{color:var(--danger);font-weight:500}.cron-line .warn{color:var(--warning);font-weight:500}.tunnel-credentials{background:var(--secondary);border-radius:var(--radius-sm);margin-top:.5rem;padding:.75rem 1rem}.cred-row{gap:.5rem;margin-bottom:.375rem;font-size:.8125rem;display:flex}.cred-row:last-child{margin-bottom:0}.cred-label{color:var(--muted-foreground);white-space:nowrap;font-weight:500}.cred-value{color:var(--foreground);word-break:break-all;font-family:JetBrains Mono,monospace;font-size:.75rem}.cred-value.small{font-size:.6875rem}.empty-state{color:var(--muted-foreground);text-align:center;padding:2rem 0;font-size:.875rem}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);border-bottom:1px solid var(--border);padding:.625rem .75rem;font-size:.6875rem;font-weight:600}td{color:var(--foreground);border-bottom:1px solid var(--border);padding:.625rem .75rem;font-size:.8125rem}tr:last-child td{border-bottom:none}.wizard-layout{flex-direction:column;gap:1.5rem;display:flex}.step{color:var(--muted-foreground);border-radius:var(--radius-sm);align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;transition:color .15s,background .15s;display:flex}.step.active{color:var(--accent-foreground);background:var(--accent)}.step.done{color:var(--success)}.step-number{background:var(--secondary);width:22px;height:22px;color:var(--muted-foreground);border-radius:50%;justify-content:center;align-items:center;font-size:.6875rem;font-weight:600;display:flex}.step.active .step-number{background:var(--primary);color:#fff}.step.done .step-number{background:var(--success-soft);color:var(--success)}.step-connector{background:var(--border);width:2rem;height:1px}.mapping-row{border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr auto;align-items:center;gap:.75rem;padding:.5rem 0;display:grid}.mapping-row:last-child{border-bottom:none}.arrow-col{color:var(--muted-foreground);text-align:center;font-size:1rem}.remove-btn{color:var(--muted-foreground);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.25rem;font-size:.875rem;transition:color .15s,background .15s}.remove-btn:hover{color:var(--danger);background:var(--danger-soft)}.detail-grid-4{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.detail-grid-3{grid-template-columns:2fr 1fr;gap:1rem;display:grid}.detail-grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=768px){.detail-grid-4{grid-template-columns:repeat(2,1fr)}.detail-grid-3,.detail-grid-2{grid-template-columns:1fr}}@media (width<=480px){.detail-grid-4{grid-template-columns:1fr}}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:.25rem;padding:1.25rem;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);font-size:.6875rem;font-weight:500;display:block}.stat-value{color:var(--foreground);font-size:1.5rem;font-weight:700;line-height:1.2;display:block}.stat-sub{color:var(--muted-foreground);font-size:.75rem;display:block}.kv-list{flex-direction:column;display:flex}.kv-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.625rem 0;display:flex}.kv-row:last-child{border-bottom:none}.kv-label{color:var(--muted-foreground);font-size:.875rem}.kv-value{color:var(--foreground);text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:60%;font-size:.875rem;font-weight:500;overflow:hidden}.kv-value code{background:var(--secondary);border-radius:var(--radius-sm);padding:.125rem .5rem;font-family:JetBrains Mono,monospace;font-size:.75rem}.actions-stack{flex-direction:column;gap:.5rem;display:flex}.actions-stack .btn,.actions-stack a.btn{justify-content:flex-start;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.8125rem}.history-table{width:100%}.history-header{border-bottom:1px solid var(--border);grid-template-columns:1fr 90px 80px 80px 80px;gap:.5rem;padding:.75rem 1rem;display:grid}.history-header span{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);font-size:.6875rem;font-weight:500}.history-header span:not(:first-child){text-align:right}.history-row{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:1fr 90px 80px 80px 80px;gap:.5rem;padding:.75rem 1rem;transition:background .15s;display:grid}.history-row:hover{background:var(--secondary)}.history-row span{color:var(--foreground);font-size:.8125rem}.history-row span:not(:first-child){text-align:right}.history-row .date-col{font-family:JetBrains Mono,monospace;font-size:.8125rem}.detail-tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:1.5rem;display:flex}.detail-tab{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-bottom:2px solid transparent;padding:.625rem 1rem;font-size:.8125rem;font-weight:500;transition:color .15s,border-color .15s}.detail-tab:hover{color:var(--foreground)}.detail-tab.active{color:var(--foreground);border-bottom-color:var(--primary)}.info-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.info-grid{grid-template-columns:1fr}}.info-item label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);margin-bottom:.25rem;font-size:.6875rem}.info-item p{color:var(--foreground);font-size:.875rem}.searchable-input-wrap{position:relative}.searchable-input-wrap .dropdown{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:50;max-height:200px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.searchable-input-wrap .dropdown-item{cursor:pointer;color:var(--foreground);padding:.5rem .75rem;font-size:.8125rem;transition:background .1s}.searchable-input-wrap .dropdown-item:hover{background:var(--secondary)}.modal-overlay{background:var(--alpha-overlay);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:400px;max-width:90vw;max-height:80vh;padding:1.5rem;overflow-y:auto}.diff-container{border-radius:var(--radius-sm);font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.6;overflow:hidden}.diff-line{white-space:pre-wrap;word-break:break-all;padding:.125rem .75rem}.diff-line.added{background:var(--success-soft);color:var(--success)}.diff-line.removed{background:var(--danger-soft);color:var(--danger)}.diff-line.context{color:var(--muted-foreground)}.mono{font-family:JetBrains Mono,monospace}.text-muted{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-sm{font-size:.8125rem}.text-xs{font-size:.75rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:.5rem;display:grid}.card-info,.card-success,.card-required{background:var(--card);border-radius:var(--radius-lg);padding:1.25rem}.card-info{border-left:3px solid var(--primary)}.card-success{border-left:3px solid var(--success)}.card-required{border-left:3px solid var(--warning)}.card-number{color:var(--foreground);font-size:1.75rem;font-weight:700;line-height:1.2}.card-label{color:var(--muted-foreground);margin-top:.125rem;font-size:.8125rem}.card-sub{color:var(--muted-foreground);margin-top:.375rem;font-family:JetBrains Mono,monospace;font-size:.6875rem}.collapsible-header{cursor:pointer;border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;align-items:center;margin:-.5rem -.75rem 0;padding:.5rem .75rem;transition:background .15s;display:flex}.collapsible-header:hover{background:var(--secondary)}.collapsible-header h3{color:var(--foreground);align-items:center;gap:.375rem;margin:0;font-size:.875rem;font-weight:600;display:flex}.collapse-arrow{color:var(--muted-foreground);text-align:center;flex-shrink:0;width:1rem;font-size:.625rem;transition:transform .2s}.section-header h3{color:var(--foreground);margin-bottom:.75rem;font-size:.875rem;font-weight:600}.section-header-btn{border-radius:var(--radius-sm);background:var(--card);cursor:pointer;border:none;justify-content:space-between;align-items:center;width:100%;padding:.75rem 1rem;font-family:inherit;transition:background .15s;display:flex}.section-header-btn:hover{background:var(--accent)}.section-header-btn .sh-left{align-items:center;gap:.75rem;display:flex}.section-header-btn .sh-icon{color:var(--muted-foreground);font-size:.875rem}.section-header-btn .sh-title{color:var(--foreground);font-size:.875rem;font-weight:500}.section-header-btn .sh-count{border-radius:var(--radius-sm);background:var(--accent);color:var(--muted-foreground);padding:.125rem .5rem;font-size:.6875rem;font-weight:500}.section-header-btn .sh-right{align-items:center;gap:.5rem;display:flex}.section-header-btn .sh-chevron{color:var(--muted-foreground);font-size:.75rem;transition:transform .2s}.grid-table{border:1px solid var(--border);border-radius:0 0 var(--radius-sm)var(--radius-sm);overflow:hidden}.grid-table-header{background:var(--border);gap:1px;display:grid}.grid-table-header>div{background:var(--card);padding:.625rem 1rem}.grid-table-header span{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);font-size:.6875rem;font-weight:600}.grid-table-row{background:var(--border);gap:1px;display:grid}.grid-table-row>div{background:var(--card);align-items:center;padding:.625rem 1rem;display:flex}.grid-table-help{color:var(--muted-foreground);background:var(--secondary);border-bottom:1px solid var(--border);padding:.75rem 1rem;font-size:.75rem}.badge-sql{border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary);padding:.125rem .375rem;font-family:JetBrains Mono,monospace;font-size:.6875rem;font-weight:500}.text-mono-primary{color:var(--primary);font-family:JetBrains Mono,monospace;font-size:.8125rem}.text-unmapped{color:var(--muted-foreground);opacity:.5;font-size:.8125rem;font-style:italic}.icon-btn{border-radius:var(--radius-sm);cursor:pointer;width:2rem;height:2rem;color:var(--muted-foreground);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.875rem;transition:background .15s,color .15s;display:inline-flex}.icon-btn:hover{background:var(--accent);color:var(--foreground)}.icon-btn-destructive{color:rgba(211,69,69,.6)}.icon-btn-destructive:hover{color:var(--danger);background:var(--danger-soft)}.icon-btn-primary{color:var(--primary-border)}.icon-btn-primary:hover{color:var(--primary);background:var(--primary-soft)}.item-row{background:var(--card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.item-row:last-child{border-bottom:none}.item-row-fields{flex:1;align-items:center;gap:.5rem;display:flex}.item-row-fields input,.item-row-fields select{flex:1;min-width:0}.item-row-fields .separator{color:var(--muted-foreground);flex-shrink:0;font-size:.75rem}.item-row-num{color:var(--muted-foreground);opacity:.5;text-align:center;flex-shrink:0;width:1.5rem;font-family:JetBrains Mono,monospace;font-size:.6875rem}.btn-accent{border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-foreground);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.5rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:500;transition:background .15s;display:inline-flex}.btn-accent:hover{background:var(--accent);filter:brightness(.95)}.toggle-switch{background:var(--card);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:background .15s;display:flex}.toggle-switch:first-child{border-radius:var(--radius-sm)var(--radius-sm)0 0}.toggle-switch:hover{background:var(--accent)}.toggle-track{background:var(--secondary);border:1px solid var(--border);border-radius:999px;flex-shrink:0;width:2.25rem;height:1.25rem;transition:background .2s,border-color .2s;position:relative}.toggle-track.active{background:var(--primary);border-color:var(--primary)}.toggle-knob{background:#fff;border-radius:50%;width:.875rem;height:.875rem;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle-track.active .toggle-knob{transform:translate(1rem)}.toggle-label{color:var(--foreground);font-size:.8125rem;font-weight:500}.toggle-desc{color:var(--muted-foreground);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:.6875rem}.empty-section{text-align:center;color:var(--muted-foreground);padding:1.5rem 1rem;font-size:.875rem}.form-row{flex-wrap:wrap;gap:1rem;display:flex}.form-row .form-group{flex:1;min-width:180px}.form-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.input-field{background:var(--bg-input);border:1px solid var(--input);border-radius:var(--radius-sm);width:100%;color:var(--foreground);outline:none;height:2.25rem;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.input-field:focus{border-color:var(--ring);box-shadow:0 0 0 2px var(--primary-soft)}.input-field::placeholder{color:var(--muted-foreground)}.status-error{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);border:1px solid var(--danger-border);padding:.625rem 1rem;font-size:.8125rem}.status-success{background:var(--success-soft);color:var(--success);border-radius:var(--radius-sm);border:1px solid var(--success-border);padding:.625rem 1rem;font-size:.8125rem}.logs-list{flex-direction:column;gap:2px;display:flex}.log-item{border-radius:var(--radius-sm);cursor:pointer;border-bottom:1px solid var(--border);padding:.75rem 1rem;transition:background .15s}.log-item:hover{background:var(--secondary)}.log-item:last-child{border-bottom:none}.log-header{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.log-summary{color:var(--muted-foreground);font-family:JetBrains Mono,monospace;font-size:.75rem}.log-details{margin-top:.75rem}.log-console{background:var(--bg-panel);border-radius:var(--radius-sm);max-height:400px;padding:.75rem 1rem;font-family:JetBrains Mono,monospace;font-size:.6875rem;line-height:1.7;overflow-y:auto}.sync-line{color:var(--muted-foreground);white-space:pre-wrap;word-break:break-all}.sync-line-error{color:var(--danger);font-weight:500}.sync-line-header{color:var(--primary);font-weight:500}.sync-cursor{color:var(--primary);animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.badge-running{color:#2d6deb;background:rgba(45,109,235,.12);animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.badge-error{background:var(--danger-soft);color:var(--danger)}.badge-required{background:var(--warning-soft);color:var(--warning)}.btn-secondary{background:var(--secondary);color:var(--foreground)}.btn-secondary:hover{background:var(--muted)}.step-indicator{justify-content:center;align-items:center;gap:0;margin-bottom:1.5rem;display:flex}.step-item{align-items:center;gap:.5rem;display:flex}.step-circle{background:var(--secondary);width:2rem;height:2rem;color:var(--muted-foreground);border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.step-circle.active{background:var(--primary);color:#fff;border-color:var(--primary)}.step-circle.completed{background:var(--success-soft);color:var(--success);border-color:var(--success)}.step-label{color:var(--muted-foreground);font-size:.8125rem;font-weight:500;transition:color .15s}.step-label.active{color:var(--foreground)}.step-connector{background:var(--border);width:3rem;height:2px;margin:0 .75rem;transition:background .2s}.step-connector.completed{background:var(--success)}.wizard-nav{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;display:flex}.filter-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.filter-bar .input-field{max-width:260px}.filter-toggle{background:var(--secondary);border-radius:var(--radius-sm);gap:2px;padding:2px;display:flex}.filter-toggle .btn-sm{border-radius:var(--radius-sm);color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;padding:.375rem .75rem;font-size:.75rem;font-weight:500;transition:background .15s,color .15s}.filter-toggle .btn-sm:hover{color:var(--foreground)}.filter-toggle .btn-sm.active{background:var(--accent);color:var(--accent-foreground)}.mapping-table{border-collapse:collapse;width:100%}.mapping-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);border-bottom:1px solid var(--border);padding:.625rem .75rem;font-size:.6875rem;font-weight:600}.mapping-table td{color:var(--foreground);border-bottom:1px solid var(--border);vertical-align:middle;padding:.5rem .75rem;font-size:.8125rem}.mapping-table tr:last-child td{border-bottom:none}.row-mapped{background:0 0}.row-unmapped{background:rgba(251,189,35,.03)}.mapping-table td select.input-field{min-width:200px;padding:.375rem .5rem;font-size:.8125rem}.inline-create-btn{margin-top:.375rem;color:var(--primary)!important;background:var(--accent)!important;padding:.25rem .5rem!important;font-size:.6875rem!important}.inline-create-btn:hover{filter:brightness(1.1);background:var(--primary-soft)!important}@media (width<=768px){.sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;height:auto;padding:1rem;position:relative}.sidebar-nav{flex-flow:wrap;gap:.25rem}.sidebar-sub,.sidebar-footer{display:none}.stat-cards-row{grid-template-columns:1fr}}.sql-toolbar{align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.sql-toolbar-field{flex-direction:column;flex:1;gap:.375rem;display:flex}.sql-toolbar-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}.sql-toolbar-small{max-width:120px}.sql-editor-wrap{margin-bottom:1rem}.sql-editor{background:var(--secondary);border:1px solid var(--border);width:100%;min-height:140px;color:var(--text);resize:vertical;box-sizing:border-box;border-radius:8px;outline:none;padding:.875rem 1rem;font-family:JetBrains Mono,monospace;font-size:.8125rem;line-height:1.6;transition:border-color .15s}.sql-editor:focus{border-color:var(--primary)}.sql-editor::placeholder{color:var(--text-muted);opacity:.5}.sql-editor-actions{align-items:center;gap:.5rem;margin-top:.625rem;display:flex}.sql-shortcut{opacity:.5;margin-left:.5rem;font-size:.6875rem}.sql-error{background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger);word-break:break-word;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-family:JetBrains Mono,monospace;font-size:.8125rem}.sql-result{margin-bottom:1rem}.sql-result-header{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.5rem 0;font-size:.8125rem;display:flex}.sql-result-time{color:var(--success);font-family:JetBrains Mono,monospace;font-size:.75rem}.sql-copy-actions{align-items:center;gap:.5rem;display:flex}.sql-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.sql-table{border-collapse:collapse;width:100%;font-family:JetBrains Mono,monospace;font-size:.8125rem}.sql-table thead{background:var(--secondary);position:sticky;top:0}.sql-table th{text-align:left;color:var(--accent-foreground);border-bottom:1px solid var(--border);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;padding:.5rem .75rem;font-size:.75rem;font-weight:600}.sql-table td{border-bottom:1px solid var(--border);color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:300px;padding:.375rem .75rem;overflow:hidden}.sql-table tbody tr:hover{background:var(--accent)}.sql-table tbody tr:last-child td{border-bottom:none}.sql-history{margin-top:1.5rem}.sql-history summary{cursor:pointer;color:var(--text-muted);padding:.5rem 0;font-size:.8125rem}.sql-history-list{flex-direction:column;gap:.25rem;margin-top:.5rem;display:flex}.sql-history-item{background:var(--secondary);border:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:.5rem .75rem;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:border-color .15s;overflow:hidden}.sql-history-item:hover{border-color:var(--primary)}html.light .integration-row:hover,html.light .integration-card-link:hover,html.light .history-row:hover,html.light .collapsible-header:hover{background:var(--secondary)}html.light .accordion-trigger:hover{background:0 0}html.light .log-item:hover{background:var(--secondary)}html.light .kv-row{border-bottom-color:var(--border)}html.light .log-console,html.light .cron-console{background:var(--secondary)}.main-content{width:100%;margin-left:auto;margin-right:auto}.dashboard{width:100%;max-width:1080px;margin:0 auto}.stat-cards-row .stat-card{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-card);flex-direction:row;align-items:center;gap:1rem;padding:1.25rem;transition:transform .15s,border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.stat-cards-row .stat-card:before{content:"";background:var(--card-accent,transparent);width:3px;position:absolute;inset:0 auto 0 0}.stat-cards-row .stat-card:hover{border-color:var(--card-accent,var(--border-strong));box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-body{flex-direction:column;flex:1;min-width:0;display:flex}.stat-cards-row .stat-card .stat-value{color:var(--foreground);font-size:1.75rem;font-weight:700;line-height:1.1}.stat-cards-row .stat-card .stat-label{text-transform:none;letter-spacing:0;color:var(--muted-foreground);margin-top:.125rem;font-size:.8125rem;font-weight:500}.stat-cards-row .stat-card .stat-sub{color:var(--muted-foreground);margin-top:.25rem;font-family:JetBrains Mono,monospace;font-size:.6875rem}.stat-card.stat-primary{--card-accent:var(--primary)}.stat-card.stat-success{--card-accent:var(--success)}.stat-card.stat-warning{--card-accent:var(--warning)}.stat-card.stat-info{--card-accent:#3c83f6}.stat-card.stat-primary .stat-icon{background:var(--primary-soft)}.stat-card.stat-primary .stat-icon svg{stroke:var(--primary)}.stat-card.stat-success .stat-icon{background:var(--success-soft)}.stat-card.stat-success .stat-icon svg{stroke:var(--success)}.stat-card.stat-warning .stat-icon{background:var(--warning-soft)}.stat-card.stat-warning .stat-icon svg{stroke:var(--warning)}.stat-card.stat-info .stat-icon{background:rgba(60,131,246,.12)}.stat-card.stat-info .stat-icon svg{stroke:#3c83f6}.dashboard-section{flex-direction:column;gap:.75rem;display:flex}.section-title-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-title-row .section-heading{margin-bottom:0}.integration-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.integration-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;box-shadow:var(--shadow-card);flex-direction:column;gap:1rem;padding:1.25rem;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.integration-card:before{content:"";background:var(--integration-accent,transparent);height:2px;transition:opacity .15s;position:absolute;top:0;left:0;right:0}.integration-card:hover{border-color:var(--integration-accent,var(--border-strong));box-shadow:var(--shadow-md);transform:translateY(-1px)}.integration-card.status-ok{--integration-accent:var(--success)}.integration-card.status-error{--integration-accent:var(--danger)}.integration-card.status-warn{--integration-accent:var(--warning)}.integration-card.status-idle{--integration-accent:var(--muted-foreground)}.integration-card-head{align-items:center;gap:.75rem;display:flex}.integration-card-icon{background:var(--accent);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;display:flex}.integration-card-icon svg{width:18px;height:18px;stroke:var(--accent-foreground);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.integration-card-title{flex:1;min-width:0}.integration-card-title .name{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;font-weight:600;overflow:hidden}.integration-card-title .sub{color:var(--muted-foreground);margin-top:2px;font-size:.75rem}.status-pill{text-transform:uppercase;letter-spacing:.04em;background:var(--secondary);color:var(--muted-foreground);border:1px solid var(--border);border-radius:999px;flex-shrink:0;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.6875rem;font-weight:600;display:inline-flex}.status-pill.status-ok{background:var(--success-soft);color:var(--success);border-color:var(--success-border)}.status-pill.status-error{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.status-pill.status-warn{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-border)}.status-pill.status-idle{background:var(--secondary);color:var(--muted-foreground);border-color:var(--border)}.status-dot-circle{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-pill.status-ok .status-dot-circle{animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.integration-card-stats{border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:.5rem;padding-top:.75rem;display:grid}.mini-stat{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.mini-stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);font-size:.625rem;font-weight:500}.mini-stat-value{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:600}.empty-card{background:var(--card);border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--muted-foreground);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.875rem;padding:3rem 1.5rem;display:flex}.empty-card p{font-size:.875rem}.filter-chips{flex-wrap:wrap;gap:.5rem;display:flex}.filter-chip{background:var(--card);border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:.375rem .75rem;font-family:inherit;font-size:.75rem;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.filter-chip:hover{background:var(--secondary);color:var(--foreground);border-color:var(--border-strong)}.filter-chip .chip-label{line-height:1}.filter-chip .chip-count{background:var(--secondary);min-width:1.25rem;height:1.125rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 .375rem;font-size:.6875rem;font-weight:600;display:inline-flex}.filter-chip.active{border-color:var(--chip-accent,var(--primary));background:var(--chip-bg,var(--primary-soft));color:var(--chip-fg,var(--primary))}.filter-chip.active .chip-count{background:var(--chip-fg,var(--primary));color:var(--card)}.filter-chip.chip-all{--chip-accent:var(--primary);--chip-bg:var(--primary-soft);--chip-fg:var(--primary)}.filter-chip.chip-ok{--chip-accent:var(--success);--chip-bg:var(--success-soft);--chip-fg:var(--success)}.filter-chip.chip-err{--chip-accent:var(--danger);--chip-bg:var(--danger-soft);--chip-fg:var(--danger)}.filter-chip.chip-warn{--chip-accent:var(--warning);--chip-bg:var(--warning-soft);--chip-fg:var(--warning)}.filter-chip.chip-idle{--chip-accent:var(--border-strong);--chip-bg:var(--secondary);--chip-fg:var(--foreground)}.load-more-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.75rem 1rem;display:flex}.load-more-info{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.75rem}.load-more-btn{align-items:center;gap:.5rem;display:inline-flex}.load-more-btn .load-more-count{background:var(--primary-soft);min-width:1.5rem;height:1.125rem;color:var(--primary);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 .375rem;font-size:.6875rem;font-weight:600;display:inline-flex}@media (width<=480px){.load-more-wrap{flex-direction:column;align-items:stretch}.load-more-btn{justify-content:center}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.integration-card{animation:linear card-enter,linear card-exit;animation-timeline:view(),view();animation-range:entry 10% cover 15%,cover 85% exit 80%}}}@keyframes card-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes card-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}.integrations-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.toolbar-right{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.integrations-count{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.75rem}.search-input-wrap{flex:1;min-width:200px;max-width:360px;position:relative}.search-input-wrap .search-icon{width:16px;height:16px;stroke:var(--muted-foreground);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.search-input-wrap input{background:var(--bg-input);border:1px solid var(--input);border-radius:var(--radius);width:100%;color:var(--foreground);height:2.25rem;box-shadow:var(--shadow-sm);outline:none;padding:.5rem .75rem .5rem 2.25rem;font-family:inherit;font-size:.8125rem;transition:border-color .15s,box-shadow .15s}.search-input-wrap input:focus{border-color:var(--ring);box-shadow:0 0 0 2px var(--primary-soft)}.integration-card-link{color:inherit;border-radius:var(--radius);flex-direction:column;gap:1rem;margin:-.25rem;padding:.25rem;text-decoration:none;transition:background .15s;display:flex}.integration-card-link:hover{background:var(--secondary)}.integration-card-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;padding-top:.75rem;display:flex}.integration-card-actions .btn{flex-shrink:0}.integration-card-stats.stats-3{grid-template-columns:repeat(3,1fr)}:root{--sidebar-collapsed-width:4.5rem;--sidebar-expanded-width:15rem}.sidebar.collapsible{width:var(--sidebar-collapsed-width);z-index:30;height:100vh;transition:width .25s,box-shadow .25s;position:fixed;top:0;left:0;overflow:hidden}.sidebar.collapsible:hover{width:var(--sidebar-expanded-width);box-shadow:4px 0 32px rgba(0,0,0,.35)}.sidebar-brand{color:inherit;align-items:center;gap:.75rem;text-decoration:none;display:flex}.sidebar-brand-mark{border-radius:var(--radius-sm);background:var(--sidebar-primary);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.9375rem;font-weight:700;display:flex}.sidebar-brand-text{letter-spacing:-.01em;white-space:nowrap;margin:0;font-size:1.125rem;font-weight:600}.sidebar-label{white-space:nowrap}.sidebar-cta{justify-content:flex-start;gap:.625rem;width:100%;padding:.5625rem .75rem;font-size:.875rem;font-weight:600;text-decoration:none}.sidebar-cta svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:16px;height:16px}@media (width<=768px){.app-layout{flex-direction:column}.sidebar{width:100%;height:auto;box-shadow:none;border-right:none;border-bottom:1px solid var(--sidebar-border);padding:.75rem 1rem;position:relative;overflow:visible}.sidebar-nav{flex-flow:wrap;gap:.25rem}.sidebar-footer{display:none}.content-area{padding-left:0!important}}@media (width<=640px){.integration-card-stats{grid-template-columns:repeat(2,1fr);gap:.75rem}.integration-card-head{flex-wrap:wrap}.stat-cards-row{grid-template-columns:1fr 1fr!important}}@media (width<=420px){.stat-cards-row{grid-template-columns:1fr!important}}.sidebar-brand-mark svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.1rem;height:1.1rem}.sidebar-version{color:var(--sidebar-muted-foreground);padding:.5rem .75rem;font-size:.6875rem;display:block}.stat-card.stat-kpi{justify-content:space-between;gap:1rem;flex-direction:row!important;align-items:center!important}.stat-kpi-body{flex-direction:column;flex:1;gap:.125rem;display:flex}.stat-kpi-icon{width:2rem;height:2rem;color:var(--muted-foreground);opacity:.55;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-kpi-icon svg{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.dashboard-panels{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=768px){.dashboard-panels{grid-template-columns:1fr}}.dashboard-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.panel-header-title{align-items:center;gap:.5rem;display:flex}.panel-header-title svg{width:1rem;height:1rem;stroke:var(--muted-foreground);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.panel-header-title h3{color:var(--foreground);margin:0;font-size:.875rem;font-weight:600}.panel-link{color:var(--muted-foreground);font-size:.75rem;text-decoration:none;transition:color .15s}.panel-link:hover{color:var(--primary)}.panel-body{padding:.25rem 0}.panel-list-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem 1.25rem;transition:background .1s;display:flex}.panel-list-item:last-child{border-bottom:none}.panel-list-item:hover{background:var(--accent)}.panel-list-item-info{flex-direction:column;gap:.125rem;min-width:0;display:flex}.panel-item-name{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}.panel-item-time{color:var(--muted-foreground);font-family:JetBrains Mono,monospace;font-size:.6875rem}.panel-empty{color:var(--muted-foreground);text-align:center;padding:1.5rem 1.25rem;font-size:.8125rem;font-style:italic}.tab-nav{border-bottom:1px solid var(--border);align-items:center;gap:0;display:flex}.tab-item{color:var(--muted-foreground);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s}.tab-item:hover{color:var(--foreground)}.tab-item.active{color:var(--foreground);border-bottom-color:var(--primary)}.integration-card-v2{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;gap:.5rem;padding:1.25rem;transition:border-color .15s,box-shadow .15s;display:flex}.integration-card-v2:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong,#374962)}.integration-card-v2-head{justify-content:space-between;align-items:center;display:flex}.category-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);background:var(--secondary);border-radius:calc(var(--radius-sm) - 2px);padding:.1875rem .5rem;font-size:.625rem;font-weight:700}.integration-card-v2-title{color:var(--foreground);font-size:.9375rem;font-weight:600;transition:color .15s;display:block}.integration-card-v2:hover .integration-card-v2-title{color:var(--primary)}.integration-card-v2-desc{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8125rem;overflow:hidden}.integration-card-v2-cron{color:var(--muted-foreground);align-items:center;gap:.375rem;margin-top:.125rem;display:flex}.integration-card-v2-cron svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:.875rem;height:.875rem}.cron-expr{color:var(--muted-foreground);font-family:JetBrains Mono,monospace;font-size:.75rem}.integration-card-v2-exec{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.75rem;display:flex}.exec-none{font-style:italic}.integration-card-v2-actions{border-top:1px solid var(--border);align-items:center;gap:.5rem;margin-top:.125rem;padding-top:.625rem;display:flex}.view-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0;align-items:center;display:flex;overflow:hidden}.view-toggle-btn{cursor:pointer;color:var(--muted-foreground);background:0 0;border:none;justify-content:center;align-items:center;padding:.375rem .5rem;font-family:inherit;transition:background .12s,color .12s;display:inline-flex}.view-toggle-btn:hover{color:var(--foreground)}.view-toggle-btn.active{background:var(--secondary);color:var(--foreground)}.view-toggle-btn svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.integrations-table-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.integrations-table{border-collapse:collapse;width:100%;font-size:.8125rem}.integrations-table thead{background:var(--secondary);border-bottom:1px solid var(--border)}.integrations-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);white-space:nowrap;border-bottom:none;padding:.5rem .875rem;font-size:.6875rem;font-weight:600}.integrations-table-row{border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}.integrations-table-row:last-child{border-bottom:none}.integrations-table-row:hover{background:var(--secondary)}.integrations-table td{color:var(--foreground);vertical-align:middle;border-bottom:none;padding:.625rem .875rem}.col-name{width:auto;min-width:200px}.col-seller{min-width:140px}.col-cron{min-width:120px}.col-exec,.col-status{min-width:130px}.col-actions{text-align:right;width:80px}.table-name-cell{align-items:center;gap:.5rem;min-width:0;display:flex}.table-name-link{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-weight:600;text-decoration:none;transition:color .12s;overflow:hidden}.table-name-link:hover{color:var(--primary)}.category-badge-xs{letter-spacing:.07em;text-transform:uppercase;color:var(--muted-foreground);background:var(--secondary);border-radius:calc(var(--radius-sm) - 2px);white-space:nowrap;flex-shrink:0;padding:.125rem .375rem;font-size:.5625rem;font-weight:700}.table-status-cell{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.cron-code{color:var(--muted-foreground);background:var(--secondary);border-radius:var(--radius-sm);padding:.125rem .375rem;font-family:JetBrains Mono,monospace;font-size:.75rem}.integrations-toolbar .search-input-wrap{flex:1;min-width:180px}.tunnel-table-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.tunnel-table{border-collapse:collapse;width:100%}.tunnel-table thead th{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.75rem 1rem;font-size:.6875rem;font-weight:600}.tunnel-table tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.tunnel-table tbody tr:last-child{border-bottom:none}.tunnel-table tbody tr:hover{background:var(--accent)}.tunnel-table tbody td{color:var(--foreground);vertical-align:middle;padding:.875rem 1rem;font-size:.8125rem}.tunnel-table .cell-mono{color:var(--muted-foreground);font-family:JetBrains Mono,monospace;font-size:.75rem}.tunnel-table .cell-uptime{color:var(--muted-foreground)}.tunnel-table .cell-actions{text-align:center;width:3rem}.tunnel-status-online{color:var(--success)}.tunnel-status-pending{color:var(--warning)}.tunnel-status-offline{color:var(--destructive,#ef4343)}.tunnel-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);overflow:hidden}.tunnel-card-row{justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.tunnel-creds{border-top:1px solid var(--border);background:var(--muted,rgba(0,0,0,.03));flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.tunnel-cred-row{align-items:flex-start;gap:.75rem;font-size:.8125rem;display:flex}.tunnel-cred-label{width:6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;padding-top:.125rem;font-size:.75rem}.tunnel-cred-value{color:var(--foreground);flex:1;min-width:0;font-family:JetBrains Mono,monospace;font-size:.8rem}.tunnel-verified-msg{color:var(--muted-foreground);margin-top:.75rem;font-size:.75rem}.sql-presets{flex-wrap:wrap;gap:.5rem;display:flex}.sql-preset-btn{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);cursor:pointer;white-space:nowrap;padding:.375rem .875rem;font-size:.8125rem;transition:background .15s,border-color .15s,color .15s}.sql-preset-btn:hover{background:var(--accent);border-color:var(--primary);color:var(--primary)}.sql-editor-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.sql-editor-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.625rem 1rem;display:flex}.sql-connection-label{color:var(--muted-foreground);align-items:center;gap:.5rem;font-family:JetBrains Mono,monospace;font-size:.8125rem;display:flex}.sql-connection-label svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:.875rem;height:.875rem}.sql-editor-card-body .sql-editor-wrap{border:none;border-radius:0}.sql-editor-card-body .sql-editor{border:none;border-bottom:1px solid var(--border);border-radius:0}.sql-result-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.sql-result-section-header{color:var(--muted-foreground);border-bottom:1px solid var(--border);padding:.75rem 1rem;font-size:.8125rem;font-weight:500}.sql-result-placeholder{color:var(--muted-foreground);justify-content:center;align-items:center;padding:3rem 1rem;font-size:.875rem;display:flex}