@charset "UTF-8";:root{--color-accent: #3651e0;--color-accent-hover: #2c42c2;--color-accent-soft: #eef1fd;--color-accent-contrast: #ffffff;--color-bg: #f6f7f9;--color-surface: #ffffff;--viz-1: #2a78d6;--viz-2: #eb6834;--viz-3: #1baf7a;--viz-4: #eda100;--viz-5: #e87ba4;--color-surface-sunken: #fafafb;--color-surface-raised: #ffffff;--color-text: #1a1d24;--color-text-muted: #626a7a;--color-text-faint: #9aa1b0;--color-border: #e4e6ec;--color-border-strong: #d3d6e0;--color-success: #17824f;--color-success-bg: #e7f6ee;--color-warning: #9a6300;--color-warning-bg: #fdf3dd;--color-error: #c02b3c;--color-error-bg: #fbeaec;--color-info: #3651e0;--color-info-bg: #eef1fd;--font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-page-title: 28px;--text-section-title: 18px;--text-body: 14px;--text-support: 12.5px;--line-tight: 1.25;--line-normal: 1.5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(16, 20, 30, .05);--shadow-sm: 0 1px 3px rgba(16, 20, 30, .08), 0 1px 2px rgba(16, 20, 30, .04);--shadow-md: 0 4px 12px rgba(16, 20, 30, .08), 0 2px 4px rgba(16, 20, 30, .04);--shadow-lg: 0 12px 32px rgba(16, 20, 30, .12);--motion-fast: .12s;--motion-base: .18s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--focus-ring: 0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-accent);font-family:var(--font-sans);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--viz-1: #3987e5;--viz-2: #d95926;--viz-3: #199e70;--viz-4: #c98500;--viz-5: #d55181;color-scheme:dark;--color-accent: #6b83ff;--color-accent-hover: #8296ff;--color-accent-soft: #1d2447;--color-accent-contrast: #ffffff;--color-bg: #0d0f13;--color-surface: #15181e;--color-surface-sunken: #111318;--color-surface-raised: #1b1f27;--color-text: #eceef2;--color-text-muted: #a1a8b6;--color-text-faint: #6c7383;--color-border: #242833;--color-border-strong: #313644;--color-success: #4cc38a;--color-success-bg: #12291f;--color-warning: #e2b04a;--color-warning-bg: #2c2312;--color-error: #f0707f;--color-error-bg: #2f1519;--color-info: #7d92ff;--color-info-bg: #1b2142;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .35);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55)}}:root[data-theme=dark]{--viz-1: #3987e5;--viz-2: #d95926;--viz-3: #199e70;--viz-4: #c98500;--viz-5: #d55181;color-scheme:dark;--color-accent: #6b83ff;--color-accent-hover: #8296ff;--color-accent-soft: #1d2447;--color-accent-contrast: #ffffff;--color-bg: #0d0f13;--color-surface: #15181e;--color-surface-sunken: #111318;--color-surface-raised: #1b1f27;--color-text: #eceef2;--color-text-muted: #a1a8b6;--color-text-faint: #6c7383;--color-border: #242833;--color-border-strong: #313644;--color-success: #4cc38a;--color-success-bg: #12291f;--color-warning: #e2b04a;--color-warning-bg: #2c2312;--color-error: #f0707f;--color-error-bg: #2f1519;--color-info: #7d92ff;--color-info-bg: #1b2142;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .35);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55)}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body);font-weight:500;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard);white-space:nowrap}.btn:hover:not(:disabled){background:var(--color-surface-sunken)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover:not(:disabled){background:var(--color-surface-sunken)}.btn-danger{color:var(--color-error);border-color:var(--color-error-bg)}.btn-danger:hover:not(:disabled){background:var(--color-error-bg)}.btn-sm{height:28px;padding:0 var(--space-3);font-size:var(--text-support)}.btn-icon{width:36px;padding:0}a.btn{text-decoration:none}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.field label{font-size:var(--text-support);font-weight:600;color:var(--color-text-muted)}.field .hint{font-size:var(--text-support);color:var(--color-text-faint)}.field .error{font-size:var(--text-support);color:var(--color-error)}.input,.select,.textarea{height:38px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body);transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard);width:100%}.textarea{height:auto;min-height:84px;padding:var(--space-2) var(--space-3);resize:vertical}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-border-strong)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.input.invalid{border-color:var(--color-error)}input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.input:disabled,.select:disabled,.textarea:disabled{background:var(--color-surface-sunken);color:var(--color-text-muted);cursor:not-allowed;opacity:.8}.field:not(.field-static):has(:is(.input,.select,.textarea):not([type=checkbox],[type=radio],[type=color],[type=range])){--fl-offset: 7px;--fl-rest-top: 19px;position:relative;padding-top:var(--fl-offset)}.field:not(.field-static):has(:is(.input,.select,.textarea):not([type=checkbox],[type=radio],[type=color],[type=range]))>label{position:absolute;z-index:1;top:calc(var(--fl-offset) + var(--fl-rest-top));left:calc(var(--space-3) - 5px);max-width:calc(100% - var(--space-3) * 2);padding:0 5px;transform:translateY(-50%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-body);font-weight:400;line-height:1.25;color:var(--color-text-faint);background:transparent;border-radius:var(--radius-sm);pointer-events:none;transition:top var(--motion-fast) var(--ease-standard),font-size var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.field:not(.field-static):has(:is(.input,.select,.textarea):not([type=checkbox],[type=radio],[type=color],[type=range])):where(:focus-within,:has(:is(.input,.textarea):not(:placeholder-shown)),:has(.select,:autofill,input:is([type=date],[type=datetime-local],[type=time],[type=month],[type=week],[type=file])))>label{top:var(--fl-offset);font-size:var(--text-support);font-weight:500;color:var(--color-text-muted);background-color:var(--color-surface)}.field:not(.field-static):not(:focus-within) :is(.input,.textarea):placeholder-shown::placeholder{color:transparent}.field:not(.field-static):has(:is(.input,.select,.textarea):not([type=checkbox],[type=radio],[type=color],[type=range])):focus-within>label{color:var(--color-accent)}.field:not(.field-static):has(:is(.input,.select,.textarea):not([type=checkbox],[type=radio],[type=color],[type=range])):has(.invalid,[aria-invalid=true])>label{color:var(--color-error)}.field:not(.field-static):has(:is(.input,.select,.textarea):not([type=checkbox],[type=radio],[type=color],[type=range])):has(:is(.input,.select,.textarea):disabled)>label{color:var(--color-text-faint)}.field>label :is(.required,.required-mark){color:var(--color-error)}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.panel-body{padding:var(--space-5)}.table-scroll{overflow-x:auto}.data-table{width:100%;min-width:560px;border-collapse:collapse;font-size:var(--text-body)}.data-table th{text-align:left;font-size:var(--text-support);font-weight:600;color:var(--color-text-muted);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}.data-table tbody tr{transition:background var(--motion-fast) var(--ease-standard);cursor:pointer}.data-table tbody tr:hover{background:var(--color-surface-sunken)}.data-table .cell-primary{font-weight:600}.data-table .cell-muted{color:var(--color-text-muted);font-size:var(--text-support)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-support);font-weight:600;line-height:1.6;white-space:nowrap}.badge-neutral{background:var(--color-surface-sunken);color:var(--color-text-muted);border:1px solid var(--color-border)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-error{background:var(--color-error-bg);color:var(--color-error)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.tabs{display:flex;gap:var(--space-5);border-bottom:1px solid var(--color-border)}.tab{padding:var(--space-3) 0;font-size:var(--text-body);font-weight:500;color:var(--color-text-muted);border-bottom:2px solid transparent;cursor:pointer;background:none;border-left:none;border-right:none;border-top:none;transition:color var(--motion-fast) var(--ease-standard)}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.drawer-backdrop{position:fixed;inset:0;background:#0f111552;z-index:40;animation:fade-in var(--motion-base) var(--ease-standard)}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:41;display:flex;flex-direction:column;animation:slide-in var(--motion-base) var(--ease-standard)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.drawer-title{font-size:var(--text-section-title);font-weight:600}.drawer-body{flex:1;overflow-y:auto;padding:var(--space-5)}.drawer-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8) var(--space-5);color:var(--color-text-muted)}.empty-state h3{font-size:var(--text-section-title);color:var(--color-text);margin:var(--space-3) 0 var(--space-1)}.empty-state p{font-size:var(--text-body);max-width:360px;margin:0 0 var(--space-4)}.empty-state .actions{display:flex;gap:var(--space-3)}.skeleton{background:linear-gradient(90deg,var(--color-border) 25%,var(--color-surface-sunken) 37%,var(--color-border) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.drawer,.drawer-backdrop,.skeleton{animation:none}}.ws-notification{background:var(--color-surface);border:1px solid var(--color-accent);border-left:4px solid var(--color-accent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-lg);width:320px;cursor:pointer;animation:slide-in .3s ease-out;transition:transform .2s,box-shadow .2s}.ws-notification:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.ws-notification-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.ws-notification-header strong{font-size:var(--text-body);color:var(--color-text)}.ws-notification-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:0;margin-left:var(--space-2)}.ws-notification-close:hover{color:var(--color-text)}.ws-notification-body p{font-size:var(--text-support);color:var(--color-text-muted);margin:0 0 var(--space-1) 0}*{box-sizing:border-box}html,body{margin:0;min-height:100vh;font-family:var(--font-sans);font-size:var(--text-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}a{color:var(--color-accent)}::selection{background:var(--color-accent-soft)}.suggest-menu{position:fixed;z-index:1000;max-height:260px;overflow:auto;padding:4px 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:14px}.suggest-option{padding:6px 12px;cursor:pointer;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggest-option:hover,.suggest-option.active{background:var(--color-accent-soft)}.app-tooltip{position:fixed;z-index:2000;max-width:280px;padding:6px 10px;border-radius:6px;background:#1f2329;color:#fff;font-size:12px;line-height:1.4;pointer-events:none;opacity:0;transform:translateY(-2px);transition:opacity .12s ease,transform .12s ease;box-shadow:0 4px 14px #0000002e}.app-tooltip.in{opacity:1;transform:none}:root[data-theme=dark] .app-tooltip{background:#e8eaed;color:#1f2329}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .app-tooltip{background:#e8eaed;color:#1f2329}}:root{--root-surface: var(--color-surface);--root-surface-sunken: var(--color-surface-sunken);--root-border: var(--color-border);--root-text: var(--color-text);--root-text-muted: var(--color-text-muted);--root-text-faint: var(--color-text-faint);--root-accent: var(--color-accent);--root-accent-soft: var(--color-accent-soft)}html.chrome-custom .sidebar,html.chrome-custom .topbar{background:var(--chrome-bg);--color-surface: var(--chrome-bg);--color-surface-sunken: color-mix(in srgb, var(--chrome-text) 10%, var(--chrome-bg));--color-border: color-mix(in srgb, var(--chrome-text) 16%, var(--chrome-bg));--color-text: var(--chrome-text);--color-text-muted: color-mix(in srgb, var(--chrome-text) 80%, var(--chrome-bg));--color-text-faint: color-mix(in srgb, var(--chrome-text) 62%, var(--chrome-bg));--color-accent: var(--chrome-text);--color-accent-soft: color-mix(in srgb, var(--chrome-text) 18%, var(--chrome-bg));color:var(--chrome-text)}html.chrome-custom .topbar .theme-menu-panel,html.chrome-custom .topbar .user-menu-panel,html.chrome-custom .topbar .launcher,html.chrome-custom .topbar .bell-panel{--color-surface: var(--root-surface);--color-surface-sunken: var(--root-surface-sunken);--color-border: var(--root-border);--color-text: var(--root-text);--color-text-muted: var(--root-text-muted);--color-text-faint: var(--root-text-faint);--color-accent: var(--root-accent);--color-accent-soft: var(--root-accent-soft);color:var(--root-text)}html.chrome-custom .sidebar .foot-logo img[src$=".png"]{filter:none;background:#fff;border-radius:6px;padding:3px 6px}html:root.accent-custom{--color-accent: var(--accent-custom);--color-accent-hover: color-mix(in srgb, var(--accent-custom) 84%, #000);--color-accent-soft: color-mix(in srgb, var(--accent-custom) 14%, var(--color-surface));--color-accent-contrast: #fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.view-only{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fef3c7;color:#92400e;font-size:13px}.splitter{position:relative;align-self:stretch;justify-self:stretch;z-index:2;outline:none;touch-action:none}.splitter:after{content:"";position:absolute;border-radius:999px;background:var(--color-border-strong);opacity:.7;transition:background .15s,opacity .15s}.splitter-x{cursor:col-resize;min-width:8px}.splitter-x:after{top:50%;left:50%;width:4px;height:40px;transform:translate(-50%,-50%)}.splitter-y{cursor:row-resize;min-height:8px}.splitter-y:after{top:50%;left:50%;width:40px;height:4px;transform:translate(-50%,-50%)}.splitter:hover:after,.splitter:focus-visible:after{background:var(--color-accent);opacity:1}body.resizing-x,body.resizing-x *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}body.resizing-y,body.resizing-y *{cursor:row-resize!important;-webkit-user-select:none!important;user-select:none!important}.skeleton{display:grid;gap:12px;width:min(560px,90%);margin:24px;align-self:start}.skeleton i{display:block;height:14px;border-radius:6px;background:var(--color-surface-sunken);animation:skeleton-pulse 1.2s infinite ease-in-out}.skeleton .s1{height:22px;width:60%}.skeleton .s2{width:35%}.skeleton .s3{width:100%}.skeleton .s4{width:80%}@keyframes skeleton-pulse{50%{opacity:.45}}.row-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.row-tag{padding:0 6px;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent);font-size:11px;font-weight:500}.dupe{display:block;margin-top:2px;font-size:11.5px;font-weight:500;color:#b45309;text-decoration:none}.dupe:hover{text-decoration:underline}
