.app-sidebar[data-v-f8a0d723]{background:var(--surface);border-right:1px solid var(--border);width:220px;transition:width var(--duration) var(--ease);z-index:var(--z-sticky);flex-direction:column;flex:none;display:flex}.app-sidebar.collapsed[data-v-f8a0d723]{width:56px}.app-sidebar.collapsed .nav-item[data-v-f8a0d723]{justify-content:center;padding:8px 0}.app-sidebar.collapsed .nav-label[data-v-f8a0d723]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=859.98px){.app-sidebar[data-v-f8a0d723]{width:56px}.app-sidebar .nav-item[data-v-f8a0d723]{justify-content:center;padding:8px 0}.app-sidebar .nav-label[data-v-f8a0d723]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.sidebar-nav[data-v-f8a0d723]{gap:var(--space-2);padding:var(--space-12) var(--space-8);flex-direction:column;flex:1;display:flex}.nav-item[data-v-f8a0d723]{align-items:center;gap:var(--space-10);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--font-size-control);white-space:nowrap;border:1px solid #0000;padding:8px 12px;text-decoration:none;display:flex}.nav-item .icon[data-v-f8a0d723]{flex:none}.nav-item[data-v-f8a0d723]:hover{color:var(--text);background:var(--surface-2)}.nav-item.active[data-v-f8a0d723]{color:var(--text);background:var(--accent-weak);border-color:var(--accent);font-weight:600}@media (width>=860px){.app-sidebar:not(.collapsed) [data-tip][data-v-f8a0d723]:after{display:none}}.nav-label[data-v-f8a0d723]{text-overflow:ellipsis;overflow:hidden}.nav-divider[data-v-f8a0d723]{margin:var(--space-8) var(--space-4);border:0;border-top:1px solid var(--border)}.sidebar-footer[data-v-f8a0d723]{height:var(--footer-h,44px);padding:0 var(--space-8);border-top:1px solid var(--border);align-items:center;display:flex}@media (width<=859.98px){.sidebar-footer[data-v-f8a0d723]{display:none}}.sidebar-toggle[data-v-f8a0d723]{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--muted);justify-content:center;align-items:center;padding:5px;display:flex}.sidebar-toggle[data-v-f8a0d723]:hover{color:var(--text);background:var(--surface-2)}.changelog-view[data-v-53d048e8]{font-size:var(--font-size-body);color:var(--text);line-height:1.55}.changelog-view[data-v-53d048e8] h2{font-size:var(--font-size-h3);margin:var(--space-20) 0 var(--space-8);padding-top:var(--space-20);border-top:1px solid var(--border)}.changelog-view[data-v-53d048e8] h2:first-child{border-top:0;margin-top:0;padding-top:0}.changelog-view[data-v-53d048e8] h3{font-size:var(--font-size-label);margin:var(--space-14) 0 var(--space-6);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.changelog-view[data-v-53d048e8] p{margin:var(--space-6) 0}.changelog-view[data-v-53d048e8] ul{margin:var(--space-6) 0 var(--space-12);padding-left:var(--space-20)}.changelog-view[data-v-53d048e8] li{margin:var(--space-2) 0}.changelog-view[data-v-53d048e8] hr{margin:var(--space-20) 0;border:none;border-top:1px solid var(--border)}.list[data-v-1f766170] button{align-items:center;gap:var(--space-8);white-space:nowrap;display:flex}.list[data-v-1f766170] button:before{margin-right:0}.history[data-v-c8951f21]{gap:var(--space-4);display:flex}.logo-mark[data-v-14cec63a]{border-radius:var(--radius-sm);flex:none;display:inline-block;overflow:hidden}.logo-mark svg[data-v-14cec63a]{display:block}.realtime[data-v-779c0dcb]{white-space:nowrap}@media (width<=1199.98px){.realtime .label[data-v-779c0dcb]{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}.modal.size-sm[data-v-6368db64]{max-width:420px}.modal.size-lg[data-v-6368db64]{max-width:800px}.modal.size-xl[data-v-6368db64]{max-width:1100px}.head[data-v-6368db64]{gap:var(--space-12)}.actions[data-v-6368db64]{flex-wrap:wrap;justify-content:flex-end}.shell[data-v-f7eed05f]{--footer-h:44px}.shell.fill[data-v-f7eed05f]{height:100dvh;min-height:0}.app-header[data-v-f7eed05f]{align-items:center;gap:var(--space-20);background:var(--surface);border-bottom:1px solid var(--border);z-index:var(--z-sticky);padding:10px 20px;display:flex;position:sticky;top:0}@media (width<=859.98px){.app-header[data-v-f7eed05f]{gap:var(--space-8) var(--space-12);flex-wrap:wrap;padding:8px 12px}}.brand[data-v-f7eed05f]{align-items:center;gap:var(--space-10);color:var(--text);border-radius:var(--radius-sm);text-decoration:none;display:flex}.brand-name[data-v-f7eed05f]{letter-spacing:.2px;white-space:nowrap;font-weight:700}.brand-name .muted[data-v-f7eed05f]{font-weight:400}@media (width<=1199.98px){.brand-name .muted[data-v-f7eed05f]{display:none}}.sep[data-v-f7eed05f]{width:1px;height:20px;margin:0 var(--space-4);background:var(--border);flex:none}.shell-body[data-v-f7eed05f]{flex:1;min-height:0;display:flex}.shell-main[data-v-f7eed05f]{flex-direction:column;flex:1;min-width:0;display:flex}.shell-body[data-v-f7eed05f]>.app-sidebar{top:var(--header-h,0px);height:calc(100dvh - var(--header-h,0px));align-self:flex-start;position:sticky}.tools[data-v-f7eed05f]{align-items:center;gap:var(--space-8);margin-left:auto;display:flex}.content.fill[data-v-f7eed05f]{max-width:none;min-height:0;padding:var(--space-14) var(--space-20);flex-direction:column;display:flex;overflow:hidden}@media (width<=559.98px){.content.fill[data-v-f7eed05f]{padding:var(--space-8)}}.content.fill[data-v-f7eed05f]>*{flex:1;min-height:0}.app-footer[data-v-f7eed05f]{justify-content:space-between;align-items:center;gap:var(--space-4) var(--space-20);min-height:var(--footer-h);border-top:1px solid var(--border);font-size:var(--font-size-label);color:var(--muted);flex-wrap:wrap;padding:0 20px;display:flex}@media (width<=859.98px){.app-footer[data-v-f7eed05f]{padding:8px 12px}}.version-link[data-v-f7eed05f]{color:inherit;font-size:inherit;text-decoration:none}.version-link[data-v-f7eed05f]:hover{color:var(--text);text-decoration:underline}.changelog-scroll[data-v-f7eed05f]{max-height:65vh;padding-right:var(--space-4);overflow-y:auto}.bare-header[data-v-512fd745]{justify-content:space-between;align-items:center;gap:var(--space-12);padding:10px 20px;display:flex}@media (width<=559.98px){.bare-header[data-v-512fd745]{padding:8px 12px}}.brand[data-v-512fd745]{align-items:center;gap:var(--space-10);display:flex}.brand-name[data-v-512fd745]{letter-spacing:.2px;white-space:nowrap;font-weight:700}.brand-name .muted[data-v-512fd745]{font-weight:400}.tools[data-v-512fd745]{align-items:center;gap:var(--space-8);display:flex}.content[data-v-512fd745]{padding-top:var(--space-8)}.content.narrow[data-v-512fd745]{flex-direction:column;justify-content:center;padding-bottom:12vh;display:flex}.content.fill[data-v-512fd745]{max-width:none;min-height:0;padding:var(--space-8) var(--space-20) var(--space-14);flex-direction:column;display:flex;overflow:hidden}@media (width<=559.98px){.content.fill[data-v-512fd745]{padding:var(--space-4) var(--space-8) var(--space-8)}}.content.fill.no-header[data-v-512fd745]{padding-top:var(--space-14)}@media (width<=559.98px){.content.fill.no-header[data-v-512fd745]{padding-top:var(--space-8)}}.content.fill[data-v-512fd745]>*{flex:1;min-height:0}.shell.fill[data-v-512fd745]{height:100dvh;min-height:0}.user-button[data-v-540bbd4f]{align-items:center;gap:var(--space-8);border-radius:999px;padding:3px 10px 3px 3px;display:flex}@media (width<=859.98px){.user-button[data-v-540bbd4f]{padding:3px}}.user-name[data-v-540bbd4f]{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.toast-host.bottom-end[data-v-ac540b66]{top:auto;left:auto;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));pointer-events:none}@media (width<=559.98px){.toast-host.bottom-end[data-v-ac540b66]{left:calc(12px + env(safe-area-inset-left,0px));right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:none}}.toast[data-v-ac540b66]{pointer-events:auto;animation-name:toast-up-ac540b66}@keyframes toast-up-ac540b66{0%{opacity:0;transform:translateY(6px)}}@layer reset;@layer nm-tokens{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f4f6;--surface:#fff;--surface-2:#eef0f3;--field-bg:#fff;--border:#e3e6ea;--border-strong:#cfd4db;--text:#1d2330;--muted:#69717c;--code:#d1a100;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--font-size-h2:1.125rem;--font-size-h3:.9375rem;--font-size-body:.875rem;--font-size-control:.8125rem;--font-size-label:.75rem;--font-size-badge:.6875rem;--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-14:14px;--space-20:20px;--space-24:24px;--accent:#fdc300;--accent-ink:#211a00;--accent-weak:#fdc3002e;--ok:#1f8a4c;--ok-weak:#1f8a4c1f;--warn:#8a5f0e;--warn-weak:#b27a1724;--danger:#c0392b;--danger-weak:#c0392b1f;--logo-bg:#1d2330;--radius-sm:6px;--radius:8px;--radius-lg:12px;--shadow-color:#00000026;--shadow-pop:0 8px 24px var(--shadow-color);--shadow-sm:0 2px 8px var(--shadow-color);--focus:0 0 0 2px var(--accent);--focus-ring:var(--accent);--duration-fast:.12s;--duration:.15s;--duration-slow:.24s;--ease:cubic-bezier(.2, 0, .2, 1);--overlay-bg:#0000008c;--z-sticky:10;--z-pop:50;--z-overlay:100;--z-confirm:200;--z-toast:300}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15171c;--surface:#1d2026;--surface-2:#262a31;--field-bg:#262a31;--border:#2c313a;--border-strong:#3a414c;--text:#e6e8ec;--muted:#969ba5;--code:#d1a100;--accent:#fdc300;--accent-ink:#211a00;--accent-weak:#fdc30029;--ok:#5fc77a;--ok-weak:#5fc77a29;--warn:#d9a441;--warn-weak:#d9a44129;--danger:#d4655d;--danger-weak:#d4655d24;--logo-bg:#12141a;--shadow-color:#00000080}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration:0s;--duration-slow:0s}}:root{--gantt-header-bg:var(--surface-2);--gantt-sidebar-bg:var(--surface);--gantt-sidebar-hover:var(--surface-2);--gantt-divider:var(--border-strong);--gantt-grid:var(--border);--gantt-grid-faint:color-mix(in srgb, var(--border) 55%, transparent);--gantt-row-nested-bg:color-mix(in srgb, var(--surface-2) 45%, var(--surface));--gantt-weekend-bg:#1d23300a;--gantt-today-bg:var(--accent-weak);--gantt-today-line:var(--danger);--gantt-cell-hover:color-mix(in srgb, var(--accent) 8%, transparent);--gantt-bar-text:#fff;--gantt-bar-shadow:0 1px 2px #0000001f;--gantt-bar-action-bg:var(--surface);--gantt-bar-action-text:var(--text);--gantt-bar-planning:#6c757d;--gantt-bar-onsite:#e8710a;--gantt-bar-booking:#2f6fd6;--conflict-overlay:var(--danger-weak)}[data-theme=dark]{--gantt-weekend-bg:#ffffff09;--gantt-bar-shadow:0 1px 2px #0006;--gantt-bar-action-bg:var(--surface-2)}:root{--swatch-ring:#0000001f;--period-onsite-weak:#e8710a29;--period-onsite-text:#9a4a05;--period-planning-weak:var(--surface-2);--period-planning-text:var(--muted)}[data-theme=dark]{--swatch-ring:#ffffff2e;--period-onsite-weak:#e8710a33;--period-onsite-text:#f0a35e}}@layer nm-base{*{box-sizing:border-box}html,body{margin:0}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--accent-ink)}h1,h2,h3,h4{color:var(--text)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}code,.mono{font-family:var(--font-mono);color:var(--code)}.num{font-variant-numeric:tabular-nums}a{color:var(--text)}:where(button,a,[tabindex],summary):focus-visible{box-shadow:var(--focus);outline:none}button{font-family:inherit;font-size:var(--font-size-control);padding:var(--space-8) var(--space-14);border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);cursor:pointer;transition:border-color var(--duration-fast) var(--ease), filter var(--duration-fast) var(--ease)}button:hover:not(:disabled){border-color:var(--accent)}button:active:not(:disabled){filter:brightness(.96)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button.primary:hover:not(:disabled){filter:brightness(1.05)}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.danger:hover:not(:disabled){border-color:var(--danger)}button.del{border-color:var(--danger);color:var(--danger);background:0 0}button.del:hover:not(:disabled){background:var(--danger-weak);border-color:var(--danger)}.btn-sm{padding:var(--space-6) var(--space-10);font-size:var(--font-size-label)}input,select,textarea{font-family:inherit;font-size:var(--font-size-body);padding:var(--space-8) var(--space-10);border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--field-bg);color:var(--text);transition:border-color var(--duration-fast) var(--ease)}input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:var(--accent)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--focus);outline:none}::placeholder{color:var(--muted);opacity:.7}input:disabled,select:disabled,textarea:disabled{opacity:.55;background:var(--surface-2)}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8a99' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}input[type=checkbox]{accent-color:var(--accent);cursor:pointer}input[type=date],input[type=time],input[type=datetime-local]{min-width:150px}::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}::-webkit-calendar-picker-indicator:hover{opacity:1}[data-theme=dark] ::-webkit-calendar-picker-indicator{filter:invert()}input[type=range]{appearance:none;background:0 0;border:none;width:100%;max-width:280px;height:auto;padding:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--_fill,0%), var(--border-strong) 0);border-radius:999px;height:4px}input[type=range]::-moz-range-track{background:var(--border-strong);border-radius:999px;height:4px}input[type=range]::-moz-range-progress{background:var(--accent);border-radius:999px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:none;border-radius:50%;width:16px;height:16px;margin-top:-6px}input[type=range]::-moz-range-thumb{background:var(--accent);border:none;border-radius:50%;width:16px;height:16px}input[type=range]:focus{box-shadow:none;border:none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:var(--focus)}input[type=range]:focus-visible::-moz-range-thumb{box-shadow:var(--focus)}input[type=range]:disabled{opacity:.55}output{font-size:var(--font-size-control);font-variant-numeric:tabular-nums}progress{appearance:none;background:var(--surface-2);border:none;border-radius:999px;width:100%;max-width:280px;height:8px;overflow:hidden}progress::-webkit-progress-bar{background:var(--surface-2);border-radius:999px}progress::-webkit-progress-value{background:var(--accent);border-radius:999px}progress::-moz-progress-bar{background:var(--accent);border-radius:999px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}::-webkit-scrollbar-track{background:0 0}.hint{font-size:var(--font-size-control);color:var(--muted)}.message{font-size:var(--font-size-control);margin:0}.message.ok{color:var(--ok)}.message.error{color:var(--danger)}.badge{font-size:var(--font-size-badge);text-transform:uppercase;letter-spacing:.04em;padding:3px var(--space-8);border-radius:var(--radius-sm);background:var(--accent-weak);color:var(--text)}.field{font-size:var(--font-size-label);color:var(--muted);flex-direction:column;gap:5px;display:flex}.field>span:first-child{min-height:16px}.field.grow{flex:1}.field.small{width:120px}.row{gap:var(--space-10);flex-wrap:wrap;align-items:flex-start;display:flex}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--font-size-control);white-space:nowrap}.data-table th,.data-table td{text-align:left;padding:var(--space-8) var(--space-12);border-bottom:1px solid var(--border)}.data-table th{z-index:1;color:var(--muted);font-weight:600;font-size:var(--font-size-label);text-transform:uppercase;letter-spacing:.3px;background:var(--surface-2);border-bottom:1px solid var(--border-strong);position:sticky;top:0}.data-table tbody tr:nth-child(2n) td{background:var(--surface-2)}.data-table tbody tr:hover td{background:var(--accent-weak)}.data-table .empty{text-align:center;color:var(--muted);padding:var(--space-24);cursor:default}.data-table.selectable tbody tr{cursor:pointer}.data-table.selectable tbody tr.sel{outline:1px solid var(--accent);outline-offset:-1px}.data-table.selectable tbody tr.sel td{background:var(--accent-weak);font-weight:600}.data-table.selectable tbody tr.sel td:first-child:before{content:"";width:6px;height:6px;margin-right:var(--space-8);background:var(--accent);vertical-align:middle;border-radius:50%;display:inline-block}.table-foot{justify-content:space-between;align-items:center;gap:var(--space-12);padding:var(--space-6) var(--space-10);border-top:1px solid var(--border-strong);background:var(--surface-2);font-size:var(--font-size-label);color:var(--muted);display:flex}.table-foot .info{font-variant-numeric:tabular-nums}.overlay{background:var(--overlay-bg);z-index:var(--z-overlay);justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:560px;padding:var(--space-20);gap:var(--space-14);box-shadow:var(--shadow-pop);flex-direction:column;display:flex}.modal h2,.modal h3{margin:0}.modal .head{justify-content:space-between;align-items:center;display:flex}.modal .x{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:16px}.modal .x:hover{color:var(--text)}.modal .actions{gap:var(--space-10);display:flex}}@layer nm-components{.switch{cursor:pointer;align-items:center;display:inline-flex}.switch input{opacity:0;width:0;height:0;position:absolute}.switch .track{background:var(--border-strong);width:36px;height:20px;transition:background var(--duration) var(--ease);border-radius:999px;position:relative}.switch .thumb{background:var(--surface);width:16px;height:16px;transition:transform var(--duration) var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked+.track{background:var(--accent)}.switch input:checked+.track .thumb{transform:translate(16px)}.switch input:focus-visible+.track{box-shadow:var(--focus)}.switch input:disabled+.track{opacity:.5;cursor:default}.hint-tip{vertical-align:middle;display:inline-flex;position:relative}.hint-tip .q{border:1px solid var(--border-strong);background:var(--surface-2);width:16px;height:16px;color:var(--muted);font-size:var(--font-size-badge);cursor:help;border-radius:50%;justify-content:center;align-items:center;padding:0;font-weight:700;line-height:1;display:inline-flex}.hint-tip .q:hover{color:var(--text);border-color:var(--accent)}.hint-tip .pop{z-index:var(--z-pop);width:max-content;max-width:min(560px,86vw);max-height:60vh;padding:var(--space-10) var(--space-12);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:var(--font-size-label);text-align:left;box-shadow:var(--shadow-pop);cursor:default;pointer-events:none;line-height:1.45;display:none;position:absolute;top:calc(100% + 6px);left:0;overflow:auto}.hint-tip .pop.a-right{left:auto;right:0}.hint-tip .q:hover+.pop,.hint-tip:focus-within .pop,.hint-tip.pinned .pop{display:block}.hint-tip.pinned .pop{pointer-events:auto}.toast-host{gap:var(--space-8);z-index:var(--z-toast);flex-direction:column;max-width:360px;display:flex;position:fixed;top:16px;right:16px}.toast{align-items:flex-start;gap:var(--space-10);background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);padding:var(--space-10) var(--space-12);box-shadow:var(--shadow-pop);animation:toast-in var(--duration-slow) var(--ease);display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}}.toast .ic{color:var(--accent);font-size:var(--font-size-control);flex:none;line-height:1.5}.toast .body{flex:1;min-width:0}.toast .title{font-size:var(--font-size-control);color:var(--text);margin-bottom:2px;font-weight:600}.toast .msg{font-size:var(--font-size-label);color:var(--muted)}.toast .x{color:var(--muted);font-size:var(--font-size-control);cursor:pointer;background:0 0;border:none;flex:none;padding:0;line-height:1.5}.toast .x:hover{color:var(--text)}.toast.ok{border-color:var(--ok)}.toast.ok .ic{color:var(--ok)}.toast.warn{border-color:var(--warn)}.toast.warn .ic{color:var(--warn)}.toast.error{border-color:var(--danger)}.toast.error .ic{color:var(--danger)}.alert{align-items:flex-start;gap:var(--space-10);padding:var(--space-10) var(--space-14);font-size:var(--font-size-control);background:var(--accent-weak);border:1px solid var(--accent);border-radius:var(--radius);display:flex}.alert .ic{color:var(--muted);flex:none;line-height:1.5}.alert>div{flex:1;min-width:0;line-height:1.5}.alert .x{color:var(--muted);font-size:var(--font-size-control);cursor:pointer;background:0 0;border:none;flex:none;padding:0;line-height:1.5}.alert .x:hover{color:var(--text)}.alert.ok{border-color:var(--ok);background:var(--ok-weak)}.alert.ok .ic{color:var(--ok)}.alert.warn{border-color:var(--warn);background:var(--warn-weak)}.alert.warn .ic{color:var(--warn)}.alert.error{border-color:var(--danger);background:var(--danger-weak)}.alert.error .ic{color:var(--danger)}.status{align-items:center;gap:var(--space-6);font-size:var(--font-size-label);color:var(--muted);display:inline-flex}.status .dot{background:currentColor;border-radius:50%;width:8px;height:8px}.status.connected{color:var(--ok)}.status.connecting{color:var(--warn)}.status.error{color:var(--danger)}.status.error .dot{box-shadow:0 0 0 2px var(--danger-weak)}.search-box{padding:0 var(--space-8);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--field-bg);cursor:text;align-items:center;gap:7px;min-width:240px;display:flex}.search-box:focus-within{border-color:var(--accent);box-shadow:var(--focus)}.search-box .ic{color:var(--muted);pointer-events:none;flex:none}.search-box input{min-width:0;padding:var(--space-8) 0;color:var(--text);background:0 0;border:none;flex:1}.search-box input:focus{box-shadow:none;outline:none}.tabs{gap:var(--space-4);border-bottom:1px solid var(--border);padding-bottom:var(--space-6);display:flex}.tabs [role=tab]{padding:7px var(--space-12);font-size:var(--font-size-control);border-radius:var(--radius-sm);color:var(--muted);background:0 0;border:1px solid #0000}.tabs [role=tab]:hover:not(:disabled){color:var(--text);background:var(--surface-2);border-color:#0000}.tabs [role=tab][aria-selected=true]{background:var(--accent-weak);border-color:var(--accent);color:var(--text);font-weight:600}[role=tabpanel]{font-size:var(--font-size-control)}.crumbs ol{align-items:center;gap:var(--space-6);font-size:var(--font-size-control);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.crumbs li{align-items:center;gap:var(--space-6);display:flex}.crumbs li+li:before{content:"›";color:var(--muted)}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--text);text-decoration:underline}.crumbs [aria-current=page]{color:var(--text);font-weight:600}.pager{align-items:center;gap:var(--space-2);display:flex}.pager button{min-width:28px;height:28px;padding:0 var(--space-6);font-size:var(--font-size-label);font-variant-numeric:tabular-nums;border-radius:var(--radius-sm);color:var(--muted);background:0 0;border:1px solid #0000}.pager button:hover:not(:disabled):not([aria-current]){border-color:var(--border-strong);background:var(--surface-2);color:var(--text)}.pager button[aria-current=page]{background:var(--accent-weak);border-color:var(--accent);color:var(--text);font-weight:600}.pager .gap{color:var(--muted);padding:0 var(--space-2);font-size:var(--font-size-label)}.menu{display:inline-flex;position:relative}.menu .list,.combo .list{z-index:var(--z-pop);min-width:180px;padding:var(--space-4);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;display:none;position:absolute;top:calc(100% + 4px);left:0}.menu.open .list,.combo.open .list{display:flex}.menu .list.a-right{left:auto;right:0}.menu .list button,.combo .list button{text-align:left;width:100%;padding:7px var(--space-10);font-size:var(--font-size-control);border-radius:var(--radius-sm);color:var(--text);background:0 0;border:none}.menu .list button:hover,.menu .list button:focus-visible,.combo .list button:hover{background:var(--accent-weak);box-shadow:none}.menu .list hr{border:none;border-top:1px solid var(--border);margin:var(--space-4) var(--space-2);width:auto}.menu .list .danger{color:var(--danger);background:0 0;border:none}.menu .list .danger:hover,.menu .list .danger:focus-visible{background:var(--danger-weak)}.combo{min-width:240px;position:relative}.combo input{width:100%}.combo .list{width:100%;max-height:240px;overflow:auto}.combo .list [role=option]:before,.menu .list [aria-checked]:before{content:"";width:6px;height:6px;margin-right:var(--space-8);vertical-align:middle;background:0 0;border-radius:50%;flex:none;display:inline-block}.menu .list [aria-checked],.combo .list [role=option]{border:1px solid #0000}.combo .list [aria-selected=true],.menu .list [aria-checked=true]{background:var(--accent-weak);border-color:var(--accent);font-weight:600}.combo .list [aria-selected=true]:before,.menu .list [aria-checked=true]:before{background:var(--accent)}.combo .list .active{background:var(--surface-2)}.combo .list .empty{padding:var(--space-10);font-size:var(--font-size-label);color:var(--muted);text-align:center}.seg{gap:var(--space-2);padding:var(--space-2);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);display:inline-flex}.seg input{opacity:0;width:0;height:0;position:absolute}.seg span{padding:5px var(--space-12);font-size:var(--font-size-control);color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration) var(--ease);display:block}.seg span:hover{color:var(--text)}.seg input:checked+span{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--border);font-weight:600}.seg input:focus-visible+span{box-shadow:var(--focus)}.seg input:disabled+span{opacity:.5;cursor:default}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-14);gap:var(--space-10);flex-direction:column;display:flex}.card .head{justify-content:space-between;align-items:center;gap:var(--space-10);display:flex}.card .head h3{margin:0}.card .body{font-size:var(--font-size-control);color:var(--muted);line-height:1.5}.card .foot{gap:var(--space-8);border-top:1px solid var(--border);padding-top:var(--space-10);justify-content:flex-end;display:flex}a.card{color:inherit;text-decoration:none}a.card:hover,.card.click:hover{border-color:var(--accent)}.card.click{cursor:pointer}.card-list{gap:var(--space-8);flex-direction:column;display:flex}.card.row{align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-14);flex-direction:row}.card .info{flex:1;min-width:0}.card .info .name{font-size:var(--font-size-control);color:var(--text);font-weight:600}.acc-group{gap:var(--space-8);flex-direction:column;display:flex}.acc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.acc summary{justify-content:space-between;align-items:center;gap:var(--space-10);padding:var(--space-10) var(--space-14);font-size:var(--font-size-control);cursor:pointer;border-radius:var(--radius);font-weight:600;list-style:none;display:flex}.acc summary::-webkit-details-marker{display:none}.acc summary:after{content:"›";color:var(--muted);transition:rotate var(--duration) var(--ease)}.acc[open] summary:after{rotate:90deg}.acc summary:hover{background:var(--surface-2)}.acc[open] summary{border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0}.acc .body{padding:var(--space-12) var(--space-14);font-size:var(--font-size-control);line-height:1.5}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);z-index:var(--z-pop);width:max-content;max-width:240px;padding:var(--space-4) var(--space-8);font-size:var(--font-size-badge);border-radius:var(--radius-sm);background:var(--text);color:var(--bg);box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;transition:opacity var(--duration) var(--ease);font-weight:400;line-height:1.4;position:absolute;bottom:calc(100% + 6px);left:50%;translate:-50%}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;transition-delay:.3s}.avatar{background:var(--surface-2);border:1px solid var(--border-strong);width:28px;height:28px;color:var(--muted);font-size:var(--font-size-badge);text-transform:uppercase;letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.sm{width:22px;height:22px;font-size:10px}.avatar.lg{width:36px;height:36px;font-size:var(--font-size-control)}.avatar.me{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.avatar-group{padding-left:var(--space-8);display:inline-flex}.avatar-group .avatar{box-shadow:0 0 0 2px var(--surface);margin-left:-8px}.empty-state{align-items:center;gap:var(--space-8);text-align:center;padding:32px var(--space-20);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--muted);flex-direction:column;display:flex}.empty-state .ic{opacity:.6;font-size:20px}.empty-state h3{font-size:var(--font-size-body);color:var(--text);margin:0}.empty-state p{font-size:var(--font-size-control);max-width:40ch;margin:0;line-height:1.5}.empty-state.quiet{padding:var(--space-20);background:0 0;border:none}.skeleton{background:var(--surface-2);border-radius:var(--radius-sm);animation:sk-pulse 1.6s var(--ease) infinite;display:block}@keyframes sk-pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.skeleton.text{height:12px}.skeleton.title{width:40%;height:16px}.skeleton.round{border-radius:50%;width:28px;height:28px}.skeleton.btn{border-radius:var(--radius);width:90px;height:30px}.skeleton.block{border-radius:var(--radius);height:80px}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}.spinner.lg{border-width:3px;width:24px;height:24px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.input-group{align-items:stretch;display:flex}.input-group .prefix{padding:0 var(--space-10);font-size:var(--font-size-control);color:var(--muted);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius) 0 0 var(--radius);white-space:nowrap;border-right:none;align-items:center;max-width:50%;display:flex;overflow:hidden}.input-group select.prefix{color:var(--text);background-position:right 8px center;padding-right:28px;transition:none}.input-group>input{border-radius:0 var(--radius) var(--radius) 0;flex:1;min-width:0}.overlay.confirm{z-index:var(--z-confirm);align-items:center}.modal.confirm-box{max-width:420px}.modal.confirm-box .msg{color:var(--muted);margin:0;line-height:1.5}.modal.confirm-box .actions{justify-content:flex-end}button.confirm{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button.confirm.danger{background:var(--danger);border-color:var(--danger);color:#fff}}.shell{flex-direction:column;min-height:100vh;display:flex}.content{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:24px 20px}@media (width<=559.98px){.content{padding:16px 12px}}.content.narrow{max-width:420px}.page{gap:var(--space-14);flex-direction:column;display:flex}.head{justify-content:space-between;align-items:center;gap:var(--space-12);flex-wrap:wrap;display:flex}.head h2{margin:0}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.toolbar .left,.toolbar .right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (width<=559.98px){.toolbar .left,.toolbar .search-box{flex:100%}}.form{gap:var(--space-14);flex-direction:column;display:flex}.actions{gap:var(--space-8);flex-wrap:wrap;align-items:center;display:flex}.actions.end{justify-content:flex-end}.split{gap:var(--space-14);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}@media (width<=859.98px){.split{grid-template-columns:minmax(0,1fr)}}.muted{color:var(--muted)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.icon{flex:none;width:16px;height:16px}button .icon,a.btn .icon{vertical-align:-3px}button.icon-only{padding:7px;line-height:0}a.btn{font-size:var(--font-size-control);border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);white-space:nowrap;padding:8px 14px;text-decoration:none;display:inline-block}a.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}a.btn.primary:hover{filter:brightness(1.05)}a.btn.btn-sm{font-size:var(--font-size-label);padding:6px 10px}a.btn:hover{border-color:var(--accent)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=859.98px){.only-wide{display:none!important}}@media (width>=860px){.only-narrow{display:none!important}}[data-tip].tip-end:after{left:auto;right:0;translate:0}[data-tip].tip-below:after{top:calc(100% + 6px);bottom:auto}[data-tip].tip-right:after{top:50%;bottom:auto;left:calc(100% + 8px);translate:0 -50%}#app{min-height:100vh}.branch-badge{padding:1px var(--space-6);border-radius:var(--radius-sm);font-size:var(--font-size-badge);letter-spacing:.02em;box-shadow:inset 0 0 0 1px var(--swatch-ring);flex-shrink:0;font-weight:600;line-height:1.5;display:inline-block}.swatch-dot{width:8px;height:8px;box-shadow:0 0 0 1px var(--swatch-ring);border-radius:50%;flex:none;display:inline-block}input::placeholder,textarea::placeholder{font-style:italic}.check{align-items:center;gap:var(--space-8);font-size:var(--font-size-control);color:var(--text);cursor:pointer;display:inline-flex}.check input{margin:0}.check.disabled{color:var(--muted);cursor:default}button.link{color:var(--text);text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}button.link:hover:not(:disabled){color:var(--text);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}button .spinner{width:14px;height:14px;margin-right:var(--space-6);vertical-align:-2px;display:inline-block}.actions .push-left{margin-right:auto}
