@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";.ds-connectivity-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--foreground);background:var(--warning-surface);border-bottom:1px solid var(--warning-border)}.ds-connectivity-banner__icon{display:inline-flex;flex:0 0 auto;color:var(--warning)}.ds-connectivity-banner__icon svg{width:16px;height:16px}.ds-connectivity-banner__label{min-width:0;line-height:1.35}.ds-connectivity-banner--syncing{background:var(--info-surface);border-bottom-color:var(--info-border)}.ds-connectivity-banner--syncing .ds-connectivity-banner__icon{color:var(--info);animation:ds-connectivity-spin 1.2s linear infinite}.ds-connectivity-banner--conflict{background:var(--destructive-surface);border-bottom-color:var(--destructive-border)}.ds-connectivity-banner--conflict .ds-connectivity-banner__icon{color:var(--destructive)}@keyframes ds-connectivity-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ds-connectivity-banner--syncing .ds-connectivity-banner__icon{animation:none}}.ds-auto-retry{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.ds-auto-retry__hint{margin:0;font-size:var(--text-xs);color:var(--muted-foreground)}.ds-connection-error-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;color:var(--destructive);animation:ds-connection-error-pulse 2s ease-in-out infinite}.ds-connection-error-icon svg{width:56px;height:56px}@keyframes ds-connection-error-pulse{0%,to{opacity:.45;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.ds-connection-error-icon{animation:none;opacity:.85}}.ds-catalog-empty{display:flex;align-items:center;justify-content:center;min-height:220px;padding:24px}.ds-catalog-empty .ds-state-box{max-width:28rem}.color-palette-picker{display:flex;flex-wrap:wrap;gap:8px}.color-palette-picker__swatch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;padding:3px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);cursor:pointer;display:grid;place-items:center}.color-palette-picker__swatch:hover:not(:disabled){border-color:var(--accent-secondary-border);background:var(--accent-secondary-surface)}.color-palette-picker__swatch.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 25%,transparent)}.color-palette-picker__swatch:disabled{opacity:.55;cursor:not-allowed}.color-palette-picker__fill{width:100%;height:100%;border-radius:calc(var(--radius-md) - 4px);border:1px solid color-mix(in srgb,var(--foreground) 10%,transparent)}.color-swatch{display:inline-flex;align-items:center;gap:8px;font:500 var(--text-xs) var(--font-mono, ui-monospace, monospace);color:var(--muted-foreground)}.color-swatch__dot{width:14px;height:14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--foreground) 12%,transparent);flex-shrink:0;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--foreground) 6%,transparent)}.color-swatch--sm .color-swatch__dot{width:12px;height:12px}.color-swatch__label{letter-spacing:.02em}.validation-checklist{list-style:none;margin:0;padding:0;display:grid;gap:4px}.validation-checklist__item{display:flex;align-items:center;gap:8px;font-size:var(--text-xs);line-height:1.4;color:var(--muted-foreground)}.validation-checklist__item.is-met{color:var(--success)}.validation-checklist__mark{width:14px;flex-shrink:0;text-align:center;font-weight:var(--font-weight-bold)}.validated-field{display:flex;flex-direction:column;gap:8px}.validated-field .ds-input{width:100%}.password-field{display:flex;flex-direction:column;gap:8px}.password-field__controls{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}.password-field__input-wrap{position:relative;flex:1;min-width:min(100%,220px)}.password-field__input-wrap .ds-input{width:100%;padding-right:40px}.password-field__toggle{position:absolute;top:50%;right:6px;width:28px;height:28px;border:none;background:none;cursor:pointer;color:var(--muted-foreground);transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.password-field__toggle:hover:not(:disabled){color:var(--foreground);background:var(--muted)}.password-field__toggle:disabled{cursor:not-allowed;opacity:.5}.password-field__toggle svg{width:18px;height:18px}.password-field__generate{flex-shrink:0;white-space:nowrap}.lookup-color-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border-radius:999px;font-size:11px;font-weight:750;border:1px solid transparent}.lookup-color-pill__dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.lookup-color-pill--custom{color:var(--lookup-urgency-fg);background:var(--lookup-urgency-bg);border-color:var(--lookup-urgency-border)}.lookup-color-pill--custom .lookup-color-pill__dot{background:var(--lookup-urgency-dot)}.dark .lookup-color-pill--custom,:root[data-theme=dark] .lookup-color-pill--custom,[data-theme=dark] .lookup-color-pill--custom{color:color-mix(in srgb,var(--lookup-urgency-fg) 78%,var(--foreground));background:color-mix(in srgb,var(--lookup-urgency-fg) 7%,var(--card));border-color:color-mix(in srgb,var(--lookup-urgency-fg) 12%,var(--border))}.dark .lookup-color-pill--custom .lookup-color-pill__dot,:root[data-theme=dark] .lookup-color-pill--custom .lookup-color-pill__dot,[data-theme=dark] .lookup-color-pill--custom .lookup-color-pill__dot{background:color-mix(in srgb,var(--lookup-urgency-fg) 62%,var(--muted-foreground))}.notifications-inbox{display:flex;flex-direction:column;gap:14px}.notifications-inbox__count{font-size:var(--text-sm);color:var(--muted-foreground);font-weight:600;min-height:1.5em}.notifications-inbox__count-unread{color:var(--primary)}.notifications-inbox__read-all--hidden{visibility:hidden;pointer-events:none}.notifications-inbox__body{min-height:220px;display:flex;flex-direction:column}.notifications-inbox__panel{flex:1;min-height:220px;display:flex;flex-direction:column}.notifications-inbox__panel .ds-catalog-empty,.notifications-inbox__panel>.ds-state-box{flex:1;min-height:220px;box-sizing:border-box}.notifications-inbox__list{display:flex;flex-direction:column;gap:8px;margin-top:2px}.notifications-inbox__load-more{display:flex;align-items:center;justify-content:center;min-height:56px;padding:8px 0 4px}.notifications-item{display:flex;gap:10px;padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--card);cursor:pointer;text-align:left;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit;font:inherit}.notifications-item--unread{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:color-mix(in srgb,var(--primary-surface) 40%,var(--card))}.notifications-item__dot{width:8px;height:8px;border-radius:50%;background:var(--primary);flex:0 0 auto;margin-top:6px}.notifications-item--read .notifications-item__dot{background:transparent;border:1px solid var(--border)}.notifications-item__body{flex:1;min-width:0}.notifications-item__top{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}.notifications-item__title{font-weight:700;font-size:var(--text-sm);letter-spacing:-.01em}.notifications-item__msg{font-size:var(--text-sm);color:var(--muted-foreground);line-height:1.35;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notifications-item__meta{font-size:11px;color:var(--muted-foreground);margin-top:6px;display:block}.notifications-detail__badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.notifications-detail__title{margin:0 0 8px;font-size:var(--text-lg);letter-spacing:-.02em}.notifications-detail__body{margin:0;font-size:var(--text-sm);color:var(--muted-foreground);line-height:1.45}.notifications-detail__actions{display:flex;flex-wrap:wrap;justify-content:flex-start;width:100%;gap:8px}.auth-gate-page{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(1200px 600px at 10% -10%,var(--primary-surface),transparent 55%),radial-gradient(900px 500px at 110% 10%,var(--muted),transparent 50%),var(--background)}.auth-gate-page__top{position:fixed;top:12px;right:12px;z-index:2}.auth-gate-page__theme{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:var(--card)}.auth-gate-page__theme-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--muted-foreground)}.auth-gate-page__theme-icon svg{width:18px;height:18px}.auth-gate-page__theme-switch{padding:0}.auth-gate-page__shell{width:min(100%,400px)}.auth-gate-page__brand{text-align:center;margin-bottom:20px}.auth-gate-page__brand h1{margin:0;font-size:var(--text-2xl);letter-spacing:-.03em;font-weight:700}.auth-gate-page__card{box-shadow:var(--shadow-lg)}.auth-gate-page__card .ds-card__content{padding-top:24px;padding-bottom:24px}.auth-gate-page__panel{display:grid;gap:12px}.auth-gate-page__loading{display:grid;justify-items:center;gap:12px;padding:16px 0 8px}.auth-gate-page__hint{margin:0;color:var(--muted-foreground);font-size:var(--text-sm)}.auth-gate-page__empty{padding:24px 8px 8px}.auth-gate-page__empty .ds-empty__icon{width:auto;height:auto;color:inherit}.auth-gate-page__auto-retry{align-items:center;width:100%}.auth-gate-page__auto-retry .ds-auto-retry__hint{text-align:center}.auth-gate-page__empty .ds-empty__title{font-size:var(--text-xl)}.auth-gate-page__empty .ds-empty__desc{font-size:var(--text-md);line-height:var(--leading-snug)}.auth-gate-page__empty .ds-empty__actions{margin-top:12px;flex-wrap:wrap;justify-content:center}.auth-gate-page__details{margin:4px 8px 0;text-align:left}.auth-gate-page__details summary{cursor:pointer;font-size:var(--text-xs);font-weight:600;color:var(--foreground);-webkit-user-select:none;user-select:none}.auth-gate-page__details code{display:block;margin-top:8px;font:500 12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--foreground);word-break:break-word;white-space:pre-wrap}.installer-shell{--installer-shell-header-offset: 69px;min-height:100vh;display:flex;flex-direction:column;background:var(--background)}.installer-shell__header{position:sticky;top:0;z-index:calc(var(--z-sticky) + 1);display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--border);background:var(--card)}.installer-shell__titles h1{margin:0;font-size:var(--text-lg);text-align:center}.installer-shell__titles p{margin:2px 0 0;font-size:var(--text-xs);color:var(--muted-foreground);text-align:center}.installer-shell__icon-btn,.installer-shell__avatar{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--background);border-radius:12px;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;color:var(--foreground);font-weight:700}.installer-shell__avatar{border:0;background:var(--primary);color:var(--primary-foreground);border-radius:50%}.installer-shell__avatar.is-active{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 25%,transparent)}.installer-shell__avatar:focus-visible,.installer-shell__icon-btn:focus-visible{outline:2px solid var(--ring, var(--focus));outline-offset:2px}.installer-shell__content{flex:1;padding:16px}.installer-sticky-alerts{position:sticky;top:var(--installer-shell-header-offset, 69px);z-index:calc(var(--z-sticky) + 2);display:flex;flex-direction:column;gap:8px;margin:-16px -16px 8px;padding:8px 16px;background:var(--background);border-bottom:1px solid var(--border)}.installer-shell__scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:flex-end;z-index:var(--z-overlay)}.installer-shell__sheet{width:100%;max-height:78vh;background:var(--card);border-radius:18px 18px 0 0;padding:10px 12px 16px;overflow:auto}.installer-shell__grab{width:36px;height:4px;border-radius:99px;background:var(--muted);margin:4px auto 12px}.installer-shell__sheet h2{margin:0 0 8px;font-size:var(--text-lg)}.installer-shell__group+.installer-shell__group{margin-top:8px;padding-top:10px;border-top:1px solid var(--border)}.installer-shell__sec{margin:0 12px 6px;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground)}.installer-shell__link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 12px;border-radius:10px;text-decoration:none;color:var(--foreground);font-weight:650;min-height:48px}.installer-shell__link:hover,.installer-shell__link.is-active{background:var(--muted)}.installer-shell__nav-badge{font-size:11px;font-weight:700;background:var(--primary);color:var(--primary-foreground);border-radius:999px;padding:1px 7px;min-width:18px;text-align:center;flex-shrink:0}.placeholder-page__meta{margin:0 0 6px;color:var(--muted-foreground);font-size:var(--text-sm)}.placeholder-page__hint{margin:12px 0 0;color:var(--muted-foreground);font-size:var(--text-sm)}.push-notifications-setting{display:flex;flex-direction:column;margin-top:var(--ds-space-6, 1.5rem);padding-top:var(--ds-space-4, 1rem);border-top:1px solid var(--ds-color-border-subtle, rgb(0 0 0 / 8%))}.push-notifications-setting__title{margin:0 0 4px;font-size:var(--ds-font-size-sm, .875rem);font-weight:600}.push-notifications-setting__status{margin:0;color:var(--ds-color-text-secondary, #6b7280);font-size:var(--ds-font-size-sm, .875rem)}.push-notifications-setting__hint{margin:12px 0 0;font-size:var(--ds-font-size-xs, .75rem);color:var(--ds-color-text-secondary, #6b7280)}.push-notifications-setting>button{margin-top:12px;align-self:flex-start}.profile-theme-setting{display:flex;flex-direction:column;margin-top:var(--space-6, 1.5rem);padding-top:var(--space-4, 1rem);border-top:1px solid var(--border)}.profile-theme-setting__title{margin:0 0 4px;font-size:var(--text-sm);font-weight:600}.profile-theme-setting__status{margin:0;color:var(--muted-foreground);font-size:var(--text-sm)}.profile-theme-setting__control{margin-top:12px;width:fit-content;max-width:100%;align-self:flex-start}.profile-page{max-width:480px}.profile-page--embedded{max-width:none}.profile-page--embedded .profile-page__section{border:none;background:transparent;border-radius:0;gap:12px}.profile-page--embedded .profile-page__account{gap:0}.profile-page--embedded .profile-page__account-content{padding:0}.profile-page__separator{margin:4px 0}.profile-page__header-badges{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.profile-page--embedded .profile-page__section>.ds-card__header{padding:0}.profile-page--embedded .profile-page__section>.ds-card__content{padding:0}.profile-page__dialog-footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;width:100%}.profile-page__dialog-footer-start{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-right:auto}.profile-page__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.profile-page__card{display:flex;flex-direction:column;gap:14px}.profile-page__card>.ds-card__header{gap:4px}.profile-page__head{position:relative;display:flex;align-items:flex-start;gap:12px}.profile-page__head-badges{position:absolute;top:14px;right:14px;z-index:1;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;max-width:min(240px,45%)}.profile-page__intro{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.profile-page__head:has(.profile-page__head-badges) .profile-page__intro{padding-right:min(240px,45%)}.profile-page__status,.profile-page__admin-badge,.profile-page__version{flex-shrink:0}.profile-page__alert{margin-bottom:4px}.profile-page__form,.profile-page__fields{display:flex;flex-direction:column;gap:14px}.profile-page__fields--split{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.profile-page__field{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-page__field-hint{font-size:12px;line-height:1.45;color:var(--muted-foreground)}.profile-page__field-label{font-size:11px;font-weight:700;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em}.profile-page__field-value{font-size:14px;font-weight:600;color:var(--foreground);word-break:break-word}.profile-page__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.profile-page__field-trail{margin-bottom:12px}.profile-page__footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.profile-page__logout{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:var(--primary-surface)}.profile-page__logout:hover{background:color-mix(in srgb,var(--primary) 8%,var(--primary-surface))}.profile-page__footer-start{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-right:auto}.profile-page__settings-content{display:flex;flex-direction:column;gap:0;padding-top:0}.profile-page__card:not(.profile-page__settings-card)>.ds-card__content{padding-top:0}.profile-page__settings-card .push-notifications-setting{margin-top:0;padding-top:0;border-top:none}.profile-page__actions--compact{margin-top:8px}@media(max-width:720px){.profile-page__fields--split{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.profile-page__card{scroll-behavior:auto}}.app-layout__page{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.app-layout__avatar{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:36px;border-radius:50%;border:0;background:var(--primary);color:var(--primary-foreground);display:grid;place-items:center;font-size:13px;font-weight:800;cursor:pointer}.app-layout__avatar.is-active{box-shadow:0 0 0 3px var(--primary-surface)}.app-layout__avatar:focus-visible{outline:2px solid var(--ring, var(--focus));outline-offset:2px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(1200px 600px at 10% -10%,var(--primary-surface),transparent 55%),radial-gradient(900px 500px at 110% 10%,var(--muted),transparent 50%),var(--background)}.login-page__top{position:fixed;top:12px;right:12px;z-index:2}.login-page__theme{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:var(--card)}.login-page__theme-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--muted-foreground)}.login-page__theme-icon svg{width:18px;height:18px}.login-page__theme-switch{padding:0}.login-page__chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:999px;padding:6px 10px;font:600 12px var(--font-sans);cursor:pointer}.login-page__shell{width:min(100%,400px)}.login-page__brand{text-align:center;margin-bottom:20px}.login-page__mark{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--primary);color:var(--primary-foreground);font-weight:800;letter-spacing:-.04em;margin-bottom:10px}.login-page__brand h1{margin:0;font-size:var(--text-2xl);letter-spacing:-.03em;font-weight:700}.login-page__brand p{margin:6px 0 0;color:var(--muted-foreground);font-size:var(--text-md)}.login-page__card{box-shadow:var(--shadow-lg)}.login-page__card .ds-card__content{padding-top:24px}.login-page__panel{display:grid;gap:12px}.login-page__password{position:relative;display:flex;align-items:center;width:100%}.login-page__password .ds-input{width:100%;padding-right:40px}.login-page__password-toggle{position:absolute;right:6px;width:28px;height:28px;border:none;background:none;cursor:pointer;color:var(--muted-foreground);border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center}.login-page__password-toggle svg{width:18px;height:18px}.login-page__password-toggle:hover:not(:disabled){background:var(--secondary);color:var(--foreground)}.login-page__password-toggle:disabled{cursor:not-allowed;opacity:.5}.login-page__error{min-height:52px;margin-top:12px}.login-page__alert{margin-bottom:12px}.login-page__hint{margin:-4px 0 0;font-size:var(--text-xs);color:var(--muted-foreground)}.login-page__submit{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;height:44px}.login-page__forgot{display:flex;justify-content:flex-end;margin-top:-4px}.login-page__forgot a{font:600 13px var(--font-sans);color:var(--muted-foreground);text-decoration:none}.login-page__forgot a:hover{color:var(--foreground)}.login-page__btn-loader{font-size:16px}.password-reset-page__code-input{letter-spacing:.28em;text-align:center;font-weight:700;font-size:18px!important}.password-reset-page__back{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;font:600 13px var(--font-sans);color:var(--muted-foreground);cursor:pointer;text-align:center}.password-reset-page__back:hover:not(:disabled){color:var(--foreground)}.password-reset-page__back:disabled{opacity:.55;cursor:not-allowed}.password-reset-page__footer{margin-top:16px;text-align:center}.password-reset-page__footer a{font:600 13px var(--font-sans);color:var(--muted-foreground);text-decoration:none}.password-reset-page__footer a:hover{color:var(--foreground)}.admin-audit-page{display:flex;flex-direction:column;gap:12px}.admin-audit-page__toolbar{display:flex;flex-direction:column;gap:10px}.admin-audit-page .ds-catalog-toolbar__left .ds-search{width:min(360px,100%)}.admin-audit-page .ds-tool-btn svg{width:16px;height:16px;flex-shrink:0}.admin-audit-page .ds-tool-btn{display:inline-flex;align-items:center;gap:6px;height:36px}.admin-audit-page .ds-btn--icon.ds-tool-btn{width:36px;padding:0;justify-content:center}.admin-audit-page__menu-fields{display:flex;flex-direction:column;gap:10px;padding:8px 10px 4px;border-top:1px solid var(--border);margin-top:4px}.admin-audit-page__filter-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-audit-page__filter-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 10px;border-radius:999px;border:1px solid var(--border);background:var(--muted);font:600 var(--text-xs) var(--font-sans)}.admin-audit-page__filter-chip button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;width:20px;height:20px;border-radius:999px;padding:0;font:700 14px/1 var(--font-sans)}.admin-audit-page__filter-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);font:600 var(--text-xs) var(--font-sans);cursor:pointer;padding:4px 6px}.admin-audit-page__col-user{min-width:200px;width:22%}.admin-audit-page__row:hover td{background:var(--muted)}.admin-audit-page__mono{font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;white-space:nowrap}.admin-audit-page__subline{color:var(--muted-foreground);font-size:12px;margin-top:3px;line-height:1.35}.admin-audit-page__details{color:var(--muted-foreground);font-size:var(--text-xs);line-height:1.4;max-width:360px}.admin-audit-page__user-system{color:var(--muted-foreground);font-style:italic}.admin-audit-page__loading{display:flex;justify-content:center;padding:48px 16px}.admin-audit-page__empty-cell{text-align:center;color:var(--muted-foreground);padding:28px 16px}.catalog-table__primary{font-weight:var(--font-weight-semibold);font-size:inherit;line-height:var(--leading-normal);word-break:break-word}.admin-dictionaries-page{display:flex;flex-direction:column;gap:12px}.admin-dictionaries-page__nav .ds-panel{padding:8px}.admin-dictionaries-page__nav-group{display:flex;flex-direction:column;gap:4px}.admin-dictionaries-page__nav-group+.admin-dictionaries-page__nav-group{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-subtle)}.admin-dictionaries-page__nav-section{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--muted-foreground);padding:0 8px;text-transform:uppercase;letter-spacing:.04em}.admin-dictionaries-page__nav-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--foreground);font-size:var(--text-sm);font-weight:var(--font-weight-medium);text-align:left;cursor:pointer}.admin-dictionaries-page__nav-item:hover{background:var(--accent-secondary-surface)}.admin-dictionaries-page__nav-item.is-on{background:var(--accent-secondary-surface);border-color:var(--accent-secondary-border)}.admin-dictionaries-page__nav-meta{font-size:var(--text-xs);color:var(--muted-foreground);font-weight:var(--font-weight-normal)}.admin-dictionaries-page__main{display:flex;flex-direction:column;gap:12px;min-width:0}.admin-dictionaries-page__toolbar{display:flex;flex-direction:column;gap:10px}.admin-dictionaries-page .ds-catalog-toolbar__left .ds-search{width:min(360px,100%)}.admin-dictionaries-page .ds-tool-btn svg{width:16px;height:16px;flex-shrink:0}.admin-dictionaries-page .ds-tool-btn{display:inline-flex;align-items:center;gap:6px;height:36px}.admin-dictionaries-page .ds-btn--icon.ds-tool-btn{width:36px;padding:0;justify-content:center}.admin-dictionaries-page__filter-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-dictionaries-page__filter-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 10px;border-radius:999px;border:1px solid var(--border);background:var(--muted);font:600 var(--text-xs) var(--font-sans)}.admin-dictionaries-page__filter-chip button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;width:20px;height:20px;border-radius:999px;padding:0;font:700 14px/1 var(--font-sans)}.admin-dictionaries-page__filter-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);font:600 var(--text-xs) var(--font-sans);cursor:pointer;padding:4px 6px}.admin-dictionaries-page__row:hover td{background:var(--muted)}.admin-dictionaries-page__item-subtitle{color:var(--muted-foreground);font-size:var(--text-xs);line-height:1.35}.admin-dictionaries-page__field-hint{margin:6px 0 0;font-size:var(--text-sm);color:var(--muted-foreground);line-height:1.45}.admin-dictionaries-page__row--deleted{opacity:.55}.admin-dictionaries-page__row--deleted .catalog-table__primary{text-decoration:line-through}.admin-dictionaries-page__row--clickable{cursor:pointer}.admin-dictionaries-page__actions{text-align:right;white-space:nowrap}.admin-dictionaries-page__dialog{--ds-dialog-inset: 28px}.admin-dictionaries-page__dialog .ds-dialog__content{padding-top:28px;padding-bottom:32px}.admin-dictionaries-page__dialog .ds-dialog__footer{justify-content:flex-start;padding-top:16px;gap:10px}.admin-dictionaries-page__dialog-form{display:flex;flex-direction:column;gap:20px}.admin-dictionaries-page__dialog-footer{display:flex;justify-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap;width:100%}.admin-dictionaries-page__dialog-footer-delete{margin-left:auto}.admin-dictionaries-page__loading{display:flex;justify-content:center;padding:48px 16px}.admin-users-page{display:flex;flex-direction:column;gap:12px}.admin-users-page__toolbar{display:flex;flex-direction:column;gap:10px}.admin-users-page .ds-catalog-toolbar__left .ds-search{width:min(360px,100%)}.admin-users-page .ds-tool-btn svg{width:16px;height:16px;flex-shrink:0}.admin-users-page .ds-tool-btn{display:inline-flex;align-items:center;gap:6px;height:36px}.admin-users-page .ds-btn--icon.ds-tool-btn{width:36px;padding:0;justify-content:center}.admin-users-page__menu-empty{display:block;padding:8px 10px;color:var(--muted-foreground);font-size:var(--text-xs)}.admin-users-page__filter-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-users-page__filter-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 10px;border-radius:999px;border:1px solid var(--border);background:var(--muted);font:600 var(--text-xs) var(--font-sans)}.admin-users-page__filter-chip button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;width:20px;height:20px;border-radius:999px;padding:0;font:700 14px/1 var(--font-sans)}.admin-users-page__filter-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);font:600 var(--text-xs) var(--font-sans);cursor:pointer;padding:4px 6px}.admin-users-page__col-user{min-width:220px;width:28%}.admin-users-page__entity{display:inline}.admin-users-page__row:hover td{background:var(--muted)}.admin-users-page__row--deleted{opacity:.55}.admin-users-page__row--deleted .admin-users-page__entity{text-decoration:line-through}.admin-users-page__row--clickable{cursor:pointer}.admin-users-page__actions{text-align:right;white-space:nowrap}.admin-users-page__admin-badge{margin-left:8px;vertical-align:middle}.admin-users-page__dialog{--ds-dialog-inset: 28px}.admin-users-page__dialog .ds-dialog__content{padding-top:28px;padding-bottom:32px}.admin-users-page__dialog .ds-dialog__footer{justify-content:flex-start;padding-top:16px;gap:10px}.admin-users-page__dialog-form{display:flex;flex-direction:column;gap:20px}.admin-users-page__dialog-hint{font-size:var(--text-xs);color:var(--muted-foreground);margin:0;line-height:1.5}.admin-users-page__dialog-footer{display:flex;justify-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap;width:100%}.admin-users-page__dialog-footer-delete{margin-left:auto}.admin-users-page__password-hint{margin:6px 0 0;font-size:var(--text-xs);color:var(--muted-foreground);line-height:1.45}.admin-users-page__set-password-action{display:flex;justify-content:flex-start}.admin-users-page__field-value{font-size:var(--text-base);font-weight:500;line-height:1.5;word-break:break-all}.admin-users-page__otp-field{font-family:var(--font-mono, ui-monospace, monospace);letter-spacing:.04em}.admin-users-page__loading{display:flex;justify-content:center;padding:48px 16px}.duty-form-pick{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.duty-form-pick__input{flex:1;min-width:min(100%,220px);cursor:pointer}.duty-form-pick__input:disabled{cursor:not-allowed}.duty-form-pick__actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.duty-page{display:flex;flex-direction:column;gap:12px}.duty-page__tickets{display:flex;flex-direction:column;gap:14px}.duty-page__title{margin:0;font-size:var(--text-xl);font-weight:var(--font-weight-semibold);letter-spacing:-.02em}.duty-page__title-row{display:flex;align-items:center;gap:8px}.duty-page__refresh-btn svg{width:16px;height:16px}.duty-page__summary{display:flex;flex-direction:column;gap:10px}.duty-page__summary-skeleton{gap:8px}.duty-page__summary-skeleton .ds-skeleton:nth-child(2){margin-top:2px}.duty-page__tickets-toolbar{display:flex;flex-direction:column;gap:10px}.duty-page__tickets .ds-catalog-toolbar__left .ds-search{width:min(360px,100%)}.duty-page__tickets .ds-tool-btn svg{width:16px;height:16px;flex-shrink:0}.duty-page__tickets .ds-tool-btn{display:inline-flex;align-items:center;gap:6px;height:36px}.duty-page__tickets-header{margin:0;font-size:var(--text-lg);font-weight:var(--font-weight-semibold);letter-spacing:-.02em}.duty-page__tickets-body{min-height:220px;display:flex;flex-direction:column}.duty-page__tickets-panel{flex:1;min-height:220px;display:flex;flex-direction:column}.duty-page__tickets-panel .ds-catalog-empty,.duty-page__tickets-panel>.duty-page__state{flex:1;min-height:220px;box-sizing:border-box}.duty-page__load-more{display:flex;align-items:center;justify-content:center;min-height:56px;padding:8px 12px 12px}.duty-page__toolbar{display:flex;flex-direction:column;gap:10px}.duty-page__toolbar-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.duty-page__toolbar-row--filters{justify-content:flex-start}.duty-page__toolbar-left{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1;min-width:0}.duty-page__toolbar-right{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-left:auto}.duty-page__assignee-filter{min-width:180px}.duty-page__queue-note{font-size:var(--text-xs);color:var(--muted-foreground);white-space:nowrap}.duty-page__roster{display:flex;flex-direction:column;gap:14px}.duty-page__subtitle{font-size:var(--text-sm);color:var(--muted-foreground);margin:0}.duty-page__board{display:flex;flex-direction:column;gap:10px;margin-top:4px}.duty-page__board-title{margin:0;font-size:var(--text-base);font-weight:var(--font-weight-semibold)}.duty-page__roster-list{display:flex;flex-direction:column}.duty-page__roster-item.ds-collapsible{border-bottom:1px solid var(--border-subtle)}.duty-page__roster-item-summary.ds-collapsible__summary{padding:10px 2px;font-size:var(--text-sm);font-weight:var(--font-weight-semibold)}.duty-page__roster-item-body.ds-collapsible__body{padding:0 2px 12px 26px}.duty-page__roster-item-head{display:flex;flex:1;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.duty-page__roster-item-meta{min-width:0}.duty-page__roster-item-stats{margin-top:4px;font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--muted-foreground)}.duty-page__roster-requests{padding-top:4px;border-top:none}.duty-page__roster-requests-empty{margin:0;padding-top:4px;border-top:none;font-size:var(--text-sm);color:var(--muted-foreground)}.duty-page__roster-request{border-left:3px solid var(--lookup-urgency-accent, var(--border));border-radius:var(--radius-sm);padding:8px 10px;background:color-mix(in srgb,var(--lookup-urgency-bg, var(--background)) 55%,transparent);transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.duty-page__roster-request-row.route-vertical__item{display:block;padding-bottom:16px}.duty-page__roster-request-row.route-vertical__item:last-child{padding-bottom:0}.duty-page__roster-request-hit{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;width:100%;min-width:0;margin:0;padding:0;border:0;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer;box-sizing:border-box}.duty-page__roster-request-row .route-vertical__body{width:100%;min-width:0}.duty-page__roster-request-hit:disabled{cursor:default}.duty-page__roster-request-hit:hover:not(:disabled) .duty-page__roster-request,.duty-page__roster-request-hit:focus-visible:not(:disabled) .duty-page__roster-request{background:var(--muted);box-shadow:inset 0 0 0 1px var(--border)}.duty-page__roster-request-hit:focus-visible{outline:none}.duty-page__roster-request-hit:focus-visible .duty-page__roster-request{box-shadow:inset 0 0 0 1px var(--border),0 0 0 2px var(--ring)}.duty-page__roster-request-row .route-vertical__title,.duty-page__roster-request-row .route-vertical__title:hover{text-decoration:none;cursor:inherit}.duty-page__roster-item-title{font-size:var(--text-sm);font-weight:var(--font-weight-semibold)}.duty-page__roster-item-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.duty-page__roster-off-duty-badge,.duty-page__roster-unavail-badge,.duty-page__ticket-off-duty-badge{font-size:11px;font-weight:var(--font-weight-medium)}.duty-page__roster-item-sub{font-size:var(--text-xs);color:var(--muted-foreground);margin-top:2px}.duty-page__state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 16px}.duty-page__dialog-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;margin-top:16px}.duty-page__dialog-body{display:flex;flex-direction:column;gap:14px}.duty-page__dialog-body .duty-page__dialog-actions{margin-top:0}.duty-page__installer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.duty-page__installer-actions .duty-page__installer-action--full{grid-column:1 / -1}.duty-page__installer-detail-dialog .ds-dialog__body{flex:1;min-height:0;overflow-y:auto}.duty-page__installer-detail-dialog .ds-dialog__footer{justify-content:stretch;flex-shrink:0;padding:12px var(--ds-dialog-inset) calc(var(--ds-dialog-inset) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--card);box-shadow:0 -8px 24px color-mix(in srgb,var(--foreground) 6%,transparent)}.duty-page__list{display:flex;flex-direction:column;gap:8px}.duty-page__ticket{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:10px;text-align:left;width:100%;font:inherit;color:inherit}.duty-page__ticket:hover{border-color:color-mix(in srgb,var(--accent-secondary) 40%,var(--border))}.duty-page__ticket.is-selected{border-color:var(--accent-secondary);box-shadow:0 0 0 3px var(--accent-secondary-surface)}.duty-page__ticket--urgency{border-left:3px solid var(--lookup-urgency-accent, var(--border))}.duty-page__ticket-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.duty-page__ticket-title{font-size:var(--text-base);font-weight:var(--font-weight-semibold)}.duty-page__ticket-title-row{display:flex;align-items:center;gap:8px}.duty-page__dialog-title-row{display:flex;align-items:center;gap:8px;min-width:0}.duty-page__dialog-title-object{min-width:0}.duty-page__dialog-title-queue{flex:0 0 auto;color:var(--muted-foreground);font-size:var(--text-sm);font-weight:var(--font-weight-medium);white-space:nowrap}.duty-page__form-queue-label{margin:0;color:var(--muted-foreground);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.duty-page__form-queue-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.duty-page__form-queue-row .duty-page__queue-actions{flex:0 0 auto}.duty-page__queue-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--muted);color:var(--foreground);font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;font-weight:700;flex:0 0 auto}.duty-page__queue-section{margin-top:6px;padding-top:16px;border-top:1px solid var(--border)}.duty-page__queue-field{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.duty-page__queue-meta{display:flex;flex-direction:column;gap:4px;margin:0;font-size:var(--text-sm)}.duty-page__queue-hint{color:var(--muted-foreground);font-size:var(--text-xs)}.duty-page__queue-actions{display:inline-flex;gap:6px}.duty-page__ticket-meta{font-size:var(--text-sm);color:var(--muted-foreground);margin-top:3px;line-height:1.4}.duty-page__ticket-tags{display:flex;flex-wrap:wrap;gap:6px}.duty-page__ticket-foot{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:var(--text-sm);color:var(--muted-foreground)}.duty-page__ticket-foot strong{color:var(--foreground);font-weight:var(--font-weight-semibold)}.duty-page__urgency{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border-radius:999px;font-size:11px;font-weight:750;border:1px solid transparent}.duty-page__urgency-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.duty-page__urgency--custom{color:var(--lookup-urgency-fg);background:var(--lookup-urgency-bg);border-color:var(--lookup-urgency-border)}.duty-page__urgency--custom .duty-page__urgency-dot{background:var(--lookup-urgency-dot)}.dark .duty-page__urgency--custom,:root[data-theme=dark] .duty-page__urgency--custom,[data-theme=dark] .duty-page__urgency--custom{color:color-mix(in srgb,var(--lookup-urgency-fg) 78%,var(--foreground));background:color-mix(in srgb,var(--lookup-urgency-fg) 7%,var(--card));border-color:color-mix(in srgb,var(--lookup-urgency-fg) 12%,var(--border))}.dark .duty-page__urgency--custom .duty-page__urgency-dot,:root[data-theme=dark] .duty-page__urgency--custom .duty-page__urgency-dot,[data-theme=dark] .duty-page__urgency--custom .duty-page__urgency-dot{background:color-mix(in srgb,var(--lookup-urgency-fg) 62%,var(--muted-foreground))}.duty-page__urgency-pick{display:flex;flex-wrap:wrap;gap:6px}.duty-page__urgency-pick-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--lookup-urgency-border, var(--border));background:var(--lookup-urgency-bg, var(--background));color:var(--lookup-urgency-fg, inherit);border-radius:999px;padding:3px 9px 3px 7px;cursor:pointer;font-size:var(--text-2xs);font-weight:var(--font-weight-bold);line-height:var(--leading-normal);display:inline-flex;align-items:center;gap:5px}.duty-page__urgency-pick-dot{width:6px;height:6px;border-radius:50%;flex:0 0 auto;background:var(--lookup-urgency-dot, currentColor)}.duty-page__urgency-pick-btn.is-on{box-shadow:inset 0 0 0 1px var(--lookup-urgency-fg, currentColor)}.duty-page__empty{margin:0;color:var(--muted-foreground);font-size:var(--text-sm)}.duty-page__kv{display:grid;grid-template-columns:110px 1fr;gap:6px 10px;font-size:var(--text-sm)}.duty-page__kv dt{color:var(--muted-foreground);font-weight:var(--font-weight-semibold)}.duty-page__kv dd{margin:0;font-weight:var(--font-weight-medium)}.duty-page__timeline-section{margin-top:6px;padding-top:16px;border-top:1px solid var(--border)}.duty-page__timeline{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.duty-page__timeline li{display:grid;grid-template-columns:14px 1fr;gap:10px;padding:0 0 14px;position:relative}.duty-page__timeline li:last-child{padding-bottom:0}.duty-page__timeline li:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--muted);border:2px solid var(--card);box-shadow:0 0 0 1px var(--border);margin-top:3px;z-index:1}.duty-page__timeline li.is-done:before{background:var(--success)}.duty-page__timeline li.is-current:before{background:var(--accent-secondary)}.duty-page__timeline li:not(:last-child):after{content:"";position:absolute;left:6px;top:14px;bottom:0;width:2px;background:var(--border)}.duty-page__timeline-title{font-size:var(--text-sm);font-weight:var(--font-weight-semibold)}.duty-page__timeline-sub{font-size:var(--text-sm);color:var(--muted-foreground);margin-top:2px}.duty-page__note{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--background);font-size:var(--text-sm);line-height:1.45}.duty-page__dialog-section{font-size:11px;font-weight:700;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.duty-page__completion-photos{margin-top:12px}.duty-page__textarea{min-height:88px;resize:vertical;line-height:1.45}.duty-page__readonly-field{min-height:40px;display:flex;align-items:center;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted);color:var(--foreground)}.duty-page__view-toggle{display:inline-flex;gap:4px}.duty-page__tool-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--card);color:var(--foreground);height:36px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;font:700 var(--text-sm) var(--font-sans)}.duty-page__tool-btn.is-on{background:var(--accent-soft, var(--primary-surface));border-color:var(--primary)}.duty-page__nav{display:inline-flex;align-items:center;gap:8px}.duty-page__period{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);min-width:140px;text-align:center}.duty-page__icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--card);color:var(--foreground);width:36px;height:36px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.duty-page__icon-btn svg{width:16px;height:16px}.duty-page__week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.duty-page__month{display:flex;flex-direction:column;gap:6px}.duty-page__month-head{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.duty-page__month-head span{font-size:11px;font-weight:700;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em;text-align:center;padding:4px 0}.duty-page__month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.duty-page__day-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--card);border-radius:var(--radius-md);padding:10px 8px;cursor:pointer;text-align:left;min-height:72px;display:flex;flex-direction:column;font:inherit;color:inherit;position:relative;overflow:visible;isolation:isolate}.duty-page__day-chip-inner{display:flex;flex-direction:column;gap:6px;flex:1;width:100%;min-width:0}.duty-page__day-chip--month{min-height:64px;padding:8px}.duty-page__day-chip.is-muted{opacity:.45}.duty-page__day-chip:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.duty-page__day-chip.is-on{border-color:var(--primary);background:var(--accent-soft, var(--primary-surface));box-shadow:inset 0 0 0 1px var(--primary)}.duty-page__day-chip.is-today:not(.is-on){box-shadow:inset 0 0 0 1px var(--accent-secondary, #2f6fed)}.duty-page__day-chip.is-today .duty-page__day-chip-n{color:var(--accent-secondary, #2f6fed)}.duty-page__day-chip-d{font-size:11px;font-weight:700;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em}.duty-page__day-chip-n{font-size:18px;font-weight:800;letter-spacing:-.03em}.duty-page__day-chip-c{font-size:11px;color:var(--muted-foreground);margin-top:auto}.duty-page__day-chip-markers{display:flex;flex-direction:column;gap:4px}.duty-page__day-chip-dots{display:flex;flex-wrap:wrap;gap:3px;align-items:center}.duty-page__day-chip-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);flex:0 0 auto}.duty-page__day-chip--month .duty-page__day-chip-dots{gap:2px}.duty-page__day-chip--month .duty-page__day-chip-dot{width:6px;height:6px}.duty-page__day-chip.is-today:not(.is-on) .duty-page__day-chip-dot{background:var(--accent-secondary, #2f6fed)}.duty-page__day-chip-count{line-height:1.2}.duty-page__hint{font-size:var(--text-xs);color:var(--muted-foreground);margin:0 0 10px}.duty-page__pick-list{display:flex;flex-direction:column;gap:8px;max-height:min(48vh,360px);overflow:auto;margin-top:8px}.duty-page__pick{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);color:var(--foreground);cursor:pointer;font:inherit}.duty-page__pick:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.duty-page__pick.is-on{border-color:var(--primary);background:var(--accent-soft, var(--primary-surface))}.duty-page__pick:disabled{opacity:.55;cursor:not-allowed}.duty-page__pick-check{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border);flex:0 0 auto;margin-top:2px;display:grid;place-items:center;font-size:11px}.duty-page__pick.is-on .duty-page__pick-check{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground, #fff)}.duty-page__pick-title{display:block;font-weight:var(--font-weight-semibold);font-size:var(--text-sm)}.duty-page__pick-sub{display:block;font-size:var(--text-xs);color:var(--muted-foreground);margin-top:2px}.duty-page__pick-tag{display:inline-block;margin-top:4px;font-size:10px;font-weight:700;color:var(--warning)}.duty-page__pick.is-warn:not(.is-on){border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:color-mix(in srgb,var(--warning-surface, #fff8e1) 55%,var(--background))}.duty-page__pick-dialog .ds-dialog__footer{justify-content:flex-start}.duty-page__pick-dialog-footer{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;width:100%}.duty-page__pick-dialog .ds-dialog__body{display:flex;flex-direction:column;min-height:0;overflow:hidden}.duty-page__pick-dialog .ds-dialog__content{display:flex;flex-direction:column;flex:1;min-height:0;gap:10px;padding-top:12px;padding-bottom:12px}.duty-page__pick-dialog-body{display:flex;flex-direction:column;flex:1;min-height:0;gap:10px}.duty-page__pick-dialog-toolbar{flex-shrink:0}.duty-page__pick-dialog-toolbar-row{display:flex;flex:1;min-width:0;gap:8px;align-items:center}.duty-page__pick-dialog-toolbar-row .ds-search{flex:1;min-width:0;width:auto}.duty-page__pick-dialog-toolbar-row .ds-menu-anchor{flex-shrink:0}.duty-page__pick-dialog .duty-page__pick-list{flex:1;min-height:0;max-height:none;margin-top:0;overflow:auto}.duty-page__pick-dialog-scroll{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow:auto}.duty-page__pick-section{display:flex;flex-direction:column;gap:8px}.duty-page__pick-section+.duty-page__pick-section{padding-top:12px;border-top:1px solid var(--border)}.duty-page__pick-section-title{margin:0;font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--muted-foreground);letter-spacing:.02em;text-transform:uppercase}.duty-page__pick-section-empty{margin:0;font-size:var(--text-sm);color:var(--muted-foreground)}.duty-page__pick-dialog-state{display:flex;flex:1;min-height:0;align-items:center;justify-content:center;padding:24px 12px}@media(max-width:900px){.duty-page__week{grid-template-columns:repeat(4,1fr)}}.checklist-item-edit-dialog .ds-dialog__footer{justify-content:flex-start}.checklist-item-edit-dialog__footer{display:flex;align-items:center;gap:8px;width:100%}.checklist-item-edit-dialog__footer-delete{margin-left:auto}.checklist-item-edit-dialog__form{display:flex;flex-direction:column;gap:16px;width:100%}.checklist-item-edit-dialog__form>.ds-form-field{flex-shrink:0}.checklist-item-edit-dialog__type-hint{margin:6px 0 0;font-size:var(--text-xs);color:var(--muted-foreground);line-height:1.4}.checklist-item-edit-dialog__alert{margin:0}.checklist-item-edit-dialog__flags{display:flex;flex-direction:column;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background)}.checklist-item-edit-dialog__flags .ds-check{align-items:flex-start;gap:10px}.checklist-item-edit-dialog__flag-text{display:flex;flex-direction:column;gap:4px;min-width:0}.checklist-item-edit-dialog__flag-text strong{font-size:var(--text-sm);font-weight:650;color:var(--foreground)}.checklist-item-edit-dialog__flag-text>span{font-size:var(--text-xs);color:var(--muted-foreground);line-height:1.4}.checklist-item-edit-dialog__flag-block{display:flex;flex-direction:column;gap:12px}.checklist-item-edit-dialog__criticality{margin-left:28px}.checklist-item-edit-dialog__criticality .ds-form-field__label{font-size:var(--text-xs);font-weight:650}.checklist-meta-edit-dialog .ds-dialog__footer{justify-content:flex-start}.checklist-meta-edit-dialog__scope{display:flex;flex-direction:column;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background)}.checklist-meta-edit-dialog__form{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0;min-width:0;width:100%}.checklist-meta-edit-dialog__form>.ds-form-field:not(.checklist-meta-edit-dialog__description-field){flex-shrink:0}.checklist-meta-edit-dialog__alert{margin:0}.checklist-meta-edit-dialog__description-field{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.checklist-meta-edit-dialog__description-field>.ds-markdown-editor--fill{flex:1;min-height:0;width:100%}.checklist-meta-edit-dialog__description-field .ds-markdown-editor__input,.checklist-meta-edit-dialog__description-field .ds-markdown-editor__preview{width:100%}.checklist-meta-edit-dialog .ds-dialog__body{display:flex;flex-direction:column;overflow:hidden}.checklist-meta-edit-dialog .ds-dialog__content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.checklist-meta-edit-dialog .ds-dialog__content>.checklist-meta-edit-dialog__form{flex:1;min-height:0}.checklist-meta-edit-dialog__switch-row{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--foreground)}.checklist-version-preview-dialog .ds-dialog__footer{justify-content:flex-start}.checklist-version-preview-dialog__body{display:flex;flex-direction:column;gap:16px}.checklist-version-preview-dialog__section{display:flex;flex-direction:column;gap:10px}.checklist-version-preview-dialog__section-title{margin:0;font-size:var(--text-md);font-weight:750;letter-spacing:-.02em}.checklist-version-preview-dialog__meta-summary{margin:0}.checklist-version-preview-dialog__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.checklist-version-preview-dialog__date{font-size:var(--text-xs);color:var(--muted-foreground)}.checklist-version-preview-dialog__state{display:flex;justify-content:center;padding:24px 0}.checklist-version-preview-dialog__item{grid-template-columns:1fr}.checklist-editor-page{display:flex;flex-direction:column;gap:12px}.checklist-editor-page__state{display:flex;align-items:center;justify-content:center;min-height:240px}.checklist-editor-page__back{align-self:flex-start;text-decoration:none}.checklist-editor-page__hero{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between}.checklist-editor-page__title{margin:0;font-size:22px;font-weight:800;letter-spacing:-.03em}.checklist-editor-page__meta{margin:6px 0 0;color:var(--muted-foreground);font-size:13px;line-height:1.45}.checklist-editor-page__badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.checklist-editor-page__actions{display:flex;flex-wrap:wrap;gap:8px}.checklist-editor-page__block{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card)}.checklist-editor-page__block-title{margin:0;font-size:var(--text-md);font-weight:750;letter-spacing:-.02em}.checklist-editor-page__meta-summary{display:flex;flex-direction:column;gap:16px}.checklist-editor-page__meta-scope{display:flex;flex-direction:column;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background)}.checklist-editor-page__kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checklist-editor-page__kv--stacked{grid-template-columns:1fr}.checklist-editor-page__field-wide{grid-column:1 / -1}.checklist-editor-page__field{display:flex;flex-direction:column;gap:6px}.checklist-editor-page__field-label{font-size:11px;font-weight:700;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em}.checklist-editor-page__field-value{font-size:14px;font-weight:550}.checklist-editor-page__field-hint{margin:0;color:var(--muted-foreground);font-size:var(--text-xs);line-height:1.45}.checklist-editor-page__field-markdown{font-size:14px;line-height:1.55}.checklist-editor-page__field-markdown.ds-md>:first-child{margin-top:0}.checklist-editor-page__field-markdown.ds-md>:last-child{margin-bottom:0}.checklist-editor-page__meta-actions{display:flex;justify-content:flex-end;gap:8px;grid-column:1 / -1}.checklist-editor-page__panel{display:flex;flex-direction:column;gap:12px;padding:14px 16px}.checklist-editor-page__panel-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.checklist-editor-page__panel-title-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.checklist-editor-page__panel-head strong{margin:0;font-size:var(--text-md);font-weight:750;letter-spacing:-.02em}.checklist-editor-page__empty{margin:0;padding:24px;text-align:center;color:var(--muted-foreground)}.checklist-editor-page__items{display:flex;flex-direction:column;gap:8px}.checklist-editor-page__item{display:grid;grid-template-columns:1fr;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);transition:box-shadow .12s,border-color .12s,opacity .12s,transform .12s}.checklist-editor-page__item--draggable{grid-template-columns:auto 1fr}.checklist-editor-page__item--clickable{cursor:pointer}.checklist-editor-page__item--clickable:hover{border-color:var(--accent-secondary);background:var(--accent-secondary-surface)}.checklist-editor-page__item--clickable:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.checklist-editor-page__item.is-dragging{opacity:.45;border-color:var(--accent-secondary);box-shadow:0 0 0 2px var(--accent-secondary-surface)}.checklist-editor-page__item.is-drop-before{box-shadow:inset 0 2px 0 0 var(--accent-secondary)}.checklist-editor-page__item.is-drop-after{box-shadow:inset 0 -2px 0 0 var(--accent-secondary)}.checklist-editor-page__item-ord{display:flex;align-items:center;padding-top:2px}.checklist-editor-page__drag-handle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:var(--muted-foreground);width:28px;height:28px;border-radius:var(--radius-sm);cursor:grab;display:grid;place-items:center;padding:0}.checklist-editor-page__drag-handle:hover:not(:disabled){background:var(--muted);color:var(--foreground);border-color:var(--border)}.checklist-editor-page__drag-handle:active:not(:disabled){cursor:grabbing}.checklist-editor-page__drag-handle:disabled{opacity:.35;cursor:default}.checklist-editor-page__drag-handle svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.checklist-editor-page__item-body{min-width:0}.checklist-editor-page__item-title{font-size:var(--text-md);font-weight:650;letter-spacing:var(--tracking-tight)}.checklist-editor-page__item-hint{margin-top:4px;color:var(--muted-foreground);font-size:var(--text-xs);line-height:1.4}.checklist-editor-page__item-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.checklist-editor-page__form-grid{display:grid;gap:12px;max-width:640px}.checklist-editor-page__version-list{display:grid;gap:8px}.checklist-editor-page__version-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background)}.checklist-editor-page__version-row--clickable{cursor:pointer;transition:border-color .12s ease,background .12s ease}.checklist-editor-page__version-row--clickable:hover{border-color:var(--accent-secondary);background:var(--accent-secondary-surface)}.checklist-editor-page__version-row--clickable:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.checklist-editor-page__version-title{font-weight:650;font-size:14px}.checklist-editor-page__version-note{margin-top:3px;font-size:var(--text-xs);color:var(--muted-foreground)}.checklist-editor-page__version-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}.checklist-editor-page__publish-dialog .ds-dialog__footer{justify-content:flex-start}@media(max-width:900px){.checklist-editor-page__kv{grid-template-columns:1fr}}.checklists-page{display:flex;flex-direction:column;gap:12px}.checklists-page__toolbar{display:flex;flex-direction:column;gap:10px}.checklists-page .ds-catalog-toolbar__left .ds-search{width:min(360px,100%)}.checklists-page .ds-tool-btn svg{width:16px;height:16px;flex-shrink:0}.checklists-page .ds-tool-btn{display:inline-flex;align-items:center;gap:6px;height:36px}.checklists-page .ds-btn--icon.ds-tool-btn{width:36px;padding:0;justify-content:center}.checklists-page__filter-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.checklists-page__filter-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 10px;border-radius:999px;border:1px solid var(--border);background:var(--muted);font:600 var(--text-xs) var(--font-sans)}.checklists-page__filter-chip button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;width:20px;height:20px;border-radius:999px;padding:0;font:700 14px/1 var(--font-sans)}.checklists-page__filter-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;padding:4px 6px;font:600 var(--text-xs) var(--font-sans)}.checklists-page__state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:220px;padding:24px}.checklists-page__row{cursor:pointer}.checklists-page__name{font-weight:var(--font-weight-semibold)}.equipment-detail{display:flex;flex-direction:column;gap:14px}.equipment-detail__back{-webkit-appearance:none;-moz-appearance:none;appearance:none;align-self:flex-start;margin:-4px 0 12px;padding:0;border:0;background:transparent;color:var(--muted-foreground);font:700 var(--text-sm) var(--font-sans);cursor:pointer}.equipment-detail__back:hover{color:var(--foreground)}.equipment-detail__head-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.ds-dialog__title .equipment-detail__head-meta{font-weight:var(--font-weight-normal)}.equipment-detail__kv{display:grid;grid-template-columns:120px 1fr;gap:6px 10px;margin:0;font-size:var(--text-sm)}.equipment-detail__kv dt{color:var(--muted-foreground);font-weight:var(--font-weight-semibold)}.equipment-detail__kv dd{margin:0;font-weight:var(--font-weight-medium)}.equipment-detail__link.ds-link{color:var(--foreground);font-weight:var(--font-weight-semibold)}.equipment-detail__link.ds-link:hover{color:var(--primary)}.equipment-detail__maintenance-days{color:var(--muted-foreground)}.equipment-detail__maintenance-days:before{content:" · "}.equipment-detail__note{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--background);font-size:var(--text-sm);line-height:1.45}.equipment-detail__section-label{font-size:11px;font-weight:var(--font-weight-bold);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.equipment-detail__hint{margin:0;color:var(--muted-foreground);font-size:var(--text-xs);line-height:1.45}.equipment-detail__units{display:flex;flex-direction:column;gap:8px}.equipment-detail__units-empty,.equipment-detail__history-empty{padding:16px;text-align:center;color:var(--muted-foreground);font-size:var(--text-sm);border:1px dashed var(--border);border-radius:var(--radius-sm)}.equipment-detail__units-loading,.equipment-detail__history-loading{display:flex;justify-content:center;padding:16px}.equipment-detail__unit-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background)}.equipment-detail__unit-item-title{font-size:var(--text-sm);font-weight:var(--font-weight-semibold)}.equipment-detail__unit-item-sub{margin-top:3px;font-size:var(--text-xs);color:var(--muted-foreground)}.equipment-detail__unit-item-comment{margin-top:6px;font-size:var(--text-xs);color:var(--muted-foreground);line-height:1.4}.equipment-detail__unit-item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.equipment-detail__timeline{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.equipment-detail__timeline li{display:grid;grid-template-columns:14px 1fr;gap:10px;padding:0 0 14px;position:relative}.equipment-detail__timeline li:last-child{padding-bottom:0}.equipment-detail__timeline li:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--muted);border:2px solid var(--card);box-shadow:0 0 0 1px var(--border);margin-top:3px;z-index:1}.equipment-detail__timeline li.is-done:before{background:var(--success);box-shadow:0 0 0 1px color-mix(in srgb,var(--success) 40%,var(--border))}.equipment-detail__timeline li.is-warn:before{background:var(--warning);box-shadow:0 0 0 1px color-mix(in srgb,var(--warning) 40%,var(--border))}.equipment-detail__timeline li.is-bad:before{background:var(--destructive);box-shadow:0 0 0 1px color-mix(in srgb,var(--destructive) 40%,var(--border))}.equipment-detail__timeline li:not(:last-child):after{content:"";position:absolute;left:6px;top:14px;bottom:0;width:2px;background:color-mix(in srgb,var(--border) 80%,transparent)}.equipment-detail__timeline-title{font-size:var(--text-sm);font-weight:var(--font-weight-semibold)}.equipment-detail__timeline-sub{margin-top:2px;font-size:var(--text-xs);color:var(--muted-foreground)}.equipment-detail__timeline-entry{display:block;width:100%;margin:0;padding:2px 4px;border:0;background:none;color:inherit;font:inherit;text-align:left;border-radius:var(--radius-sm)}.equipment-detail__timeline-entry--linked{cursor:pointer}.equipment-detail__timeline-entry--linked:hover{background:var(--secondary)}.equipment-detail__timeline-entry--linked:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ring)}.equipment-detail__history-load-more{display:flex;justify-content:center;min-height:44px;padding-top:8px}.equipment-detail-dialog__edit{display:flex;flex-direction:column;gap:14px}.equipment-detail__dialog-edit svg{width:16px;height:16px;flex-shrink:0}.equipment-detail-dialog .ds-dialog__footer{justify-content:flex-start}.equipment-detail-dialog__footer{display:flex;justify-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap;width:100%}.equipment-detail-dialog__footer-delete{margin-left:auto}.equipment-detail-dialog__subtitle{margin:4px 0 0;font-size:var(--text-sm);font-weight:var(--font-weight-normal);color:var(--muted-foreground);line-height:1.45}.contractors-page{display:flex;flex-direction:column;gap:12px}.contractors-page .ds-catalog-toolbar__left .ds-search{width:min(360px,100%)}.contractors-page__state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:220px;padding:24px}.contractors-page__row{cursor:pointer}.contractors-page__dialog-footer{display:flex;flex-wrap:wrap;gap:8px;width:100%}.contractors-page__dialog-delete{margin-inline-start:auto}.contractors-page__dialog-form{display:flex;flex-direction:column;gap:12px}.contractors-page__detail-dialog .ds-dialog__body{display:flex;flex-direction:column}.contractors-page__detail-dialog .ds-dialog__content{display:flex;flex-direction:column;min-height:100%}.contractors-page__detail-body{display:flex;flex:1;flex-direction:column;gap:20px}.contractors-page__objects-section{display:flex;flex-direction:column;gap:12px}.contractor-objects-tree{padding:0}.contractor-objects-tree__link.ds-link{color:var(--foreground);font-weight:var(--font-weight-semibold)}.contractor-objects-tree__link.ds-link:hover{color:var(--primary)}.contractor-objects-tree__object-row .ds-tree__title{font-weight:var(--font-weight-medium)}.object-history-photo-actions__link{font-size:13px;line-height:1.2;white-space:nowrap}.object-history-photo-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:max(12px,var(--safe-area-top, 0px)) max(12px,var(--safe-area-right, 0px)) max(12px,var(--safe-area-bottom, 0px)) max(12px,var(--safe-area-left, 0px))}.object-history-photo-viewer--stacked .object-history-photo-viewer__backdrop{background:transparent}.object-history-photo-viewer__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#000000e0;cursor:pointer}.object-history-photo-viewer__panel{position:relative;z-index:1;display:flex;flex-direction:column;width:min(96vw,1400px);height:min(92vh,92dvh);max-height:92dvh;border-radius:var(--radius-lg);overflow:hidden;background:var(--card);box-shadow:var(--shadow-lg)}.object-history-photo-viewer__header{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;min-height:52px;padding:8px 12px;border-bottom:1px solid var(--border)}.object-history-photo-viewer__close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--foreground);font-size:28px;line-height:1;cursor:pointer}.object-history-photo-viewer__close:hover{background:var(--muted)}.object-history-photo-viewer__title{min-width:0;font-size:15px;font-weight:var(--font-weight-semibold);line-height:1.35;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-history-photo-viewer__counter{min-width:56px;font-size:13px;color:var(--muted-foreground);text-align:right;white-space:nowrap}.object-history-photo-viewer__body{display:flex;align-items:center;gap:8px;flex:1;min-height:0;padding:12px;background:color-mix(in srgb,var(--muted) 35%,var(--card))}.object-history-photo-viewer__image-wrap{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:0;height:100%}.object-history-photo-viewer__image{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md)}.object-history-photo-viewer__placeholder{font-size:14px;color:var(--muted-foreground)}.object-history-photo-viewer__nav{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);color:var(--foreground);font-size:28px;line-height:1;cursor:pointer}.object-history-photo-viewer__nav:disabled{opacity:.35;cursor:default}@media(max-width:640px){.object-history-photo-viewer{padding:0}.object-history-photo-viewer__panel{width:100%;height:100%;max-height:100dvh;border-radius:0}.object-history-photo-viewer__body{padding:8px}}.object-history-check-item-detail{display:flex;flex-direction:column;gap:16px}.object-history-check-item-detail__section{display:flex;flex-direction:column;gap:8px}.object-history-check-item-detail__section-title{margin:0;font-size:13px;font-weight:var(--font-weight-semibold);color:var(--muted-foreground)}.object-history-check-item-detail__value{margin:0;font-size:14px;font-weight:var(--font-weight-medium);color:var(--foreground);line-height:1.45;word-break:break-word}.object-history-check-item-detail__value.is-remark{color:var(--warning)}.object-history-check-item-detail__empty{margin:0;font-size:13px;color:var(--muted-foreground)}.object-history-check-item-detail__photos{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.object-history-check-item-detail__photo{display:block;width:min(100%,220px);max-width:220px;aspect-ratio:1;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--muted);overflow:hidden;color:var(--muted-foreground);font-size:var(--text-xs);cursor:pointer}.object-history-check-item-detail__photo:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.object-history-check-item-detail__photo:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.object-history-check-item-detail__photo img{width:100%;height:100%;object-fit:cover;display:block}.object-history-check-item-detail__photo span{display:grid;place-items:center;width:100%;height:100%;padding:8px;text-align:center}.object-history-detail{display:flex;flex-direction:column;gap:20px}.object-history-detail__summary{display:flex;flex-direction:column;gap:12px}.object-history-detail__meta{display:grid;gap:10px;margin:0}.object-history-detail__meta>div{display:grid;grid-template-columns:minmax(0,120px) 1fr;gap:8px;align-items:baseline}.object-history-detail__meta dt{margin:0;font-size:13px;color:var(--muted-foreground)}.object-history-detail__meta dd{margin:0;font-size:14px;font-weight:var(--font-weight-medium);color:var(--foreground)}.object-history-detail__section{display:flex;flex-direction:column;gap:10px}.object-history-detail__section-title{margin:0;font-size:14px;font-weight:var(--font-weight-semibold)}.object-history-detail__section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.object-history-detail__empty{margin:0;font-size:13px;color:var(--muted-foreground)}.object-history-detail__checklist{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.object-history-detail__check-item{display:flex;flex-direction:column;gap:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);overflow:hidden}.object-history-detail__check-item.is-clickable{cursor:pointer}.object-history-detail__check-item.is-clickable:hover{background:color-mix(in srgb,var(--muted) 28%,var(--card))}.object-history-detail__check-item-trigger{display:flex;flex-direction:column;gap:8px;width:100%;padding:10px 12px;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.object-history-detail__check-item-content{display:flex;flex-direction:column;gap:8px;padding:10px 12px}.object-history-detail__check-item-trigger:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--ring)}.object-history-detail__check-item.is-remark{border-color:color-mix(in srgb,var(--warning) 35%,var(--border))}.object-history-detail__check-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.object-history-detail__check-title{font-size:14px;font-weight:var(--font-weight-semibold);line-height:1.4;min-width:0}.object-history-detail__check-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end;flex-shrink:0}.object-history-detail__state{display:flex;justify-content:center;padding:24px 0}.object-equipment-tab{display:flex;flex-direction:column;gap:16px}.object-equipment-tree{padding:0}.object-equipment-tree__add-row{width:100%;margin-top:2px;border:0;color:var(--muted-foreground);cursor:pointer;text-align:left;background:transparent}.object-equipment-tree__add-row:hover,.object-equipment-tree__add-row:focus-visible{color:var(--foreground)}.object-equipment-tree__add-row .ds-tree__title{font-weight:var(--font-weight-medium)}.object-equipment-tree__add-row .ds-tree__icon{color:var(--primary)}.object-equipment-tab .ds-state-box__actions .object-equipment-tree__add-row{width:auto;min-width:220px}.object-equipment-tree__row--selectable{cursor:pointer}.object-equipment-tree__status{flex:0 0 auto}.object-equipment-tab__empty-units{padding:16px 4px;font-size:13px;color:var(--muted-foreground);text-align:center}.object-equipment-tab__form{display:flex;flex-direction:column;gap:12px}.object-equipment-tab__form--spaced{margin-top:8px}.object-equipment-tab__textarea{width:100%;min-height:72px;resize:vertical}.object-equipment-tab__dialog-hint{margin:0 0 12px;font-size:var(--text-sm);color:var(--muted-foreground);line-height:1.45}.object-equipment-tab__readonly{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);font-size:var(--text-sm);min-height:40px}.object-equipment-tab__pick-list{display:flex;flex-direction:column;gap:8px}.object-equipment-tab__pick{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);color:var(--foreground);cursor:pointer;text-align:left}.object-equipment-tab__pick:hover:not(:disabled){background:var(--muted)}.object-equipment-tab__pick:disabled{opacity:.55;cursor:not-allowed}.object-equipment-tab__pick-title{font-weight:650;font-size:14px}.object-equipment-tab__pick-sub{font-size:12px;color:var(--muted-foreground)}.object-equipment-tab__confirm-alert{padding:12px 14px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--destructive) 35%,var(--border));background:var(--destructive-surface);color:var(--foreground);font-size:14px;line-height:1.45}.object-equipment-tab__confirm-alert strong{display:block;margin-bottom:6px;color:var(--destructive-on-surface)}.monitor-detail-view-dialog .ds-dialog__footer{justify-content:flex-start}.monitor-detail-view-dialog__footer{display:flex;align-items:center;gap:10px;width:100%}.monitor-detail-view-dialog__body{display:flex;flex-direction:column;gap:12px}.monitor-detail-view-dialog__meta{display:flex;flex-wrap:wrap;gap:8px}.monitor-detail-view-dialog__state{display:flex;justify-content:center;padding:24px 0}.objects-page{display:flex;flex-direction:column;gap:12px}.objects-page__toolbar{display:flex;flex-direction:column;gap:10px}.objects-page .ds-catalog-toolbar__left .ds-search{width:min(360px,100%)}.objects-page__state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:220px;padding:24px}.objects-page__row{cursor:pointer}.objects-page__name{font-weight:var(--font-weight-semibold)}.objects-page .ds-tool-btn svg{width:16px;height:16px;flex-shrink:0}.objects-page .ds-tool-btn{display:inline-flex;align-items:center;gap:6px;height:36px}.objects-page .ds-btn--icon.ds-tool-btn{width:36px;padding:0;justify-content:center}.objects-page__filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.objects-page__filter-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 10px;border-radius:999px;border:1px solid var(--border);background:var(--muted);font:600 var(--text-xs) var(--font-sans)}.objects-page__filter-chip button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;width:20px;height:20px;border-radius:999px;padding:0;font:700 14px/1 var(--font-sans)}.objects-page__filter-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;padding:4px 6px;font:600 var(--text-xs) var(--font-sans)}.object-attachment-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background)}.object-attachment-list-item--editing{flex-direction:column;align-items:stretch;gap:8px}.object-attachment-list-item__copy{min-width:0;flex:1}.object-attachment-list-item__title{font-weight:650;font-size:14px;line-height:1.35}.object-attachment-list-item__meta{font-size:12px;color:var(--muted-foreground);margin-top:2px}.object-attachment-list-item__edit-row{display:flex;align-items:flex-end;gap:12px}.object-attachment-list-item__edit{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.object-attachment-list-item__edit-label{font-size:13px;font-weight:600}.object-attachment-list-item__hint{margin:0;font-size:12px;color:var(--muted-foreground)}.object-attachment-list-item__error{margin:0;font-size:12px;color:var(--destructive)}.object-attachment-list-item__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex-shrink:0}.object-attachment-list-item--editing .object-attachment-list-item__actions{padding-bottom:1px}.object-attachment-upload{display:flex;flex-direction:column;gap:12px;padding-bottom:4px}.object-attachment-upload__confirm{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background)}.object-attachment-upload__name-label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.object-attachment-upload__hint{margin:0;font-size:12px;color:var(--muted-foreground)}.object-attachment-upload__actions{display:flex;flex-wrap:wrap;gap:8px}.object-attachments-tab{display:flex;flex-direction:column;gap:16px}.object-attachments-tab__list{display:flex;flex-direction:column;gap:8px;padding-top:4px}.installer-run{display:flex;flex-direction:column;gap:8px;min-height:0;flex:1}.installer-run--route{--installer-run-route-dock-height: calc(100px + env(safe-area-inset-bottom, 0px)) ;gap:0}.installer-run__route-head{position:sticky;top:var(--installer-shell-header-offset, 69px);z-index:var(--z-sticky);flex-shrink:0;margin:0 -16px;padding:0 16px 12px;background:var(--background);border-bottom:1px solid var(--border);box-shadow:0 8px 16px color-mix(in srgb,var(--foreground) 4%,transparent)}.installer-run__state{display:flex;justify-content:center;padding:32px 16px}.installer-run__progress-text{margin:0;font-size:14px;font-weight:700;color:var(--muted-foreground)}.installer-run__visit-tabs{margin-top:2px}.installer-run__dots{display:flex;gap:6px;margin-top:8px}.installer-run__dot{width:10px;height:10px;border-radius:50%;background:var(--muted);display:block}.installer-run__dot.is-done{background:var(--success)}.installer-run__dot.is-on{background:var(--accent-secondary, #2f6fed);box-shadow:0 0 0 3px var(--accent-secondary-surface, #eaf1fe)}.installer-run__task-card{display:flex;flex-direction:column;gap:10px;flex:1;padding:20px 18px;border-radius:16px}.installer-run__empty-card{border:1px solid var(--border);border-radius:16px;background:var(--card);padding:24px 18px;display:flex;flex-direction:column;gap:10px}.installer-run__label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground)}.installer-run__title{margin:0;font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1.2}.installer-run__hint{margin:0;font-size:15px;color:var(--muted-foreground);line-height:1.4}.installer-run__hint--center{text-align:center;padding:24px 0}.installer-run__hint--unavailable{color:var(--muted-foreground)}.installer-run__nav-link{margin:0;font-size:15px;font-weight:750;line-height:1.4;color:var(--accent-secondary, #2f6fed);text-decoration:none}.installer-run__nav-link:hover{text-decoration:underline}.installer-run__contact{margin-top:4px;padding:12px 14px;border-radius:12px;background:var(--muted);display:flex;flex-direction:column;gap:4px}.installer-run__contact-who{font-size:15px;font-weight:750}.installer-run__contact-tel{font-size:16px;font-weight:800;color:var(--accent-secondary, #2f6fed);text-decoration:none;letter-spacing:-.01em}.installer-run__contact-tel.is-unavailable{color:var(--muted-foreground);font-weight:650}.installer-run__contact-email{font-size:15px;font-weight:700;color:var(--accent-secondary, #2f6fed);text-decoration:none;word-break:break-word}.installer-run__destination-card .installer-run__title{font-size:22px}.installer-run__destination-card .installer-run__nav-link{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:12px;border:1px solid var(--accent-secondary-border, #b7cdf8);background:var(--accent-secondary-surface, #eaf1fe);text-decoration:none}.installer-run__destination-card .installer-run__nav-link:hover{text-decoration:none;background:color-mix(in srgb,var(--accent-secondary-surface, #eaf1fe) 72%,var(--card))}.installer-run__destination-card .installer-run__hint--unavailable{padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--background)}.installer-run__contact--destination{margin-top:0;padding:12px 0 0;border-top:1px solid var(--border);background:transparent;gap:8px}.installer-run__contact--destination .installer-run__contact-who{font-size:14px;font-weight:650;color:var(--muted-foreground)}.installer-run__contact-call{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:12px 16px;border-radius:12px;border:1.5px solid color-mix(in srgb,var(--success) 36%,var(--border));background:color-mix(in srgb,var(--success) 10%,var(--card));color:var(--success);font-size:17px;font-weight:800;letter-spacing:-.02em;text-decoration:none;box-sizing:border-box}.installer-run__contact-call svg{width:18px;height:18px;flex-shrink:0}.installer-run__contact-call:active{transform:scale(.99)}.installer-run__need-photo,.installer-run__photo-status{margin-top:4px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:700}.installer-run__need-photo,.installer-run__photo-status.is-pending{background:var(--accent-secondary-surface, #eaf1fe);border:1px solid var(--accent-secondary-border, #b7cdf8)}.installer-run__photo-status.is-done{background:color-mix(in srgb,var(--success) 12%,var(--card));border:1px solid color-mix(in srgb,var(--success) 35%,var(--border));color:var(--success)}.installer-run__photo-status.is-compact{margin-top:0;padding:8px 10px;font-size:13px;font-weight:650}.installer-run__block-msg{background:var(--warning-surface, #fff8e1);border:1px solid color-mix(in srgb,var(--warning) 30%,var(--border));border-radius:16px;padding:24px 18px;text-align:center}.installer-run__block-msg strong{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px}.installer-run__block-msg p{margin:0;font-size:15px;color:var(--muted-foreground);line-height:1.4}.installer-run__complete{display:flex;flex-direction:column;gap:14px}.installer-run__complete-card{align-items:flex-start}.installer-run__complete-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.installer-run__complete-icon svg{width:22px;height:22px}.installer-run__route-objects-info{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;margin:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border-subtle, var(--border));border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-xs);cursor:pointer;text-align:left;font:inherit;color:inherit;box-sizing:border-box}.installer-run__route-objects-info:hover{border-color:color-mix(in srgb,var(--primary) 20%,var(--border))}.installer-run__route-objects-info:focus-visible{outline:2px solid var(--ring, var(--focus));outline-offset:2px}.installer-run__route-objects-info-title{min-width:0;font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:1.3}.installer-run__route-objects-info-value{flex-shrink:0;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-sm);font-weight:700;line-height:1.2;color:var(--foreground)}.installer-run__route-overview{display:flex;flex-direction:column;gap:14px}.installer-run__route-summary{margin:0;font-size:14px;font-weight:700;color:var(--muted-foreground)}.installer-run__route-sheet .ds-mobile-sheet__body,.installer-run__visit-sheet .ds-mobile-sheet__body{padding-top:4px}.installer-run__foot{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:8px}.installer-run__work--dock{--installer-run-work-dock-height: calc(342px + env(safe-area-inset-bottom, 0px)) }.installer-run:has(.installer-run__work--dock){padding-bottom:var(--installer-run-work-dock-height)}.installer-run__work-scroll{display:flex;flex-direction:column;gap:8px;min-height:0}.installer-run__route-scroll{display:flex;flex-direction:column;gap:14px;padding-top:14px;padding-bottom:var(--installer-run-route-dock-height, 0px)}@media(max-width:768px){.installer-run__foot--dock{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-raised);margin-top:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--background);box-shadow:0 -8px 24px color-mix(in srgb,var(--foreground) 6%,transparent)}.installer-run__work--dock .installer-run__work-scroll{padding-bottom:var(--installer-run-work-dock-height)}}@media(min-width:769px){.installer-run--route{--installer-run-route-dock-height: 0px}.installer-run__route-head{top:0;margin:0;padding:0 0 12px}.installer-run__foot--dock{margin-top:auto;padding-top:8px}}.installer-run .ds-btn.installer-run__btn-xl{width:100%;min-height:72px;padding:18px 20px;border-radius:16px;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.installer-run .ds-btn.installer-run__btn-xl svg{width:22px;height:22px}.installer-run .ds-btn.installer-run__btn-xl--leading-icon{flex-direction:row;align-items:center;justify-content:center;gap:12px}.installer-run .ds-btn.installer-run__btn-xl--leading-icon svg{flex-shrink:0;width:28px;height:28px}.installer-run__value-field{display:flex;flex-direction:column;gap:6px}.installer-run__value-label{font-size:13px;font-weight:600;color:var(--muted-foreground)}.installer-run__value-input{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px 14px;font:inherit;color:var(--foreground);background:var(--card)}.installer-run__value-input:focus-visible{outline:2px solid var(--ring, var(--focus));outline-offset:2px}.installer-run .ds-btn.installer-run__btn-xl.installer-run__btn-xl--ok,.installer-run a.ds-btn.installer-run__btn-xl.installer-run__btn-xl--ok{background:var(--success);border-color:var(--success);color:#fff}.installer-run .ds-btn.installer-run__btn-xl.installer-run__btn-xl--ok:hover,.installer-run a.ds-btn.installer-run__btn-xl.installer-run__btn-xl--ok:hover{filter:brightness(.96)}.installer-run .ds-btn.installer-run__btn-xl.installer-run__btn-xl--accent,.installer-run a.ds-btn.installer-run__btn-xl.installer-run__btn-xl--accent{background:var(--accent-secondary, #2f6fed);border-color:var(--accent-secondary, #2f6fed);color:#fff}.installer-run .ds-btn.installer-run__btn-xl.installer-run__btn-xl--accent:hover,.installer-run a.ds-btn.installer-run__btn-xl.installer-run__btn-xl--accent:hover{filter:brightness(.96)}.installer-run .ds-btn.installer-run__btn-xl.installer-run__btn-xl--danger{background:var(--destructive-surface);border-color:color-mix(in srgb,var(--destructive) 35%,var(--border));color:var(--destructive)}.installer-run__btn-xl--muted{background:var(--muted);color:var(--foreground)}.installer-run__dialog-hint{margin:0 0 8px;font-size:13px;color:var(--muted-foreground);line-height:1.45}.installer-run__overlay-form{display:flex;flex-direction:column;gap:20px}.installer-run__overlay-form .installer-run__dialog-hint{margin:0;font-size:15px;line-height:1.4}.installer-run__inline-error{margin:0;font-size:14px;line-height:1.45;color:var(--destructive)}.installer-run__overlay-title-hint{margin:4px 0 0;font-size:13px;font-weight:500;color:var(--muted-foreground);line-height:1.4}.installer-run__overlay-foot{display:flex;gap:10px;width:100%}.installer-run__overlay-foot .ds-btn{flex:1 1 0;min-width:0;min-height:52px;padding:12px 14px;border-radius:14px;font-size:17px;font-weight:750;line-height:1.2}.ds-mobile-sheet__footer:has(.installer-run__overlay-foot){padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}.installer-run__sheet-close-foot{display:flex;justify-content:flex-start;width:100%}.installer-run__sheet-close-foot .ds-btn{min-height:52px;padding:12px 20px;border-radius:14px;font-size:17px;font-weight:750;line-height:1.2}.ds-mobile-sheet__footer:has(.installer-run__sheet-close-foot){padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--background)}.ds-dialog__footer:has(.installer-run__overlay-foot){justify-content:stretch}.installer-run__route-summary{margin:0;padding-top:2px;font-size:20px;font-weight:800;color:var(--foreground);line-height:1.25;letter-spacing:-.02em}.installer-run__route-current{display:flex;flex-direction:column;gap:8px}.installer-run__route-current-label{margin:0;font-size:15px;font-weight:800;letter-spacing:-.02em;line-height:1.25;color:var(--foreground)}.installer-run__route-objects-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.installer-run__route-sections{display:flex;flex-direction:column;gap:10px}.installer-run__route-section{border:1px solid var(--border);border-radius:14px;background:var(--card)}.installer-run__route-section-summary{display:flex;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;list-style:none;min-height:48px;box-sizing:border-box}.installer-run__route-section-summary::-webkit-details-marker{display:none}.installer-run__route-section-chevron{width:16px;height:16px;color:var(--muted-foreground);flex-shrink:0;transition:transform var(--duration-fast) var(--ease-standard)}.installer-run__route-section-chevron svg{display:block;width:16px;height:16px}.installer-run__route-section[open] .installer-run__route-section-chevron{transform:rotate(90deg)}.installer-run__route-section-title{font-size:15px;font-weight:800;letter-spacing:-.02em;line-height:1.25}.installer-run__route-section-body{display:flex;flex-direction:column;gap:8px;padding:0 10px 10px}.installer-run__route-sections--flat{gap:0}.installer-run__route-sections--flat .installer-run__route-section--flat{border:0;border-radius:0;background:transparent}.installer-run__route-sections--flat .installer-run__route-section--flat+.installer-run__route-section--flat{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.installer-run__route-sections--flat .installer-run__route-section-summary{padding:10px 0;min-height:44px}.installer-run__route-sections--flat .installer-run__route-section-body{padding:0 0 12px;gap:10px}.installer-run__route-object-ticket{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;margin:0;display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--border-subtle, var(--border));border-left-width:3px;border-left-color:color-mix(in srgb,var(--muted-foreground) 42%,var(--border));border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-xs);cursor:pointer;text-align:left;font:inherit;color:inherit;box-sizing:border-box}.installer-run__route-object-ticket:hover{border-color:color-mix(in srgb,var(--primary) 24%,var(--border))}.installer-run__route-object-ticket:focus-visible{outline:2px solid var(--ring, var(--focus));outline-offset:2px}.installer-run__route-object-ticket.is-done{border-left-color:var(--success)}.installer-run__route-object-ticket.is-current{border-left-color:var(--primary)}.installer-run__route-object-ticket.is-blocked{border-left-color:var(--warning, #d97706)}.installer-run__route-object-ticket.is-todo{border-left-color:color-mix(in srgb,var(--muted-foreground) 42%,var(--border))}.installer-run__route-object-head{display:flex;align-items:center;gap:12px;min-width:0}.installer-run__route-object-head--compact .installer-run__route-status-badge{margin-left:auto}.installer-run__route-object-title{flex:1;min-width:0;font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:1.3}.installer-run__route-object-meta{margin:0;font-size:var(--text-sm);line-height:1.4;color:var(--muted-foreground)}.installer-run__route-object-ticket .installer-run__route-node{margin-top:0;flex-shrink:0}.installer-run__route-object-ticket.is-done .installer-run__route-node{background:var(--success);color:#fff}.installer-run__route-object-ticket.is-current .installer-run__route-node{background:var(--accent-secondary, #2f6fed);color:#fff}.installer-run__route-object-ticket.is-blocked .installer-run__route-node{background:color-mix(in srgb,var(--warning, #d97706) 18%,var(--muted));color:var(--warning, #d97706)}.installer-run__route-object-detail{display:flex;flex-direction:column;gap:20px;padding:6px 0 10px}.installer-run__route-object-detail-block{display:flex;flex-direction:column;gap:8px}.installer-run__route-object-detail-label{margin:0;font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground)}.installer-run__route-object-detail-value{margin:0;font-size:20px;font-weight:800;line-height:1.35;letter-spacing:-.02em;word-break:break-word}.installer-run__route-object-detail-value--muted{color:var(--muted-foreground);font-weight:700}.installer-run__route-object-detail-name{margin:0;font-size:18px;font-weight:700;line-height:1.35;letter-spacing:-.01em;word-break:break-word}.installer-run__route-object-detail-phone{margin:0;font-size:20px;font-weight:800;line-height:1.35;letter-spacing:-.01em;word-break:break-word}.installer-run__route-object-actions{display:flex;flex-direction:column;gap:10px;width:100%}.installer-run__route-object-actions .ds-btn{width:100%;text-decoration:none;box-sizing:border-box}.installer-run__route-object-actions .installer-run__btn-xl--ok{background:var(--success);border-color:var(--success);color:#fff}.installer-run__route-object-actions .installer-run__btn-xl--accent{background:var(--accent-secondary, #2f6fed);border-color:var(--accent-secondary, #2f6fed);color:#fff}.installer-run__route-status-badge{flex-shrink:0;font-size:11px;font-weight:650;line-height:1.2}.installer-run__today-route-card{margin-bottom:0}.installer-run__checklist-info{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:14px;border:1px solid var(--border-subtle, var(--border));border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-xs);cursor:pointer;text-align:left;font:inherit;color:inherit;box-sizing:border-box}.installer-run__checklist-info:hover{border-color:color-mix(in srgb,var(--primary) 20%,var(--border))}.installer-run__checklist-info:focus-visible{outline:2px solid var(--ring, var(--focus));outline-offset:2px}.installer-run__checklist-info-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;font-size:var(--text-sm);line-height:1.4}.installer-run__checklist-info-label{flex-shrink:0;color:var(--muted-foreground);font-weight:650}.installer-run__checklist-info-label:after{content:":"}.installer-run__checklist-info-value{min-width:0;text-align:right;color:var(--foreground);font-weight:700;word-break:break-word}.installer-run__route-ticket-hint{display:block;margin-top:2px;font-size:17px;font-weight:800;letter-spacing:-.02em;line-height:1.25;color:var(--accent-secondary, #2f6fed)}.installer-run__route-row{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:14px;border:1px solid var(--border);background:var(--background)}.installer-run__route-row.is-current{border-color:var(--accent-secondary-border, #b7cdf8);background:var(--accent-secondary-surface, #eaf1fe)}.installer-run__route-row.is-done{opacity:.92}.installer-run__route-node{width:32px;height:32px;border-radius:50%;background:var(--muted);color:var(--muted-foreground);display:grid;place-items:center;font-size:12px;font-weight:800;flex:0 0 auto;margin-top:2px}.installer-run__route-node svg{width:14px;height:14px}.installer-run__route-row.is-done .installer-run__route-node{background:var(--success);color:#fff}.installer-run__route-row.is-current .installer-run__route-node{background:var(--accent-secondary, #2f6fed);color:#fff}.installer-run__route-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.installer-run__route-title{font-size:16px;font-weight:800;line-height:1.25;letter-spacing:-.02em}.installer-run__route-status{font-size:12px;font-weight:700;color:var(--muted-foreground);line-height:1.3}.installer-run__route-actions{display:flex;flex-direction:column;gap:8px}.installer-run__route-actions .installer-run__nav-link{display:block;padding:10px 12px;border-radius:10px;border:1px solid var(--accent-secondary-border, #b7cdf8);background:var(--card);text-align:left}.installer-run__route-row.is-current .installer-run__route-actions .installer-run__nav-link{background:color-mix(in srgb,var(--card) 88%,var(--accent-secondary-surface, #eaf1fe))}.installer-run__route-actions .installer-run__hint--unavailable{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--card);font-size:14px}.installer-run__route-row.is-current .installer-run__route-actions .installer-run__hint--unavailable{background:color-mix(in srgb,var(--card) 88%,var(--accent-secondary-surface, #eaf1fe))}.installer-run__route-actions .installer-run__contact{margin-top:0;padding:10px 12px;gap:8px;background:var(--card);border:1px solid var(--border)}.installer-run__route-row.is-current .installer-run__route-actions .installer-run__contact{background:color-mix(in srgb,var(--card) 88%,var(--accent-secondary-surface, #eaf1fe))}.installer-run__route-actions .installer-run__contact-who{font-size:14px;font-weight:700;color:var(--muted-foreground)}.installer-run__route-actions .installer-run__contact-tel{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 14px;border-radius:10px;border:1px solid var(--accent-secondary-border, #b7cdf8);background:var(--accent-secondary-surface, #eaf1fe);font-size:18px;font-weight:800;letter-spacing:-.01em;text-decoration:none}.installer-run__route-actions .installer-run__contact-tel:hover{filter:brightness(.97)}.installer-run__route-actions .installer-run__contact-tel:active{filter:brightness(.94)}.installer-run__route-actions .installer-run__contact-tel.is-unavailable{background:var(--muted);border-color:var(--border);font-size:14px;font-weight:650;min-height:auto;padding:10px 12px}.installer-run__route-sheet.ds-mobile-sheet{background:var(--background)}.installer-run__route-sheet .ds-mobile-sheet__header{background:var(--background);border-bottom-color:var(--border-subtle, var(--border))}.installer-run__route-sheet .ds-mobile-sheet__body{background:var(--background)}.installer-run__route-sheet .ds-mobile-sheet__footer,.installer-run__visit-sheet .ds-mobile-sheet__footer{background:var(--background);border-top-color:var(--border-subtle, var(--border))}.ds-mobile-sheet__footer:has(.installer-run__route-object-actions){padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}.installer-run__checklist{display:grid;gap:8px;margin-bottom:12px}.installer-run__check-item{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;min-height:44px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card)}.installer-run__check-item--button{width:100%;margin:0;text-align:left;cursor:pointer;color:inherit;font:inherit}.installer-run__check-item--button:hover{background:color-mix(in srgb,var(--muted) 55%,var(--card))}.installer-run__check-item--button:focus-visible{outline:2px solid var(--ring, var(--focus));outline-offset:2px}.installer-run__check-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.installer-run__check-kind-badge{font-size:11px;font-weight:var(--font-weight-medium)}.installer-run__check-chevron{display:inline-flex;align-items:center;justify-content:center;color:var(--muted-foreground)}.installer-run__check-chevron svg{width:18px;height:18px}.installer-run__check-detail{display:flex;flex-direction:column;gap:16px}.installer-run__check-detail-hint{margin:0;font-size:var(--text-sm);color:var(--muted-foreground);line-height:1.45}.installer-run__check-detail-section{display:flex;flex-direction:column;gap:10px}.installer-run__check-detail-section--photos{align-items:center;text-align:center}.installer-run__check-detail-section.is-problem .installer-run__check-detail-value{color:var(--warning, #d97706)}.installer-run__check-detail-title{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--foreground)}.installer-run__check-detail-label{margin:0;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground)}.installer-run__check-detail-value{margin:0;font-size:var(--text-base);line-height:1.45;word-break:break-word}.installer-run__check-detail-empty{margin:0;font-size:var(--text-sm);color:var(--muted-foreground);line-height:1.4}.installer-run__check-details{display:flex;flex-direction:column;gap:8px;padding:0 10px 4px}.installer-run__check-value{display:flex;flex-direction:column;gap:4px;margin:0;font-size:var(--text-sm);line-height:1.4}.installer-run__check-value.is-problem .installer-run__check-value-text{color:var(--warning, #d97706)}.installer-run__check-value-label{font-size:var(--text-xs);font-weight:650;color:var(--muted-foreground)}.installer-run__check-value-text{color:var(--foreground);word-break:break-word}.installer-run__check-photos-loading{margin:0;font-size:var(--text-xs);color:var(--muted-foreground)}.installer-run__check-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}@media(max-width:720px){.installer-run__check-photos{grid-template-columns:repeat(3,minmax(0,1fr))}}.installer-run__check-photo{display:block;aspect-ratio:1;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--muted);overflow:hidden;color:var(--muted-foreground);font-size:var(--text-xs);text-decoration:none}.installer-run__check-photo img{width:100%;height:100%;object-fit:cover;display:block}.installer-run__check-photo span{display:grid;place-items:center;width:100%;height:100%;padding:8px;text-align:center}.installer-run__check-photos--detail{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%}.installer-run__check-photo--detail{width:min(100%,280px);max-width:280px;aspect-ratio:1;border-radius:var(--radius-lg)}@media(max-width:720px){.installer-run__check-photo--detail{width:min(100%,240px);max-width:240px}}.installer-run__check-item-sheet .ds-mobile-sheet__body{padding-top:12px;padding-bottom:20px}.installer-run__check-item.is-done{opacity:.72}.installer-run__check-item.is-problem{opacity:.92}.installer-run__check-item.is-problem.is-current{border-color:var(--warning, #d97706);box-shadow:0 0 0 1px color-mix(in srgb,var(--warning, #d97706) 24%,transparent)}.installer-run__check-item.is-current{border-color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 24%,transparent)}.installer-run__check-box{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1.5px solid var(--border);border-radius:var(--radius-sm);color:transparent}.installer-run__check-item.is-done .installer-run__check-box{border-color:var(--success);background:var(--success);color:#fff}.installer-run__check-item.is-problem .installer-run__check-box{border-color:var(--warning, #d97706);background:color-mix(in srgb,var(--warning, #d97706) 14%,transparent);color:var(--warning, #d97706)}.installer-run__check-item.is-skipped{opacity:.8}.installer-run__check-item.is-skipped .installer-run__check-box{border-color:var(--muted-foreground);background:color-mix(in srgb,var(--muted-foreground) 12%,transparent);color:var(--muted-foreground)}.installer-run__check-box svg{width:14px;height:14px}.installer-run__check-body{display:grid;gap:2px;min-width:0}.installer-run__check-body strong{display:block;font-size:var(--text-sm)}.installer-run__check-body span{color:var(--muted-foreground);font-size:var(--text-xs)}.installer-run__photo-grid-state{display:flex;justify-content:center;padding:24px 16px}.installer-run__work{display:flex;flex-direction:column;gap:14px;min-height:0;flex:1}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}@media(max-width:720px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.photo{aspect-ratio:1;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--muted);position:relative;overflow:hidden;display:grid;place-items:center;color:var(--muted-foreground);font-size:var(--text-xs)}.photo--ok{background:linear-gradient(135deg,var(--success-surface),var(--muted))}.photo--sync{background:linear-gradient(135deg,var(--warning-surface),var(--muted))}.photo--fail{background:linear-gradient(135deg,var(--destructive-surface),var(--muted))}.photo__badge{position:absolute;left:6px;bottom:6px;padding:2px 6px;border-radius:999px;font-size:10px;font-weight:700;background:var(--card);border:1px solid var(--border)}.photo-grid__image{width:100%;height:100%;object-fit:cover}.photo-grid__placeholder{padding:8px;text-align:center}.photo-grid__add{cursor:pointer;font-weight:700}.photo-grid__add:disabled{opacity:.5;cursor:not-allowed}.installer-run__details-tabs{margin-bottom:12px}.installer-run__details-panel{display:flex;flex-direction:column;gap:14px}.object-history-tab{display:flex;flex-direction:column}.object-history-tab:not(.object-history-tab--compact){padding-top:4px}.object-history-tab__timeline{display:flex;flex-direction:column;gap:0;padding-top:8px}.object-history-tab__item{display:grid;grid-template-columns:16px 1fr;gap:12px;padding-bottom:20px;position:relative}.object-history-tab__item:before{content:"";position:absolute;left:7px;top:14px;bottom:0;width:2px;background:var(--border)}.object-history-tab__item:last-child{padding-bottom:0}.object-history-tab__item:last-child:before{display:none}.object-history-tab__dot{width:10px;height:10px;margin-top:4px;border-radius:50%;background:var(--primary);border:2px solid var(--background);box-shadow:0 0 0 1px var(--border);flex-shrink:0}.object-history-tab__dot--ok{background:var(--success)}.object-history-tab__dot--remark{background:var(--warning)}.object-history-tab__dot--no_access{background:var(--destructive)}.object-history-tab__dot--in_progress{background:var(--primary)}.object-history-tab__dot--open{background:var(--warning)}.object-history-tab__row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;width:100%;min-width:0}.object-history-tab__open{margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-md);transition:background-color .15s ease}.object-history-tab__open:hover{background:color-mix(in srgb,var(--muted) 65%,transparent)}.object-history-tab__open:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.object-history-tab__row>div{min-width:0;flex:1}.object-history-tab__title{font-size:14px;font-weight:var(--font-weight-semibold);display:block;line-height:1.4;margin-bottom:4px}.object-history-tab__meta{display:block;font-size:13px;font-weight:var(--font-weight-medium);color:var(--foreground);line-height:1.45}.object-history-tab__row .ds-badge{flex:0 0 auto;margin-left:auto;white-space:nowrap}.object-history-tab--compact .object-history-tab__item{gap:10px;padding-bottom:14px}.object-history-tab--compact .object-history-tab__dot{border-color:var(--card)}.object-history-tab--compact .object-history-tab__title{margin-bottom:2px}.object-history-tab--compact .object-history-tab__meta{font-size:var(--text-xs)}.object-contact-edit-dialog__hint{margin:0 0 12px;font-size:12px;line-height:1.45;color:var(--muted-foreground)}.object-contact-edit-dialog__list{display:flex;flex-direction:column;gap:12px}.object-contact-edit-dialog__card{display:block;width:100%;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);color:var(--foreground);text-align:left;cursor:pointer;font:inherit}.object-contact-edit-dialog__card:hover:not(.is-disabled){border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.object-contact-edit-dialog__card.is-on{border-color:var(--primary);background:var(--accent-soft, var(--primary-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 25%,transparent)}.object-contact-edit-dialog__card.is-disabled{opacity:.55;cursor:not-allowed}.object-contact-edit-dialog__card-fields{display:flex;flex-direction:column;gap:14px}.object-contact-edit-dialog__field{display:flex;flex-direction:column;gap:6px;min-width:0}.object-contact-edit-dialog__field-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.object-contact-edit-dialog__field-label{font-size:11px;font-weight:700;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;line-height:1.3}.object-contact-edit-dialog__field-value{font-size:14px;font-weight:550;line-height:1.5;color:var(--foreground)}.object-contact-edit-dialog__form{display:flex;flex-direction:column;gap:14px;padding-top:4px}.object-contact-edit-dialog__empty{padding:36px 20px;border:1px dashed var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--muted) 28%,transparent)}.object-contact-edit-dialog__empty .ds-empty__title{font-size:var(--text-base)}.object-contact-edit-dialog__footer{display:flex;justify-content:flex-start;gap:8px;flex-wrap:wrap;width:100%}.object-contact-edit-dialog__footer--form{justify-content:space-between;align-items:center}.object-contact-edit-dialog__footer-actions{display:flex;flex-wrap:wrap;gap:8px}.object-contact-edit-dialog__footer-delete{margin-left:auto}.object-contact-edit-dialog__footer-hint{margin:0 0 0 auto;max-width:22rem;font-size:12px;line-height:1.45;color:var(--muted-foreground);text-align:right}.object-info-block-edit-dialog .ds-dialog__footer{justify-content:flex-start}.object-info-block-edit-dialog__footer{display:flex;justify-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap;width:100%}.object-info-block-edit-dialog__footer-delete{margin-left:auto}.object-info-block-edit-dialog__confirm-footer{display:flex;justify-content:flex-end;gap:8px}.object-info-block-edit-dialog__form{display:flex;flex-direction:column;gap:14px}.object-info-block-edit-dialog__alert{margin-bottom:4px}.object-info-block-edit-dialog__textarea{width:100%;min-height:88px;resize:vertical;line-height:1.45}.object-location-map{min-height:420px;border:1px solid var(--border);border-radius:var(--radius-md);position:relative;overflow:hidden;background:var(--card)}.object-location-map--loading{display:flex;align-items:center;justify-content:center}.object-location-map__surface{width:100%;min-height:420px;touch-action:none}.object-location-map--interactive .object-location-map__surface{cursor:crosshair}.object-location-map__hint{position:absolute;left:16px;bottom:16px;right:16px;font-size:12px;color:var(--muted-foreground);background:color-mix(in srgb,var(--card) 92%,transparent);border:1px solid var(--border);border-radius:8px;padding:8px 10px;pointer-events:none}.duty-assign-dialog .ds-dialog__footer{justify-content:flex-start}.duty-assign-dialog .ds-dialog__body{display:flex;flex-direction:column;min-height:0;overflow:hidden}.duty-assign-dialog .ds-dialog__content{display:flex;flex-direction:column;flex:1;min-height:0;gap:10px;padding-top:12px;padding-bottom:12px}.duty-assign-dialog__body{display:flex;flex-direction:column;flex:1;min-height:0;gap:10px}.duty-assign-dialog__section{display:flex;flex-direction:column;gap:8px;min-height:0}.duty-assign-dialog__section--grow{flex:1}.duty-assign-dialog__section-title{margin:0;font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--muted-foreground);letter-spacing:.02em;text-transform:uppercase}.duty-assign-dialog__pick-selected{max-height:min(24vh,180px);overflow:auto}.duty-assign-dialog__pick-main{flex:1;min-height:0;max-height:none;overflow:auto}.duty-assign-dialog__pagination{flex-shrink:0;margin-top:4px}.problems-page--embedded{gap:0}.problems-page{display:flex;flex-direction:column;gap:12px}.problems-page__subtitle{margin:-4px 0 0;color:var(--muted-foreground);font-size:var(--text-sm)}.problems-page__toolbar{display:flex;flex-direction:column;gap:10px}.problems-page .ds-catalog-toolbar__left .ds-search{width:min(360px,100%)}.problems-page .ds-tool-btn svg{width:16px;height:16px;flex-shrink:0}.problems-page .ds-tool-btn{display:inline-flex;align-items:center;gap:6px;height:36px}.problems-page .ds-btn--icon.ds-tool-btn{width:36px;padding:0;justify-content:center}.problems-page__filter-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.problems-page__filter-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 10px;border-radius:999px;border:1px solid var(--border);background:var(--muted);font:600 var(--text-xs) var(--font-sans)}.problems-page__filter-chip button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;width:20px;height:20px;border-radius:999px;padding:0;font:700 14px/1 var(--font-sans)}.problems-page__filter-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;padding:4px 6px;font:600 var(--text-xs) var(--font-sans)}.problems-page__state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:220px;padding:24px}.problems-page__row{cursor:pointer}.problems-page__object{font-weight:var(--font-weight-semibold)}.problems-page__item-title{display:block;font-weight:var(--font-weight-medium)}.problems-page__item-sub{display:block;margin-top:2px;color:var(--muted-foreground);font-size:var(--text-xs)}.problems-page__when{font-variant-numeric:tabular-nums;color:var(--muted-foreground);font-size:var(--text-sm)}.object-detail-page{display:flex;flex-direction:column;gap:12px}.object-detail-page__intro{display:flex;flex-direction:column;gap:8px}.object-detail-page__main{display:flex;flex-direction:column;gap:12px}.object-detail-page__back{align-self:flex-start;text-decoration:none}.object-detail-page__state{display:flex;align-items:center;justify-content:center;min-height:240px}.object-detail-page__header{display:flex;flex-direction:column;gap:8px}.object-detail-page__title-wrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.object-detail-page__hero-meta{margin:0;width:100%;font-size:var(--text-sm);color:var(--muted-foreground);line-height:1.45}.object-detail-page__tab-pane{padding-top:4px}.object-detail-page__blocks{display:flex;flex-direction:column;gap:16px}.object-detail-page__block{display:flex;flex-direction:column;gap:16px;padding:18px 18px 20px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);min-width:0}.object-detail-page__block--wide{grid-column:1 / -1}.object-detail-page__panel-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.object-detail-page__block-edit svg{width:15px;height:15px}.object-detail-page__block-title{margin:0;font-size:var(--text-md);font-weight:750;letter-spacing:-.02em;line-height:1.35}.object-detail-page__meta-summary{display:flex;flex-direction:column;gap:16px}.object-detail-page__kv{display:grid;grid-template-columns:1fr;gap:14px}.object-detail-page__kv--2{grid-template-columns:1fr 1fr;gap:14px 24px}@media(max-width:560px){.object-detail-page__kv--2{grid-template-columns:1fr}}.object-detail-page__field{display:flex;flex-direction:column;gap:6px;min-width:0}.object-detail-page__field--wide{grid-column:1 / -1}.object-detail-page__address-row{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr) auto auto;gap:14px 12px;align-items:start;min-width:0}.object-detail-page__field--street{min-width:0}.object-detail-page__field--narrow{width:5.5ch}.object-detail-page__field--narrow .ds-input{width:100%;min-width:0;text-align:center;padding-inline:6px}.object-detail-page__field-label{font-size:11px;font-weight:700;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;line-height:1.3}.object-detail-page__field-value{font-size:14px;font-weight:550;line-height:1.5;color:var(--foreground)}.object-detail-page__hint{margin:0;font-size:var(--text-sm);color:var(--muted-foreground);line-height:1.45}.object-detail-page__title{margin:0;font-size:24px;font-weight:var(--font-weight-extrabold);letter-spacing:-.03em;line-height:1.25}.object-detail-page__placeholder{margin:0;color:var(--muted-foreground);font-size:15px;font-weight:500}.object-detail-page__form{display:grid;gap:12px}.object-detail-page__coords{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}@media(max-width:560px){.object-detail-page__coords{grid-template-columns:1fr}}.object-detail-page__textarea{width:100%;min-height:88px;resize:vertical;line-height:1.45}.object-detail-page__map-actions{display:flex;justify-content:flex-end;align-items:flex-end}.object-detail-page__map-link{font-size:var(--text-sm)}.object-detail-page__map-layout{display:flex;flex-direction:column;gap:16px}.object-detail-page__create-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.equipment-page{display:flex;flex-direction:column;gap:12px}.equipment-page__toolbar{display:flex;flex-direction:column;gap:10px}.equipment-page .ds-catalog-toolbar__left .ds-search{width:min(360px,100%)}.equipment-page .ds-tool-btn svg{width:16px;height:16px;flex-shrink:0}.equipment-page .ds-tool-btn{display:inline-flex;align-items:center;gap:6px;height:36px}.equipment-page .ds-btn--icon.ds-tool-btn{width:36px;padding:0;justify-content:center}.equipment-page__filter-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.equipment-page__filter-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 10px;border-radius:999px;border:1px solid var(--border);background:var(--muted);font:600 var(--text-xs) var(--font-sans)}.equipment-page__filter-chip button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;width:20px;height:20px;border-radius:999px;padding:0;font:700 14px/1 var(--font-sans)}.equipment-page__filter-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;padding:4px 6px;font:600 var(--text-xs) var(--font-sans)}.equipment-page__state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:220px;padding:24px}.equipment-page__row{cursor:pointer}.equipment-page__name{font-weight:var(--font-weight-semibold)}.equipment-page__subline{color:var(--muted-foreground);font-size:12px;margin-top:3px;line-height:1.35}.equipment-page__mono{font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;white-space:nowrap}.equipment-page__muted{color:var(--muted-foreground)}.equipment-page__overdue-date{color:var(--destructive-on-surface);font-weight:var(--font-weight-semibold)}.equipment-page__form{display:flex;flex-direction:column;gap:14px}.calendar-time-off-mark{position:absolute;top:0;right:0;width:0;height:0;overflow:visible;pointer-events:none;z-index:2}.calendar-time-off-mark__tooltip.ds-badge-tooltip{position:absolute;top:0;right:0;transform:translate(50%,-50%);pointer-events:auto;max-width:none;width:max-content;height:max-content}.calendar-time-off-mark__tooltip .ds-badge-tooltip__target{display:inline-flex;align-items:center;justify-content:center;max-width:none;line-height:0;border-radius:50%}.calendar-time-off-mark__tooltip .ds-badge-tooltip__target:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ring)}.calendar-time-off-mark__dot{display:block;flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:var(--destructive);box-shadow:0 0 0 3px color-mix(in srgb,var(--destructive) 28%,transparent)}.duty-page__day-chip--month .calendar-time-off-mark__dot,.planning-page__day-chip--month .calendar-time-off-mark__dot{width:8px;height:8px}.calendar-time-off-mark__tip{display:flex;flex-direction:column;gap:6px;text-align:left}.calendar-time-off-mark__tip-title{font-weight:650}.calendar-time-off-mark__tip-list{margin:0;padding-left:16px}.calendar-time-off-mark__tip-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.calendar-time-off-mark__tip-badge{font-size:11px;font-weight:var(--font-weight-medium)}.calendar-time-off-mark__tip-list li+li{margin-top:2px}.installers-page,.installer-card-page{display:flex;flex-direction:column;gap:12px}.installers-page__create-form{display:flex;flex-direction:column;gap:20px}.installers-page__create-dialog .ds-dialog__footer{justify-content:flex-start}.installers-page__toolbar{display:flex;flex-direction:column;gap:10px}.installers-page .ds-catalog-toolbar__left .ds-search{width:min(360px,100%)}.installers-page .ds-tool-btn svg{width:16px;height:16px;flex-shrink:0}.installers-page .ds-tool-btn{display:inline-flex;align-items:center;gap:6px;height:36px}.installers-page .ds-btn--icon.ds-tool-btn{width:36px;padding:0;justify-content:center}.installers-page__state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:220px;padding:24px}.installer-route-history{display:flex;flex-direction:column;gap:12px}.installer-route-history__toolbar{display:flex;flex-direction:column;gap:10px}.installer-route-history .ds-catalog-toolbar__left .ds-search{width:min(360px,100%)}.installer-route-history .ds-tool-btn svg{width:16px;height:16px;flex-shrink:0}.installer-route-history .ds-tool-btn{display:inline-flex;align-items:center;gap:6px;height:36px}.installer-route-history .ds-btn--icon.ds-tool-btn{width:36px;padding:0;justify-content:center}.installer-route-history__filter-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.installer-route-history__filter-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 10px;border-radius:999px;border:1px solid var(--border);background:var(--muted);font:600 var(--text-xs) var(--font-sans)}.installer-route-history__filter-chip button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;width:20px;height:20px;border-radius:999px;padding:0;font:700 14px/1 var(--font-sans)}.installer-route-history__filter-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);font:600 var(--text-xs) var(--font-sans);cursor:pointer;padding:4px 6px}.installer-route-history__state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:220px;padding:24px}.installer-route-history__row:hover td{background:var(--muted)}.installer-route-history__row--clickable{cursor:pointer}.installer-route-history__detail-dialog .ds-dialog__footer{justify-content:flex-start}.installer-route-history__detail-dialog .route-progress{margin-bottom:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}.installer-route-history__map-hint{margin:0;font-size:var(--text-xs);color:var(--muted-foreground)}.route-vertical{display:flex;flex-direction:column;gap:16px}.route-vertical__meta{display:flex;flex-direction:column;gap:4px}.route-vertical__summary,.route-vertical__status,.route-vertical__empty{margin:0;font-size:var(--text-sm);color:var(--muted-foreground)}.route-vertical__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.route-vertical__item{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;position:relative;padding-bottom:16px}.route-vertical__item:last-child{padding-bottom:0}.route-vertical__item:not(:last-child) .route-vertical__track:after{content:"";position:absolute;top:28px;left:13px;width:2px;bottom:0;background:var(--border)}.route-vertical__item.is-done:not(:last-child) .route-vertical__track:after{background:var(--success)}.route-vertical__item.is-current:not(:last-child) .route-vertical__track:after{background:linear-gradient(180deg,var(--accent-secondary) 0 45%,var(--border) 55% 100%)}.route-vertical__item.is-blocked:not(:last-child) .route-vertical__track:after{background:var(--warning)}.route-vertical__track{position:relative;display:flex;justify-content:center}.route-vertical__node{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono, ui-monospace, monospace);font-size:11px;font-weight:700;background:var(--muted);color:var(--muted-foreground);border:2px solid var(--border);position:relative;z-index:1}.route-vertical__item.is-done .route-vertical__node{background:var(--success);border-color:var(--success);color:#fff}.route-vertical__item.is-current .route-vertical__node{background:var(--accent-secondary);border-color:var(--accent-secondary);color:#fff;box-shadow:0 0 0 4px var(--accent-secondary-surface)}.route-vertical__item.is-blocked .route-vertical__node{background:var(--warning-surface);border-color:var(--warning);color:var(--warning-foreground)}.route-vertical__node svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.route-vertical__body{min-width:0;display:flex;flex-direction:column;gap:6px;padding-top:2px}.route-vertical__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px}.route-vertical__title-wrap{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;min-width:0}.route-vertical__title{font-size:var(--text-sm);font-weight:650;color:var(--foreground);text-decoration:none}.route-vertical__title:hover{text-decoration:underline}.route-vertical__time{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-xs);color:var(--muted-foreground);white-space:nowrap}.route-vertical__address{font-size:var(--text-xs);color:var(--muted-foreground);line-height:1.4}.installer-card-page__hist-toolbar{display:flex;flex-direction:column;gap:10px}.installer-card-page__hist-toolbar-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.installer-card-page__hist-toolbar-left{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1;min-width:0}.installer-card-page__hist-toolbar-right{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.installer-card-page__search{position:relative;display:inline-flex;align-items:center;width:min(360px,100%)}.installer-card-page__search-icon{position:absolute;left:10px;width:16px;height:16px;color:var(--muted-foreground);pointer-events:none}.installer-card-page__search .ds-input{padding-left:34px;width:100%}.installer-card-page__chips{display:flex;flex-wrap:wrap;gap:8px}.installer-card-page__chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--card);height:28px;padding:0 10px;border-radius:999px;font:600 var(--text-xs) var(--font-sans);color:var(--foreground);cursor:pointer}.installer-card-page__chip.is-on{background:var(--accent-soft, var(--muted));border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.installers-page__filter-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.installers-page__filter-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 10px;border-radius:999px;border:1px solid var(--border);background:var(--muted);font:600 var(--text-xs) var(--font-sans)}.installers-page__filter-chip button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;width:20px;height:20px;border-radius:999px;padding:0;font:700 14px/1 var(--font-sans)}.installers-page__filter-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);font:600 var(--text-xs) var(--font-sans);cursor:pointer;padding:4px 6px}.installer-card-page__state{display:flex;align-items:center;justify-content:center;min-height:220px;padding:24px}.installer-card-page__empty{margin:0;color:var(--muted-foreground);font-size:var(--text-sm);text-align:center}.installers-page__row{cursor:pointer}.installers-page__name{font-weight:var(--font-weight-semibold)}.installers-page__load{font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.installers-page__today{color:var(--muted-foreground);font-size:var(--text-sm)}.installer-card-page__back{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);font:700 var(--text-sm) var(--font-sans);cursor:pointer;padding:0}.installer-card-page__back:hover{color:var(--foreground)}.installer-card-page__hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-start}.installer-card-page__hero-title{margin:0;font-size:var(--text-2xl);font-weight:800;letter-spacing:-.03em;line-height:1.25}.installer-card-page__hero-meta{color:var(--muted-foreground);font-size:14px;margin-top:8px;line-height:1.45}.installer-card-page__duty-badge{background:var(--primary-surface);color:var(--foreground);border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.installer-card-page__field{display:flex;flex-direction:column;gap:6px;min-width:0}.installer-card-page__field-label{margin:0;font-size:11px;font-weight:700;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em}.installer-card-page__hero-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.installer-card-page__shell{display:flex;flex-direction:column;gap:24px;max-width:1100px}.installer-card-page__blocks{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.installer-card-page__blocks{grid-template-columns:1fr}}.installer-card-page__block{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px;display:flex;flex-direction:column;gap:16px;min-width:0}.installer-card-page__block--wide{grid-column:1 / -1}.installer-card-page__block-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.installer-card-page__block-title{margin:0;font-size:var(--text-sm);font-weight:750}.installer-card-page__kv{display:grid;grid-template-columns:1fr;gap:14px}.installer-card-page__kv--2{grid-template-columns:1fr 1fr;gap:14px 24px}@media(max-width:640px){.installer-card-page__kv--2{grid-template-columns:1fr}}.installer-card-page__field-value{font-size:var(--text-base);font-weight:500;line-height:1.5}.installer-card-page__hint-box{padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--background);font-size:var(--text-sm);color:var(--muted-foreground);line-height:1.45}.installer-card-page__hint-box strong{color:var(--foreground);display:block;margin-bottom:4px}.installer-card-page__switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background)}.installer-card-page__switch-text{display:flex;flex-direction:column;gap:4px;min-width:0}.installer-card-page__switch-text strong{font-size:var(--text-sm)}.installer-card-page__switch-text span{font-size:var(--text-xs);color:var(--muted-foreground);line-height:1.4}.installer-card-page__switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:44px;height:26px;border-radius:999px;border:1px solid var(--border);background:var(--muted);cursor:pointer;flex:0 0 auto;transition:background .15s,border-color .15s}.installer-card-page__switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000002e;transition:transform .15s}.installer-card-page__switch.is-on{background:var(--warning);border-color:var(--warning)}.installer-card-page__switch.is-on:after{transform:translate(18px)}.installer-card-page__switch:disabled{opacity:.55;cursor:not-allowed}.installer-card-page__switch--duty.is-on{background:var(--primary);border-color:var(--primary)}.installer-card-page__reason-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.installer-card-page__reason-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.installer-card-page__reason-option:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.installer-card-page__reason-option.is-on{border-color:var(--primary);background:var(--accent-soft, var(--primary-surface));box-shadow:inset 0 0 0 1px var(--primary)}.installer-card-page__reason-option:disabled{opacity:.55;cursor:not-allowed}.installer-card-page__reason-option-mark{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);flex:0 0 auto;position:relative}.installer-card-page__reason-option.is-on .installer-card-page__reason-option-mark{border-color:var(--primary)}.installer-card-page__reason-option.is-on .installer-card-page__reason-option-mark:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--primary)}.installer-card-page__reason-option-text{font-size:var(--text-sm);font-weight:600}.installer-card-page__form-actions{display:flex;justify-content:flex-end;gap:8px}.installer-card-page__hist-stack{display:flex;flex-direction:column;gap:12px}.installer-card-page__menu-wrap{position:relative;display:inline-block}.installer-card-page__menu-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:240px;max-height:min(360px,70vh);overflow:auto;padding:8px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow, 0 8px 24px rgba(28, 28, 30, .08))}.installer-card-page__menu-title{font-size:11px;font-weight:700;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em;padding:6px 8px 8px}.installer-card-page__menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--foreground);font:500 var(--text-sm) var(--font-sans);cursor:pointer;text-align:left}.installer-card-page__menu-item:hover{background:var(--muted)}.installer-card-page__menu-check{width:16px;height:16px;border:1px solid var(--border);border-radius:4px;display:grid;place-items:center;flex:0 0 auto;background:var(--background);font-size:10px}.installer-card-page__menu-check.is-on{background:var(--primary);border-color:var(--primary);color:#fff}.installer-card-page__tool-btn.is-active{background:var(--accent-soft, var(--muted));border-color:var(--primary)}.installer-card-page__tool-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--primary);color:#fff;font-size:11px;font-weight:800}.equipment-import-page{display:flex;flex-direction:column;gap:12px}.equipment-import-page__header{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.equipment-import-page__title{margin:0;font-size:var(--text-xl);font-weight:var(--font-weight-bold)}.equipment-import-page__columns{color:var(--muted-foreground);font-size:var(--text-sm)}.equipment-import-page__file-label input{margin-top:8px}.equipment-import-page__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.equipment-import-page__summary{color:var(--muted-foreground);font-size:var(--text-sm)}.objects-import-page{display:flex;flex-direction:column;gap:12px}.objects-import-page__back{align-self:flex-start;text-decoration:none}.objects-import-page__hero{align-items:flex-start}.objects-import-page__hero-text{display:flex;flex-direction:column;gap:8px;width:100%}.objects-import-page__hero-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:4px}.objects-import-page__file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.objects-import-page__format,.objects-import-page__section-body,.objects-import-page__example{display:flex;flex-direction:column;gap:8px}.objects-import-page__example-head{align-items:flex-start;flex-wrap:wrap;gap:12px}.objects-import-page__example-head-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:min(100%,240px)}.objects-import-page__example-wide-wrap{max-width:100%}.objects-import-page__example-wide-wrap .ds-table{min-width:max-content}.objects-import-page__example-wide-wrap .ds-table thead th,.objects-import-page__example-wide-wrap .ds-table tbody td{white-space:nowrap}.objects-import-page__example-cell--empty{color:var(--muted-foreground)}.map-preview-empty{padding:10px 12px;border-radius:var(--radius-sm);border:1px dashed var(--border);background:color-mix(in srgb,var(--card) 90%,transparent);color:var(--muted-foreground);font-size:var(--text-sm);width:min(280px,100%)}.map-preview{width:min(340px,100%);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md, 12px);box-shadow:var(--shadow, 0 8px 24px rgba(28, 28, 30, .08));padding:14px 14px 12px}.map-preview__top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:6px}.map-preview__title{margin:0;font-size:var(--text-base);font-weight:750;letter-spacing:-.02em}.map-preview__meta{font-size:var(--text-sm);color:var(--muted-foreground);line-height:1.45;margin-bottom:10px}.map-preview__meta--error{color:var(--destructive)}.map-preview__contact{margin-bottom:10px}.map-preview__contact-name{font-size:var(--text-sm);font-weight:650;line-height:1.4;color:var(--foreground);margin-bottom:6px}.map-preview__contact-grid{margin:0;display:grid;gap:6px}.map-preview__contact-row{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:8px;align-items:baseline;font-size:var(--text-sm);line-height:1.4}.map-preview__contact-row dt{margin:0;color:var(--muted-foreground);font-weight:500}.map-preview__contact-row dd{margin:0;color:var(--foreground)}.map-preview__contact-link{color:var(--primary);text-decoration:none}.map-preview__contact-link:hover{text-decoration:underline}.map-preview__badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.map-preview__actions{display:flex;flex-wrap:wrap;gap:8px}.map-preview__skeleton{display:flex;flex-direction:column;gap:8px}.map-preview__skeleton-line{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--muted),var(--card),var(--muted));background-size:200% 100%;animation:map-preview-shimmer 1.1s linear infinite}.map-preview__skeleton-line--short{width:55%}@keyframes map-preview-shimmer{to{background-position:-200% 0}}@media(max-width:900px){.map-preview,.map-preview-empty{width:100%}}.map-legend{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}.map-legend__badge{gap:6px}.map-legend__dot{width:8px;height:8px;min-width:8px;border-radius:50%;flex-shrink:0}.map-legend__dot--object{background:var(--map-marker-object)}.map-legend__dot--ok{background:var(--map-marker-ok)}.map-legend__dot--warn{background:var(--map-marker-warn)}.map-legend__dot--bad{background:var(--map-marker-bad)}.map-legend-panel{display:flex;flex-direction:column;gap:12px;padding:14px 16px 16px;background:var(--card)}.map-legend-panel__head{display:flex;flex-direction:column;gap:4px}.map-legend-panel__title{margin:0;display:flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:var(--font-weight-bold, 700);letter-spacing:-.02em;color:var(--foreground)}.map-legend-panel__title:before{content:"";width:3px;height:14px;border-radius:var(--radius-full);background:var(--primary);flex-shrink:0}.map-legend-panel__subtitle{margin:0;font-size:var(--text-xs);line-height:var(--leading-normal, 1.45);color:var(--muted-foreground)}.map-zoom-controls{display:flex;flex-direction:column;gap:6px}.map-zoom-controls__btn{width:36px;height:36px;padding:0;font-size:18px;line-height:1}.map-zoom-controls__icon{width:18px;height:18px}.map-settings-dialog .ds-dialog__footer{justify-content:flex-start}.map-marker-theme{--map-marker-object: var(--accent-secondary);--map-marker-object-surface: var(--accent-secondary-surface);--map-marker-ok: var(--success);--map-marker-ok-surface: var(--success-surface);--map-marker-warn: var(--warning);--map-marker-warn-surface: var(--warning-surface);--map-marker-bad: var(--destructive);--map-marker-bad-surface: var(--destructive-surface)}.map-shell{position:relative;flex:1;min-height:560px;border:1px solid var(--border);border-radius:var(--radius-md, 12px);overflow:hidden;background:var(--card)}.map-grid-bg{background:linear-gradient(180deg,color-mix(in srgb,var(--muted) 40%,transparent),transparent 35%),repeating-linear-gradient(0deg,transparent,transparent 31px,var(--border) 32px),repeating-linear-gradient(90deg,transparent,transparent 31px,var(--border) 32px),color-mix(in srgb,var(--muted) 55%,var(--card))}@media(max-width:900px){.map-shell{min-height:480px}}.map-canvas-shell__surface{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;touch-action:none}.map-canvas-shell__float{position:absolute;z-index:10;display:flex;gap:8px;pointer-events:none}.map-canvas-shell__float>*{pointer-events:auto}.map-canvas-shell__float--top{top:12px;left:12px;right:12px;justify-content:flex-start}.map-canvas-shell__float--bottom{left:12px;right:12px;bottom:12px;justify-content:flex-start;align-items:flex-end}.map-canvas-shell__float--right{top:12px;right:12px;flex-direction:column;align-items:flex-end;gap:8px}.map-canvas-shell:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.map-stub{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;cursor:grab}.map-stub--pick{cursor:crosshair}.map-stub--dragging{cursor:grabbing}.map-stub__canvas{position:absolute;top:0;right:0;bottom:0;left:0}.map-stub__road{position:absolute;left:6%;right:8%;top:52%;height:10px;border-radius:999px;background:color-mix(in srgb,var(--card) 80%,var(--muted-foreground, var(--foreground)));box-shadow:0 0 0 10px color-mix(in srgb,var(--border) 70%,transparent);transform:rotate(-7deg)}.map-stub__pins{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.map-stub__pin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:transparent;padding:0;cursor:pointer;pointer-events:auto}.map-stub__pin-dot{width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--map-marker-object-surface);border:2.5px solid var(--map-marker-object);box-shadow:0 0 0 2px var(--card),var(--shadow, 0 8px 24px rgba(28, 28, 30, .08))}.map-stub__pin--ok .map-stub__pin-dot{background:var(--map-marker-ok-surface);border-color:var(--map-marker-ok)}.map-stub__pin--warn .map-stub__pin-dot{background:var(--map-marker-warn-surface);border-color:var(--map-marker-warn)}.map-stub__pin--bad .map-stub__pin-dot{background:var(--map-marker-bad);border-color:var(--map-marker-bad)}.map-stub__pin--selected .map-stub__pin-dot{outline:2px solid var(--foreground);outline-offset:2px}.map-stub__pin-label{font-size:11px;font-weight:650;padding:3px 7px;border-radius:6px;background:var(--card);color:var(--foreground);border:1px solid var(--border);white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.map-stub__pin--cluster .map-stub__pin-dot{border-radius:50%;transform:none;display:flex;align-items:center;justify-content:center;width:34px;height:34px;font-size:12px;font-weight:700;background:var(--map-marker-object-surface);border:2.5px solid var(--map-marker-object);color:var(--map-marker-object)}.map-stub__cluster-dot{line-height:1}.map-stub__pins:not(.map-stub__pins--labels) .map-stub__pin-label{display:none}.map-canvas-shell--loading .map-canvas-shell__surface{opacity:.72}.map-canvas-shell__loading{padding:6px 10px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--card) 92%,transparent);border:1px solid var(--border);font-size:var(--text-xs);font-weight:650;color:var(--muted-foreground);pointer-events:none;max-width:min(220px,100%);text-align:right}@media(max-width:900px){.map-canvas-shell__float--bottom{flex-direction:column;align-items:stretch}}.map-toolbar{display:flex;flex-direction:column;gap:10px}.map-toolbar__row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.map-toolbar__row--top .map-toolbar__search{flex:1;min-width:min(220px,100%)}.map-toolbar__end{flex:0 0 auto;display:flex;gap:8px;align-items:center}.map-page{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.map-page__map-block{display:flex;flex-direction:column;flex:1;min-height:0;border:1px solid var(--border);border-radius:var(--radius-md, 12px);overflow:hidden;background:var(--card)}.map-page__map-block .map-shell{border:none;border-radius:0;border-bottom:1px solid var(--border)}.map-page__reload-error{margin:0}.map-page__filtered-empty{margin:0;font-size:var(--text-sm);color:var(--muted-foreground)}.instructions-editor{display:flex;flex-direction:column;min-height:0;min-width:0;width:100%}.instructions-editor__body{flex:1;min-height:0;min-width:0;padding:0 3px;margin:0 -3px;width:calc(100% + 6px);line-height:1.55;display:flex;flex-direction:column;gap:16px}.instructions-editor__conflict{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.instructions-editor__conflict-actions{display:flex;flex-wrap:wrap;gap:8px}.instructions-editor__body>.ds-form-field:not(.instructions-editor__body-field){flex-shrink:0}.instructions-editor__body-field{flex:1;min-height:0;display:flex;flex-direction:column}.instructions-editor__audience-field{margin-top:4px}.instructions-editor__roles{display:flex;flex-wrap:wrap;gap:8px;border:0;margin:0;padding:0}.instructions-editor__roles-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.instructions-editor__role-pill{padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--card)}.instructions-editor-dialog .ds-dialog__footer{justify-content:flex-start}.instructions-editor-dialog .ds-dialog__body{display:flex;flex-direction:column;min-height:0;overflow:hidden}.instructions-editor-dialog .ds-dialog__content{display:flex;flex-direction:column;flex:1;min-height:0}.instructions-editor-dialog .ds-dialog__content>.instructions-editor{flex:1;min-height:0}.instructions-editor__body-field>.ds-markdown-editor--fill{flex:1;min-height:0;width:100%}.instructions-editor__body-field .ds-markdown-editor__input,.instructions-editor__body-field .ds-markdown-editor__preview{width:100%;max-width:100%}.instructions-reader{display:flex;flex-direction:column;min-height:0;height:100%;width:100%;background:var(--card);border:1px solid var(--border);border-radius:var(--radius, 10px);overflow:hidden}.instructions-reader__head{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:12px}.instructions-reader__title{margin:0;font-size:16px;font-weight:750}.instructions-reader__sub{margin:4px 0 0;font-size:12px;color:var(--fg2)}.instructions-reader__body{flex:1;overflow:auto;min-height:0;padding:18px 20px;line-height:1.55}.instructions-reader__placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 16px;color:var(--fg2);line-height:1.5}.instructions-reader__placeholder strong{display:block;color:var(--fg);font-size:15px;margin-bottom:8px}.instructions-reader__placeholder p{margin:0 0 12px}.instructions-reader__title-wrap{min-width:0}.instructions-reader__actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex-shrink:0}.instructions-reader__edit-btn svg{width:16px;height:16px}.instructions-reader__audience{margin-bottom:14px}.instructions-reader__empty-body{color:var(--fg2);font-size:13px}.instructions-reader__skeleton-title{width:55%;height:18px;margin:0}.instructions-reader__skeleton-sub{width:35%;height:14px;margin-top:10px}.instructions-reader__skeleton-block{height:72px;margin:12px 0}.instructions-reader__skeleton-line{width:80%}.instructions-reader--dialog{flex:1;min-height:0;height:auto;background:transparent;border:0;border-radius:0;overflow:hidden;display:flex;flex-direction:column}.instructions-reader--dialog .instructions-reader__body{flex:1;min-height:0;padding:0;overflow:auto}.instructions-reader__dialog-meta{margin:0 0 12px;font-size:12px;color:var(--fg2);flex-shrink:0}.instructions-reader--dialog .instructions-reader__placeholder{padding:24px 0}.instructions-reader-dialog .ds-dialog__footer{justify-content:flex-start}.instructions-reader-dialog .ds-dialog__body{display:flex;flex-direction:column;overflow:hidden}.instructions-reader-dialog .ds-dialog__content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.instructions-list{display:flex;flex-direction:column;gap:12px;min-height:0;width:100%}.instructions-list__toolbar-shell{display:flex;flex-direction:column;gap:10px}.instructions-list .ds-catalog-toolbar__left .ds-search{width:min(360px,100%)}.instructions-list .ds-tool-btn svg{width:18px;height:18px;flex-shrink:0}.instructions-list .ds-tool-btn{display:inline-flex;align-items:center;gap:6px;height:36px}.instructions-list .ds-btn--icon.ds-tool-btn{width:36px;padding:0;justify-content:center}.instructions-list__filter-menu .ds-menu-panel{z-index:calc(var(--z-dropdown) + 10)}.instructions-list__filter-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.instructions-list__filter-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 10px;border-radius:999px;border:1px solid var(--border);background:var(--muted);font:600 var(--text-xs) var(--font-sans)}.instructions-list__filter-chip button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;width:20px;height:20px;border-radius:999px;padding:0;font:700 14px/1 var(--font-sans)}.instructions-list__filter-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);font:600 var(--text-xs) var(--font-sans);cursor:pointer;padding:4px 6px}.instructions-list__row{cursor:pointer}.instructions-list__row:hover td{background:var(--muted)}.instructions-list__row.is-active td{background:var(--primary-surface)}.instructions-list__mono{font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;white-space:nowrap}.instructions-list__summary{padding:10px 14px;border-top:1px solid var(--border);font:500 12px var(--font-sans);color:var(--fg2);text-align:right}.instructions-list--reader .instructions-list__summary{border-top:0;margin-top:10px;padding:0;text-align:right}.instructions-list__grid{display:flex;flex-direction:column;gap:8px}.instructions-list--reader .instructions-list__grid{padding:0}.instructions-list:not(.instructions-list--reader) .instructions-list__grid{padding:12px}.instructions-list__card{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--foreground);text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease}.instructions-list__card:hover{background:var(--muted)}.instructions-list__card.is-active{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:var(--primary-surface)}.instructions-list__card:focus-visible{outline:2px solid var(--ring, var(--focus));outline-offset:2px}.instructions-list__card-title{font:650 var(--text-sm) / var(--leading-snug) var(--font-sans);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.instructions-list__card-meta{font:500 12px var(--font-mono, ui-monospace, monospace);color:var(--fg2)}.instructions-page{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.instructions-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.instructions-page__subtitle{margin:4px 0 0;font-size:12px;color:var(--fg2)}.instructions-page__list{min-height:0}.planning-page,.planning-page__toolbar{display:flex;flex-direction:column;gap:12px}.planning-page__toolbar-top{display:flex;justify-content:flex-end;align-items:center}.planning-page__toolbar-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.planning-page__assignee{display:inline-flex;align-items:stretch;flex:0 1 296px;min-width:min(296px,100%);max-width:440px;height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);overflow:hidden}.planning-page__assignee.is-on{border-color:var(--primary);background:var(--accent-soft, var(--primary-surface))}.planning-page__assignee-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;min-width:0;border:0;background:transparent;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:0 8px 0 10px;font:600 var(--text-sm) var(--font-sans);text-align:left}.planning-page__assignee-trigger:hover{background:color-mix(in srgb,var(--foreground) 4%,transparent)}.planning-page__assignee-icon{display:inline-flex;flex-shrink:0;width:16px;height:16px;color:var(--muted-foreground)}.planning-page__assignee.is-on .planning-page__assignee-icon{color:var(--primary)}.planning-page__assignee-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-page__assignee-text.is-placeholder{color:var(--muted-foreground);font-weight:500}.planning-page__assignee-chevron{display:inline-flex;flex-shrink:0;width:16px;height:16px;color:var(--muted-foreground)}.planning-page__assignee-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;width:32px;border:0;border-left:1px solid var(--border);background:transparent;color:var(--muted-foreground);cursor:pointer;font-size:18px;line-height:1}.planning-page__assignee-clear:hover{color:var(--foreground);background:color-mix(in srgb,var(--foreground) 6%,transparent)}.planning-page__toolbar-left{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1;min-width:0;container-type:inline-size}.planning-page__toolbar-dates{display:inline-flex;flex-wrap:nowrap;gap:8px;align-items:center;flex:0 0 auto}.planning-page__toolbar-right{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;flex-shrink:0}.planning-page__view-toggle{display:inline-flex;gap:4px;flex-shrink:0}.planning-page__tool-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--card);color:var(--foreground);height:36px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;font:700 var(--text-sm) var(--font-sans)}.planning-page__tool-btn.is-on{background:var(--accent-soft, var(--primary-surface));border-color:var(--primary)}.planning-page__nav{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.planning-page__period{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);min-width:140px;text-align:center}@container (width < 640px){.planning-page__assignee{flex:1 1 100%;max-width:none}.planning-page__toolbar-dates{flex:1 1 100%}}.planning-page__icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--card);color:var(--foreground);width:36px;height:36px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.planning-page__icon-btn svg{width:16px;height:16px}.planning-page__subtitle{font-size:var(--text-sm);color:var(--muted-foreground);margin:0}.planning-page__week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;overflow:visible}.planning-page__month{display:flex;flex-direction:column;gap:6px}.planning-page__month-head{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.planning-page__month-head span{font-size:11px;font-weight:700;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em;text-align:center;padding:4px 0}.planning-page__month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;overflow:visible}.planning-page__day-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--card);border-radius:var(--radius-md);padding:10px 8px;cursor:pointer;text-align:left;min-height:72px;display:flex;flex-direction:column;font:inherit;color:inherit;position:relative;overflow:visible;isolation:isolate}.planning-page__day-chip-inner{display:flex;flex-direction:column;gap:6px;flex:1;width:100%;min-width:0}.planning-page__day-chip--month{min-height:64px;padding:8px}.planning-page__day-chip.is-muted{opacity:.45}.planning-page__day-chip.is-muted .planning-page__day-chip-n{color:var(--muted-foreground);font-weight:600}.planning-page__day-chip:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.planning-page__day-chip.is-on{border-color:var(--primary);background:var(--accent-soft, var(--primary-surface));box-shadow:inset 0 0 0 1px var(--primary)}.planning-page__day-chip.is-today:not(.is-on){box-shadow:inset 0 0 0 1px var(--accent-secondary, #2f6fed)}.planning-page__day-chip.is-today .planning-page__day-chip-n{color:var(--accent-secondary, #2f6fed)}.planning-page__day-chip-d{font-size:11px;font-weight:700;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em}.planning-page__day-chip-n{font-size:18px;font-weight:800;letter-spacing:-.03em}.planning-page__day-stats{display:flex;flex-wrap:wrap;gap:3px;margin-top:auto;align-items:center}.planning-page__day-stats-sep{flex:0 0 auto;width:1px;height:12px;margin:0 1px;background:var(--border);align-self:center}.planning-page__stat-n{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:10px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;border:1px solid transparent}.planning-page__stat-n--todo{color:var(--accent-secondary, #2f6fed);background:var(--accent-secondary-surface, #eaf1fe);border-color:var(--accent-secondary-border, #b7cdf8)}.planning-page__stat-n--problem{color:var(--destructive);background:var(--destructive-surface);border-color:color-mix(in srgb,var(--destructive) 22%,transparent)}.planning-page__stat-n--skip{color:var(--warning);background:var(--warning-surface, #fff8e1);border-color:color-mix(in srgb,var(--warning) 22%,transparent)}.planning-page__stat-n--duty{color:var(--success);background:var(--success-surface);border-color:color-mix(in srgb,var(--success) 22%,transparent)}.planning-page__stat-tooltip.ds-badge-tooltip,.planning-page__stat-tooltip .ds-badge-tooltip__target{max-width:none}.planning-page__day-corner-badge{position:absolute;top:0;right:0;width:0;height:0;overflow:visible;pointer-events:none;z-index:2}.planning-page__day-time-off.ds-badge-tooltip{position:absolute;top:0;right:0;transform:translate(50%,-50%);pointer-events:auto;max-width:none;width:max-content;height:max-content}.planning-page__day-time-off .ds-badge-tooltip__target{display:inline-flex;align-items:center;justify-content:center;max-width:none;line-height:0;border-radius:50%}.planning-page__day-time-off .ds-badge-tooltip__target:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ring)}.planning-page__day-time-off-dot{display:block;flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:var(--destructive);box-shadow:0 0 0 2px var(--card),0 0 0 3px color-mix(in srgb,var(--destructive) 28%,transparent)}.planning-page__day-chip--month .planning-page__day-time-off-dot{width:9px;height:9px}.planning-page__time-off-tip{display:flex;flex-direction:column;gap:4px;text-align:left}.planning-page__time-off-tip-title{font-weight:700}.planning-page__time-off-tip-list{margin:0;padding:0 0 0 14px}.planning-page__time-off-tip-list li+li{margin-top:2px}.planning-page__duty-switch{font-size:var(--text-sm);white-space:nowrap}.planning-page__board{display:flex;flex-direction:column;gap:10px;margin-top:4px}.planning-page__board .ds-tabs{margin-bottom:2px}.planning-page__board .planning-page__routes,.planning-page__board .duty-page__tickets{gap:10px;margin-top:0}.planning-page__board .planning-page__routes-toolbar,.planning-page__board .duty-page__tickets-toolbar{gap:8px}.planning-page__board .planning-page__routes .ds-catalog-toolbar__left .ds-search,.planning-page__board .duty-page__tickets .ds-catalog-toolbar__left .ds-search{width:min(360px,100%)}.planning-page__board .ds-catalog-toolbar__right>.ds-btn--primary{min-width:140px}.planning-page__board .ds-tool-btn{display:inline-flex;align-items:center;gap:6px;height:36px}.planning-page__board .ds-tool-btn svg{width:16px;height:16px;flex-shrink:0}.planning-page__routes{display:flex;flex-direction:column;gap:10px;margin-top:4px}.planning-page__board-title{margin:0;font-size:var(--text-base);font-weight:var(--font-weight-semibold)}.planning-page__routes-toolbar{display:flex;flex-direction:column;gap:8px}.planning-page__routes .ds-catalog-toolbar__left .ds-search{width:min(360px,100%)}.planning-page__routes-body{min-height:220px}.planning-page__routes-panel{display:flex;flex-direction:column;gap:8px}.planning-page__state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 16px}.planning-page__list{display:flex;flex-direction:column;gap:8px}.planning-page__route{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:10px;text-align:left;width:100%;font:inherit;color:inherit}.planning-page__route:hover{border-color:color-mix(in srgb,var(--accent-secondary) 40%,var(--border))}.planning-page__route:focus{outline:none}.planning-page__route:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px}.planning-page__route.is-selected{border-color:var(--accent-secondary);box-shadow:0 0 0 3px var(--accent-secondary-surface)}.planning-page__route.is-bad{border-left:3px solid var(--destructive)}.planning-page__route.is-warn{border-left:3px solid var(--warning)}.planning-page__route-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.planning-page__route-name{font-size:var(--text-base);font-weight:var(--font-weight-semibold)}.planning-page__route-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.planning-page__route-unavail-badge{font-size:11px;font-weight:var(--font-weight-medium)}.planning-page__route-meta{font-size:var(--text-sm);color:var(--muted-foreground);margin-top:3px}.planning-page__route-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.planning-page__route-foot{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:var(--text-sm);color:var(--muted-foreground)}.planning-page__route-foot strong{color:var(--foreground);font-weight:var(--font-weight-semibold)}.planning-page__readonly-value{margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--muted);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:1.45}.planning-page__hint{font-size:var(--text-xs);color:var(--muted-foreground);margin:4px 0 0}.planning-page__stop-head-end{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.planning-page__stop-ops{display:flex;gap:4px}.planning-page__stop-ops button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--card);width:28px;height:28px;border-radius:6px;cursor:pointer;color:var(--muted-foreground);font:700 12px var(--font-sans)}.planning-page__stop-retry{align-self:flex-start;margin-top:8px}.planning-page__stop-checklist{margin-top:8px}.planning-page__stop-checklist-label{display:block;font:600 var(--text-xs) var(--font-sans);color:var(--muted-foreground);margin-bottom:4px}.planning-page__stop-checklist-value{font:var(--text-sm) var(--font-sans)}.planning-page__stop-checklist .duty-form-pick{margin-top:0}.planning-page__stop-placement{display:flex;flex-direction:column;gap:2px;margin-top:4px;font:var(--text-xs) var(--font-sans);color:var(--muted-foreground)}@media(max-width:900px){.planning-page__week{grid-template-columns:repeat(4,1fr)}}.sync-page{display:flex;flex-direction:column;gap:12px}.sync-page__banner{margin:-4px -4px 0;border-radius:var(--radius-md);border:1px solid transparent}.sync-page__status{display:flex;flex-direction:column;gap:10px}.sync-page__row{display:flex;justify-content:space-between;align-items:center;gap:12px}.sync-page__label{font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);color:var(--fg2);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.sync-page__value{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--foreground);text-align:right}.sync-page__mono{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--fg2);text-align:right}.sync-page__hint{margin:0}.sync-page__actions{display:flex;justify-content:flex-start;padding-top:2px}.sync-page__progress-head{margin-bottom:8px}.sync-page__progress-head .ds-panel__title{margin:0}.sync-page__progress-note{margin-top:8px}.sync-page__queue-note{padding-top:0;padding-bottom:0}.sync-page__queue-note .ds-panel__note{margin:0;line-height:var(--leading-snug)}.sync-conflicts-page{display:flex;flex-direction:column;gap:12px}.sync-conflicts-page__toolbar{display:flex;flex-direction:column;gap:10px}.sync-conflicts-page .ds-catalog-toolbar__left .ds-search{width:min(360px,100%)}.sync-conflicts-page .ds-tool-btn svg{width:16px;height:16px;flex-shrink:0}.sync-conflicts-page .ds-tool-btn{display:inline-flex;align-items:center;gap:6px;height:36px}.sync-conflicts-page .ds-btn--icon.ds-tool-btn{width:36px;padding:0;justify-content:center}.sync-conflicts-page__filter-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sync-conflicts-page__filter-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 10px;border-radius:999px;border:1px solid var(--border);background:var(--muted);font:600 var(--text-xs) var(--font-sans)}.sync-conflicts-page__filter-chip button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;width:20px;height:20px;border-radius:999px;padding:0;font:700 14px/1 var(--font-sans)}.sync-conflicts-page__filter-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;padding:4px 6px;font:600 var(--text-xs) var(--font-sans)}.sync-conflicts-page__state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:220px;padding:24px}.sync-conflicts-page__row{cursor:pointer}.sync-conflicts-page__mono{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted-foreground);word-break:break-all}.sync-conflicts-page__detail{display:flex;flex-direction:column;gap:12px}.sync-conflicts-page__kv{display:grid;grid-template-columns:120px 1fr;gap:6px 10px;margin:0;font-size:var(--text-sm)}.sync-conflicts-page__kv dt{color:var(--muted-foreground);font-weight:var(--font-weight-semibold)}.sync-conflicts-page__kv dd{margin:0}.sync-conflicts-page__payloads{display:grid;gap:10px}.sync-conflicts-page__pick-hint{margin:0;font-size:var(--text-sm);line-height:1.45;color:var(--muted-foreground)}.sync-conflicts-page__payload{display:flex;flex-direction:column;gap:0}.sync-conflicts-page__payload strong{display:block;font-size:var(--text-sm);font-weight:var(--font-weight-semibold)}.sync-conflicts-page__payload-block{display:block;width:100%;margin:6px 0 0;padding:10px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--muted);color:var(--foreground);text-align:left;cursor:pointer;font:inherit}.sync-conflicts-page__payload-block:hover:not(.is-readonly){border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.sync-conflicts-page__payload-block.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--muted));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 25%,transparent)}.sync-conflicts-page__payload-block.is-readonly{cursor:default}.sync-conflicts-page__payload-block pre{margin:0;padding:0;background:transparent;font-family:var(--font-mono);font-size:var(--text-xs);overflow:auto;max-height:160px;white-space:pre-wrap}.sync-conflicts-page__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.sync-conflict-detail-dialog .ds-dialog__footer{justify-content:flex-start}.sync-conflict-detail-dialog .sync-conflicts-page__payloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}.sync-conflict-detail-dialog .sync-conflicts-page__payload{display:flex;flex-direction:column;min-width:0;min-height:0}.sync-conflict-detail-dialog .sync-conflicts-page__payload-block{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;height:100%}.sync-conflict-detail-dialog .sync-conflicts-page__payload-block pre{flex:1 1 auto;min-height:0;max-height:none;overflow:visible}.sync-conflicts-page__bulk-dialog{display:flex;flex-direction:column;gap:12px}.sync-conflicts-page__bulk-intro,.sync-conflicts-page__bulk-count{margin:0;font-size:var(--text-sm);line-height:1.45;color:var(--muted-foreground)}.sync-conflict-bulk-dialog .ds-dialog__footer{justify-content:flex-start}.sync-conflict-bulk-dialog.ds-dialog{width:min(52vw,920px)}.sync-conflicts-bulk__segments{width:100%}.sync-conflicts-bulk__list{display:flex;flex-direction:column;gap:12px;max-height:min(52vh,480px);overflow-y:auto;padding-right:2px}.sync-conflicts-bulk__row{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border)}.sync-conflicts-bulk__row:last-child{padding-bottom:0;border-bottom:none}.sync-conflicts-bulk__row-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;font-size:var(--text-sm)}.sync-conflicts-bulk__row-head strong{font-weight:var(--font-weight-semibold)}.sync-conflicts-bulk__versions{font-size:var(--text-xs);color:var(--muted-foreground);font-family:var(--font-mono)}.sync-conflicts-bulk__row-payloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;align-items:stretch}.sync-conflicts-bulk__row-payloads .sync-conflicts-page__payload{display:flex;flex-direction:column;min-width:0;min-height:0}.sync-conflicts-bulk__row-payloads .sync-conflicts-page__payload-block{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;height:100%}.sync-conflicts-bulk__row-payloads .sync-conflicts-page__payload-block pre{flex:1 1 auto;min-height:0;max-height:none}.sync-conflicts-page__resolved-summary{margin:0;font-size:var(--text-sm);line-height:1.45;color:var(--foreground)}.export-action-dialog .ds-dialog__footer{justify-content:flex-start}.export-action-dialog__footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.export-action-dialog__body{display:flex;flex-direction:column;gap:14px}.export-action-dialog__hint,.export-action-dialog__status{margin:0;font-size:var(--text-xs);color:var(--muted-foreground);line-height:1.45}.monitor-route-view-dialog .ds-dialog__footer{justify-content:flex-start}.monitor-route-view-dialog__footer{display:flex;align-items:center;gap:10px;width:100%}.monitor-route-view-dialog__map{margin-left:auto}.monitor-route-view-dialog__body{display:flex;flex-direction:column;gap:16px}.monitor-route-view-dialog__state{display:flex;justify-content:center;padding:24px 0}.monitor-route-view-dialog .route-progress{margin-bottom:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}.problem-map-widget__head{display:flex;flex-direction:column;gap:4px}.problem-map-widget__note{margin:0;font-size:12px;color:var(--fg2)}.problem-map-widget__body{display:flex;flex-direction:column;gap:12px}.problem-map-widget__loading{display:flex;flex-direction:column;gap:10px}.problem-map-widget__error{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.problem-map-widget__empty{display:flex;align-items:center;justify-content:center;min-height:220px;padding:12px 0}.problem-map-widget__empty .ds-empty{max-width:28rem}.problem-map-widget__canvas{min-height:360px;display:flex;flex-direction:column}.problem-map-widget__canvas .map-shell{min-height:360px;flex:1}@media(max-width:900px){.problem-map-widget__canvas .map-shell{min-height:300px}}.print-act-sheet{background:#fff;color:#1c1c1e;border:1px solid rgba(0,0,0,.14);border-radius:4px;padding:28px 32px;font-family:Manrope,system-ui,sans-serif;box-shadow:0 1px #0000000a}.print-act-sheet__brand{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;padding-bottom:14px;border-bottom:2px solid #2f6fed}.print-act-sheet__brand strong{font-size:20px;letter-spacing:-.03em}.print-act-sheet__brand span{color:#2f6fed}.print-act-sheet__subtitle{font-size:12px;color:#6e6e73;margin-top:4px}.print-act-sheet__meta{font-size:12px;color:#6e6e73;text-align:right;line-height:1.45}.print-act-sheet h4{margin:0 0 8px;font-size:15px;letter-spacing:-.02em;color:#1c1c1e}.print-act-sheet__section+.print-act-sheet__section{margin-top:22px}.print-act-sheet__note,.print-act-sheet p{margin:0 0 14px;font-size:13px;color:#6e6e73;line-height:1.45}.print-act-sheet__empty{margin:0;font-size:13px;color:#6e6e73;font-style:italic}.print-act-sheet__subline{color:#6e6e73;font-size:11px;margin-top:3px;line-height:1.35}.print-act-sheet__bar{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.print-act-sheet__bar-track{height:8px;border-radius:99px;background:#00000014;overflow:hidden}.print-act-sheet__bar-fill{height:100%;border-radius:99px;background:#2f6fed}.print-act-sheet table{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px;color:#1c1c1e}.print-act-sheet th,.print-act-sheet td{padding:8px 6px;border-bottom:1px solid rgba(0,0,0,.12);text-align:left}.print-act-sheet th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#6e6e73;font-weight:600}.print-act-sheet__sign{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}.print-act-sheet__sign-line{border-top:1px solid rgba(0,0,0,.35);padding-top:8px;font-size:12px;color:#6e6e73}@media print{@page{margin:12mm}html,body{margin:0;padding:0;background:#fff}.print-act-sheet{border:none;box-shadow:none;border-radius:0;padding:0}}.print-act-dialog__hint{margin:0 0 12px;font-size:12px;color:var(--fg2);line-height:1.45}.print-act-dialog__sections{margin:0 0 16px;padding:0;border:none}.print-act-dialog__sections-title{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);margin-bottom:4px}.print-act-dialog__sections-hint{margin:0 0 10px;font-size:var(--text-xs);color:var(--muted-foreground);line-height:1.45}.print-act-dialog__sections-list{display:flex;flex-direction:column;gap:8px}.print-act-dialog .ds-dialog__footer{justify-content:flex-start}.print-act-dialog__footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.monitor-page{display:flex;flex-direction:column;gap:12px}.monitor-page__actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.monitor-page__period{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.monitor-page__range{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--fg2)}.monitor-page__skeleton{display:flex;flex-direction:column;gap:12px}.monitor-page__metric-skeleton{gap:8px}.monitor-page__metric-skeleton .ds-skeleton:nth-child(2){margin-top:2px}.monitor-page__panel-skeleton{display:flex;flex-direction:column;gap:10px;padding-top:4px}.monitor-page__error{align-items:stretch;gap:12px}.monitor-page__panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.monitor-page__panel-note{margin:0;font-size:12px;color:var(--fg2)}.monitor-page__bars{display:flex;flex-direction:column;gap:8px}.monitor-page__bar{display:grid;grid-template-columns:110px 1fr 36px;gap:8px;align-items:center;font-size:12px}.monitor-page__bar-name{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-page__bar-track{height:8px;border-radius:99px;background:var(--muted);overflow:hidden}.monitor-page__bar-fill{height:100%;border-radius:99px;background:var(--primary)}.monitor-page__bar-n{text-align:right;font-weight:750;font-variant-numeric:tabular-nums}.monitor-page__subline{color:var(--fg2);font-size:12px;margin-top:3px;line-height:1.35}.monitor-page__drill,.monitor-page__row{cursor:pointer}.monitor-page__overdue-days{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold)}.monitor-page__drill:focus-visible{outline:2px solid var(--ring, var(--primary));outline-offset:2px}.monitor-page__page-empty,.monitor-page__panel-empty{display:flex;align-items:center;justify-content:center;padding:28px 20px}.monitor-page__page-empty{min-height:280px}.monitor-page__panel-empty{min-height:180px}.monitor-page__metric-section{display:flex;flex-direction:column;gap:10px}.monitor-page__page-empty .ds-empty,.monitor-page__panel-empty .ds-empty{max-width:28rem}@media(max-width:700px){.monitor-page__bar{grid-template-columns:100px 1fr 36px}}.ds-showcase{max-width:1200px;margin:0 auto;padding:24px 16px 48px;display:grid;gap:32px}.ds-showcase__header{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;justify-content:space-between}.ds-showcase__title{margin:0;font-size:28px;font-weight:800;letter-spacing:-.03em}.ds-showcase__subtitle{margin:8px 0 0;color:var(--fg2)}.ds-showcase__header-actions{display:flex;flex-wrap:wrap;gap:8px}.ds-showcase__section{display:grid;gap:16px}.ds-showcase__section h2{margin:0;font-size:18px}.ds-showcase__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.ds-showcase__stack{display:grid;gap:12px}.ds-showcase__stack--wide{margin-top:8px}.ds-showcase__row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}@media(max-width:640px){.ds-showcase{padding-inline:12px}.ds-showcase__title{font-size:22px}}#root{min-height:100vh}:root{--color-black: #000000;--color-gray-950: #1c1c1e;--color-gray-900: #2c2c2e;--color-gray-800: #3a3a3c;--color-gray-700: #48484a;--color-gray-600: #6e6e73;--color-gray-500: #86868b;--color-gray-400: #aeaeb2;--color-gray-300: #d1d1d6;--color-gray-200: #e8e8ed;--color-gray-100: #f5f5f7;--color-ink: #1d1d1f;--color-white: #ffffff;--color-blue-500: #0071e3;--color-blue-400: #0077ed;--color-blue-600: #006edb;--color-blue-info: #1558d6;--color-blue-300: #2997ff;--color-blue-200: #3da3ff;--color-blue-700: #2282d9;--color-green-dark: #30d158;--color-green-light: #188038;--color-orange-dark: #ff9f0a;--color-amber-light: #b45309;--color-red-dark: #ff453a;--color-red-dark-hover: #ff6961;--color-red-light: #ff3b30;--color-red-light-hover: #ff6b63;--color-red-text-light: #c5221f;--color-purple-dark: #bf5af2;--color-purple-light: #5856d6;--tint-success-dark: #0d3320;--tint-success-dark-border: #1a5c38;--tint-warning-dark: #2d2000;--tint-warning-dark-border: #4a3500;--tint-info-dark: #0e2a44;--tint-info-dark-border: #1c4370;--tint-error-dark: #3b0d0a;--tint-error-dark-border: #6b1a17;--tint-success-light: #e3f9e5;--tint-success-light-border: #a8d5ab;--tint-warning-light: #fff8e1;--tint-warning-light-border: #ffe082;--tint-info-light: #e8f0fe;--tint-info-light-border: #c6d7f8;--tint-error-light: #fce8e6;--tint-error-light-border: #f5c6c4;--alpha-white-04: rgba(255, 255, 255, .04);--alpha-white-06: rgba(255, 255, 255, .06);--alpha-white-08: rgba(255, 255, 255, .08);--alpha-white-10: rgba(255, 255, 255, .1);--alpha-white-12: rgba(255, 255, 255, .12);--alpha-black-04: rgba(0, 0, 0, .04);--alpha-black-06: rgba(0, 0, 0, .06);--alpha-black-08: rgba(0, 0, 0, .08);--alpha-black-10: rgba(0, 0, 0, .1);--alpha-black-12: rgba(0, 0, 0, .12);--radius: 10px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 14px;--radius-2xl: 16px;--radius-full: 9999px;--font-sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 28px;--text-3xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--leading-none: 1;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-wide: .05em;--tracking-caps: .04em;--tracking-widest: .1em;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--duration-instant: .1s;--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .45s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--ease-decelerate: cubic-bezier(0, 0, .2, 1);--ease-accelerate: cubic-bezier(.4, 0, 1, 1);--z-base: 0;--z-raised: 10;--z-sticky: 1100;--z-dropdown: 1200;--z-overlay: 1300;--z-modal: 1400;--z-popover: 1500;--z-toast: 1600;--z-tooltip: 1800}:root,[data-theme=light]{color-scheme:light;--background: #f5f5f7;--foreground: #1c1c1e;--card: #ffffff;--card-foreground: #1c1c1e;--popover: #ffffff;--popover-foreground: #1c1c1e;--elevated: #ffffff;--muted: #e8eaee;--muted-foreground: #6e6e73;--sidebar: #f5f5f7;--sidebar-foreground: #1c1c1e;--sidebar-accent: #ffffff;--sidebar-border: rgba(0, 0, 0, .08);--primary: #2f6fed;--primary-foreground: #ffffff;--primary-hover: #245bd1;--primary-active: #1e4db3;--primary-surface: #eaf1fe;--primary-border: #b7cdf8;--ring: rgba(47, 111, 237, .4);--accent-secondary: var(--primary);--accent-secondary-foreground: var(--primary-foreground);--accent-secondary-hover: var(--primary-hover);--accent-secondary-active: var(--primary-active);--accent-secondary-surface: var(--primary-surface);--accent-secondary-border: var(--primary-border);--ring-secondary: var(--ring);--secondary: #e8eaee;--secondary-foreground: #1c1c1e;--secondary-hover: #dcdce2;--secondary-active: #cfd1d7;--destructive: var(--color-red-light);--destructive-foreground: var(--color-white);--destructive-hover: var(--color-red-light-hover);--destructive-active: #d70015;--destructive-surface: var(--tint-error-light);--destructive-border: var(--tint-error-light-border);--destructive-on-surface: var(--color-red-text-light);--success: #188038;--success-foreground: #188038;--success-hover: #146c2e;--success-surface: #e3f9e5;--success-border: #b7e4bc;--warning: #b45309;--warning-foreground: #b45309;--warning-hover: #933f07;--warning-surface: #fff8e1;--warning-border: #f0d48a;--info: #1558d6;--info-foreground: #1558d6;--info-hover: #1248b0;--info-surface: #e8f0fe;--info-border: #b8cff9;--border: rgba(0, 0, 0, .12);--border-subtle: rgba(0, 0, 0, .08);--input: rgba(0, 0, 0, .15);--input-background: #ffffff;--placeholder: #8e8e93;--disabled-foreground: #aeaeb2;--disabled-background: #f0f0f2;--scrim: rgba(28, 28, 30, .36);--selected: var(--primary-surface);--selected-border: var(--primary-border);--shadow-xs: 0 1px 1px rgba(28, 28, 30, .04);--shadow-sm: 0 1px 2px rgba(28, 28, 30, .06);--shadow-md: 0 4px 16px rgba(28, 28, 30, .08);--shadow-lg: 0 12px 32px rgba(28, 28, 30, .12);--shadow-xl: 0 24px 56px rgba(28, 28, 30, .16);--bg: var(--background);--bg-elevated: var(--card);--bg-muted: var(--muted);--fg: var(--foreground);--fg-secondary: var(--muted-foreground);--fg2: var(--muted-foreground);--accent: var(--primary);--accent-hover: var(--primary-hover);--accent-fg: var(--primary-foreground);--accent-foreground: var(--primary);--accent-soft: var(--primary-surface);--accent-soft-border: var(--primary-border);--success-soft: var(--success-surface);--warning-soft: var(--warning-surface);--danger: var(--destructive-on-surface);--danger-soft: var(--destructive-surface);--info-soft: var(--info-surface);--ok: var(--success);--shadow: var(--shadow-md);--focus: var(--ring);--dot-snake: var(--primary);--switch-background: #c5c7cc;--avatar-ring: var(--card);--chart-1: var(--primary);--chart-2: var(--success);--chart-3: var(--warning);--chart-4: var(--destructive);--chart-5: var(--accent-secondary);--sidebar-primary: var(--primary);--sidebar-primary-foreground: var(--primary-foreground);--sidebar-accent-foreground: var(--foreground);--sidebar-ring: var(--ring)}.dark,:root[data-theme=dark],[data-theme=dark]{color-scheme:dark;--background: #242428;--foreground: #e4e4e8;--card: #2e2e33;--card-foreground: #e4e4e8;--popover: #36363c;--popover-foreground: #e4e4e8;--elevated: #2e2e33;--muted: #3a3a40;--muted-foreground: #9c9ca6;--sidebar: #242428;--sidebar-foreground: #e4e4e8;--sidebar-accent: #2e2e33;--sidebar-border: rgba(255, 255, 255, .08);--primary: var(--color-blue-300);--primary-foreground: var(--color-white);--primary-hover: var(--color-blue-200);--primary-active: var(--color-blue-700);--primary-surface: rgba(41, 151, 255, .14);--primary-border: rgba(41, 151, 255, .28);--ring: rgba(41, 151, 255, .45);--accent-secondary: var(--primary);--accent-secondary-foreground: var(--primary-foreground);--accent-secondary-hover: var(--primary-hover);--accent-secondary-active: var(--primary-active);--accent-secondary-surface: var(--primary-surface);--accent-secondary-border: var(--primary-border);--ring-secondary: var(--ring);--secondary: #3a3a40;--secondary-foreground: #e4e4e8;--secondary-hover: #45454c;--secondary-active: #505058;--destructive: var(--color-red-dark);--destructive-foreground: var(--color-white);--destructive-hover: var(--color-red-dark-hover);--destructive-active: #ff6961;--destructive-surface: var(--tint-error-dark);--destructive-border: var(--tint-error-dark-border);--destructive-on-surface: var(--color-red-dark);--success: #5bbf78;--success-foreground: #5bbf78;--success-hover: #6ecc89;--success-surface: #1a2f22;--success-border: rgba(91, 191, 120, .35);--warning: #d4a017;--warning-foreground: #d4a017;--warning-hover: #e0b12e;--warning-surface: #2f2712;--warning-border: rgba(212, 160, 23, .35);--info: #5a9fd4;--info-foreground: #5a9fd4;--info-hover: #6aaddf;--info-surface: #1a2836;--info-border: rgba(90, 159, 212, .35);--border: rgba(255, 255, 255, .1);--border-subtle: rgba(255, 255, 255, .07);--input: rgba(255, 255, 255, .14);--input-background: #2e2e33;--placeholder: #7a7a84;--disabled-foreground: #6e6e76;--disabled-background: #333338;--scrim: rgba(0, 0, 0, .5);--selected: var(--primary-surface);--selected-border: var(--primary-border);--shadow-xs: 0 1px 1px rgba(0, 0, 0, .25);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 20px rgba(0, 0, 0, .28);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .36);--shadow-xl: 0 24px 56px rgba(0, 0, 0, .45);--bg: var(--background);--bg-elevated: var(--card);--bg-muted: var(--muted);--fg: var(--foreground);--fg-secondary: var(--muted-foreground);--fg2: var(--muted-foreground);--accent: var(--primary);--accent-hover: var(--primary-hover);--accent-fg: var(--primary-foreground);--accent-foreground: var(--primary);--accent-soft: var(--primary-surface);--accent-soft-border: var(--primary-border);--success-soft: var(--success-surface);--warning-soft: var(--warning-surface);--danger: var(--destructive-on-surface);--danger-soft: var(--destructive-surface);--info-soft: var(--info-surface);--ok: var(--success);--shadow: var(--shadow-md);--focus: var(--ring);--dot-snake: var(--foreground);--switch-background: var(--muted);--avatar-ring: var(--color-gray-700);--chart-1: var(--primary);--chart-2: var(--success);--chart-3: var(--warning);--chart-4: var(--destructive);--chart-5: var(--accent-secondary);--sidebar-primary: var(--primary);--sidebar-primary-foreground: var(--primary-foreground);--sidebar-accent-foreground: var(--foreground);--sidebar-ring: var(--ring)}.ds-btn{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:6px;white-space:nowrap;border:1px solid transparent;border-radius:var(--radius-sm);font-family:inherit;font-weight:var(--font-weight-bold);font-size:var(--text-sm);-webkit-user-select:none;user-select:none;cursor:pointer;transition:color,background-color,border-color,box-shadow;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-standard)}.ds-btn:focus-visible{box-shadow:0 0 0 2px var(--ring)}.ds-btn:disabled{pointer-events:none;opacity:.45}.ds-btn svg{pointer-events:none;flex-shrink:0;width:16px;height:16px}.ds-btn--sm{height:32px;padding:0 10px;font-size:var(--text-xs);font-weight:var(--font-weight-semibold)}.ds-btn--md{height:36px;padding:0 12px}.ds-btn--lg{height:40px;padding:0 20px;font-size:var(--text-md)}.ds-btn--icon{height:32px;width:32px;padding:0}.ds-btn--primary{background:var(--primary);color:var(--primary-foreground)}.ds-btn--primary:hover{background:var(--primary-hover)}.ds-btn--primary:active{background:var(--primary-active)}.ds-btn--destructive{background:var(--destructive);color:var(--destructive-foreground)}.ds-btn--destructive:hover{background:var(--destructive-hover)}.ds-btn--warning{border-color:var(--warning-border);background:var(--warning-surface);color:var(--warning)}.ds-btn--warning:hover{filter:brightness(.96)}.ds-btn--secondary{border-color:var(--border);background:var(--secondary);color:var(--secondary-foreground)}.ds-btn--secondary:hover{background:var(--secondary-hover)}.ds-btn--outline{border-color:var(--border);background:var(--card);color:var(--foreground)}.ds-btn--outline:hover{background:var(--muted)}.ds-btn--ghost{background:transparent;color:var(--muted-foreground)}.ds-btn--ghost:hover{background:var(--secondary);color:var(--foreground)}.ds-btn--link{background:transparent;color:var(--primary);text-underline-offset:4px}.ds-btn--link:hover{text-decoration:underline}.ds-link{display:inline;padding:0;border:0;background:none;font:inherit;color:var(--primary);text-align:left;text-decoration:none;text-underline-offset:3px;cursor:pointer}.ds-link:hover{text-decoration:underline}.ds-link:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ring);border-radius:var(--radius-sm)}.ds-badge{display:inline-flex;width:fit-content;flex-shrink:0;align-items:center;justify-content:center;gap:4px;overflow:hidden;border:1px solid transparent;border-radius:var(--radius-full);padding:2px 8px;font-size:var(--text-2xs);font-weight:var(--font-weight-bold);white-space:nowrap;line-height:var(--leading-normal)}.ds-badge svg{width:12px;height:12px}.ds-badge--default{background:var(--primary);color:var(--primary-foreground)}.ds-badge--secondary{background:var(--muted);color:var(--fg2)}.ds-badge--destructive{background:var(--destructive);color:var(--destructive-foreground)}.ds-badge--outline{border-color:var(--border);color:var(--foreground)}.ds-badge--success{border-color:var(--success-border);background:var(--success-surface);color:var(--success)}.ds-badge--warning{border-color:var(--warning-border);background:var(--warning-surface);color:var(--warning)}.ds-badge--info{border-color:var(--accent-secondary-border);background:var(--accent-secondary-surface);color:var(--accent-secondary)}.ds-filter-chip-group{display:flex;flex-wrap:wrap;gap:8px}.ds-filter-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);font-family:inherit;cursor:pointer;white-space:nowrap}.ds-filter-chip--md{height:32px;padding:0 12px;font-weight:650;color:var(--fg2)}.ds-filter-chip--active{background:var(--primary-surface);border-color:var(--primary)}.ds-filter-chip--md.ds-filter-chip--active{color:var(--foreground)}.ds-filter-chip--tone-muted.ds-filter-chip--active{background:var(--muted);border-color:color-mix(in srgb,var(--foreground) 20%,var(--border))}.ds-filter-chip:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ds-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-2xs);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg2)}.ds-input,.ds-textarea{width:100%;min-width:0;border:1px solid var(--input);background:var(--input-background);color:var(--foreground);border-radius:var(--radius-sm);padding:4px 12px;font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--leading-normal);transition:color,box-shadow,border-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-standard);outline:none}.ds-input{height:36px}.ds-textarea{min-height:72px;padding:8px 12px;resize:vertical}.ds-otp{display:inline-flex;align-items:center;gap:8px}.ds-otp__cell{width:44px;height:52px;padding:0;text-align:center;border:1px solid var(--input);background:var(--input-background);color:var(--foreground);border-radius:var(--radius-md);font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-xl);font-weight:var(--font-weight-medium);transition:border-color,box-shadow;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-standard)}.ds-otp__cell:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px var(--primary-surface)}.ds-otp__cell.is-invalid{border-color:var(--destructive)}.ds-otp__sep{color:var(--muted-foreground);font-size:var(--text-lg);-webkit-user-select:none;user-select:none}.ds-input::placeholder,.ds-textarea::placeholder{color:var(--placeholder)}.ds-input:focus-visible,.ds-textarea:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring)}.ds-input:disabled,.ds-textarea:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.ds-input,.ds-textarea{font-size:16px}}.ds-check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--text-md)}.ds-check input{position:absolute;opacity:0;width:0;height:0}.ds-check__box{width:16px;height:16px;flex-shrink:0;border:1px solid var(--input);border-radius:var(--radius-xs);background:var(--input-background);display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.ds-check__box:after{content:"";width:9px;height:9px;background:var(--primary-foreground);clip-path:polygon(14% 44%,0 65%,40% 100%,100% 16%,82% 0,37% 68%);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}.ds-check input:checked+.ds-check__box{background:var(--primary);border-color:var(--primary)}.ds-check input:checked+.ds-check__box:after{opacity:1}.ds-check input:focus-visible+.ds-check__box{box-shadow:0 0 0 3px var(--ring)}.ds-switch{display:inline-flex;align-items:center;cursor:pointer}.ds-switch input{position:absolute;opacity:0;width:0;height:0}.ds-switch__track{position:relative;width:36px;height:20px;flex-shrink:0;border-radius:var(--radius-full);background:var(--switch-background);transition:background-color var(--duration-fast) var(--ease-standard)}.ds-switch__track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--color-white);box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-standard)}.ds-switch input:checked+.ds-switch__track{background:var(--primary)}.ds-switch input:checked+.ds-switch__track:after{transform:translate(16px)}.ds-switch input:focus-visible+.ds-switch__track{box-shadow:0 0 0 3px var(--ring)}.ds-alert{position:relative;width:100%;border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 16px;font-size:var(--text-sm);display:grid;grid-template-columns:16px 1fr;column-gap:12px;row-gap:2px;align-items:start;background:var(--card);color:var(--card-foreground)}.ds-alert--no-icon{grid-template-columns:1fr}.ds-alert svg{width:16px;height:16px;transform:translateY(2px);color:currentColor}.ds-alert__title{grid-column-start:2;font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-tight)}.ds-alert--no-icon .ds-alert__title{grid-column-start:1}.ds-alert__desc{grid-column-start:2;font-size:var(--text-sm);opacity:.85}.ds-alert--no-icon .ds-alert__desc{grid-column-start:1}.ds-alert--info{background:var(--info-surface);border-color:var(--info-border);color:var(--info)}.ds-alert--success{background:var(--success-surface);border-color:var(--success-border);color:var(--success)}.ds-alert--warning{background:var(--warning-surface);border-color:var(--warning-border);color:var(--warning)}.ds-alert--destructive{background:var(--destructive-surface);border-color:var(--destructive-border);color:var(--destructive-on-surface)}.dark .ds-alert--destructive,:root[data-theme=dark] .ds-alert--destructive,[data-theme=dark] .ds-alert--destructive{border-color:color-mix(in srgb,var(--destructive) 20%,var(--border));background:color-mix(in srgb,var(--destructive) 8%,var(--card));color:color-mix(in srgb,var(--destructive) 55%,var(--card-foreground))}.ds-card{display:flex;flex-direction:column;gap:var(--space-3);background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-md)}.ds-card__header{display:flex;flex-direction:column;gap:6px;padding:14px 14px 0}.ds-card__title{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);line-height:var(--leading-none)}.ds-card__desc{color:var(--muted-foreground);font-size:var(--text-md)}.ds-card__content{padding:0 14px}.ds-card__content:last-child{padding-bottom:14px}.ds-card__footer{display:flex;align-items:center;gap:8px;padding:0 14px 14px}.ds-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.ds-metric-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px}.ds-metric-card__label{font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);color:var(--fg2);text-transform:uppercase;letter-spacing:var(--tracking-caps);line-height:var(--leading-tight)}.ds-metric-card__value{margin-top:4px;font-size:26px;font-weight:var(--font-weight-extrabold);letter-spacing:-.03em;line-height:var(--leading-tight);color:var(--foreground)}.ds-metric-card__hint{margin-top:2px;font-size:var(--text-xs);font-weight:var(--font-weight-normal);color:var(--fg2);text-transform:none;line-height:var(--leading-snug)}.ds-metric-card__badge{margin-top:8px}@media(min-width:900px){.ds-metric-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.ds-metric-grid--6{grid-template-columns:repeat(6,minmax(0,1fr))}}.ds-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px}.ds-panel--flush{padding:0;overflow:hidden}.ds-panel--flush .ds-table-wrap{border:none;border-radius:0}.ds-panel--flush .ds-table thead th,.ds-panel--flush .ds-table tbody td{padding:11px 12px}.ds-panel__pager{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:10px 12px;font-size:var(--text-xs);color:var(--muted-foreground);border-top:1px solid var(--border)}.ds-panel__pager-actions{display:flex;gap:8px;align-items:center}.ds-panel__pager-btn{background:transparent}.ds-panel__pager-btn:hover:not(:disabled){background:var(--muted)}.ds-catalog-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;position:relative;z-index:5}.ds-catalog-toolbar__left,.ds-catalog-toolbar__right{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}.ds-catalog-toolbar__left{flex:1}.ds-catalog-toolbar__left .ds-search{width:min(260px,100%)}.ds-menu-anchor{position:relative;display:inline-block}.ds-menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-dropdown);min-width:240px;max-height:min(360px,70vh);overflow:auto;padding:8px;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.ds-menu-panel--left{right:auto;left:0}.ds-menu-panel__title{font-size:11px;font-weight:700;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em;padding:6px 8px 8px}.ds-menu-panel__item{display:flex;align-items:center;gap:8px;width:100%;padding:8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--foreground);font:500 var(--text-sm) var(--font-sans);cursor:pointer;text-align:left}.ds-menu-panel__item:hover{background:var(--muted)}.ds-menu-check{width:16px;height:16px;border:1px solid var(--border);border-radius:4px;display:grid;place-items:center;flex:0 0 auto;background:var(--background);font-size:10px;line-height:1}.ds-menu-check.is-on{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.ds-tool-btn.is-active{background:var(--accent-soft);border-color:var(--primary)}.ds-tool-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:var(--radius-full);background:var(--primary);color:var(--primary-foreground);font-size:11px;font-weight:800;line-height:1}.ds-panel__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.ds-panel--flush .ds-panel__head{padding:12px 14px 0}.ds-panel__title{margin:0;font-size:var(--text-md);font-weight:750;letter-spacing:-.01em;line-height:var(--leading-tight)}.ds-panel__note{margin:0;font-size:var(--text-xs);color:var(--fg2)}.ds-panel__body{min-width:0}.ds-panel__list{display:flex;flex-direction:column;gap:8px}.ds-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background)}.ds-list-item--bad{border-color:color-mix(in srgb,var(--destructive) 35%,var(--border));background:var(--destructive-surface)}.ds-list-item--warn{border-color:color-mix(in srgb,var(--warning) 35%,var(--border));background:var(--warning-surface)}.dark .ds-list-item--bad,:root[data-theme=dark] .ds-list-item--bad,[data-theme=dark] .ds-list-item--bad{border-color:color-mix(in srgb,var(--destructive) 18%,var(--border));background:color-mix(in srgb,var(--destructive) 7%,var(--card))}.dark .ds-list-item--warn,:root[data-theme=dark] .ds-list-item--warn,[data-theme=dark] .ds-list-item--warn{border-color:color-mix(in srgb,var(--warning) 18%,var(--border));background:color-mix(in srgb,var(--warning) 7%,var(--card))}.ds-list-item__main{min-width:0}.ds-list-item__title{font-size:var(--text-md);font-weight:650;line-height:var(--leading-snug)}.ds-list-item__subtitle{margin-top:2px;font-size:var(--text-xs);color:var(--fg2);line-height:var(--leading-snug)}.ds-list-item__aside{flex-shrink:0}.ds-state-box{display:grid;gap:8px;justify-items:center;padding:28px 16px;text-align:center;color:var(--fg2)}.ds-state-box__title{display:block;color:var(--foreground);font-size:15px;font-weight:var(--font-weight-bold);line-height:var(--leading-snug)}.ds-state-box__hint{margin:0;font-size:var(--text-sm);line-height:var(--leading-snug)}.ds-state-box__skeleton{width:min(420px,100%);height:12px}.ds-state-box__actions{margin-top:8px}.ds-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.ds-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ds-table thead th{padding:10px 16px;text-align:left;vertical-align:top;color:var(--fg2);font-size:var(--text-2xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);white-space:nowrap;border-bottom:1px solid var(--border);background:transparent}.ds-table tbody td{padding:10px 16px;text-align:left;vertical-align:top;border-top:1px solid var(--border)}.ds-table tbody tr:first-child td{border-top:none}.ds-table tbody tr:hover td{background:var(--muted)}.ds-table tbody tr.ds-table__row--selected td{background:var(--accent-secondary-surface)}.ds-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-full);background:var(--secondary);color:var(--secondary-foreground);border:1px solid var(--border);font-size:var(--text-sm);font-weight:var(--font-weight-medium);overflow:hidden}.dark .ds-avatar,:root[data-theme=dark] .ds-avatar{border-color:var(--border-subtle);border-width:.5px}.ds-avatar img{width:100%;height:100%;object-fit:cover}.ds-avatar--accent{background:var(--primary-surface);color:var(--primary)}.ds-separator{border:none;background:var(--border)}.ds-separator--h{width:100%;height:1px;margin:0}.ds-separator--v{width:1px;align-self:stretch}.ds-skeleton{background:var(--muted);border-radius:var(--radius-md);animation:ds-pulse 1.5s var(--ease-standard) infinite}@keyframes ds-pulse{50%{opacity:.5}}.ds-stack{display:flex;flex-direction:column;gap:12px}.ds-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.ds-field{display:flex;flex-direction:column;gap:6px}.ds-muted{color:var(--muted-foreground)}.ds-swatch{display:flex;flex-direction:column;gap:6px}.ds-swatch__chip{height:56px;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.ds-swatch__name{font-size:var(--text-xs);font-weight:var(--font-weight-medium)}.ds-swatch__var{font-size:var(--text-xs);color:var(--muted-foreground);font-family:var(--font-mono)}.ds-grid{display:grid;gap:12px}.ds-grid--swatches{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.ds-grid--cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.ds-grid--cards-lg{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.ds-grid--metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.ds-grid--metrics>*{min-width:0}.ds-chart{min-width:0;max-width:100%;overflow:hidden}.ds-chart>svg{display:block;max-width:100%}@media(max-width:768px){.ds-grid--cards,.ds-grid--cards-lg{grid-template-columns:1fr}}.ds-split{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;container-type:inline-size;width:100%;min-width:0}.ds-split__main{flex:1 1 440px;min-width:0;max-width:100%}.ds-split__side{flex:1 1 260px;max-width:300px;min-width:0}@container (width < 724px){.ds-split__side{flex-basis:100%;max-width:none}}@media(max-width:768px){.ds-split__side{flex-basis:100%;max-width:none}}.ds-th{display:inline-flex;align-items:center;gap:6px;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}.ds-th--sortable{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;margin:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;text-decoration:none}.ds-th--sortable:hover{color:var(--foreground)}.ds-th__caret{display:inline-flex;flex-shrink:0;width:14px;height:14px;color:var(--fg2)}.ds-th__caret svg{width:14px;height:14px}.ds-th--sortable[aria-sort=ascending] .ds-th__caret,.ds-th--sortable[aria-sort=descending] .ds-th__caret{color:var(--primary)}.ds-table__check{width:1px;white-space:nowrap;padding-right:0}.ds-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--foreground)}.ds-status svg{width:14px;height:14px;flex-shrink:0}.ds-status__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--muted-foreground)}.ds-status__body{display:flex;flex-direction:column;line-height:var(--leading-snug)}.ds-status__secondary{color:var(--muted-foreground);font-size:var(--text-xs)}.ds-status--success{color:var(--success)}.ds-status--error{color:var(--destructive-on-surface)}.ds-status--info{color:var(--info)}.ds-status--pending .ds-status__dot{background:var(--warning)}.ds-status--success .ds-status__dot{background:var(--success)}.ds-status--error .ds-status__dot{background:var(--destructive)}.ds-status--pending .ds-status__text,.ds-status--neutral .ds-status__text{color:var(--foreground)}.ds-avatar-group{display:inline-flex}.ds-avatar-group .ds-avatar{box-shadow:0 0 0 2px var(--avatar-ring);margin-left:-8px}.ds-avatar-group .ds-avatar:first-child{margin-left:0}.ds-avatar--sm{width:24px;height:24px;font-size:var(--text-xs)}.ds-collapsible{border-bottom:1px solid var(--border-subtle)}.ds-collapsible__summary{display:flex;align-items:center;gap:8px;padding:12px 2px;cursor:pointer;list-style:none;font-size:var(--text-lg);font-weight:var(--font-weight-semibold)}.ds-collapsible__summary::-webkit-details-marker{display:none}.ds-collapsible__chevron{width:16px;height:16px;color:var(--muted-foreground);transition:transform var(--duration-fast) var(--ease-standard)}.ds-collapsible[open] .ds-collapsible__chevron{transform:rotate(90deg)}.ds-collapsible__body{padding:0 2px 16px}.ds-progress{width:100%;height:6px;border-radius:var(--radius-full);background:var(--muted);overflow:hidden}.ds-progress__bar{height:100%;background:var(--primary);border-radius:var(--radius-full);transition:width var(--duration-base) var(--ease-standard)}.ds-pagination{display:inline-flex;align-items:center;gap:4px}.ds-pagination a,.ds-pagination span{min-width:28px;height:28px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--foreground);text-decoration:none}.ds-pagination a:hover{background:var(--secondary)}.ds-pagination .is-active{background:var(--primary);color:var(--primary-foreground)}.ds-pagination .is-disabled{color:var(--muted-foreground);pointer-events:none}.ds-pagination .is-gap{color:var(--muted-foreground)}.ds-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:48px 24px}.ds-empty__icon{width:40px;height:40px;color:var(--muted-foreground)}.ds-empty__icon svg{width:100%;height:100%}.ds-empty__title{font-size:var(--text-lg);font-weight:var(--font-weight-semibold)}.ds-empty__desc{color:var(--muted-foreground);max-width:360px}.ds-empty__actions{margin-top:8px;display:flex;gap:8px}.ds-tree,.ds-tree__children{list-style:none;margin:0;padding:0}.ds-tree{font-size:var(--text-sm);min-width:0}.ds-tree__children{margin-left:14px;padding-left:10px;border-left:1px solid var(--border-subtle)}.ds-tree__branch>summary{list-style:none}.ds-tree__branch>summary::-webkit-details-marker{display:none}.ds-tree__row{display:flex;align-items:center;gap:8px;min-height:32px;padding:6px 8px;border-radius:var(--radius-md);color:var(--foreground);text-decoration:none;cursor:pointer}.ds-tree__row:hover{background:var(--secondary)}.ds-tree__row:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ring)}.ds-tree__row.is-selected{background:var(--secondary);font-weight:var(--font-weight-medium)}.ds-tree__row.is-selected .ds-tree__icon{color:var(--primary)}.ds-tree__row--leaf{cursor:default}a.ds-tree__row--leaf{cursor:pointer}.ds-tree__twisty{width:16px;height:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--muted-foreground)}button.ds-tree__twisty{padding:0;border:0;background:none;cursor:pointer}button.ds-tree__twisty:hover{color:var(--foreground)}.ds-tree__twisty svg{width:12px;height:12px;transition:transform var(--duration-fast) var(--ease-standard)}.ds-tree__branch[open]>summary .ds-tree__twisty svg{transform:rotate(90deg)}.ds-tree__icon{width:16px;height:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--muted-foreground)}.ds-tree__icon svg{width:16px;height:16px}.ds-tree__label{display:flex;flex-direction:column;min-width:0;line-height:var(--leading-snug)}.ds-tree__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-tree__meta{color:var(--muted-foreground);font-size:var(--text-xs)}.ds-tree__spacer{flex:1 1 auto;min-width:8px}.ds-tree__type{flex:0 0 auto;width:76px;text-align:right;color:var(--muted-foreground);font-size:var(--text-xs);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-wide);text-transform:uppercase}.ds-tree__status{flex:0 0 auto;width:132px}.ds-tree--dense .ds-tree__row{min-height:26px;padding:3px 8px}.ds-tree--dense .ds-tree__status{width:auto}@media(max-width:640px){.ds-tree__type{display:none}.ds-tree__status{width:auto}}.ds-form{display:flex;flex-direction:column;gap:var(--space-4)}.ds-form-section{display:flex;flex-direction:column;gap:var(--space-3)}.ds-form-section+.ds-form-section{padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.ds-form-section__title{font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em}.ds-form-field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.ds-form-field__label{display:flex;align-items:center;gap:6px;font-size:var(--text-2xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--fg2)}.ds-form-field__required{color:var(--destructive-on-surface)}.ds-form-field__footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.ds-form-field__counter{margin-left:auto;font-size:var(--text-xs);color:var(--muted-foreground)}.ds-form-field__error{font-size:var(--text-xs);color:var(--destructive-on-surface)}.ds-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.ds-help{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;border:1px solid var(--muted-foreground);color:var(--muted-foreground);font-size:10px;font-weight:var(--font-weight-semibold);cursor:help;line-height:1}.ds-input.is-invalid,.ds-textarea.is-invalid,.ds-select.is-invalid{border-color:var(--destructive)}.ds-input.is-invalid:focus-visible,.ds-textarea.is-invalid:focus-visible,.ds-select.is-invalid:focus-visible{border-color:var(--destructive);box-shadow:0 0 0 3px var(--destructive-surface)}.ds-modal-global-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#0006;pointer-events:none}.ds-dialog-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;justify-content:flex-end;background:transparent;opacity:0;transition:opacity .25s ease}.ds-dialog-scrim--open{opacity:1}.ds-dialog-scrim--stacked{background:transparent}.ds-dialog-scrim__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:transparent;cursor:pointer}.ds-dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:45vw;min-width:320px;max-width:100%;height:100vh;height:100dvh;padding:0;border:none;border-radius:0;background:var(--card);color:var(--card-foreground);box-shadow:var(--shadow-lg);--ds-dialog-inset: 24px;padding-top:var(--safe-area-top, 0px);padding-right:var(--safe-area-right, 0px);padding-bottom:var(--safe-area-bottom, 0px);padding-left:var(--safe-area-left, 0px);transform:translate(100%);transition:transform .25s ease;box-sizing:border-box}.ds-dialog-scrim--open .ds-dialog:not(.ds-dialog--modal){transform:translate(0)}.ds-dialog-scrim--modal{justify-content:center;align-items:center;padding:20px}.ds-dialog--modal{width:min(560px,100%);min-width:0;max-width:min(560px,100%);height:auto;max-height:min(84vh,760px);border:1px solid var(--border);border-radius:14px;transform:translateY(8px);opacity:0;transition:transform .25s ease,opacity .25s ease;--ds-dialog-inset: 18px}.ds-dialog-scrim--open .ds-dialog--modal{transform:translateY(0);opacity:1}.ds-dialog--modal.ds-dialog--wide{width:min(640px,100%);max-width:min(640px,100%)}.ds-dialog--modal .ds-dialog__header{align-items:flex-start;padding:16px var(--ds-dialog-inset)}.ds-dialog--modal .ds-dialog__title{font-size:16px;font-weight:var(--font-weight-bold);letter-spacing:-.02em}.ds-dialog--modal .ds-dialog__close{width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--foreground);font-size:18px}.ds-dialog--modal .ds-dialog__close:hover{background:var(--muted)}.ds-dialog--modal .ds-dialog__content{display:flex;flex-direction:column;gap:14px;padding:16px var(--ds-dialog-inset)}.ds-dialog--modal .ds-dialog__footer{padding:14px var(--ds-dialog-inset);flex-wrap:wrap}.ds-dialog__header{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:var(--ds-dialog-inset);border-bottom:1px solid var(--border)}.ds-dialog__title{flex:1;min-width:0;font-size:var(--text-lg);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug)}.ds-dialog__header-trailing{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;flex-shrink:0}.ds-dialog__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;cursor:pointer;width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--muted-foreground);font-size:20px;line-height:1}.ds-dialog__close:hover{background:var(--secondary);color:var(--foreground)}.ds-dialog__body{flex:1;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.ds-dialog__content{box-sizing:border-box;min-width:0;max-width:100%;padding:var(--ds-dialog-inset)}.ds-dialog__footer{display:flex;justify-content:flex-end;gap:8px;flex-shrink:0;padding:12px var(--ds-dialog-inset) var(--ds-dialog-inset);border-top:1px solid var(--border)}@media(max-width:768px){.ds-dialog-scrim{justify-content:stretch;align-items:stretch;transition:none}.ds-dialog-scrim--open{opacity:1}.ds-dialog-scrim--modal{padding:0}.ds-dialog-scrim__backdrop{pointer-events:none}.ds-dialog{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;min-width:0;max-width:none;height:100%;height:100dvh;padding-top:0;box-shadow:none;transform:none;transition:none}.ds-dialog-scrim--open .ds-dialog:not(.ds-dialog--modal){transform:none}.ds-dialog--modal{border-radius:0;border:none;max-height:none;opacity:1;transform:none;transition:none}.ds-dialog__header{padding-top:calc(var(--ds-dialog-inset) + var(--safe-area-top, 0px))}}.ds-menu{position:relative;display:inline-block}.ds-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ds-menu>summary::-webkit-details-marker{display:none}.ds-menu__list{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;padding:4px;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:var(--z-dropdown);text-transform:none;letter-spacing:normal;font-weight:var(--font-weight-normal);font-size:var(--text-md)}.ds-menu__list--left{right:auto;left:0}.ds-menu__list--up{top:auto;bottom:calc(100% + 4px)}.ds-menu__item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-md);text-align:left;color:var(--foreground);text-decoration:none;background:none;border:none;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard)}.ds-menu__item svg{width:15px;height:15px}.ds-menu__item:hover{background:var(--secondary-hover)}.ds-menu__item--destructive{color:var(--destructive-on-surface)}.ds-menu__sep{height:1px;background:var(--border-subtle);margin:4px 0}.ds-menu__group-label{padding:6px 10px 2px;font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--muted-foreground)}.ds-tooltip{position:relative;display:inline-flex}.ds-tooltip__tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:4px 8px;border-radius:var(--radius-sm);background:var(--foreground);color:var(--background);font-size:var(--text-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard);z-index:var(--z-tooltip)}.ds-tooltip:hover .ds-tooltip__tip,.ds-tooltip:focus-within .ds-tooltip__tip{opacity:1}.ds-tooltip--bottom .ds-tooltip__tip{bottom:auto;top:calc(100% + 8px)}.ds-tooltip--rich .ds-tooltip__tip{white-space:normal;width:max-content;max-width:280px;padding:10px 12px;text-align:left;border-radius:var(--radius-md);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);box-shadow:var(--shadow-md)}.ds-tooltip--rich.ds-tooltip--bottom .ds-tooltip__tip:before{content:"";position:absolute;top:-5px;left:14px;width:8px;height:8px;background:var(--popover);border-left:1px solid var(--border);border-top:1px solid var(--border);transform:rotate(45deg)}.ds-tooltip__title{display:block;font-size:var(--text-sm);font-weight:700;line-height:1.3;color:var(--foreground)}.ds-tooltip__desc{display:block;margin-top:4px;font-size:var(--text-xs);line-height:1.45;color:var(--muted-foreground)}.ds-badge-tooltip{display:inline-flex;vertical-align:middle;max-width:100%}.ds-badge-tooltip__target{display:inline-flex;max-width:100%;border-radius:var(--radius-sm);outline:none}.ds-badge-tooltip__target:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ds-badge-tooltip__tip{position:fixed;z-index:var(--z-tooltip);max-width:min(280px,calc(100vw - 32px));padding:10px 12px;text-align:left;border-radius:var(--radius-md);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);box-shadow:var(--shadow-md);white-space:normal;font-size:var(--text-xs);line-height:1.45;pointer-events:none}.ds-toast-region{position:fixed;bottom:calc(20px + var(--safe-area-bottom, 0px));right:calc(20px + var(--safe-area-right, 0px));display:flex;flex-direction:column;gap:8px;z-index:var(--z-toast)}.ds-toast{display:flex;align-items:center;gap:8px;min-width:240px;max-width:360px;padding:12px 14px;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:ds-toast-in var(--duration-base) var(--ease-decelerate)}.ds-toast svg{width:16px;height:16px;flex-shrink:0}.ds-toast--success{border-left-color:var(--success);color:var(--success)}.ds-toast--error{border-left-color:var(--destructive);color:var(--destructive-on-surface)}.ds-toast--info{border-left-color:var(--info);color:var(--info)}.ds-toast__text{color:var(--popover-foreground)}@keyframes ds-toast-in{0%{opacity:0;transform:translateY(8px)}}.ds-checklist{display:flex;flex-direction:column;gap:8px}.ds-checklist__head{display:flex;align-items:center;gap:10px}.ds-checklist__progress{font-size:var(--text-xs);color:var(--muted-foreground);white-space:nowrap}.ds-checklist__items{display:flex;flex-direction:column;gap:4px}.ds-checklist__item{display:flex;align-items:center;gap:8px;padding:3px 0}.ds-checklist__text{flex:1;font-size:var(--text-md)}.ds-checklist__item[data-done] .ds-checklist__text{text-decoration:line-through;color:var(--muted-foreground)}.ds-checklist__remove,.ds-kv__remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;cursor:pointer;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--muted-foreground);display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}.ds-checklist__item:hover .ds-checklist__remove,.ds-kv__row:hover .ds-kv__remove{opacity:1}.ds-checklist__remove:hover,.ds-kv__remove:hover{background:var(--secondary);color:var(--destructive-on-surface)}.ds-checklist__remove svg,.ds-kv__remove svg{width:14px;height:14px}.ds-checklist__add,.ds-kv__add-row{display:flex;gap:8px;align-items:center}.ds-checklist--readonly .ds-checklist__state{flex-shrink:0;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:1px solid var(--border);color:var(--success)}.ds-checklist--readonly .ds-checklist__state svg{width:10px;height:10px}.ds-checklist--readonly .ds-checklist__item[data-done] .ds-checklist__state{border-color:var(--success-border);background:var(--success-surface)}.ds-checklist--readonly .ds-checklist__item[data-current] .ds-checklist__state{border-color:var(--primary);box-shadow:inset 0 0 0 3px var(--primary)}.ds-checklist--readonly .ds-checklist__item[data-done] .ds-checklist__text{text-decoration:none}.ds-checklist--readonly .ds-checklist__item[data-current] .ds-checklist__text{font-weight:var(--font-weight-medium)}.ds-checklist--readonly .ds-checklist__text{min-width:0;overflow-wrap:anywhere}.ds-kv,.ds-kv__rows{display:flex;flex-direction:column;gap:6px}.ds-kv__row{display:grid;grid-template-columns:1fr 1fr 24px;gap:6px;align-items:center}.ds-kv__add{align-self:flex-start}.ds-activity{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.ds-activity__item{display:flex;gap:12px;position:relative;padding-bottom:16px}.ds-activity__item:before{content:"";position:absolute;left:15px;top:34px;bottom:0;width:1px;background:var(--border)}.dark .ds-activity__item:before,:root[data-theme=dark] .ds-activity__item:before{background:var(--color-gray-800)}.ds-activity__item:last-child{padding-bottom:0}.ds-activity__item:last-child:before{display:none}.ds-activity__avatar{position:relative;z-index:1}.ds-activity__body{display:flex;flex-direction:column;gap:2px;padding-top:5px;min-width:0}.ds-activity__text{font-size:var(--text-md);line-height:var(--leading-snug)}.ds-activity__text b{font-weight:var(--font-weight-semibold)}.ds-activity__time{font-size:var(--text-xs);color:var(--muted-foreground)}.ds-md{font-size:var(--text-sm);line-height:var(--leading-relaxed, 1.6);color:var(--foreground);min-width:0;max-width:100%;overflow-wrap:anywhere}.ds-md>*:first-child{margin-top:0}.ds-md>*:last-child{margin-bottom:0}.ds-md p{margin:0 0 var(--space-3)}.ds-md h1,.ds-md h2,.ds-md h3,.ds-md h4,.ds-md h5,.ds-md h6{margin:var(--space-4) 0 var(--space-2);font-weight:var(--font-weight-medium);line-height:var(--leading-snug)}.ds-md h1{font-size:var(--text-lg)}.ds-md h2{font-size:var(--text-md)}.ds-md h3,.ds-md h4,.ds-md h5,.ds-md h6{font-size:var(--text-sm)}.ds-md ul,.ds-md ol{margin:0 0 var(--space-3);padding-left:20px}.ds-md li{margin:2px 0}.ds-md li>ul,.ds-md li>ol{margin:2px 0}.ds-md a{color:var(--primary);text-decoration:none}.ds-md a:hover{text-decoration:underline}.ds-md strong{font-weight:var(--font-weight-medium);color:var(--foreground)}.ds-md code{font-family:var(--font-mono, ui-monospace, monospace);font-size:.92em;padding:1px 4px;border-radius:var(--radius-sm);background:var(--secondary);overflow-wrap:anywhere}.ds-md pre{margin:0 0 var(--space-3);padding:12px;border-radius:var(--radius-md);background:var(--secondary);border:1px solid var(--border);max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.ds-md pre code{padding:0;background:none;font-size:var(--text-xs)}.ds-md blockquote{margin:0 0 var(--space-3);padding-left:12px;border-left:2px solid var(--border);color:var(--muted-foreground)}.ds-md hr{margin:var(--space-4) 0;border:0;border-top:1px solid var(--border-subtle)}.ds-md table{width:100%;border-collapse:collapse;margin:0 0 var(--space-3);display:block;overflow-x:auto}.ds-md th,.ds-md td{padding:6px 10px;border:1px solid var(--border-subtle);text-align:left;font-size:var(--text-xs)}.ds-md th{background:var(--secondary);font-weight:var(--font-weight-medium);white-space:nowrap}.ds-md img{max-width:100%;height:auto;border-radius:var(--radius-sm)}.ds-search{position:relative;display:inline-flex;align-items:center;width:100%}.ds-search__icon{position:absolute;left:10px;width:15px;height:15px;color:var(--muted-foreground);pointer-events:none}.ds-search .ds-input{padding-left:32px;padding-right:28px}.ds-search .ds-input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:none}.ds-search__clear{position:absolute;right:6px;width:20px;height:20px;border:none;background:none;cursor:pointer;color:var(--muted-foreground);border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center}.ds-search__clear:hover{background:var(--secondary);color:var(--foreground)}.ds-combobox{position:relative}.ds-combobox__list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:var(--z-dropdown);max-height:220px;overflow-y:auto;padding:4px;scrollbar-width:none;background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.ds-combobox__list::-webkit-scrollbar{display:none}.ds-combobox__option{display:block;width:100%;text-align:left;padding:6px 8px;border:none;background:none;cursor:pointer;font:inherit;font-size:var(--text-md);color:var(--foreground);border-radius:var(--radius-sm)}.ds-combobox__option:hover{background:var(--secondary)}.ds-combobox__option[hidden]{display:none}.ds-tokens{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:32px;padding:4px 8px;border:1px solid var(--input);border-radius:var(--radius-md);background:var(--input-background)}.ds-tokens:focus-within{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring)}.ds-token{display:inline-flex;align-items:center;gap:4px;padding:1px 4px 1px 9px;border-radius:var(--radius-full);background:var(--secondary);color:var(--secondary-foreground);font-size:var(--text-xs);font-weight:var(--font-weight-medium)}.ds-token__remove{border:none;background:none;cursor:pointer;color:var(--muted-foreground);width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;line-height:1}.ds-token__remove:hover{background:var(--border);color:var(--foreground)}.ds-tokens__input{flex:1;min-width:80px;border:none;outline:none;background:none;font:inherit;font-size:var(--text-base);color:var(--foreground);padding:2px 0}@media(max-width:768px){.ds-tokens__input{font-size:16px}}.ds-popover-panel{min-width:240px;padding:8px}.ds-configlist{display:flex;flex-direction:column;gap:2px}.ds-configrow{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 6px;border-radius:var(--radius-sm)}.ds-configrow:hover{background:var(--secondary)}.ds-configrow__label{flex:1;font-size:var(--text-md)}.ds-configrow__moves{display:inline-flex}.ds-configrow__move{border:none;background:none;cursor:pointer;color:var(--muted-foreground);width:20px;height:20px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.ds-configrow__move:hover{background:var(--border);color:var(--foreground)}.ds-configrow__move svg{width:13px;height:13px}*,*:before,*:after{box-sizing:border-box}*{border-color:var(--border)}html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);font-weight:var(--font-weight-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,p,figure{margin:0}h1{font-size:var(--text-3xl);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}h2{font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug)}h3{font-size:var(--text-xl);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug)}h4{font-size:var(--text-lg);font-weight:var(--font-weight-medium);line-height:var(--leading-snug)}p{font-size:var(--text-md);line-height:var(--leading-normal)}a{color:var(--primary);text-decoration:none}code,pre,kbd,samp{font-family:var(--font-mono)}:focus-visible{outline:none}.ds-page-standalone{min-height:100vh;min-height:100dvh;padding-top:calc(var(--ds-page-pad, var(--space-6)) + var(--safe-area-top, 0px));padding-right:calc(var(--ds-page-pad, var(--space-6)) + var(--safe-area-right, 0px));padding-bottom:calc(var(--ds-page-pad, var(--space-6)) + var(--safe-area-bottom, 0px));padding-left:calc(var(--ds-page-pad, var(--space-6)) + var(--safe-area-left, 0px))}.demo-main,.ds-content__scroll,.ds-sidebar,.ds-table-wrap{scrollbar-width:none}.demo-main::-webkit-scrollbar,.ds-content__scroll::-webkit-scrollbar,.ds-sidebar::-webkit-scrollbar,.ds-table-wrap::-webkit-scrollbar{display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.ds-tabs{display:flex;flex-wrap:wrap;align-items:stretch;gap:0 4px;border-bottom:1px solid var(--border);margin-bottom:2px}.ds-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:12px 16px;margin-bottom:-1px;font-family:inherit;font-size:var(--text-md);font-weight:var(--font-weight-bold);line-height:var(--leading-snug);color:var(--muted-foreground);cursor:pointer;border-bottom:2px solid transparent;text-decoration:none;transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.ds-tab:hover{color:var(--foreground)}.ds-tab[aria-selected=true]{color:var(--foreground);border-bottom-color:var(--primary)}.ds-tabs--segmented,.ds-tabs--segmented-soft{display:inline-flex;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;padding:4px;border:1px solid var(--border);background:var(--card);border-bottom:none;margin-bottom:0}.ds-tabs--segmented{border-radius:12px}.ds-tabs--segmented-soft{border-radius:var(--radius-md)}.ds-tabs--segmented .ds-tab,.ds-tabs--segmented-soft .ds-tab{padding:8px 14px;margin-bottom:0;border-bottom:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-weight-bold)}.ds-tabs--segmented-soft .ds-tab{padding:7px 12px;font-size:var(--text-xs)}.ds-tabs--segmented .ds-tab[aria-selected=true]{background:var(--primary-surface);color:var(--foreground);border-bottom-color:transparent}.ds-tabs--segmented-soft .ds-tab[aria-selected=true]{background:var(--accent-secondary-surface);color:var(--foreground);border-bottom-color:transparent}.ds-segmented{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;width:fit-content;max-width:100%;border:1px solid var(--border);border-radius:12px;background:var(--card)}.ds-segmented__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:8px 14px;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-bold);line-height:var(--leading-snug);color:var(--muted-foreground);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.ds-segmented__item:hover{color:var(--foreground)}.ds-segmented__item[aria-selected=true]{background:var(--primary-surface);color:var(--foreground)}.ds-radio{display:flex;align-items:flex-start;gap:10px;padding:8px 0;cursor:pointer}.ds-radio input{position:absolute;opacity:0;width:0;height:0}.ds-radio__dot{width:16px;height:16px;flex-shrink:0;margin-top:2px;border:1px solid var(--input);border-radius:var(--radius-full);background:var(--input-background);display:inline-flex;align-items:center;justify-content:center;transition:border-color var(--duration-fast) var(--ease-standard)}.ds-radio__dot:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary-foreground);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}.ds-radio input:checked+.ds-radio__dot{background:var(--primary);border-color:var(--primary)}.ds-radio input:checked+.ds-radio__dot:after{opacity:1}.ds-radio input:focus-visible+.ds-radio__dot{box-shadow:0 0 0 3px var(--ring)}.ds-radio__body{display:flex;flex-direction:column;gap:2px}.ds-radio__title{font-size:var(--text-md);font-weight:var(--font-weight-medium)}.ds-radio__desc{font-size:var(--text-sm);color:var(--muted-foreground)}.ds-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:36px;width:100%;padding:0 32px 0 12px;border:1px solid var(--input);border-radius:var(--radius-sm);background-color:var(--input-background);color:var(--foreground);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;background-repeat:no-repeat;background-position:right 10px center;background-size:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236e6e73' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.ds-select:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring);outline:none}.ds-select:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.ds-select{font-size:16px}}.ds-breadcrumb{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--muted-foreground)}.ds-breadcrumb a{color:var(--primary);text-decoration:none}.ds-breadcrumb a:hover{text-decoration:underline}.ds-breadcrumb__sep{color:var(--muted-foreground)}.ds-filter{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;display:inline-flex;align-items:center;gap:4px;padding:2px 4px;font-family:inherit;font-size:var(--text-md);font-weight:var(--font-weight-medium);color:var(--primary);cursor:pointer}.ds-filter svg{width:14px;height:14px}.ds-filter:hover{text-decoration:underline}.ds-shell{display:flex;flex-direction:column;height:100vh;height:100dvh}.ds-shell__body{display:flex;flex:1;min-height:0}.ds-envbar{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:calc(6px + var(--safe-area-top, 0px)) 16px 6px;font-size:var(--text-sm);font-weight:var(--font-weight-medium);text-align:center;background:var(--warning-surface);color:var(--warning);border-bottom:1px solid var(--warning-border)}.ds-envbar__dot{width:7px;height:7px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0}.ds-topbar{display:flex;align-items:center;gap:16px;height:56px;flex-shrink:0;padding:0 20px;background:var(--sidebar);border-bottom:1px solid var(--border-subtle)}.ds-topbar__brand{display:flex;align-items:center;gap:8px;font-weight:var(--font-weight-semibold)}.ds-brand{display:flex;flex-direction:column;line-height:1.02}.ds-brand__word{font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--foreground);letter-spacing:-.02em}.ds-brand__sub{font-size:var(--text-sm);font-weight:var(--font-weight-normal);color:var(--muted-foreground);letter-spacing:.01em}.ds-topbar__nav{display:flex;align-items:center;gap:20px;margin:0 auto}.ds-topbar__link{font-size:var(--text-md);font-weight:var(--font-weight-medium);color:var(--muted-foreground);text-decoration:none}.ds-topbar__link:hover,.ds-topbar__link.active{color:var(--foreground)}.ds-topbar__right{display:flex;align-items:center;gap:12px}.ds-sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;margin:0;padding:16px 12px;background:var(--sidebar);border:none;border-right:1px solid var(--border);border-radius:0;box-shadow:none;transition:width var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}.ds-sidebar__brand{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 10px 12px;border-bottom:none}.ds-sidebar__brand-mark{flex:1;min-width:0}.ds-shell-brand{font-weight:800;font-size:20px;letter-spacing:-.03em;color:var(--foreground)}.ds-shell-brand__dot{color:var(--primary)}.ds-shell-brand-tooltip{display:inline-flex}.ds-shell-brand-tooltip__target{display:inline-flex;border-radius:var(--radius-sm);outline:none}.ds-shell-brand-tooltip__target:focus-visible{outline:2px solid var(--ring, var(--focus));outline-offset:2px}.ds-shell-brand-tooltip .ds-tooltip__tip{left:0;transform:translate(0)}.ds-sidebar__close{flex-shrink:0;margin-left:auto}.ds-sidebar__scroll{flex:1;min-height:0;overflow-y:auto;padding:2px 0 6px}.ds-sidebar__footer{flex-shrink:0;border-top:1px solid var(--border);padding:8px 0 0;margin-top:8px}.ds-sidebar__group{padding:2px 0 6px;margin-bottom:0}.ds-sidebar__group+.ds-sidebar__group{margin-top:6px;padding-top:12px;border-top:1px solid var(--border)}.ds-sidebar__group:last-child{margin-bottom:0}.ds-sidebar__label{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:auto;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground);opacity:.7;padding:0 12px;margin:0 0 8px}.ds-sidebar__label-action{display:inline-flex;align-items:center;gap:2px}.ds-sidebar__label-action .ds-btn,.ds-sidebar__label-action .ds-menu>summary{height:22px;width:22px;padding:0}.ds-sidebar__item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);font-size:var(--text-md);font-weight:500;letter-spacing:-.01em;color:var(--foreground);text-decoration:none;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard)}.ds-sidebar__item:hover{background:var(--muted)}.ds-sidebar__item.active{background:var(--primary-surface);color:var(--foreground);font-weight:650;box-shadow:inset 3px 0 0 var(--primary)}.ds-sidebar__item--header{cursor:default;font-weight:var(--font-weight-medium);margin-top:8px}.ds-sidebar__label+.ds-sidebar__item--header{margin-top:0}.ds-sidebar__item--header:hover{background:transparent}.ds-sidebar__item--sub{padding-left:30px;font-size:var(--text-sm);color:var(--muted-foreground)}.ds-sidebar__item--sub.active{color:var(--foreground)}.ds-sidebar__team-row{display:flex;align-items:center;gap:2px;margin-top:6px}.ds-sidebar__label+div .ds-sidebar__team-row,.ds-sidebar__group>div:first-child .ds-sidebar__team-row{margin-top:0}.ds-sidebar__disclosure{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:30px;padding:0;background:transparent;border:0;cursor:pointer;color:var(--muted-foreground);border-radius:var(--radius-sm)}.ds-sidebar__disclosure:hover{color:var(--foreground);background:var(--secondary)}.ds-sidebar__disclosure svg{transition:transform var(--duration-fast) var(--ease-standard)}.ds-sidebar__disclosure[data-open=true] svg{transform:rotate(90deg)}.ds-sidebar__team-link{flex:1;min-width:0;font-weight:var(--font-weight-medium)}.ds-sidebar__team-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-sidebar__empty{color:var(--muted-foreground);cursor:default}.ds-sidebar__empty:hover{background:transparent}.ds-pixloader{display:inline-flex;align-items:center;gap:3px;min-height:1.5em}.ds-pixloader__px{width:4px;height:4px;border-radius:1px;background:var(--dot-snake);opacity:.22;animation:ds-pixloader .9s var(--ease-standard) infinite}@keyframes ds-pixloader{0%,to{opacity:.22}50%{opacity:1}}.ds-sunloader{position:relative;display:inline-block;width:1.15em;height:1.15em;flex-shrink:0;animation:ds-sunspin .8s steps(8) infinite}.ds-sunloader__px{position:absolute;top:0;left:50%;width:3px;height:3px;margin-left:-1.5px;border-radius:1px;background:var(--dot-snake);transform-origin:50% .575em}@keyframes ds-sunspin{to{transform:rotate(360deg)}}.ds-content{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--background)}.ds-content__scroll{flex:1;min-height:0;overflow-y:auto}.ds-loader{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var( --z-overlay );display:grid;place-items:center;background:var(--background);opacity:1;transition:opacity .48s var(--ease-standard)}.ds-loader--out{opacity:0}.ds-dotmatrix{width:min(560px,84vw);height:auto}.ds-dot{fill:var(--muted-foreground);opacity:.16;transform-box:fill-box;transform-origin:center;transition:opacity .4s var(--ease-standard),fill .26s var(--ease-standard),transform .52s var(--ease-standard);animation:ds-dot-in .3s var(--ease-decelerate) backwards}.ds-dot--on{opacity:.62}.ds-dot--snake{fill:var(--dot-snake);opacity:1}@keyframes ds-dot-in{0%{transform:translate(var(--tx, 0),var(--ty, 0)) scale(.35);opacity:0}}.ds-dotmatrix--out .ds-dot{transform:translate(var(--tx, 0),var(--ty, 0)) scale(.35);opacity:0!important}.ds-content__inner{max-width:none;margin:0;padding:18px;min-width:0;width:100%;box-sizing:border-box}.ds-page-title{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--card);margin-bottom:0}.ds-page-title__text{min-width:0}.ds-page-title h1{margin:0;font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.ds-page-title__sub{margin:2px 0 0;font-size:12px;line-height:1.3;color:var(--muted-foreground)}.ds-page-title__actions{display:flex;flex-shrink:0;align-items:center;gap:8px}.ds-content__mobilebar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:10px;padding:calc(8px + var(--safe-area-top, 0px)) 12px 8px;background:var(--card);border-bottom:1px solid var(--border)}.ds-envbar~.ds-shell__body .ds-content__mobilebar{padding-top:8px}.ds-content__mobilebar-brand{min-width:0}.ds-sidebar__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim, rgba(0, 0, 0, .45));z-index:var(--z-overlay)}@media(max-width:768px){.ds-topbar__nav{display:none}.ds-content__inner{padding:20px 16px}.ds-sidebar--drawer{position:fixed;top:0;left:0;bottom:0;margin:0;width:288px;max-width:84vw;padding:calc(16px + var(--safe-area-top, 0px)) 12px calc(16px + var(--safe-area-bottom, 0px)) calc(12px + var(--safe-area-left, 0px));border-radius:0;border-top:none;border-bottom:none;border-left:none;border-right:1px solid var(--border);z-index:var(--z-modal);transform:translate(-102%);box-shadow:var(--shadow-lg)}.ds-sidebar--drawer.ds-sidebar--mobile-open{transform:translate(0);box-shadow:var(--shadow-md)}}.ds-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--muted-foreground);background:var(--muted);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.ds-filtermenu{position:relative;display:inline-block}.ds-filtermenu>summary{list-style:none}.ds-filtermenu>summary::-webkit-details-marker{display:none}.ds-filtermenu .ds-menu__item{cursor:pointer}.ds-filtermenu .ds-menu__item input{accent-color:var(--primary);margin:0}.ds-editcell{display:inline-block;min-width:40px;cursor:text;border-radius:var(--radius-xs);padding:2px 6px;margin:-2px -6px;transition:background-color var(--duration-fast) var(--ease-standard)}.ds-editcell:hover{background:var(--secondary);box-shadow:inset 0 0 0 1px var(--border-subtle)}.ds-editcell__input{width:100%;min-width:80px;margin:-2px 0;border:1px solid var(--ring);border-radius:var(--radius-xs);padding:1px 5px;font:inherit;background:var(--input-background);color:var(--foreground);outline:none;box-shadow:0 0 0 3px var(--ring)}.ds-barchart{display:flex;align-items:stretch;gap:12px}.ds-barchart__col{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.ds-barchart__track{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.ds-barchart__bar{width:100%;max-width:44px;min-height:2px;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.ds-barchart__val{font-size:var(--text-xs);color:var(--muted-foreground)}.ds-barchart__label{font-size:var(--text-xs);color:var(--muted-foreground);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-sparkline{display:inline-block;vertical-align:middle}:root{--k-purple-surface: #f0e9ff;--k-purple-fg: #6c3bd1;--k-tag-soft-bg: #e8e8ed;--k-tag-soft-fg: var(--color-ink);--k-side-bg: #f4f4f6}.dark,:root[data-theme=dark]{--k-purple-surface: #2d1f3d;--k-purple-fg: #c778ff;--k-tag-soft-bg: var(--color-gray-800);--k-tag-soft-fg: var(--color-gray-100);--k-side-bg: var(--color-gray-900)}.k-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;align-items:flex-start;scrollbar-width:none}.k-board::-webkit-scrollbar{display:none}.k-board--center{justify-content:safe center}.k-board--center .k-column:not(.k-column--collapsed){flex-grow:1;max-width:750px}.k-board--compact.k-board--center .k-column:not(.k-column--collapsed){max-width:660px}.k-column{flex:0 0 300px;display:flex;flex-direction:column;gap:8px;background:var(--alpha-black-08);border-radius:var(--radius-lg);padding:10px}.dark .k-column,:root[data-theme=dark] .k-column{background:color-mix(in srgb,var(--color-gray-950) 70%,var(--color-black))}.board-ungrouped .k-column{border:1px solid var(--border)}.k-column__header{display:flex;align-items:center;gap:8px;padding:2px 4px}.k-column__title{font-size:var(--text-md);font-weight:var(--font-weight-semibold)}.k-column__count{font-size:var(--text-xs);color:var(--muted-foreground);background:var(--secondary);border-radius:var(--radius-full);padding:0 6px;min-width:18px;text-align:center}.k-column__spacer{margin-left:auto}.k-column__list{display:flex;flex-direction:column;gap:8px;min-height:8px}.k-column__collapse{border:none;background:none;cursor:pointer;color:var(--muted-foreground);width:20px;height:20px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.k-column__collapse:hover{background:var(--secondary)}.k-column__collapse svg{width:14px;height:14px;transition:transform var(--duration-fast) var(--ease-standard)}.k-column--collapsed{flex:0 0 46px;width:46px;height:300px;padding:10px 6px;align-self:flex-start}.k-column--collapsed .k-column__list,.k-column--collapsed .k-column__spacer{display:none}.k-column--collapsed .k-column__header{flex-direction:column;gap:10px;height:100%}.k-column--collapsed .k-column__title{writing-mode:vertical-rl}.k-column--collapsed .k-column__count{margin-top:auto}.k-column--collapsed .k-column__collapse svg{transform:rotate(180deg)}.k-board--compact{gap:10px}.k-board--compact .k-column{flex-basis:264px}.k-board--compact .k-column--collapsed{flex-basis:46px}.k-board--compact .k-card{padding:10px 12px;gap:8px}.k-card--dragging{opacity:.5}.k-column__list--drop{outline:2px dashed var(--ring);outline-offset:3px;border-radius:var(--radius-md)}.k-card{display:flex;flex-direction:column;gap:12px;background:var(--card);color:var(--card-foreground);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:var(--shadow-xs);cursor:pointer;text-align:left;width:100%;font:inherit;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.dark .k-card,:root[data-theme=dark] .k-card{background:var(--color-gray-950)}.k-card:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.k-card__title{font-size:var(--text-md);font-weight:var(--font-weight-medium);line-height:var(--leading-normal)}.k-card__tags{display:flex;flex-wrap:wrap;gap:6px}.k-card__footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}.k-card__id{font-size:var(--text-xs);color:var(--muted-foreground);font-family:var(--font-mono)}.k-tag{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:var(--font-weight-medium);padding:2px 9px;border-radius:var(--radius-full);white-space:nowrap}.k-tag--soft{background:var(--k-tag-soft-bg);color:var(--k-tag-soft-fg);border:1px solid var(--border-subtle)}.k-tag__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--muted-foreground)}.k-tag__dot--info{background:var(--info)}.k-tag__dot--success{background:var(--success)}.k-tag__dot--warning{background:var(--warning)}.k-tag__dot--danger{background:var(--destructive)}.k-tag__dot--purple{background:var(--k-purple-fg)}.k-tag__dot--neutral{background:var(--muted-foreground)}.k-tag--neutral{background:var(--secondary);color:var(--secondary-foreground)}.k-tag--info{background:var(--info-surface);color:var(--info)}.k-tag--success{background:var(--success-surface);color:var(--success)}.k-tag--warning{background:var(--warning-surface);color:var(--warning)}.k-tag--danger{background:var(--destructive-surface);color:var(--destructive-on-surface)}.k-tag--purple{background:var(--k-purple-surface);color:var(--k-purple-fg)}.k-swimlane{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:12px;overflow:hidden}.k-swimlane__header{display:flex;align-items:center;gap:8px;list-style:none;padding:10px 12px;cursor:pointer;font-size:var(--text-lg);font-weight:var(--font-weight-semibold);background:var(--sidebar);border-bottom:1px solid var(--border-subtle)}.k-swimlane__header::-webkit-details-marker{display:none}.k-swimlane__chevron{width:16px;height:16px;padding:0;border:none;background:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--muted-foreground);transition:transform var(--duration-fast) var(--ease-standard)}.k-swimlane__count{font-size:var(--text-sm);color:var(--muted-foreground);font-weight:var(--font-weight-normal)}.k-swimlane__body{padding:12px;background:var(--alpha-black-04)}.dark .k-swimlane__body,:root[data-theme=dark] .k-swimlane__body{background:var(--color-black)}.k-swimlane .k-swimlane__header{font-size:var(--text-md);background:transparent}.k-swimlane .k-swimlane{margin-bottom:10px}.k-swimlane .k-swimlane:last-child{margin-bottom:0}.k-taskmodal{max-width:780px;width:calc(100% - 48px)}.k-taskmodal__ticket{font-size:var(--text-sm);color:var(--muted-foreground);font-family:var(--font-mono);margin-bottom:2px}.k-taskmodal .ds-dialog__title{font-size:var(--text-xl);line-height:var(--leading-snug)}.k-detail{display:grid;grid-template-columns:1fr 240px;gap:28px}.k-detail__main{display:flex;flex-direction:column;gap:20px;min-width:0}.k-detail__section-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--muted-foreground);margin-bottom:8px}.k-detail__desc{line-height:var(--leading-normal);color:var(--foreground)}.k-detail__side{display:flex;flex-direction:column;gap:16px;align-self:start;padding:16px;background:var(--k-side-bg);border-radius:var(--radius-lg)}.k-detail__prop{display:flex;flex-direction:column;gap:6px}.k-detail__prop-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--muted-foreground)}.k-detail__prop-value{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--text-md)}@media(max-width:768px){.k-board{container-type:inline-size;scroll-snap-type:x mandatory}.k-column:not(.k-column--collapsed){flex-basis:min(92cqw,600px)}.k-board--compact .k-column:not(.k-column--collapsed){flex-basis:min(92cqw,528px)}.k-column{scroll-snap-align:start}}@media(max-width:640px){.k-detail{grid-template-columns:1fr;gap:20px}}.route-progress{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-xs);padding:var(--space-4);margin-bottom:var(--space-4)}.route-progress--compact{padding:12px;margin-bottom:12px}.route-progress__foot--sheet{margin-top:0;padding-top:0;border-top:0}.route-progress__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 16px;margin-bottom:var(--space-3)}.route-progress__title{margin:0;font-size:var(--text-md);letter-spacing:-.01em}.route-progress__sub{margin:4px 0 0;font-size:var(--text-xs);color:var(--muted-foreground)}.route-progress__stats{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.route-progress__stat{font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;font-weight:500;padding:4px 8px;border-radius:6px;background:var(--muted);color:var(--foreground)}.route-progress__stat strong{font-weight:700}.route-progress__next{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:var(--space-4);padding:10px 12px;border-radius:var(--radius-md);background:var(--accent-secondary-surface);border:1px solid var(--accent-secondary-border)}.route-progress__next strong{display:block;font-size:var(--text-sm)}.route-progress__next span{font-size:var(--text-xs);color:var(--muted-foreground)}.route-progress__empty{margin:0;font-size:var(--text-sm);color:var(--muted-foreground)}.route-progress__foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.route-progress__map-btn{text-decoration:none;margin-inline-start:auto}.route-progress--interactive .route-progress__details-trigger{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-md)}.route-progress--interactive .route-progress__details-trigger:hover{background:color-mix(in srgb,var(--muted) 72%,transparent)}.route-progress--interactive .route-progress__details-trigger:focus-visible{outline:2px solid var(--ring, var(--focus));outline-offset:2px}.route-progress__details-hint{display:block;margin-top:10px;font-size:17px;font-weight:800;letter-spacing:-.02em;line-height:1.25;color:var(--accent-secondary, #2f6fed)}.visit-phase{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:var(--text-xs);color:var(--muted-foreground)}.visit-phase__item{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;border:1px solid var(--border);background:var(--background)}.visit-phase__item.is-done{border-color:var(--success-border);color:var(--success-foreground);background:var(--success-surface)}.visit-phase__item.is-current{border-color:var(--accent-secondary-border);color:var(--foreground);background:var(--accent-secondary-surface);font-weight:600}.route-track{--node: 28px;list-style:none;padding:4px 2px 2px;display:flex;align-items:flex-start;justify-content:center;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -2px}.route-stop{flex:0 0 96px;width:96px;display:flex;flex-direction:column;align-items:center;position:relative;text-align:center}.route-stop:not(:last-child):after{content:"";position:absolute;top:calc(var(--node) / 2 - 1px);left:calc(50% + var(--node) / 2);width:calc(100% - var(--node));height:2px;background:var(--border)}.route-stop.is-done:not(:last-child):after{background:var(--success)}.route-stop.is-current:not(:last-child):after{background:linear-gradient(90deg,var(--accent-secondary) 0 45%,var(--border) 55% 100%)}.route-stop.is-blocked:not(:last-child):after{background:var(--warning)}.route-stop__node{width:var(--node);height:var(--node);border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono, ui-monospace, monospace);font-size:11px;font-weight:700;background:var(--muted);color:var(--muted-foreground);border:2px solid var(--border);position:relative;z-index:1}.route-stop.is-done .route-stop__node{background:var(--success);border-color:var(--success);color:#fff}.route-stop.is-current .route-stop__node{background:var(--accent-secondary);border-color:var(--accent-secondary);color:var(--accent-secondary-foreground);box-shadow:0 0 0 4px var(--accent-secondary-surface)}.route-stop.is-blocked .route-stop__node{background:var(--warning-surface);border-color:var(--warning);color:var(--warning-foreground)}.route-stop__node svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.route-stop__name{margin-top:8px;font-size:12px;font-weight:600;color:var(--foreground);line-height:1.25;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.route-stop.is-todo .route-stop__name{color:var(--muted-foreground);font-weight:500}.route-stop__meta{margin-top:2px;font-size:10px;color:var(--muted-foreground);font-family:var(--font-mono, ui-monospace, monospace)}.route-stop.is-current .route-stop__meta{color:var(--accent-secondary);font-weight:600}.route-stop.is-blocked .route-stop__meta{color:var(--warning-foreground)}body{margin:0;min-height:100vh;font-family:var(--font-sans);font-size:var(--text-md);line-height:1.45;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}.ds-data-toolbar{display:flex;flex-direction:column;gap:10px}.ds-data-toolbar__row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.ds-data-toolbar__search{flex:1;min-width:200px}.ds-data-toolbar__filters,.ds-data-toolbar__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ds-upload-field{display:grid;gap:8px}.ds-upload-field__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.ds-upload-field__controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ds-markdown-editor{display:grid;gap:12px;min-width:0}.ds-markdown-editor__input,.ds-markdown-editor__preview{min-height:calc(12lh + 16px)}.ds-markdown-editor__preview{padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:auto}.ds-markdown-editor--fill{display:flex;flex-direction:column;flex:1;min-height:0;gap:12px}.ds-markdown-editor--fill>.ds-tabs{flex-shrink:0}.ds-markdown-editor--fill>.ds-form-field{flex:1;min-height:0}.ds-markdown-editor--fill .ds-markdown-editor__input,.ds-markdown-editor--fill .ds-markdown-editor__preview{flex:1;min-height:0;height:100%;max-height:none;resize:none;overflow:auto}.ds-markdown-editor--fill .ds-markdown-editor__preview{border:0;padding:8px 12px;background:transparent}.ds-markdown-editor__footer,.ds-markdown-editor__save-bar{display:flex;gap:8px;justify-content:flex-end}.ds-mobile-sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:flex-end;background:transparent}.ds-mobile-sheet-scrim--fullscreen{align-items:stretch}.ds-mobile-sheet-scrim--stacked{background:transparent}.ds-mobile-sheet-scrim__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:transparent;cursor:pointer}.ds-mobile-sheet{position:relative;z-index:1;width:100%;max-height:min(85vh,720px);background:var(--card);border-radius:16px 16px 0 0;box-shadow:var(--shadow);display:grid;grid-template-rows:auto 1fr auto}.ds-mobile-sheet--fullscreen{max-height:none;height:100%;border-radius:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.ds-mobile-sheet__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border)}.ds-mobile-sheet__title{font-weight:700;min-width:0}.ds-mobile-sheet__header-end{display:flex;align-items:center;gap:8px;flex-shrink:0}.ds-mobile-sheet__header-trailing{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.ds-mobile-sheet__body{overflow:auto;padding:16px}.ds-mobile-sheet__footer{padding:12px 16px;border-top:1px solid var(--border)}.ds-sidebar__item{justify-content:flex-start}.ds-sidebar__badge{margin-left:auto;font-size:11px;font-weight:700;background:var(--primary);color:var(--primary-foreground);border-radius:999px;padding:1px 7px;min-width:18px;text-align:center;flex-shrink:0}
