:root{--font:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--text:#172b4d;--text-subtle:#44546f;--text-subtlest:#626f86;--border:#dcdfe4;--border-input:#8590a2;--surface:#fff;--surface-sunken:#f7f8f9;--surface-hover:#f1f2f4;--brand:#0c66e4;--brand-hover:#05c;--brand-subtle:#e9f2ff;--success-bg:#dcfff1;--success-fg:#216e4e;--warning-bg:#fff7d6;--warning-fg:#7f5f01;--danger-bg:#ffeceb;--danger-fg:#ae2e24;--discovery-bg:#f3f0ff;--discovery-fg:#5e4db2;--neutral-bg:#f1f2f4;--neutral-fg:#44546f;--radius:4px;--radius-lg:8px;--button-height:32px;--control-height:40px;--focus:#388bff;--info-bg:#e9f2ff;--info-fg:#05c;--overlay:#091e428a;--shadow-overlay:0 8px 12px #091e4226, 0 0 1px #091e424f;--neutral-button:#091e420f;--neutral-button-hover:#091e4224}*,:before,:after{box-sizing:border-box}body{background:var(--surface);color:var(--text);font-family:var(--font);margin:0;font-size:14px;line-height:20px}a{color:var(--brand)}a:hover{color:var(--brand-hover)}h1{margin:0;font-size:24px;font-weight:600;line-height:28px}h2{margin:0;font-size:16px;font-weight:600;line-height:20px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);flex-direction:column;flex:0 0 240px;gap:4px;padding:16px 12px 24px;display:flex}.sidebar-group{flex-direction:column;gap:4px;margin-bottom:20px;display:flex}.sidebar-workspace{align-items:center;gap:12px;margin-bottom:20px;padding:8px;display:flex}.sidebar-avatar{background:var(--brand);color:#fff;border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;height:32px;font-size:13px;font-weight:600;display:flex}.sidebar-workspace-text{flex-direction:column;min-width:0;display:flex}.sidebar-workspace-text strong,.sidebar-workspace-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-workspace-text span{color:var(--text-subtle);font-size:12px;line-height:16px}.sidebar .nav-item{border-radius:var(--radius);min-height:40px;color:var(--text-subtle);align-items:center;gap:12px;padding:0 12px;font-weight:500;text-decoration:none;display:flex}.sidebar .nav-item[aria-disabled=true]{color:var(--text-subtlest);opacity:.6;cursor:default}.sidebar-brand{padding:4px 12px 16px;font-weight:600}.sidebar-label{color:var(--text-subtlest);padding:12px 12px 4px;font-size:12px;font-weight:600}.sidebar a{border-radius:var(--radius);min-height:40px;color:var(--text-subtle);align-items:center;gap:12px;padding:0 12px;font-weight:500;text-decoration:none;display:flex}.sidebar a:hover{background:var(--surface-hover);color:var(--text)}.sidebar a.active{background:var(--brand-subtle);color:var(--brand);font-weight:600}.sidebar-footer{color:var(--text-subtlest);flex-direction:column;gap:8px;margin-top:auto;padding:12px;font-size:12px;display:flex}.main{flex:auto;min-width:0;padding:32px 40px 64px}.page{flex-direction:column;gap:24px;max-width:1080px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.page-title{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.breadcrumb{color:var(--text-subtle);font-size:12px}.subtle{color:var(--text-subtle)}.btn{min-height:var(--button-height);border-radius:var(--radius);font:inherit;white-space:nowrap;cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-hover);color:#fff}.btn-secondary{background:var(--neutral-button);color:var(--text)}.btn-secondary:hover{background:var(--neutral-button-hover);color:var(--text)}.btn-subtle{color:var(--text-subtle);background:0 0}.btn-subtle:hover{background:var(--neutral-button);color:var(--text)}.btn-icon{width:var(--button-height);padding:0}.btn-link{color:var(--brand);background:0 0}.btn-link:hover{text-decoration:underline}.btn-link.btn-inline{white-space:normal;text-align:left;min-height:0;padding:0}.sidebar-footer .btn-link{align-self:flex-start}.btn:disabled{opacity:.5;cursor:not-allowed}.form{flex-direction:column;gap:20px;max-width:560px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-subtle);font-size:12px;font-weight:600;line-height:16px}.required{color:var(--danger-fg)}.field input,.field select{height:var(--control-height);border:1px solid var(--border-input);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;padding:0 12px}.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-subtle) 50%), linear-gradient(135deg, var(--text-subtle) 50%, transparent 50%);background-position:calc(100% - 20px),calc(100% - 15px);background-repeat:no-repeat;background-size:5px 5px;padding-right:40px}.field input:focus,.field select:focus{outline:2px solid var(--focus);outline-offset:-1px}.field input[aria-invalid=true]{border-color:var(--danger-fg)}.field-hint{color:var(--text-subtlest);font-size:12px}.field-error{color:var(--danger-fg);align-items:center;gap:4px;font-size:12px;line-height:16px;display:flex}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search{height:var(--control-height);border:1px solid var(--border-input);border-radius:var(--radius);min-width:280px;font:inherit;padding:0 12px}.tabs{border-bottom:2px solid var(--border);flex-wrap:wrap;gap:8px;display:flex}.tab{min-height:var(--control-height);font:inherit;color:var(--text-subtle);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin:0 12px -2px 0;padding:0 4px;font-weight:500}.tab[aria-pressed=true]{border-bottom-color:var(--brand);color:var(--brand)}.table{flex-direction:column;display:flex;overflow-x:auto}.table-row{border-bottom:1px solid var(--border);align-items:center;gap:24px;min-height:56px;display:grid}.table-head{min-height:0;color:var(--text-subtle);border-bottom-width:2px;padding:8px 0;font-size:12px;font-weight:600}.lozenge{white-space:nowrap;border-radius:3px;padding:2px 6px;font-size:12px;font-weight:600;line-height:16px;display:inline-block}.lozenge-success{background:var(--success-bg);color:var(--success-fg)}.lozenge-warning{background:var(--warning-bg);color:var(--warning-fg)}.lozenge-danger{background:var(--danger-bg);color:var(--danger-fg)}.lozenge-discovery{background:var(--discovery-bg);color:var(--discovery-fg)}.lozenge-neutral{background:var(--neutral-bg);color:var(--neutral-fg)}.lozenge-info{background:var(--brand-subtle);color:var(--brand-hover)}.banner{border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:16px;display:flex}.banner-danger{background:var(--danger-bg);color:var(--danger-fg)}.banner-info{background:var(--brand-subtle);color:var(--text)}.card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.details{grid-template-columns:200px 1fr;gap:12px 24px;margin:0;display:grid}.details dt{color:var(--text-subtle)}.details dd{margin:0}.empty{text-align:center;color:var(--text-subtle);padding:48px 0}.center{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.skeleton{border-bottom:1px solid var(--border);background:linear-gradient(90deg, var(--surface-sunken), var(--surface-hover), var(--surface-sunken));height:56px}@media (width<=720px){.shell{flex-direction:column}.sidebar{border-right:0;border-bottom:1px solid var(--border);flex:none}.main{padding:24px 16px 48px}.details{grid-template-columns:1fr}}.btn-danger{background:var(--danger-fg);color:#fff}.btn-danger:hover{color:#fff;background:#9e2a21}.section-message{border-radius:var(--radius);gap:16px;padding:16px;display:flex}.section-message-icon{padding-top:0;display:flex}.section-message-body{flex-direction:column;gap:8px;min-width:0;display:flex}.section-message-title{font-size:14px;line-height:20px}.section-message-actions{flex-wrap:wrap;gap:16px;display:flex}.section-message-actions .btn{min-height:auto;padding:0}.section-message-information{background:var(--info-bg)}.section-message-information .section-message-icon{color:var(--info-fg)}.section-message-warning{background:var(--warning-bg)}.section-message-warning .section-message-icon{color:#b38600}.section-message-error{background:var(--danger-bg)}.section-message-error .section-message-icon{color:var(--danger-fg)}.section-message-success{background:var(--success-bg)}.section-message-success .section-message-icon{color:var(--success-fg)}.section-message-discovery{background:var(--discovery-bg)}.section-message-discovery .section-message-icon{color:var(--discovery-fg)}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:464px;margin:0 auto;padding:48px 0;display:flex}.empty-state h2{font-size:20px;line-height:24px}.empty-state p{color:var(--text-subtle);margin:0}.progress{background:var(--neutral-button);border-radius:3px;height:6px;overflow:hidden}.progress>div{background:var(--brand);height:100%}.modal[open]{flex-direction:column;display:flex}.modal{border-radius:var(--radius);width:min(400px,100vw - 32px);max-height:calc(100vh - 120px);box-shadow:var(--shadow-overlay);color:var(--text);border:0;padding:0;overflow:hidden}.modal-medium{width:min(600px,100vw - 32px)}.modal::backdrop{background:var(--overlay)}.modal-header{align-items:center;gap:8px;padding:24px 24px 2px;display:flex}.modal-header h2{flex:auto;font-size:20px;line-height:24px}.modal-icon{display:flex}.modal-icon-danger{color:var(--danger-fg)}.modal-icon-warning{color:#b38600}.modal-body{min-height:0;padding:2px 24px;overflow-y:auto}.modal-body p{margin:16px 0}.modal-body .form{gap:16px;max-width:none;padding:16px 0}.modal-footer-start{margin-right:auto}.modal-footer{justify-content:flex-end;gap:8px;padding:22px 24px 24px;display:flex}.flag-group{z-index:600;flex-direction:column;gap:8px;width:min(400px,100vw - 32px);display:flex;position:fixed;bottom:32px;left:32px}.flag{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-overlay);align-items:flex-start;gap:16px;padding:16px;display:flex}.flag-icon{display:flex}.flag-success .flag-icon{color:var(--success-fg)}.flag-error .flag-icon{color:var(--danger-fg)}.flag-information .flag-icon{color:var(--info-fg)}.flag-warning .flag-icon{color:#b38600}.flag-body{flex-direction:column;flex:auto;gap:4px;display:flex}.flag .btn-icon{margin:-6px -6px 0 0}.channel-list{flex-direction:column;gap:12px;display:flex}.channel{flex-wrap:wrap;align-items:center;gap:16px 32px;padding:20px 24px;display:flex}.channel-id{flex-direction:column;flex:200px;gap:2px;min-width:0;display:flex}.channel-title{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.channel-usage{flex-direction:column;flex:2 260px;gap:8px;min-width:0;display:flex}.channel-usage-label{justify-content:space-between;gap:8px;display:flex}.channel .section-message{flex:100%}.channel-actions{align-items:center;gap:8px;display:flex}.grid-3{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;display:grid}.btn-link-danger,.btn-subtle.btn-link-danger{color:var(--danger-fg)}.spinner{border:2px solid var(--neutral-button-hover);border-top-color:var(--brand);border-radius:50%;flex:none;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.choices{border:0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0;padding:0;display:grid}.choices legend{color:var(--text-subtle);padding:0 0 8px;font-size:12px;font-weight:600;line-height:16px}.choice{border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;gap:12px;padding:16px;display:flex;position:relative}.choice:hover{background:var(--surface-sunken)}.choice input{opacity:0;pointer-events:none;position:absolute}.choice:has(input:checked){border:2px solid var(--brand);background:var(--brand-subtle);padding:15px}.choice:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.choice-icon{color:var(--brand);flex:none}.choice-text{flex-direction:column;gap:4px;display:flex}.choice-text span{color:var(--text-subtle);font-size:12px;line-height:16px}.pairing{flex-wrap:wrap;align-items:flex-start;gap:24px;padding:16px 0;display:flex}.pairing-visual{flex-direction:column;flex:0 0 220px;align-items:center;gap:8px;display:flex}.qr-frame{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;justify-content:center;align-items:center;width:220px;height:220px;display:flex;position:relative}.qr-frame img{width:200px;height:200px}.qr-expired{border-radius:var(--radius-lg);text-align:center;background:#fffffff0;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:absolute;inset:0}.pairing-text{flex-direction:column;flex:240px;gap:16px;min-width:0;display:flex}.steps{flex-direction:column;gap:8px;margin:0;padding-left:20px;display:flex}.waiting{color:var(--text-subtle);align-items:center;gap:8px;display:flex}.pair-code-box{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-sunken);letter-spacing:4px;color:var(--text);align-items:center;gap:4px;padding:12px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:28px;font-weight:600;line-height:36px;display:flex}.connected-state{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:24px 0 8px;display:flex}.connected-state .icon{color:var(--success-fg)}.connected-state p{color:var(--text-subtle);margin:0}.onboarding{flex-direction:column;gap:24px;width:min(480px,100%);padding:32px;display:flex}.onboarding-head{flex-direction:column;gap:8px;display:flex}.onboarding-head p,.onboarding-foot{margin:0}.onboarding .form{max-width:none}.btn-block{width:100%}.sign-in-page{background:var(--surface-sunken)}.sign-in{background:var(--surface);flex-direction:column;gap:20px;width:min(400px,100%);padding:32px;display:flex}.sign-in-head{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.sign-in-head p{margin:0}.sign-in-mark{background:var(--brand);color:#fff;letter-spacing:.5px;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.sign-in .form{gap:16px}.btn-large{min-height:40px}.divider{color:var(--text-subtlest);align-items:center;gap:12px;font-size:12px;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--border);flex:1}.sign-in-foot{text-align:center;margin:0}.sign-in-links{justify-content:space-between;gap:16px;display:flex}.code-input{letter-spacing:8px;text-align:center;font-variant-numeric:tabular-nums;font-size:20px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.strong{font-weight:600}.num{text-align:right;font-variant-numeric:tabular-nums}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.section{flex-direction:column;gap:12px;display:flex}.section>p{margin:0}.details-row{display:contents}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.chips{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.chip{min-height:var(--button-height);border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--text);cursor:pointer;border-radius:16px;padding:0 12px;font-weight:500}.chip:hover{background:var(--surface-hover)}.chip[aria-pressed=true]{border-color:var(--brand);background:var(--brand-subtle);color:var(--brand)}.toolbar .search{min-width:min(320px,100%)}.data-table{border-collapse:collapse;width:100%}.data-table th{border-bottom:2px solid var(--border);color:var(--text-subtle);text-align:left;white-space:nowrap;padding:8px 12px;font-size:12px;font-weight:600;line-height:16px}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px}.data-table tbody tr:hover{background:var(--surface-sunken)}.data-table th.num,.data-table td.num{text-align:right}.row-link{color:var(--text);font-weight:600;text-decoration:none}.row-link:hover{color:var(--brand);text-decoration:underline}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dropzone{border:2px dashed var(--border-input);border-radius:var(--radius-lg);background:var(--surface-sunken);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:40px 24px;display:flex}.dropzone .icon{color:var(--brand)}.dropzone:hover,.dropzone-over{border-color:var(--brand);background:var(--brand-subtle)}.dropzone:focus-within{outline:2px solid var(--focus);outline-offset:2px}.dropzone .btn{margin-top:8px}.template{flex-direction:column;gap:16px;display:flex}.template-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.template-head p{margin:4px 0 0}.template-grid{grid-template-columns:minmax(140px,1fr) minmax(200px,2fr) minmax(140px,1fr)}.mapping-grid{grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(220px,1.4fr);min-height:56px}.mapping-grid .field select{width:100%}.cta{background:var(--surface-sunken);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.cta p{margin:4px 0 0}.file-bar{flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;display:flex}.file-bar .icon{color:var(--brand)}.import-running{flex-direction:column;gap:12px;display:flex}.import-running p{margin:0}.integration-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.integration{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.integration p{flex:1;margin:0}.integration-head{align-items:center;gap:12px;display:flex}.integration-tile{background:var(--brand-subtle);width:40px;height:40px;color:var(--info-fg);border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.integration-tile-soon{background:var(--neutral-button);color:var(--text-subtle)}
