:root{color-scheme:light;--surface-base: #f3f5f8;--surface-nav: #eceff3;--surface-raised: #ffffff;--surface-floating: #ffffff;--surface-modal: #ffffff;--surface-hover: rgba(20, 30, 50, .05);--surface-active: rgba(20, 30, 50, .08);--surface-input: #ffffff;--surface-glass: rgba(255, 255, 255, .82);--overlay: rgba(16, 22, 32, .38);--border-subtle: rgba(20, 30, 50, .08);--border-strong: rgba(20, 30, 50, .16);--border-frame: rgba(20, 30, 50, .22);--edge-light: rgba(255, 255, 255, .85);--edge-shade: rgba(20, 30, 50, .06);--text-primary: #17202a;--text-secondary: #5d6977;--text-muted: #8a95a3;--text-on-accent: #ffffff;--accent-primary: #2f7be0;--accent-hover: #3d88ea;--accent-active: #2568c4;--accent-soft: rgba(47, 123, 224, .12);--accent-ring: rgba(47, 123, 224, .35);--status-success: #1f9d61;--status-warning: #c98a12;--status-danger: #d6434f;--status-info: #2f7be0;--status-neutral: #6f7a88;--status-success-soft: rgba(31, 157, 97, .14);--status-warning-soft: rgba(201, 138, 18, .16);--status-danger-soft: rgba(214, 67, 79, .14);--status-info-soft: rgba(47, 123, 224, .14);--status-neutral-soft: rgba(111, 122, 136, .16);--shadow-small: 0 1px 2px rgba(16, 22, 32, .06), 0 1px 1px rgba(16, 22, 32, .04);--shadow-medium: 0 4px 12px rgba(16, 22, 32, .08), 0 1px 3px rgba(16, 22, 32, .06);--shadow-large: 0 16px 40px rgba(16, 22, 32, .16), 0 4px 12px rgba(16, 22, 32, .08);--shadow-frame: 0 24px 60px rgba(16, 22, 32, .28);--shadow-inset-light: inset 0 1px 0 var(--edge-light);--shadow-inset-press: inset 0 1px 2px rgba(16, 22, 32, .12);--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: .875rem;--radius-xl: 1.125rem;--radius-pill: 999px;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.25rem;--s-6: 1.5rem;--s-8: 2rem;--s-10: 2.5rem;--s-12: 3rem;--font-ui: "Inter", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono: "Cascadia Code", "JetBrains Mono", "Fira Code", ui-monospace, Consolas, monospace;--fs-display: 1.75rem;--fs-h1: 1.375rem;--fs-h2: 1.0625rem;--fs-h3: .9375rem;--fs-body: .875rem;--fs-small: .8125rem;--fs-caption: .75rem;--fs-meta: .6875rem;--lh-tight: 1.25;--lh-body: 1.5;--dur-fast: .12s;--dur: .18s;--dur-slow: .22s;--ease: cubic-bezier(.2, .7, .2, 1);--z-nav: 10;--z-panel: 20;--z-titlebar: 30;--z-dropdown: 40;--z-modal: 50;--z-toast: 60;--z-resize: 70;--titlebar-h: 2.5rem;--sidebar-w: 14.5rem;--sidebar-w-collapsed: 3.5rem;--subnav-w: 16.5rem;--panel-w: 20rem;--zoom: 1}:root[data-accent=teal]{--accent-primary: #0f9d9a;--accent-hover: #1fb0ac;--accent-active: #0c8683;--accent-soft: rgba(15, 157, 154, .12);--accent-ring: rgba(15, 157, 154, .35)}:root[data-accent=green]{--accent-primary: #1f9d61;--accent-hover: #2bb071;--accent-active: #1a8752;--accent-soft: rgba(31, 157, 97, .12);--accent-ring: rgba(31, 157, 97, .35)}:root[data-accent=violet]{--accent-primary: #7c5cd6;--accent-hover: #8d70e0;--accent-active: #6a4cc0;--accent-soft: rgba(124, 92, 214, .12);--accent-ring: rgba(124, 92, 214, .35)}:root[data-accent=orange]{--accent-primary: #d9772b;--accent-hover: #e68a42;--accent-active: #c26620;--accent-soft: rgba(217, 119, 43, .12);--accent-ring: rgba(217, 119, 43, .35)}:root[data-accent=neutral]{--accent-primary: #5d6977;--accent-hover: #6f7b89;--accent-active: #4d5866;--accent-soft: rgba(93, 105, 119, .12);--accent-ring: rgba(93, 105, 119, .35)}:root[data-density=compact]{--s-3: .5rem;--s-4: .75rem;--s-5: 1rem;--s-6: 1.25rem;--fs-body: .8125rem}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--surface-base: #0d1117;--surface-nav: #10161e;--surface-raised: #121821;--surface-floating: #18202b;--surface-modal: #18202b;--surface-hover: rgba(255, 255, 255, .05);--surface-active: rgba(255, 255, 255, .08);--surface-input: #0f141c;--surface-glass: rgba(24, 32, 43, .86);--overlay: rgba(4, 8, 14, .55);--border-subtle: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .14);--border-frame: rgba(255, 255, 255, .16);--edge-light: rgba(255, 255, 255, .06);--edge-shade: rgba(0, 0, 0, .35);--text-primary: #f3f6f9;--text-secondary: #a7b0bc;--text-muted: #6f7a88;--accent-primary: #4d8fea;--accent-hover: #63a0f0;--accent-active: #3a7bd6;--accent-soft: rgba(77, 143, 234, .16);--accent-ring: rgba(77, 143, 234, .45);--status-success: #3fbf7f;--status-warning: #e0a63a;--status-danger: #f0616c;--status-info: #4d8fea;--status-neutral: #8a95a3;--shadow-small: 0 1px 2px rgba(0, 0, 0, .35);--shadow-medium: 0 4px 14px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .3);--shadow-large: 0 18px 48px rgba(0, 0, 0, .55), 0 4px 12px rgba(0, 0, 0, .35);--shadow-frame: 0 24px 60px rgba(0, 0, 0, .6);--shadow-inset-press: inset 0 1px 2px rgba(0, 0, 0, .5)}}:root[data-theme=dark]{color-scheme:dark;--surface-base: #0d1117;--surface-nav: #10161e;--surface-raised: #121821;--surface-floating: #18202b;--surface-modal: #18202b;--surface-hover: rgba(255, 255, 255, .05);--surface-active: rgba(255, 255, 255, .08);--surface-input: #0f141c;--surface-glass: rgba(24, 32, 43, .86);--overlay: rgba(4, 8, 14, .55);--border-subtle: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .14);--border-frame: rgba(255, 255, 255, .16);--edge-light: rgba(255, 255, 255, .06);--edge-shade: rgba(0, 0, 0, .35);--text-primary: #f3f6f9;--text-secondary: #a7b0bc;--text-muted: #6f7a88;--accent-primary: #4d8fea;--accent-hover: #63a0f0;--accent-active: #3a7bd6;--accent-soft: rgba(77, 143, 234, .16);--accent-ring: rgba(77, 143, 234, .45);--status-success: #3fbf7f;--status-warning: #e0a63a;--status-danger: #f0616c;--status-info: #4d8fea;--status-neutral: #8a95a3;--shadow-small: 0 1px 2px rgba(0, 0, 0, .35);--shadow-medium: 0 4px 14px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .3);--shadow-large: 0 18px 48px rgba(0, 0, 0, .55), 0 4px 12px rgba(0, 0, 0, .35);--shadow-frame: 0 24px 60px rgba(0, 0, 0, .6);--shadow-inset-press: inset 0 1px 2px rgba(0, 0, 0, .5)}@media(prefers-color-scheme:dark){:root:not([data-theme=light])[data-accent=teal]{--accent-primary: #2fb8b4;--accent-hover: #45c6c2;--accent-active: #22a19d;--accent-soft: rgba(47, 184, 180, .16);--accent-ring: rgba(47, 184, 180, .45)}:root:not([data-theme=light])[data-accent=green]{--accent-primary: #3bbf7e;--accent-hover: #52cc8f;--accent-active: #2fa86c;--accent-soft: rgba(59, 191, 126, .16);--accent-ring: rgba(59, 191, 126, .45)}:root:not([data-theme=light])[data-accent=violet]{--accent-primary: #9b84e6;--accent-hover: #ad99ec;--accent-active: #8a70dc;--accent-soft: rgba(155, 132, 230, .16);--accent-ring: rgba(155, 132, 230, .45)}:root:not([data-theme=light])[data-accent=orange]{--accent-primary: #ec9450;--accent-hover: #f2a668;--accent-active: #d9803c;--accent-soft: rgba(236, 148, 80, .16);--accent-ring: rgba(236, 148, 80, .45)}:root:not([data-theme=light])[data-accent=neutral]{--accent-primary: #8a95a3;--accent-hover: #9ca6b3;--accent-active: #77838f;--accent-soft: rgba(138, 149, 163, .16);--accent-ring: rgba(138, 149, 163, .45)}}:root[data-theme=dark][data-accent=teal]{--accent-primary: #2fb8b4;--accent-hover: #45c6c2;--accent-active: #22a19d;--accent-soft: rgba(47, 184, 180, .16);--accent-ring: rgba(47, 184, 180, .45)}:root[data-theme=dark][data-accent=green]{--accent-primary: #3bbf7e;--accent-hover: #52cc8f;--accent-active: #2fa86c;--accent-soft: rgba(59, 191, 126, .16);--accent-ring: rgba(59, 191, 126, .45)}:root[data-theme=dark][data-accent=violet]{--accent-primary: #9b84e6;--accent-hover: #ad99ec;--accent-active: #8a70dc;--accent-soft: rgba(155, 132, 230, .16);--accent-ring: rgba(155, 132, 230, .45)}:root[data-theme=dark][data-accent=orange]{--accent-primary: #ec9450;--accent-hover: #f2a668;--accent-active: #d9803c;--accent-soft: rgba(236, 148, 80, .16);--accent-ring: rgba(236, 148, 80, .45)}:root[data-theme=dark][data-accent=neutral]{--accent-primary: #8a95a3;--accent-hover: #9ca6b3;--accent-active: #77838f;--accent-soft: rgba(138, 149, 163, .16);--accent-ring: rgba(138, 149, 163, .45)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{font-size:calc(var(--zoom, 1) * clamp(16px,12px + .3636vw,20px))}body{margin:0;background:var(--surface-base);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;overflow:hidden;user-select:none}h1,h2,h3,p{margin:0}h1{font-size:var(--fs-h1);font-weight:600;line-height:var(--lh-tight);letter-spacing:-.01em}h2{font-size:var(--fs-h2);font-weight:600;line-height:var(--lh-tight)}h3{font-size:var(--fs-h3);font-weight:600;line-height:var(--lh-tight)}.t-display{font-size:var(--fs-display);font-weight:600;letter-spacing:-.02em;line-height:var(--lh-tight)}.t-small{font-size:var(--fs-small)}.t-caption{font-size:var(--fs-caption);color:var(--text-secondary)}.t-meta{font-size:var(--fs-meta);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.t-mono{font-family:var(--font-mono);font-size:var(--fs-caption)}.muted{color:var(--text-secondary)}.selectable{user-select:text}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}::selection{background:var(--accent-soft)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-reduced-motion=true] *,:root[data-reduced-motion=true] *:before,:root[data-reduced-motion=true] *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:2.125rem;padding:0 var(--s-4);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-primary);font-weight:500;font-size:var(--fs-small);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-small),var(--shadow-inset-light);transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong);box-shadow:var(--shadow-medium),var(--shadow-inset-light)}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:var(--shadow-inset-press)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{border-color:var(--accent-active);color:var(--text-on-accent);background:linear-gradient(180deg,var(--accent-hover),var(--accent-primary) 55%,var(--accent-active));box-shadow:var(--shadow-small),inset 0 1px #ffffff2e}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,var(--accent-hover),var(--accent-hover) 40%,var(--accent-primary));box-shadow:var(--shadow-medium),inset 0 1px #ffffff2e}.btn-secondary{background:var(--surface-raised)}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);border-color:transparent;box-shadow:none;color:var(--text-primary)}.btn-danger{background:var(--status-danger-soft);border-color:transparent;color:var(--status-danger);box-shadow:none}.btn-danger:hover:not(:disabled){background:var(--status-danger);color:var(--text-on-accent)}.btn-success{background:var(--status-success-soft);border-color:transparent;color:var(--status-success);box-shadow:none}.btn-sm{height:1.75rem;padding:0 var(--s-3);font-size:var(--fs-caption)}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;position:relative;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.icon-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.icon-btn:active:not(:disabled){transform:translateY(1px)}.icon-btn:disabled{opacity:.45;cursor:default}.icon-btn[aria-pressed=true],.icon-btn.is-active{background:var(--accent-soft);color:var(--accent-primary)}.toolbar-btn{width:1.75rem;height:1.75rem}.btn .spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:var(--s-1)}.field>label{font-size:var(--fs-caption);font-weight:500;color:var(--text-secondary)}.input,.select{height:2.25rem;width:100%;padding:0 var(--s-3);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-input);color:var(--text-primary);box-shadow:inset 0 1px 2px var(--edge-shade);user-select:text;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.input::placeholder{color:var(--text-muted)}textarea.input{height:auto;min-height:4.75rem;padding:var(--s-2) var(--s-3);resize:vertical;line-height:1.45}.select-sm{height:1.75rem;padding:0 var(--s-6) 0 var(--s-2);font-size:var(--fs-caption);background-position:calc(100% - .75rem) .6875rem,calc(100% - .4375rem) .6875rem;width:auto}.input:focus-visible,.select:focus-visible{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-ring)}.select{appearance:none;padding-right:var(--s-8);background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,transparent 50%);background-position:calc(100% - 1rem) .9375rem,calc(100% - .6875rem) .9375rem;background-size:.3125rem .3125rem;background-repeat:no-repeat}.search{display:flex;align-items:center;gap:var(--s-2);height:2rem;padding:0 var(--s-3);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-input);color:var(--text-muted);font-size:var(--fs-small);cursor:text;min-width:0;white-space:nowrap;overflow:hidden;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.search:hover{border-color:var(--border-strong)}.search .kbd{margin-left:auto}.kbd{display:inline-flex;align-items:center;height:1.125rem;padding:0 .3125rem;border-radius:.25rem;border:1px solid var(--border-strong);background:var(--surface-raised);font-family:var(--font-mono);font-size:.625rem;color:var(--text-secondary);box-shadow:0 1px 0 var(--border-strong)}.badge{display:inline-flex;align-items:center;gap:var(--s-1);height:1.25rem;padding:0 var(--s-2);border-radius:var(--radius-pill);font-size:var(--fs-meta);font-weight:600;letter-spacing:.03em;text-transform:uppercase;background:var(--status-neutral-soft);color:var(--text-secondary);white-space:nowrap}.badge-success{background:var(--status-success-soft);color:var(--status-success)}.badge-warning{background:var(--status-warning-soft);color:var(--status-warning)}.badge-danger{background:var(--status-danger-soft);color:var(--status-danger)}.badge-info{background:var(--status-info-soft);color:var(--status-info)}.badge-accent{background:var(--accent-soft);color:var(--accent-primary)}.status-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--status-neutral);flex:0 0 auto}.status-dot.connected{background:var(--status-success);box-shadow:0 0 0 3px var(--status-success-soft)}.status-dot.syncing{background:var(--status-info);animation:pulse 1.2s ease-in-out infinite}.status-dot.problem{background:var(--status-danger);box-shadow:0 0 0 3px var(--status-danger-soft)}.status-dot.offline{background:var(--status-neutral)}@keyframes pulse{50%{opacity:.4}}.status-pill{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--fs-caption);color:var(--text-secondary);padding:0 var(--s-2);height:1.625rem;border-radius:var(--radius-pill)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2rem;height:2rem;border-radius:var(--radius-md);font-size:var(--fs-caption);font-weight:600;background:var(--accent-soft);color:var(--accent-primary);border:1px solid var(--border-subtle)}.avatar-sm{width:1.5rem;height:1.5rem;font-size:.625rem;border-radius:var(--radius-sm)}.avatar-round{border-radius:50%}.card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-small),var(--shadow-inset-light);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.card-hover:hover{transform:translateY(-1px);box-shadow:var(--shadow-medium),var(--shadow-inset-light);border-color:var(--border-strong)}.card-body{padding:var(--s-5)}.card-head{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border-subtle)}.card-head .grow{flex:1;min-width:0}.rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.row:hover{background:var(--surface-hover)}.row[aria-selected=true],.row[aria-current=true],.row.is-selected{background:var(--accent-soft);border-color:var(--accent-ring)}.row-main{min-width:0;display:flex;flex-direction:column;gap:1px}.row-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-sub{font-size:var(--fs-caption);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-end{display:flex;align-items:center;gap:var(--s-2);color:var(--text-muted)}.row-actions{opacity:0;transition:opacity var(--dur-fast) var(--ease)}.row:hover .row-actions,.row:focus-within .row-actions{opacity:1}.skeleton{position:relative;overflow:hidden;background:var(--surface-active);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--edge-light),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-row{display:grid;grid-template-columns:2rem 1fr;gap:var(--s-3);padding:var(--s-2) var(--s-3);align-items:center}.skeleton-row .skeleton:first-child{height:2rem;border-radius:var(--radius-md)}.skeleton-lines{display:flex;flex-direction:column;gap:.375rem}.skeleton-lines .skeleton{height:.625rem}.skeleton-lines .skeleton:last-child{width:45%}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-3);padding:var(--s-10) var(--s-6);color:var(--text-secondary)}.empty-state .empty-icon{width:3rem;height:3rem;border-radius:var(--radius-lg);display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-primary)}.empty-state h3{color:var(--text-primary)}.empty-state p{max-width:36ch}.notice{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--radius-md);border:1px solid var(--status-danger-soft);background:var(--status-danger-soft);color:var(--text-primary)}.notice-warning{border-color:var(--status-warning-soft);background:var(--status-warning-soft)}.notice-info{border-color:var(--status-info-soft);background:var(--status-info-soft)}.notice .grow{flex:1;min-width:0}.notice svg{flex:0 0 auto}.notice-danger svg{color:var(--status-danger)}.notice-warning svg{color:var(--status-warning)}.notice-info svg{color:var(--status-info)}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;left:50%;top:calc(100% + .375rem);transform:translate(-50%,-2px);padding:.25rem .5rem;border-radius:var(--radius-sm);background:var(--surface-glass);color:var(--text-primary);border:1px solid var(--border-subtle);box-shadow:var(--shadow-medium);backdrop-filter:blur(8px);font-size:var(--fs-caption);font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;z-index:var(--z-dropdown);transition:opacity var(--dur-fast) var(--ease) 0ms,transform var(--dur-fast) var(--ease) 0ms}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;transform:translate(-50%);transition-delay:.35s}[data-tip-pos=right]:after{left:calc(100% + .5rem);top:50%;transform:translate(-2px,-50%)}[data-tip-pos=right]:hover:after,[data-tip-pos=right]:focus-visible:after{transform:translateY(-50%)}[data-tip-pos=bottom-end]:after{left:auto;right:0;transform:translateY(-2px)}[data-tip-pos=bottom-end]:hover:after,[data-tip-pos=bottom-end]:focus-visible:after{transform:translate(0)}.menu{position:absolute;top:calc(100% + .375rem);right:0;min-width:13.75rem;padding:var(--s-1);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-glass);backdrop-filter:blur(14px);box-shadow:var(--shadow-large),var(--shadow-inset-light);z-index:var(--z-dropdown);animation:pop var(--dur) var(--ease)}@keyframes pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.menu-head{padding:var(--s-2) var(--s-3);display:flex;align-items:center;gap:var(--s-3)}.menu-sep{height:1px;margin:var(--s-1) 0;background:var(--border-subtle)}.menu-label{padding:var(--s-1) var(--s-3);font-size:var(--fs-meta);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.menu-item{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:.4375rem var(--s-3);border-radius:var(--radius-sm);border:0;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;font-size:var(--fs-small)}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-hover);outline:none}.menu-item[aria-checked=true]{color:var(--accent-primary)}.menu-item .kbd{margin-left:auto}.menu-zoom{display:flex;align-items:center;gap:var(--s-1);padding:0 var(--s-3) var(--s-2)}.menu-zoom .value{min-width:3.25rem;text-align:center;font-variant-numeric:tabular-nums}.menu-zoom .btn{margin-left:auto}.menu-item.danger{color:var(--status-danger)}.menu-item.danger:hover{background:var(--status-danger-soft)}dialog.modal{padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--surface-modal);color:var(--text-primary);width:min(28.75rem,calc(100vw - 3rem));box-shadow:var(--shadow-large),var(--shadow-inset-light);animation:pop var(--dur-slow) var(--ease)}dialog.modal::backdrop{background:var(--overlay);backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-5) var(--s-6) 0}.modal-head h2{flex:1}.modal-body{padding:var(--s-4) var(--s-6);display:flex;flex-direction:column;gap:var(--s-4)}.modal-foot{display:flex;justify-content:flex-end;gap:var(--s-2);padding:0 var(--s-6) var(--s-6)}.modal-body p.muted{font-size:var(--fs-small)}dialog.palette{width:min(37.5rem,calc(100vw - 3rem));margin-top:12vh}.palette-input{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border-subtle);color:var(--text-muted)}.palette-input input{flex:1;border:0;background:transparent;font-size:var(--fs-h3);color:var(--text-primary);outline:none;user-select:text}.palette-list{list-style:none;margin:0;padding:var(--s-2);max-height:50vh;overflow-y:auto}.palette-item{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--radius-sm);cursor:pointer}.palette-item[aria-selected=true]{background:var(--accent-soft);color:var(--accent-primary)}.palette-item .grow{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-item .hint{font-size:var(--fs-caption);color:var(--text-muted)}.palette-foot{display:flex;gap:var(--s-4);padding:var(--s-2) var(--s-4);border-top:1px solid var(--border-subtle);font-size:var(--fs-caption);color:var(--text-muted)}.segmented{display:inline-flex;padding:2px;border-radius:var(--radius-sm);background:var(--surface-active)}.segmented button{height:1.625rem;padding:0 var(--s-3);border:0;border-radius:.25rem;background:transparent;color:var(--text-secondary);font-size:var(--fs-caption);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:var(--s-1)}.segmented button[aria-pressed=true]{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-small)}.kv{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:var(--s-2) var(--s-3);font-size:var(--fs-small)}.kv dt{color:var(--text-secondary)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere;user-select:text}.table-wrap{overflow-x:auto;padding:var(--s-2)}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-small)}.data-table th,.data-table td{padding:var(--s-2) var(--s-3);text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid var(--border-subtle)}.data-table th{font-size:var(--fs-meta);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table tr.is-revoked td{color:var(--text-muted)}.data-table .cell-end{text-align:right}.data-table .cell-actions{display:inline-flex;align-items:center;gap:var(--s-2)}.check-group{display:flex;flex-direction:column;gap:var(--s-2)}.check{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-small);cursor:pointer}.check input{width:1rem;height:1rem;accent-color:var(--accent-primary);cursor:pointer}.notif-item.is-read{opacity:.6}.due-overdue{color:var(--status-danger);font-weight:500}dialog.modal.document-preview{width:min(1100px,94vw);max-width:94vw}dialog.modal.document-preview[open]{display:flex;flex-direction:column;max-height:92dvh}.document-preview-toolbar{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem}.document-preview-canvas{overflow:auto;min-height:12rem;padding:1rem;text-align:center}.document-preview-canvas img{display:block;max-width:100%;height:auto;margin:0 auto;background:#fff}.document-preview-canvas.zoomed img{width:150%;max-width:none}.document-preview-canvas .notice{text-align:left;margin-bottom:1rem}.document-preview .modal-head,.document-preview .modal-foot,.document-preview-toolbar{flex-shrink:0}.document-preview .modal-head h2{overflow-wrap:anywhere;min-width:0}.document-preview .modal-foot,.document-preview-toolbar{flex-wrap:wrap}.document-settings-form{display:flex;flex-direction:column;gap:var(--s-4)}.frame{position:relative;height:100vh;display:flex;flex-direction:column;background:var(--surface-base);border:1px solid var(--border-frame);box-shadow:var(--shadow-frame);overflow:hidden}.frame.is-maximized{border-color:transparent}.titlebar{height:var(--titlebar-h);flex:0 0 auto;display:flex;align-items:center;gap:var(--s-2);padding:0 0 0 var(--s-3);background:var(--surface-nav);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-inset-light);z-index:var(--z-titlebar);position:relative}.titlebar .brand{display:flex;align-items:center;gap:var(--s-2);padding-right:var(--s-2)}.titlebar .brand img{height:1.25rem;display:block}.titlebar .brand strong{font-size:var(--fs-small);font-weight:600;letter-spacing:.01em}.crumbs{display:flex;align-items:center;gap:var(--s-1);font-size:var(--fs-small);color:var(--text-secondary);min-width:0}.crumbs span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumbs svg{color:var(--text-muted);flex:0 0 auto}.crumbs .current{color:var(--text-primary);font-weight:500}.titlebar .grow{flex:1;min-width:0;display:flex;justify-content:center}.titlebar .search{width:min(22.5rem,100%)}.titlebar-actions{display:flex;align-items:center;gap:2px;padding-right:var(--s-2)}.win-controls{display:flex;align-self:stretch}.win-controls button{width:2.875rem;height:100%;border:0;background:transparent;color:var(--text-secondary);cursor:pointer;display:grid;place-items:center;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.win-controls button:hover{background:var(--surface-hover);color:var(--text-primary)}.win-controls button.close:hover{background:var(--status-danger);color:var(--text-on-accent)}.user-menu{position:relative}.user-btn{display:inline-flex;align-items:center;gap:var(--s-2);height:1.875rem;padding:0 var(--s-2) 0 3px;border-radius:var(--radius-pill);border:1px solid transparent;background:transparent;cursor:pointer;color:var(--text-primary)}.user-btn:hover{background:var(--surface-hover)}.user-btn .name{font-size:var(--fs-caption);font-weight:500;max-width:8.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.body{flex:1;min-height:0;display:flex;position:relative}.sidebar{width:var(--sidebar-w);flex:0 0 auto;display:flex;flex-direction:column;padding:var(--s-3) var(--s-2);background:var(--surface-nav);border-right:1px solid var(--border-subtle);z-index:var(--z-nav);transition:width var(--dur) var(--ease)}.sidebar.is-collapsed{width:var(--sidebar-w-collapsed)}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar .nav-label{padding:var(--s-3) var(--s-3) var(--s-1)}.sidebar.is-collapsed .nav-label{visibility:hidden;height:1.25rem;padding:0}.nav-item{position:relative;display:flex;align-items:center;gap:var(--s-3);height:2.25rem;padding:0 var(--s-3);border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:var(--fs-small);font-weight:500;cursor:pointer;text-align:left;width:100%;white-space:nowrap;overflow:hidden;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.nav-item svg{flex:0 0 auto}.nav-item .label{flex:1;overflow:hidden;text-overflow:ellipsis}.nav-item:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.nav-item[aria-current=page]{background:var(--accent-soft);color:var(--accent-primary);border-color:var(--accent-ring);box-shadow:var(--shadow-inset-light)}.nav-item[aria-current=page]:before{content:"";position:absolute;left:-1px;top:.5rem;bottom:.5rem;width:3px;border-radius:3px;background:var(--accent-primary)}.nav-item:disabled{color:var(--text-muted);cursor:default}.nav-item .badge{font-size:.5625rem;height:1rem;padding:0 .3125rem}.sidebar.is-collapsed .nav-item{justify-content:center;padding:0}.sidebar.is-collapsed .nav-item .label,.sidebar.is-collapsed .nav-item .badge,.sidebar.is-collapsed .nav-item .kbd{display:none}.sidebar .grow{flex:1}.sidebar-foot{display:flex;flex-direction:column;gap:2px;padding-top:var(--s-2);border-top:1px solid var(--border-subtle)}.subnav{width:var(--subnav-w);flex:0 0 auto;display:flex;flex-direction:column;min-height:0;background:var(--surface-base);border-right:1px solid var(--border-subtle);animation:slide-in-left var(--dur) var(--ease)}@keyframes slide-in-left{0%{opacity:0;transform:translate(-8px)}}.subnav-head{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-4) var(--s-3) var(--s-2) var(--s-4)}.subnav-head h2{flex:1;font-size:var(--fs-small);color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.subnav-list{flex:1;overflow-y:auto;padding:0 var(--s-2) var(--s-3)}.main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.main-head{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-5) var(--s-6) var(--s-3)}.main-head .grow{flex:1;min-width:0}.main-head .t-caption{margin-top:2px}.main-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--s-2) var(--s-6) var(--s-6)}.content-narrow{width:100%;max-width:min(100%,76rem)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--s-4)}.stat{display:flex;flex-direction:column;gap:var(--s-1)}.stat .t-display{color:var(--text-primary)}.panel{width:var(--panel-w);flex:0 0 auto;display:flex;flex-direction:column;min-height:0;background:var(--surface-raised);border-left:1px solid var(--border-subtle);box-shadow:var(--shadow-medium);z-index:var(--z-panel);animation:slide-in-right var(--dur-slow) var(--ease)}@keyframes slide-in-right{0%{opacity:0;transform:translate(1rem)}}.panel-head{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-4) var(--s-3) var(--s-3) var(--s-5);border-bottom:1px solid var(--border-subtle)}.panel-head h2{flex:1;font-size:var(--fs-h3)}.panel-body{flex:1;overflow-y:auto;padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-5)}.panel-section h3{font-size:var(--fs-meta);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:var(--s-3)}.conn-banner{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);background:var(--status-warning-soft);border-bottom:1px solid var(--status-warning-soft);font-size:var(--fs-small)}.conn-banner svg{color:var(--status-warning)}.conn-banner .grow{flex:1}.login{flex:1;display:grid;place-items:center;padding:var(--s-6);background:radial-gradient(70% 60% at 50% 0%,var(--accent-soft),transparent 70%),var(--surface-base)}.login-card{width:min(26.25rem,100%)}.login-card .card-body{display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-8) var(--s-8) var(--s-6)}.login-brand{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);text-align:center}.login-brand img{height:3.25rem}.login-brand p{color:var(--text-secondary);font-size:var(--fs-small)}.login form{display:flex;flex-direction:column;gap:var(--s-3)}.resize-edge{position:absolute;z-index:var(--z-resize)}.resize-edge.n{top:0;left:8px;right:8px;height:5px;cursor:n-resize}.resize-edge.s{bottom:0;left:8px;right:8px;height:5px;cursor:s-resize}.resize-edge.e{right:0;top:8px;bottom:8px;width:5px;cursor:e-resize}.resize-edge.w{left:0;top:8px;bottom:8px;width:5px;cursor:w-resize}.resize-edge.ne{top:0;right:0;width:10px;height:10px;cursor:ne-resize}.resize-edge.nw{top:0;left:0;width:10px;height:10px;cursor:nw-resize}.resize-edge.se{bottom:0;right:0;width:10px;height:10px;cursor:se-resize}.resize-edge.sw{bottom:0;left:0;width:10px;height:10px;cursor:sw-resize}@media(max-width:1100px){:root{--panel-w: 17.5rem;--subnav-w: 15rem}.titlebar .search{width:13.75rem}.titlebar .search .kbd{display:none}}@media(max-width:1000px){:root{--subnav-w: 13.5rem}.panel{position:absolute;inset:0 0 0 auto;width:min(20rem,85%)}}@media(max-width:900px){.sidebar{width:var(--sidebar-w-collapsed)}.sidebar .nav-label,.sidebar .nav-item .label,.sidebar .nav-item .badge,.sidebar .nav-item .kbd{display:none}.sidebar .nav-item{justify-content:center;padding:0}.titlebar .crumbs{display:none}}@media(max-width:760px){.titlebar .grow{display:none}}.main-head h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-head{flex-wrap:wrap}.main-head .grow{min-width:12rem}.main-head .t-caption{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat{flex:1;min-height:0;display:grid;grid-template-columns:clamp(15rem,24%,26rem) minmax(0,1fr)}.chat-list{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border-subtle)}.chat-search{padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border-subtle)}.chat-list-body{flex:1;min-height:0;overflow-y:auto;padding:var(--s-2)}.chat-thread{display:flex;flex-direction:column;min-height:0;min-width:0}.chat-log{flex:1;min-height:0;overflow-y:auto;padding:var(--s-4) var(--s-5);display:flex;flex-direction:column;gap:var(--s-2)}.chat-more{display:flex;justify-content:center;padding-bottom:var(--s-2)}.chat-msg{display:flex}.chat-msg.own{justify-content:flex-end}.chat-bubble{max-width:min(72%,40rem);display:flex;flex-direction:column;gap:2px;padding:var(--s-2) var(--s-3);border-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-sm);background:var(--surface-raised);border:1px solid var(--border-subtle)}.chat-msg.own .chat-bubble{background:var(--accent-soft);border-color:var(--accent-ring);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-sm)}.chat-from{font-size:var(--fs-caption);font-weight:600;color:var(--accent-primary)}.chat-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.chat-time{font-size:var(--fs-meta);color:var(--text-muted);align-self:flex-end}.chat-composer{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3) var(--s-5) var(--s-4);border-top:1px solid var(--border-subtle);background:var(--surface-base)}.chat-composer textarea.input{min-height:3.5rem;resize:none}.chat-send{display:flex;align-items:center;justify-content:space-between}.chat-tools{display:flex;align-items:center;gap:var(--s-2)}.chat-item{max-width:min(72%,40rem);display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-1)}.chat-msg.own .chat-item{align-items:flex-end}.chat-item .chat-bubble{max-width:100%}.chat-quote{display:flex;flex-direction:column;gap:1px;padding:var(--s-1) var(--s-2);margin-bottom:2px;border-left:3px solid var(--accent-primary);border-radius:var(--radius-sm);background:var(--surface-hover);font-size:var(--fs-caption);color:var(--text-secondary)}.chat-quote span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-deleted{font-style:italic;color:var(--text-muted)}.chat-actions{position:relative;display:flex;gap:2px;opacity:0;transition:opacity var(--dur-fast) var(--ease)}.chat-msg:hover .chat-actions,.chat-msg:focus-within .chat-actions,.chat-actions.open{opacity:1}.chat-react-pop{position:absolute;top:100%;z-index:var(--z-dropdown);display:flex;gap:2px;padding:var(--s-1);background:var(--surface-floating);border:1px solid var(--border-strong);border-radius:var(--radius-pill);box-shadow:var(--shadow-medium)}.chat-msg.own .chat-react-pop{right:0}.chat-reactions{display:flex;flex-wrap:wrap;gap:var(--s-1)}.chat-reaction{display:inline-flex;align-items:center;gap:2px;padding:1px var(--s-2);font:inherit;font-size:var(--fs-caption);color:var(--text-secondary);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);cursor:pointer}.chat-reaction:hover{background:var(--surface-hover)}.chat-reaction.on{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--text-primary)}.chat-reaction:focus-visible,.chat-file:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.chat-attachments,.chat-pending{display:flex;flex-wrap:wrap;gap:var(--s-1)}.chat-attachments{margin-top:2px}.chat-file{display:inline-flex;align-items:center;gap:var(--s-1);max-width:100%;padding:2px var(--s-2);font:inherit;font-size:var(--fs-small);color:var(--text-primary);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}button.chat-file{cursor:pointer}button.chat-file:hover{background:var(--surface-hover)}.chat-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-reply-bar{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-2);font-size:var(--fs-small);color:var(--text-secondary);border-left:3px solid var(--accent-primary);border-radius:var(--radius-sm);background:var(--surface-hover)}.chat-reply-bar .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif{display:inline-flex}.notif-count{position:absolute;top:2px;right:2px;min-width:1rem;height:1rem;padding:0 .25rem;border-radius:var(--radius-pill);background:var(--accent-primary);color:#fff;font-size:.625rem;font-weight:700;line-height:1rem;text-align:center;pointer-events:none}.files{flex:1;min-height:0;display:flex}.files-scopes{flex:0 0 clamp(13rem,20%,20rem);min-height:0;overflow-y:auto;padding:var(--s-2);border-right:1px solid var(--border-subtle)}.files-main{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:var(--s-2) var(--s-6) var(--s-6);display:flex;flex-direction:column;gap:var(--s-3)}.files-crumbs{padding:var(--s-1) 0;flex-wrap:wrap}.files-crumbs span{display:inline-flex;align-items:center;gap:var(--s-1)}.files-crumbs .link{background:none;border:0;padding:0;font:inherit;color:var(--accent-primary);cursor:pointer}.files-crumbs .link:hover{text-decoration:underline}.files-row{cursor:pointer}.files-row:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.files-row .row-actions{flex-wrap:nowrap}.files-version{cursor:default;grid-template-columns:2.5rem minmax(0,1fr) auto}.files-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}@media(max-width:900px){.files-scopes{flex-basis:11rem}}.notes .notes-list{flex:0 0 clamp(16rem,32%,26rem);border-right:1px solid var(--border-subtle)}.notes-search{cursor:text;flex:0 0 auto}.notes-search-input{flex:1;min-width:0;border:0;background:transparent;color:var(--text-primary);font:inherit;outline:none}.notes-search-input::placeholder{color:var(--text-muted)}.notes-row{cursor:pointer;text-align:left}.notes-row .row-end{flex-direction:column;align-items:flex-end;gap:0;font-size:var(--fs-caption);white-space:nowrap}.notes-owner{color:var(--text-secondary)}.notes-editor{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:var(--s-2) var(--s-6) var(--s-6);display:flex;flex-direction:column;gap:var(--s-3)}.notes-editor-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}.notes-meta{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;min-width:0;font-size:var(--fs-small)}.notes-actions{display:flex;align-items:center;gap:var(--s-2);margin-left:auto}.notes-body{flex:1;min-height:12rem;resize:vertical;font:inherit;line-height:1.5}.notes-view h2{margin:0 0 var(--s-3);overflow-wrap:anywhere}.notes-text{margin:0;font:inherit;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:1100px){.notes .notes-list{flex-basis:clamp(14rem,36%,22rem)}}.kanban-bar{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.kanban{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3);align-items:start}.kanban-col{display:flex;flex-direction:column;gap:var(--s-2);min-height:8rem;padding:var(--s-2);border-radius:var(--radius-md);background:var(--surface-active)}.kanban-col h3{margin:0;padding:var(--s-1) var(--s-1) 0;font-size:var(--fs-small);display:flex;gap:var(--s-2)}.kanban-card{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-raised);box-shadow:var(--shadow-small)}.kanban-card[draggable=true]{cursor:grab}.kanban-card .select{height:1.75rem;font-size:var(--fs-caption)}.kanban-title{background:none;border:0;padding:0;font:inherit;font-weight:500;color:var(--text-primary);text-align:left;cursor:pointer;overflow-wrap:anywhere}.kanban-title:hover{color:var(--accent-primary)}.kanban-title:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.kanban-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-2);font-size:var(--fs-caption);color:var(--text-secondary)}.kanban-person,.kanban-att{display:inline-flex;align-items:center;gap:var(--s-1)}.kanban-due.is-overdue,.is-overdue{color:var(--status-danger);font-weight:500}.task-labels{display:inline-flex;flex-wrap:wrap;gap:var(--s-1)}.kanban-row{cursor:default}.kanban-row .row-title,.kanban-row .kanban-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-row .row-end{flex-wrap:wrap;justify-content:flex-end;font-size:var(--fs-caption)}.kanban-row .select{width:auto;height:1.75rem;font-size:var(--fs-caption)}dialog.modal.kanban-modal{width:min(40rem,calc(100vw - 3rem));max-height:calc(100vh - 3rem);overflow-y:auto}.kanban-form{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:var(--s-3)}.kanban-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}.kanban-checks{max-height:9rem;overflow-y:auto}.kanban-checkitem{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s-2)}@media(max-width:900px){.kanban{grid-template-columns:repeat(2,minmax(0,1fr))}}.calendar .files-main{gap:var(--s-2)}.cal-toolbar{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.cal-period{margin:0 0 0 var(--s-2);font-size:var(--fs-h2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-legend{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-4);margin:0;padding:0;list-style:none;font-size:var(--fs-caption);color:var(--text-secondary)}.cal-legend li{display:inline-flex;align-items:center;gap:var(--s-1)}.cal-swatch{width:.625rem;height:.625rem;border-radius:2px;background:var(--kind)}.calendar .kind-event{--kind: var(--status-info);--kind-soft: var(--status-info-soft)}.calendar .kind-meeting{--kind: var(--status-success);--kind-soft: var(--status-success-soft)}.calendar .kind-task{--kind: var(--status-warning);--kind-soft: var(--status-warning-soft)}.calendar .kind-deadline{--kind: var(--status-danger);--kind-soft: var(--status-danger-soft)}.cal-item{display:flex;align-items:flex-start;gap:var(--s-1);min-width:0;min-height:1.25rem;padding:1px var(--s-1);border:0;border-left:3px solid var(--kind);border-radius:.25rem;background:var(--kind-soft);color:var(--text-primary);font:inherit;font-size:var(--fs-caption);line-height:1.3;text-align:left;cursor:pointer;overflow:hidden}.cal-item svg{flex:none;margin-top:2px;color:var(--kind)}.cal-item:hover{filter:brightness(.97)}.cal-item:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.cal-item.is-done .cal-title{text-decoration:line-through;color:var(--text-secondary)}.cal-time{flex:none;color:var(--text-secondary);font-variant-numeric:tabular-nums}.cal-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-grid{--hour-h: 2.75rem;display:grid;grid-template-columns:3.5rem repeat(var(--cols),minmax(0,1fr));grid-template-rows:auto auto auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-raised)}.cal-hours,.cal-day{grid-row:1 / span 3;display:grid;grid-template-rows:subgrid;min-width:0}.cal-day{border-left:1px solid var(--border-subtle)}.cal-head{padding:var(--s-2);border:0;border-bottom:1px solid var(--border-subtle);background:none;font:inherit;font-size:var(--fs-caption);font-weight:500;color:var(--text-secondary);text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-hours .cal-head{cursor:default}button.cal-head:hover{color:var(--accent-primary)}.cal-allday{display:flex;flex-direction:column;gap:2px;min-height:1.75rem;padding:2px;border-bottom:1px solid var(--border-subtle);font-size:var(--fs-meta);color:var(--text-muted)}.cal-body{position:relative;height:calc(24 * var(--hour-h));background:repeating-linear-gradient(to bottom,transparent 0 calc(var(--hour-h) - 1px),var(--border-subtle) calc(var(--hour-h) - 1px) var(--hour-h))}.cal-hours .cal-body{display:flex;flex-direction:column;background:none}.cal-hours .cal-body span{height:var(--hour-h);padding:0 var(--s-2);font-size:var(--fs-meta);color:var(--text-muted);text-align:right;transform:translateY(-.4em)}.cal-body .cal-item{position:absolute;box-sizing:border-box;margin:0 1px}.cal-day.is-today .cal-head{color:var(--accent-primary)}.cal-day.is-today .cal-body{background-color:var(--accent-soft)}.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-raised);overflow:hidden}.cal-weekday{padding:var(--s-1) var(--s-2);font-size:var(--fs-caption);font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.cal-cell{display:flex;flex-direction:column;gap:2px;min-width:0;min-height:6.5rem;padding:var(--s-1);border-top:1px solid var(--border-subtle);border-left:1px solid var(--border-subtle)}.cal-cell:nth-of-type(7n+1){border-left:0}.cal-cell.is-outside{background:var(--surface-hover)}.cal-cell.is-outside .cal-date{color:var(--text-muted)}.cal-date,.cal-more{align-self:flex-start;padding:0 var(--s-1);border:0;border-radius:var(--radius-pill);background:none;font:inherit;font-size:var(--fs-caption);color:var(--text-secondary);cursor:pointer}.cal-date:hover,.cal-more:hover{color:var(--accent-primary)}.cal-cell.is-today .cal-date{background:var(--accent-primary);color:var(--text-on-accent)}.cal-agenda{display:flex;flex-direction:column;gap:var(--s-3)}.cal-agenda h3{margin:0 0 var(--s-1);font-size:var(--fs-small);color:var(--text-secondary)}.cal-agenda .is-today h3{color:var(--accent-primary)}.cal-agenda-items{display:flex;flex-direction:column;gap:var(--s-1)}.cal-agenda .cal-item{padding:var(--s-1) var(--s-2);font-size:var(--fs-small)}.cal-provider{margin:calc(-1 * var(--s-2)) 0 0;font-size:var(--fs-caption)}@media(max-width:900px){.cal-grid.is-week{display:flex;flex-direction:column}.cal-grid.is-week .cal-hours{display:none}.cal-grid.is-week .cal-day{display:flex;flex-direction:column;border-left:0;border-bottom:1px solid var(--border-subtle)}.cal-grid.is-week .cal-body{height:auto;display:flex;flex-direction:column;gap:2px;padding:2px;background:none}.cal-grid.is-week .cal-body .cal-item{position:static;height:auto!important;width:auto!important;margin:0}.cal-grid.is-week .cal-allday:empty,.cal-grid.is-week .cal-body:empty{display:none}.cal-cell{min-height:4.5rem}}.tickets{flex:1;min-height:0;display:flex}.tk-side{flex:0 0 clamp(16rem,30%,24rem);min-height:0;overflow-y:auto;padding:var(--s-2);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--s-2)}.tk-filters{display:flex;flex-direction:column;gap:var(--s-2)}.tk-row{width:100%;text-align:left}.tk-row .row-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tk-no{color:var(--text-secondary);font-variant-numeric:tabular-nums}.tk-badges{display:flex;flex-wrap:wrap;gap:var(--s-1)}.tk-detail{flex:1;min-width:0;min-height:0;overflow-y:auto;padding:var(--s-2) var(--s-6) var(--s-6);display:flex;flex-direction:column;gap:var(--s-3)}.tk-head{display:flex;flex-direction:column;gap:var(--s-1)}.tk-head h2{margin:0;overflow-wrap:anywhere}.tk-head p{margin:0;font-size:var(--fs-caption)}.tk-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3);align-items:end}.tk-resolved{margin:0;font-size:var(--fs-caption)}.tk-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2);flex-wrap:wrap}.tk-section{display:flex;flex-direction:column;gap:var(--s-2);padding-top:var(--s-3);border-top:1px solid var(--border-subtle)}.tk-section h3{margin:0;font-size:var(--fs-small)}.tk-timeline,.tk-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.tk-comment{padding:var(--s-2) var(--s-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-raised)}.tk-comment.is-internal{border-left:3px solid var(--status-warning);background:var(--status-warning-soft)}.tk-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-2);font-size:var(--fs-caption)}.tk-body{margin:var(--s-1) 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.tk-compose{display:flex;flex-direction:column;gap:var(--s-2)}.tk-history li{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-3);font-size:var(--fs-caption)}.tk-history .grow{flex:1;min-width:8rem;overflow-wrap:anywhere}.tk-field{font-weight:500;min-width:6rem}@media(max-width:900px){.tk-side{flex-basis:14rem}.tk-fields{grid-template-columns:minmax(0,1fr)}}.tk-counters{display:flex;flex-wrap:wrap;gap:var(--s-2)}.tk-counter{flex:1 1 5.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--s-2) var(--s-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-raised);color:inherit;font:inherit;text-align:left}.tk-counter .t-mono{font-size:var(--fs-h3);font-weight:600;font-variant-numeric:tabular-nums}button.tk-counter{cursor:pointer}button.tk-counter:hover:not(:disabled){background:var(--surface-hover)}.tk-counter[aria-pressed=true]{border-color:var(--accent-primary);background:var(--accent-soft)}.pl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--s-3)}.main-body>.panel-section+.panel-section,.main-body>.notice+.panel-section{margin-top:var(--s-5)}.pl-card-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-3)}.st-radios{display:flex;flex-wrap:wrap;gap:var(--s-2)}.st-radio{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-raised);color:inherit;font:inherit;cursor:pointer}.st-radio:hover{background:var(--surface-hover)}.st-radio[aria-checked=true]{border-color:var(--accent-primary);background:var(--accent-soft)}.st-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}.st-swatch{position:relative;display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:var(--swatch);color:#fff;cursor:pointer}.st-swatch[aria-checked=true],.st-swatch[data-active=true]{box-shadow:0 0 0 2px var(--surface-raised),0 0 0 4px var(--accent-primary)}input.st-swatch{appearance:none;-webkit-appearance:none;background:none;overflow:hidden}input.st-swatch::-webkit-color-swatch-wrapper{padding:0}input.st-swatch::-webkit-color-swatch{border:0;border-radius:50%}input.st-swatch::-moz-color-swatch{border:0;border-radius:50%}.st-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-2) var(--s-4);padding:var(--s-2) 0}.st-row>.select{max-width:18rem}.st-preview{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--text-secondary)}.up-banner{padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--border-subtle)}.up-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-2)}.up-notes{margin:var(--s-2) 0 0;padding-left:var(--s-5);color:var(--text-secondary);font-size:var(--fs-small)}
