.user-account-menu{position:relative;flex-shrink:0}.user-account-menu__trigger{display:inline-flex;align-items:center;gap:10px;padding:4px 8px 4px 4px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;font:inherit;color:var(--color-text-strong);transition:border-color var(--transition-fast),background var(--transition-fast)}.user-account-menu__trigger:hover{border-color:var(--color-border-strong);background:var(--color-bg-subtle)}.user-account-menu__trigger[aria-expanded=true]{border-color:var(--color-border-strong);background:var(--color-surface-subtle)}.user-account-menu__avatar{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--color-text-strong);color:var(--color-on-accent);font-size:12px;font-weight:600;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-account-menu__trigger-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;text-align:left}.user-account-menu__name{font-size:14px;font-weight:600;color:var(--color-text-strong);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-account-menu__role{font-size:11px;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.user-account-menu__org{font-size:11px;font-weight:500;color:var(--color-text-hint);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-account-menu__chevron{color:var(--color-text-hint);flex-shrink:0;margin-right:2px}.user-account-menu__dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:280px;padding:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1200;animation:user-menu-in var(--transition-normal) var(--ease-out)}@keyframes user-menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.user-account-menu__card{display:flex;gap:12px;align-items:center;padding:10px 10px 12px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-surface-subtle) 0%,var(--color-primary-surface) 100%)}.user-account-menu__card-avatar{width:44px;height:44px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-active) 100%);color:var(--color-on-accent);font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-account-menu__card-name{font-weight:600;font-size:15px;color:var(--color-text-strong)}.user-account-menu__card-email{font-size:13px;color:var(--color-text-muted);margin-top:2px;word-break:break-all}.user-account-menu__card-org{font-size:12px;color:var(--color-text-hint);margin-top:4px}.user-account-menu__sep{height:1px;background:var(--color-divider);margin:6px 4px}.user-account-menu__item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;font-size:14px;font-weight:500;color:var(--color-text);text-align:left;transition:background var(--transition-fast)}.user-account-menu__item:hover{background:var(--color-surface-subtle)}.user-account-menu__item--danger{color:var(--color-error)}.user-account-menu__item--danger:hover{background:var(--color-error-surface)}.user-account-menu__item-icon{display:flex;color:var(--color-text-muted)}.user-account-menu__item--danger .user-account-menu__item-icon{color:var(--color-error)}.user-settings-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:user-modal-backdrop .2s ease-out}@keyframes user-modal-backdrop{0%{opacity:0}to{opacity:1}}.user-settings-modal__panel{width:100%;max-width:440px;max-height:min(90vh,720px);overflow-y:auto;background:var(--color-surface);border-radius:18px;box-shadow:0 24px 48px -12px #0f172a47,0 0 0 1px #0f172a0f;animation:user-modal-panel .22s cubic-bezier(.22,1,.36,1)}@keyframes user-modal-panel{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.user-settings-modal__head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 12px;border-bottom:1px solid rgba(15,23,42,.06)}.user-settings-modal__head h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-text-strong);letter-spacing:-.02em}.user-settings-modal__close{width:36px;height:36px;border:none;border-radius:10px;background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:22px;line-height:1;cursor:pointer;transition:background .15s,color .15s}.user-settings-modal__close:hover{background:var(--color-surface-pressed);color:var(--color-text-strong)}.user-settings-modal__section{padding:20px 22px}.user-settings-modal__section h3{margin:0 0 12px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.user-settings-modal__hint{margin:0 0 16px;font-size:13px;line-height:1.45;color:var(--color-text-muted)}.user-settings-modal__label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;font-weight:600;color:var(--color-text)}.user-settings-modal__label input{padding:10px 12px;border:1px solid rgba(15,23,42,.12);border-radius:10px;font-size:14px;transition:border-color .15s,box-shadow .15s}.user-settings-modal__label input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--focus-ring)}.user-settings-modal__primary{margin-top:8px;padding:10px 18px;border:none;border-radius:10px;background:linear-gradient(180deg,var(--color-primary-light) 0%,var(--color-accent) 100%);color:var(--color-on-accent);font-size:14px;font-weight:600;cursor:pointer;transition:filter .15s,transform .1s}.user-settings-modal__primary:hover:not(:disabled){filter:brightness(1.05)}.user-settings-modal__primary:disabled{opacity:.65;cursor:not-allowed}.user-settings-modal__divider{height:1px;background:#0f172a0f;margin:0 22px}.user-settings-modal__secondary{margin-top:8px;padding:10px 18px;border:1px solid rgba(15,23,42,.12);border-radius:10px;background:var(--color-surface);color:var(--color-text);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.user-settings-modal__secondary:hover:not(:disabled){background:var(--color-surface-muted);border-color:#0f172a33}.user-settings-modal__secondary:disabled{opacity:.65;cursor:not-allowed}@media (max-width: 640px){.user-account-menu__trigger-text,.user-account-menu__chevron{display:none}.user-account-menu__trigger{padding:4px;border-radius:12px}.user-account-menu--in-header .user-account-menu__chevron{display:block}.user-account-menu--in-header .user-account-menu__trigger{padding:6px 7px;border-radius:var(--header-nav-radius, 10px)}}.user-account-menu--in-header{flex-shrink:0}.user-account-menu--in-header .user-account-menu__trigger{gap:6px;padding:var(--header-nav-pad-y, 6px) 9px var(--header-nav-pad-y, 6px) 10px;min-height:calc(2 * var(--header-nav-pad-y, 6px) + 1.25rem + 2px);border:1px solid transparent;border-radius:var(--header-nav-radius, 10px);background:transparent;color:var(--color-text-muted);font-family:var(--font-sans);font-size:.8125rem;font-weight:600;letter-spacing:-.01em;transition:background var(--transition-fast) ease,color var(--transition-fast) ease,border-color var(--transition-fast) ease,box-shadow .15s ease}.user-account-menu--in-header .user-account-menu__trigger:hover{color:var(--color-text-strong);background:color-mix(in srgb,var(--color-surface) 55%,transparent);border-color:transparent}.user-account-menu--in-header .user-account-menu__trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 42%,transparent);outline-offset:1px}.user-account-menu--in-header .user-account-menu__trigger[aria-expanded=true]{color:var(--color-primary);background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 24%,transparent);box-shadow:var(--shadow-xs),inset 0 1px color-mix(in srgb,var(--color-surface) 90%,transparent)}.user-account-menu--in-header .user-account-menu__avatar{width:26px;height:26px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface));color:var(--color-primary);font-size:10px;font-weight:700}.user-account-menu--in-header .user-account-menu__name{font-size:.8125rem;font-weight:600;max-width:10rem;color:inherit}.user-account-menu--in-header .user-account-menu__role,.user-account-menu--in-header .user-account-menu__org{display:none}.user-account-menu--in-header .user-account-menu__chevron{color:var(--color-text-hint);margin-right:0;opacity:.9;flex-shrink:0;transition:transform .2s cubic-bezier(.22,1,.36,1)}.user-account-menu--in-header .user-account-menu__trigger[aria-expanded=true] .user-account-menu__chevron{transform:rotate(180deg)}@media (max-width: 960px){.user-account-menu--in-header .user-account-menu__name{max-width:8.5rem}}@media (prefers-reduced-motion: reduce){.user-account-menu--in-header .user-account-menu__chevron{transition:none}}.app-header{--header-nav-pad-y: 6px;--header-nav-pad-x: 12px;--header-nav-radius: 10px;--header-rail-radius: 14px;--header-rail-pad: 3px;flex-shrink:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:clamp(.75rem,2vw,1.25rem);padding:0 clamp(.75rem,2.5vw,1.75rem);height:var(--app-header-height);width:100%;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs);position:relative;z-index:1100;transition:background var(--transition-normal) ease,border-color var(--transition-normal) ease,box-shadow var(--transition-normal) ease}.app-header__brand-cluster{display:flex;align-items:center;gap:clamp(.5rem,1.75vw,1.1rem);min-width:0;flex:1;justify-self:start}.app-header__brand{flex-shrink:0;padding:4px 0;margin:0;border:none;background:none;cursor:pointer;font-family:var(--font-display);font-size:1.28rem;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--color-primary);border-radius:var(--radius-sm);transition:color var(--transition-fast) ease,opacity var(--transition-fast) ease}.app-header__brand:hover{color:var(--color-primary-hover);opacity:.95}.app-header__brand:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 45%,transparent);outline-offset:2px}.app-header__nav-rail{min-width:0;flex:1 1 auto;max-width:100%;padding:var(--header-rail-pad);border-radius:var(--header-rail-radius);background:color-mix(in srgb,var(--color-text) 4.5%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-border) 85%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--color-surface) 70%,transparent);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.app-header__nav-rail::-webkit-scrollbar{display:none}.app-header__primary-nav{display:flex;align-items:center;gap:3px;flex-wrap:nowrap;min-width:min-content;padding:0}.app-header__nav-link{display:inline-flex;align-items:center;gap:7px;padding:var(--header-nav-pad-y) var(--header-nav-pad-x);border-radius:var(--header-nav-radius);border:1px solid transparent;background:transparent;cursor:pointer;font-family:var(--font-sans);font-size:.8125rem;font-weight:600;letter-spacing:-.01em;color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;transition:background var(--transition-fast) ease,color var(--transition-fast) ease,border-color var(--transition-fast) ease,box-shadow .15s ease}.app-header__nav-link:hover{color:var(--color-text-strong);background:color-mix(in srgb,var(--color-surface) 55%,transparent)}.app-header__nav-link:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 42%,transparent);outline-offset:1px}.app-header__nav-link--active{color:var(--color-primary);background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 24%,transparent);box-shadow:var(--shadow-xs),inset 0 1px color-mix(in srgb,var(--color-surface) 90%,transparent)}.app-header__nav-icon{display:flex;align-items:center;justify-content:center;opacity:.88}.app-header__nav-link--active .app-header__nav-icon{opacity:1;color:var(--color-primary)}.app-header__nav-link--dropdown{padding-right:9px;gap:6px}@media (max-width: 960px){.app-header__nav-link--dropdown .app-header__nav-label{max-width:10.5rem;overflow:hidden;text-overflow:ellipsis}}.app-header__nav-chevron{color:var(--color-text-hint);flex-shrink:0;margin-left:1px;opacity:.9;transition:transform .2s cubic-bezier(.22,1,.36,1)}.app-header__nav-link--open .app-header__nav-chevron{transform:rotate(180deg)}.app-header__sources{position:relative;flex-shrink:0}.app-header__sources-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;padding:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1150;animation:app-header-flyout-in .18s cubic-bezier(.22,1,.36,1) both}.app-header__sources-dropdown--portal{position:fixed;z-index:1200;top:auto;left:auto;overflow:hidden}.app-header__sources-dropdown-head{padding:10px 14px 6px;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);line-height:1.2;border-bottom:1px solid color-mix(in srgb,var(--color-border) 75%,transparent);background:color-mix(in srgb,var(--color-text) 2.5%,var(--color-surface))}.app-header__sources-dropdown-list{padding:6px;display:flex;flex-direction:column;gap:2px}.app-header__sources-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;border:none;border-radius:8px;background:transparent;cursor:pointer;font-family:var(--font-sans);font-size:.8125rem;font-weight:500;color:var(--color-text);text-align:left;transition:background var(--transition-fast) ease}.app-header__sources-item:hover{background:var(--color-surface-subtle)}.app-header__sources-item:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 40%,transparent);outline-offset:0}.app-header__sources-item--active{background:var(--color-primary-soft);color:var(--color-text-strong);font-weight:600}.app-header__sources-item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.88;color:var(--color-text-muted)}.app-header__sources-item--active .app-header__sources-item-icon{opacity:1;color:var(--color-primary)}.app-header__sources-item-label{min-width:0}.app-header__right{display:flex;align-items:center;justify-content:flex-end;justify-self:end;min-width:0;flex-shrink:0}.app-header__meta-rail{display:flex;align-items:center;gap:3px;flex-shrink:0;min-width:0;padding:var(--header-rail-pad);border-radius:var(--header-rail-radius);background:color-mix(in srgb,var(--color-text) 4.5%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-border) 85%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--color-surface) 70%,transparent)}.app-header__admin{position:relative;flex-shrink:0}.app-header__admin-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:228px;padding:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1150;animation:app-header-flyout-in .18s cubic-bezier(.22,1,.36,1) both}@keyframes app-header-flyout-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.app-header__admin-item{display:block;width:100%;padding:9px 11px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;font-family:var(--font-sans);font-size:.8125rem;font-weight:500;color:var(--color-text);text-align:left;transition:background var(--transition-fast) ease}.app-header__admin-item:hover{background:var(--color-surface-subtle)}.app-header__admin-item:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 40%,transparent);outline-offset:0}.app-header__admin-item--active{background:var(--color-primary-soft);color:var(--color-text-strong);font-weight:600}.app-header__mobile-backdrop,.app-header__menu-toggle{display:none}@media (max-width: 768px){.app-header{--app-header-offset: calc(var(--app-header-height) + env(safe-area-inset-top, 0px));display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;column-gap:10px;padding:env(safe-area-inset-top,0px) 12px 0;min-height:var(--app-header-offset);height:auto;box-sizing:border-box}.app-header__mobile-backdrop{display:block;position:fixed;left:0;right:0;bottom:0;top:var(--app-header-offset);z-index:1185;background:#0f172a73;opacity:0;pointer-events:none;transition:opacity .2s ease}.app-header--mobile-nav-open .app-header__mobile-backdrop{opacity:1;pointer-events:auto}.app-header__menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;margin-left:auto;padding:0;border:none;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-text) 6%,var(--color-surface));color:var(--color-text-strong);cursor:pointer;transition:background .15s ease}.app-header__menu-toggle:hover{background:color-mix(in srgb,var(--color-text) 10%,var(--color-surface))}.app-header__menu-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 45%,transparent);outline-offset:2px}.app-header__brand-cluster{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px;flex:1;min-width:0;position:relative}.app-header__nav-rail{position:fixed;left:0;top:var(--app-header-offset);width:min(320px,92vw);height:calc(100dvh - var(--app-header-offset));max-height:calc(100dvh - var(--app-header-offset));margin:0;padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));border-radius:0;border-right:1px solid var(--color-border);border-top:none;border-bottom:none;border-left:none;box-shadow:var(--shadow-lg);z-index:1195;transform:translate3d(-100%,0,0);transition:transform .22s var(--ease-out);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--color-surface)}.app-header--mobile-nav-open .app-header__nav-rail{transform:translateZ(0)}.app-header__primary-nav{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:8px;min-width:0}.app-header__nav-link{width:100%;justify-content:flex-start;min-height:48px;padding:10px 14px;font-size:1rem;white-space:normal}.app-header__nav-label{display:inline!important}.app-header__brand{font-size:1.1rem;flex-shrink:0}.app-header__right{flex-shrink:0}}@media (max-width: 520px){.app-header{padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px))}.app-header__nav-rail{width:min(100vw,320px);padding-left:max(12px,env(safe-area-inset-left,0px))}.app-header__brand{font-size:1.125rem}}@media (prefers-reduced-motion: reduce){.app-header__sources-dropdown,.app-header__admin-dropdown{animation:none}.app-header__nav-chevron,.app-header__nav-rail,.app-header__mobile-backdrop{transition:none}}.debug-panel{position:absolute;bottom:12px;left:12px;z-index:1000;min-width:min(220px,calc(100vw - 24px));max-width:min(320px,calc(100vw - 24px));font-family:var(--font-sans);font-size:var(--font-size-xs);line-height:1.45;background:color-mix(in srgb,var(--color-surface) 94%,var(--color-bg));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border-bold);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);overflow:hidden}.debug-panel--open{max-width:min(360px,calc(100vw - 24px))}.debug-panel__toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;background:var(--color-surface-muted);border-bottom:1px solid transparent}.debug-panel--open .debug-panel__toolbar{border-bottom-color:var(--color-border)}.debug-panel__meta{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.debug-panel__preview{flex-shrink:0;font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);padding:2px 6px;border-radius:4px;background:color-mix(in srgb,var(--color-text) 6%,var(--color-surface))}.debug-panel__title{font-family:var(--font-sans);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.debug-panel__context{text-transform:none;letter-spacing:normal;font-weight:500;color:var(--color-text-secondary)}.debug-panel__toggle{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:4px 8px;margin:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:background var(--transition-fast) ease,border-color var(--transition-fast) ease,color var(--transition-fast) ease}.debug-panel__toggle:hover{background:var(--color-surface-subtle);color:var(--color-text-strong)}.debug-panel__toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 40%,transparent);outline-offset:1px}.debug-panel__toggle-label{white-space:nowrap}.debug-panel__chevron{flex-shrink:0;opacity:.75;transition:transform var(--transition-fast) ease}.debug-panel__chevron--open{transform:rotate(180deg)}.debug-panel__body{padding:10px 12px;font-family:var(--font-sans)}.debug-panel__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;margin:0}.debug-panel__dt{margin:0;font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted)}.debug-panel__dd{margin:0;font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-strong);text-align:right;word-break:break-all;font-variant-numeric:tabular-nums}.lpf-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:13000;background:color-mix(in srgb,var(--color-bg, #0f1419) 55%,transparent);display:flex;align-items:flex-start;justify-content:center;padding:max(1rem,calc(var(--app-header-height, 58px) + .75rem)) 12px 24px;overflow-y:auto;box-sizing:border-box}.lpf-modal{width:min(520px,100%);max-height:min(90vh,900px);display:flex;flex-direction:column;background:var(--color-surface, #fff);color:var(--color-text-strong, #111);border:1px solid var(--color-border, #ddd);border-radius:8px;box-shadow:0 12px 40px #0000002e}.lpf-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--color-border, #ddd)}.lpf-modal__head h3{margin:0;font-size:16px;font-weight:700}.lpf-modal__close{border:none;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:var(--color-text-muted, #666);padding:4px 8px;border-radius:4px}.lpf-modal__close:hover{background:var(--color-surface-muted, #f3f4f6);color:var(--color-text-strong, #111)}.lpf-modal__body{padding:14px 16px;overflow-y:auto;flex:1}.lpf-modal__lead{margin:0 0 14px;font-size:12px;line-height:1.45;color:var(--color-text-muted, #666)}.lpf-section{margin-bottom:18px}.lpf-section__title{margin:0 0 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted, #666)}.lpf-hint{margin:0 0 8px;font-size:11px;line-height:1.4;color:var(--color-text-muted, #666)}.lpf-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.lpf-preset{padding:5px 10px;font-size:12px;border:1px solid var(--color-border, #ddd);border-radius:4px;background:var(--color-surface, #fff);cursor:pointer}.lpf-preset.is-active{border-color:var(--color-primary, #2563eb);font-weight:600;background:color-mix(in srgb,var(--color-primary, #2563eb) 10%,var(--color-surface, #fff))}.lpf-area-row{display:flex;flex-direction:column;gap:4px}.lpf-label{font-size:11px;font-weight:600;color:var(--color-text-muted, #666)}.lpf-input{width:100%;box-sizing:border-box;padding:8px 10px;font-size:13px;border:1px solid var(--color-border, #ddd);border-radius:4px;background:var(--color-surface, #fff)}.lpf-input:focus{outline:none;border-color:var(--color-primary, #2563eb)}.lpf-grid{display:flex;flex-direction:column;gap:6px}.lpf-check-row{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.lpf-swatch{width:12px;height:12px;border-radius:2px;border:1px solid var(--color-border, #ddd);flex-shrink:0}.lpf-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 480px){.lpf-two-cols{grid-template-columns:1fr}}.lpf-error{margin:0;padding:10px 12px;font-size:13px;background:var(--color-error-surface, #fef2f2);color:var(--color-error, #b91c1c);border-radius:4px}.lpf-modal__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-top:1px solid color-mix(in srgb,var(--color-border, #ddd) 85%,var(--color-text-strong, #111) 15%);background:color-mix(in srgb,var(--color-text-strong, #111) 3.5%,var(--color-surface, #fff));border-radius:0 0 8px 8px}.lpf-modal__foot-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}.lpf-foot-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;margin:0;font:inherit;font-size:13px;font-weight:600;letter-spacing:.01em;line-height:1.2;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease}.lpf-foot-btn:focus{outline:none}.lpf-foot-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-surface, #fff),0 0 0 4px color-mix(in srgb,var(--color-primary, #2563eb) 45%,transparent)}.lpf-foot-btn:active:not(:disabled){transform:scale(.98)}.lpf-foot-btn--primary{color:var(--color-on-accent, #fff);background:var(--color-primary, #2563eb);border-color:color-mix(in srgb,var(--color-primary, #2563eb) 88%,#000 12%);box-shadow:0 1px 2px color-mix(in srgb,var(--color-text-strong, #111) 12%,transparent)}.lpf-foot-btn--primary:hover{background:var(--color-primary-hover, #1d4ed8);border-color:color-mix(in srgb,var(--color-primary-hover, #1d4ed8) 90%,#000 10%);box-shadow:0 2px 8px color-mix(in srgb,var(--color-primary, #2563eb) 35%,transparent)}.lpf-foot-btn--secondary{color:var(--color-text-strong, #111);background:var(--color-surface, #fff);border-color:color-mix(in srgb,var(--color-border, #ddd) 92%,var(--color-text-strong, #111) 8%)}.lpf-foot-btn--secondary:hover{background:color-mix(in srgb,var(--color-text-strong, #111) 5%,var(--color-surface, #fff));border-color:color-mix(in srgb,var(--color-text-strong, #111) 18%,var(--color-border, #ddd))}.lpf-foot-btn--ghost{min-height:36px;padding:0 12px;margin:0 0 0 -4px;font-size:12px;font-weight:500;color:var(--color-text-muted, #666);background:transparent;border-color:transparent;border-radius:8px;text-decoration:none}.lpf-foot-btn--ghost:hover{color:var(--color-text-strong, #111);background:color-mix(in srgb,var(--color-text-strong, #111) 6%,var(--color-surface, #fff))}@media (max-width: 440px){.lpf-modal__foot{flex-direction:column-reverse;align-items:stretch;gap:10px}.lpf-modal__foot-actions{margin-left:0;flex-direction:column-reverse;width:100%}.lpf-modal__foot-actions .lpf-foot-btn{width:100%}.lpf-foot-btn--ghost{margin-top:4px;align-self:center}}.control-panel{position:fixed;top:var(--layout-floating-panel-top);right:16px;width:272px;z-index:1000;display:flex;flex-direction:column;max-height:var(--layout-floating-panel-max-height);font-family:var(--font-sans);font-size:13px;line-height:1.35;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:none;overflow:hidden}.control-panel--collapsed{width:auto;min-width:40px;max-width:48px;max-height:none;overflow:visible}.control-panel__header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--color-border)}.control-panel--collapsed .control-panel__header{flex-direction:column;padding:10px 8px;border-bottom:none}.control-panel__title{margin:0;flex:1;min-width:0;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);line-height:1.2}.control-panel__collapse-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.control-panel__collapse-btn:hover{background:color-mix(in srgb,var(--color-text) 5%,transparent);color:var(--color-text-strong)}.control-panel--collapsed .control-panel__collapse-btn{width:32px;height:32px}.control-panel__collapse-icon{display:block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin-left:-2px}.control-panel--collapsed .control-panel__collapse-icon{transform:rotate(135deg);margin-left:2px}.control-panel__body{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 14px 14px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-text) 18%,transparent) transparent}.control-panel__body::-webkit-scrollbar{width:4px}.control-panel__body::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-text) 20%,transparent);border-radius:2px}.section{margin-bottom:0}.section-title{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 8px}.layer-group{margin:0;padding:14px 0 2px;border-top:1px solid var(--color-border)}.layer-group:first-of-type{border-top:none;padding-top:2px}.layer-group-title{margin:0;padding:0;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.layer-group-toggle{display:flex;align-items:center;gap:7px;width:100%;margin:0 0 8px;padding:5px 4px;border:none;border-radius:4px;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background-color .1s ease}.layer-group-toggle:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}.layer-group-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.layer-group-toggle__chevron{display:block;flex-shrink:0;width:6px;height:6px;margin-top:1px;border-right:1.5px solid var(--color-text-muted);border-bottom:1.5px solid var(--color-text-muted);transform:rotate(-45deg);transition:transform .15s ease}.layer-group-toggle[aria-expanded=false] .layer-group-toggle__chevron{transform:rotate(45deg)}.layer-group__body{margin:0;padding:0}.layer-control{display:flex;align-items:flex-start;gap:10px;margin:0 0 2px;padding:6px 0;border-radius:0;transition:none}.layer-control:hover{background:transparent}.layer-control input[type=checkbox],.layer-control input[type=radio]{width:14px;height:14px;margin:2px 0 0;flex-shrink:0;cursor:pointer;accent-color:var(--color-primary);border-radius:2px}.layer-control input[type=radio]{border-radius:50%}.layer-control label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;flex:1;min-width:0;-webkit-user-select:none;user-select:none}.layer-swatch{display:block;flex-shrink:0;width:3px;min-height:15px;margin-top:2px;border-radius:1px;align-self:stretch;box-shadow:none;border:none}.layer-swatch--gradient{min-height:18px}.layer-swatch--striped{min-height:15px}.layer-swatch--outline{background:transparent!important;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--color-primary) 65%,var(--color-border));min-width:10px;width:10px;min-height:10px;height:10px;margin-top:4px;border-radius:1px;align-self:flex-start}.layer-label{display:flex;flex-direction:column;align-items:flex-start;gap:1px;font-size:12.5px;font-weight:500;line-height:1.3;color:var(--color-text-strong)}.layer-label-hint{display:block;font-size:10px;font-weight:400;letter-spacing:.02em;color:var(--color-text-muted);line-height:1.25}.layer-territories-exclusive-hint{margin:0 0 8px;padding:0 2px;font-size:11px;line-height:1.35;color:var(--color-text-muted)}.layer-info{margin:4px 0 2px 24px;font-size:11px;line-height:1.35;color:var(--color-text-muted)}.status{padding:8px 10px;border-radius:4px;margin:0 0 12px;font-size:12px;line-height:1.4;border:1px solid transparent}.status.error{background:var(--color-error-surface);color:var(--color-error);border-color:var(--color-error-border-light)}.status.loading{background:var(--color-info-bg-subtle);color:var(--color-primary);border-color:var(--color-info-border-strong)}.status.success{background:var(--color-success-surface);color:var(--color-success);border-color:var(--color-success-border-light)}.search-section{margin:0 0 4px;padding:0 0 12px;border-bottom:1px solid var(--color-border)}.search-form{display:flex;align-items:stretch;gap:0;border:1px solid var(--color-border);border-radius:4px;overflow:hidden;background:var(--color-surface)}.search-input{flex:1;min-width:0;padding:8px 10px;border:none;border-radius:0;font-size:12px;background:transparent;color:var(--color-text-strong);outline:none}.search-input::placeholder{color:var(--color-text-hint)}.search-input:focus{box-shadow:inset 0 0 0 1px var(--color-primary)}.search-input:disabled{opacity:.55;cursor:not-allowed}.search-button{flex-shrink:0;padding:8px 12px;margin:0;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);background:color-mix(in srgb,var(--color-text) 4%,transparent);border:none;border-left:1px solid var(--color-border);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.search-button:hover:not(:disabled){color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.search-button:disabled{opacity:.45;cursor:not-allowed}.search-error{margin-top:6px;font-size:11px;color:var(--color-error);line-height:1.3}.landplot-filters{margin-left:24px;margin-top:6px;padding:8px 0}.filter-group{margin-bottom:8px}.filter-group:last-child{margin-bottom:0}.filter-label{display:block;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:5px}.filter-inputs{display:flex;align-items:center;gap:6px}.filter-input{flex:1;padding:6px 8px;border:1px solid var(--color-border);border-radius:4px;font-size:12px;outline:none;background:var(--color-surface)}.filter-input:focus{border-color:var(--color-primary)}.filter-separator{color:var(--color-text-hint);font-size:12px;padding:0 4px}.filter-select{width:100%;padding:6px 8px;border:1px solid var(--color-border);border-radius:4px;font-size:12px;outline:none;background:var(--color-surface);cursor:pointer}.filter-select:focus{border-color:var(--color-primary)}.egrn-filters-panel{margin:0 0 8px;padding:12px 0 4px;border-top:1px solid var(--color-border)}.egrn-filters-heading{margin:0 0 8px;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);line-height:1.2}.egrn-filter-type-wrap{margin-top:8px}.egrn-filter-type-label{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;display:block;margin-bottom:5px;color:var(--color-text-muted)}.egrn-filter-type-input{width:100%;box-sizing:border-box;padding:7px 9px;font-size:12px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface)}.egrn-filter-type-input:focus{outline:none;border-color:var(--color-primary)}.layer-nested-panel{margin:6px 0 10px 22px;padding:0 0 2px 12px;border-left:1px solid color-mix(in srgb,var(--color-border) 88%,transparent)}.landplot-purpose-field-label{display:block;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 6px}.control-panel .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.landplot-purpose-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.landplot-purpose-vri-picker{margin-top:8px}.landplot-purpose-summary{margin:10px 0 8px;font-size:11px;line-height:1.45;color:var(--color-text-muted)}.control-panel .landplot-purpose-filters-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;box-sizing:border-box;position:relative;display:block;width:100%;margin-top:6px;padding:8px 26px 8px 12px;font:inherit;font-size:11px;font-weight:500;letter-spacing:.02em;line-height:1.3;color:var(--color-text-muted);background:color-mix(in srgb,var(--color-text) 4.5%,transparent);border:1px solid color-mix(in srgb,var(--color-border) 92%,var(--color-text) 8%);border-radius:4px;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.control-panel .landplot-purpose-filters-btn:hover{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 9%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border))}.control-panel .landplot-purpose-filters-btn:focus{outline:none}.control-panel .landplot-purpose-filters-btn:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 35%,transparent)}.control-panel .landplot-purpose-filters-btn:active{background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface))}.control-panel .landplot-purpose-filters-btn__label{display:block;text-align:center}.control-panel .landplot-purpose-filters-btn:after{content:"";position:absolute;right:12px;top:50%;width:5px;height:5px;margin-top:-3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);opacity:.5;pointer-events:none}.control-panel .landplot-purpose-filters-btn:hover:after{opacity:.8}.landplot-purpose-preset{padding:4px 8px;font-size:11px;line-height:1.3;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text-strong);cursor:pointer}.landplot-purpose-preset:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.landplot-purpose-preset.is-active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));font-weight:600}.landplot-purpose-area-row{display:flex;align-items:stretch;gap:0;margin-bottom:6px}.landplot-purpose-number-input{flex:1;min-width:0;box-sizing:border-box;padding:6px 8px;font-size:12px;line-height:1.35;border:1px solid var(--color-border);border-radius:4px 0 0 4px;border-right:none;background:var(--color-surface);color:var(--color-text-strong)}.landplot-purpose-number-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);z-index:1}.landplot-purpose-area-suffix{display:flex;align-items:center;padding:0 10px;font-size:12px;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:0 4px 4px 0;background:var(--color-surface-muted)}.landplot-purpose-min-area-hint{margin:0 0 11px;font-size:10px;line-height:1.4;color:var(--color-text-muted)}.layer-category-picker__title{display:block;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 5px}.layer-category-picker__grid{display:flex;flex-direction:column;gap:0;max-height:min(210px,38vh);overflow-x:hidden;overflow-y:auto;padding:1px 2px 2px 0;margin:0 -2px 0 0;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-text) 16%,transparent) transparent}.layer-category-picker__grid::-webkit-scrollbar{width:3px}.layer-category-picker__grid::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-text) 18%,transparent);border-radius:2px}.layer-category-row{display:grid;grid-template-columns:13px 3px minmax(0,1fr);align-items:center;column-gap:8px;min-height:27px;padding:1px 6px 1px 2px;margin:0 0 0 -2px;border-radius:4px;cursor:pointer;font-size:11px;line-height:1.3;color:var(--color-text-secondary);transition:background-color .1s ease}.layer-category-row:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}.layer-category-row__input{width:13px;height:13px;margin:0;cursor:pointer;accent-color:var(--color-primary)}.layer-category-row__swatch{width:3px;height:13px;border-radius:1px;flex-shrink:0}.layer-category-row__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-stats-section{margin-top:4px;padding-top:14px;border-top:1px solid var(--color-border)}.viewport-stats-title{margin:0 0 10px;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.viewport-stats{display:flex;flex-direction:column;gap:2px}.viewport-stat-item{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;font-size:12px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);min-width:0}.viewport-stat-item .stat-label,.viewport-stat-item .stat-value{min-width:0}.viewport-stat-item:last-of-type{border-bottom:none}.viewport-stat-detail{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:2px 0 6px;margin-left:0;font-size:11px;color:var(--color-text-muted);min-width:0}.viewport-stat-detail .stat-label,.viewport-stat-detail .stat-value{min-width:0}.viewport-stat-detail .stat-value{flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.stat-label{color:var(--color-text-muted);font-weight:400}.stat-value{font-variant-numeric:tabular-nums;color:var(--color-text-strong);font-weight:600;font-size:12px;flex-shrink:1;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-stats-loading{color:var(--color-text-muted);font-size:11px;padding:8px 0}.viewport-stats-empty{color:var(--color-text-hint);font-size:11px;padding:8px 0;line-height:1.4}.viewport-purpose-breakdown{margin-top:10px;padding-top:10px;border-top:1px dashed color-mix(in srgb,var(--color-border) 85%,transparent)}.viewport-purpose-breakdown__total{margin-bottom:6px}.viewport-purpose-breakdown__list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}.viewport-purpose-breakdown__row{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:8px 10px;font-size:12px;line-height:1.35}.viewport-purpose-breakdown__swatch{width:10px;height:10px;border-radius:2px;border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent)}.viewport-purpose-breakdown__name{color:var(--color-text-strong);min-width:0;word-break:break-word}.viewport-purpose-breakdown__count{font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-weight:600}.viewport-purpose-breakdown__hint{margin:0;font-size:10px;line-height:1.4;color:var(--color-text-muted)}.layer-color{width:3px;height:12px;border-radius:1px;margin-right:0;flex-shrink:0;border:none}.kbd-help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:color-mix(in srgb,var(--color-text) 32%,transparent);display:flex;align-items:center;justify-content:center;padding:1rem}.kbd-help-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem 1.5rem;max-width:420px;width:100%;box-shadow:var(--shadow-lg)}.kbd-help-modal h3{margin:0 0 1rem;font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text-strong)}.kbd-help-list{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.9rem}.kbd-help-list dt{font-weight:600;font-family:var(--font-mono)}.kbd-help-list dd{margin:0}.kbd-help-close{margin-top:1.25rem;padding:.45rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-bold);background:var(--color-surface-muted);cursor:pointer}.kbd-help-close:hover{background:color-mix(in srgb,var(--color-text) 6%,var(--color-surface))}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.loading-spinner{border:3px solid var(--color-surface-subtle);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-small .loading-spinner{width:20px;height:20px;border-width:2px}.loading-medium .loading-spinner{width:40px;height:40px;border-width:3px}.loading-large .loading-spinner{width:60px;height:60px;border-width:4px}.loading-message{color:var(--color-text-muted);font-size:.9rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;min-height:100dvh;padding:max(var(--spacing-lg),env(safe-area-inset-top,0px)) max(var(--spacing-lg),env(safe-area-inset-right,0px)) max(var(--spacing-lg),env(safe-area-inset-bottom,0px)) max(var(--spacing-lg),env(safe-area-inset-left,0px));background:var(--color-bg)}.login-box{width:100%;max-width:400px;padding:var(--spacing-xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.login-box h2{margin:0 0 var(--spacing-lg);text-align:center;font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.02em;color:var(--color-text-strong)}.login-box .form-group{margin-bottom:var(--spacing-md)}.login-box .form-group label{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.login-box .form-group input{width:100%;padding:12px 14px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:max(16px,var(--font-size-md));font-family:var(--font-family);color:var(--color-text-strong);background:var(--color-surface);transition:border-color var(--transition-fast) ease,box-shadow var(--transition-fast) ease;box-sizing:border-box}.login-box .form-group input::placeholder{color:var(--color-text-muted)}.login-box .form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--focus-ring)}.login-box .form-group input:disabled{background:var(--color-surface-subtle);cursor:not-allowed;color:var(--color-text-muted)}.login-button{width:100%;margin-top:var(--spacing-sm);padding:12px 16px;border:none;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-on-accent);font-size:var(--font-size-md);font-family:var(--font-sans);font-weight:600;cursor:pointer;transition:background var(--transition-fast) ease,filter var(--transition-fast) ease}.login-button:hover:not(:disabled){background:var(--color-primary-hover)}.login-button:active:not(:disabled){filter:brightness(.95)}.login-button:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 520px){.login-container{align-items:flex-start;padding-top:max(var(--spacing-md),env(safe-area-inset-top,0px))}.login-box{padding:var(--spacing-lg);max-width:none;border-radius:var(--radius-md)}.login-box h2{font-size:clamp(1.25rem,5vw,1.5rem)}.login-button{min-height:48px;padding:14px 16px}}.app{width:100%;height:100vh;max-height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column}.app:has(.database-browser){overflow:hidden}.app.table-view-active{height:100vh;max-height:100vh;overflow:hidden}.app.table-view-active .app-main{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden}.app-main{flex:1;min-height:0;overflow:hidden;position:relative}.app-map-shell{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.app-map-shell--parked{visibility:hidden;pointer-events:none;z-index:0}.app-view-stacked{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;overflow:hidden;display:flex;flex-direction:column;min-height:0;background:var(--color-bg-subtle)}.app-view-stacked>*{flex:1 1 0;min-height:0;min-width:0}.app-view-fallback{padding:2rem;text-align:center;color:var(--color-text-secondary)}@media (max-width: 768px){.app,.app.table-view-active{height:100dvh;max-height:100dvh}}:root{--font-sans: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Syne", "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, monospace;--font-family: var(--font-sans);--color-bg: #e8ecf2;--color-bg-subtle: #f1f5f9;--color-surface: #ffffff;--color-surface-muted: #f1f5f9;--color-surface-subtle: #f1f5f9;--color-surface-pressed: #e2e8f0;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-border-legacy: #e2e8f0;--color-border-light: #f1f5f9;--color-border-bold: #cbd5e1;--color-divider: rgba(15, 23, 42, .08);--color-text: #0f172a;--color-text-strong: #0f172a;--color-text-muted: #64748b;--color-text-subtle: #94a3b8;--color-text-secondary: #475569;--color-text-hint: #94a3b8;--color-primary: #1d6cff;--color-primary-hover: #155ceb;--color-primary-pressed: #1247c4;--color-primary-soft: rgba(29, 108, 255, .12);--color-primary-soft-hover: rgba(29, 108, 255, .18);--color-primary-dark: var(--color-primary-hover);--color-primary-light: #3b82f6;--color-accent: var(--color-primary);--color-accent-hover: var(--color-primary-hover);--color-accent-active: var(--color-primary-pressed);--color-accent-light: var(--color-primary-light);--color-accent-mix: rgba(29, 108, 255, .12);--color-accent-subtle: var(--color-primary-soft);--color-accent-border-soft: rgba(29, 108, 255, .28);--color-danger: #dc2626;--color-danger-soft: #fef2f2;--color-success: #059669;--color-success-emphasis: #047857;--color-warning: #d97706;--color-error: var(--color-danger);--color-info: #0369a1;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 2px 8px rgba(15, 23, 42, .06);--shadow-md: 0 8px 30px rgba(15, 23, 42, .08);--shadow-lg: 0 20px 50px rgba(15, 23, 42, .12);--nav-height: 72px;--app-header-height: var(--nav-height);--app-sidebar-rail-collapsed: 64px;--app-sidebar-rail-expanded: 240px;--ease-out: cubic-bezier(.22, 1, .36, 1);--transition-fast: .15s var(--ease-out);--transition-normal: .22s var(--ease-out);--transition-slow: .3s var(--ease-out);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--layout-sticky-header-gutter: var(--spacing-xs);--layout-sticky-below-header-top: calc( var(--app-header-height, 58px) + var(--layout-sticky-header-gutter) );--layout-sticky-panel-bottom-clearance: 10px;--layout-viewport-max-height-under-header: calc( 100vh - var(--app-header-height, 58px) - var(--layout-sticky-panel-bottom-clearance) );--layout-feed-post-scroll-margin-extra: 12px;--layout-feed-post-scroll-margin-top: calc( var(--app-header-height, 58px) + var(--layout-feed-post-scroll-margin-extra) );--layout-floating-panel-top-gutter: 10px;--layout-floating-panel-bottom-clearance: 20px;--layout-floating-panel-top: calc( var(--app-header-height, 58px) + var(--layout-floating-panel-top-gutter) );--layout-floating-panel-max-height: calc( 100vh - var(--app-header-height, 58px) - var(--layout-floating-panel-bottom-clearance) );--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 24px;--color-on-accent: #ffffff;--focus-ring-color: var(--color-primary);--focus-ring: 0 0 0 3px var(--color-primary-soft);--color-warning-surface: #fff7ed;--color-warning-text: #c2410c;--color-warning-border-soft: #fed7aa;--color-amber-ink: #92400e;--color-amber-surface: #fffbeb;--color-amber-border: #fde68a;--color-amber-text: #78350f;--color-primary-surface: #eff6ff;--color-info-bg-subtle: #dbeafe;--color-info-bg-medium: #bfdbfe;--color-info-border-strong: #93c5fd;--color-success-surface: #d1fae5;--color-success-border-light: #6ee7b7;--color-error-surface: #fef2f2;--color-error-border-light: #fecaca;--color-crm-purple: #9333ea;--color-crm-purple-surface: #f3e8ff;--color-crm-purple-dark: #6b21a8;--color-success-grad-end: #bbf7d0;--color-error-grad-end: #fecaca;--color-bg-secondary: var(--color-bg-subtle);--color-bg-hover: var(--color-surface-subtle);--color-dark-surface: #18181b;--color-dark-elevated: #27272a;--color-dark-shimmer-mid: #3f3f46;--color-bg-legacy-card: var(--color-surface);--content-narrow-max-width: 500px;--content-page-lead-max-width: 38rem;--content-prose-narrow-max: 28rem;--content-prose-medium-max: 40rem;--content-system-lead-max: 42rem;--content-prose-medium-wide-max: 46rem;--content-container-max: 48rem;--content-prose-wide-max: 52rem;--content-page-lead-markup-wide: var(--content-prose-wide-max);--telegram-feed-column-max: var(--content-narrow-max-width);--telegram-markup-shell-max: 1180px;--telegram-markup-column-gap: .65rem;--telegram-markup-tools-column-min: 252px;--telegram-markup-work-max: min( calc( var(--telegram-feed-column-max) + var(--telegram-markup-column-gap) + var(--telegram-feed-column-max) ), 100% );--telegram-feed-muted-band-half: 50rem;--telegram-markup-sticky-nav-offset: 3.85rem;--crm-kanban-detail-panel-width: var(--content-narrow-max-width)}@media (prefers-reduced-motion: reduce){:root{--transition-fast: .01ms;--transition-normal: .01ms;--transition-slow: .01ms}}@media (max-width: 768px){:root{--nav-height: 64px;--app-header-height: var(--nav-height);--font-size-xs: 13px;--font-size-sm: 15px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 22px}}@media (max-width: 520px){:root{--nav-height: 60px;--app-header-height: var(--nav-height)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:15px;line-height:1.5;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);text-rendering:optimizeLegibility;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}code{font-family:var(--font-mono);font-size:.9em}body.table-view{overflow:hidden}#root{width:100%;max-width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden}body.app-mobile-nav-open{overflow:hidden;touch-action:none}.leaflet-control-attribution{display:none!important}*{box-sizing:border-box}.btn{padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-normal);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-primary{background-color:var(--color-primary);color:var(--color-on-accent)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-md)}.table{width:100%;border-collapse:collapse;background-color:var(--color-surface)}.table thead{background-color:var(--color-bg-subtle)}.table th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:600;color:var(--color-text);border-bottom:2px solid var(--color-border)}.table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.table tbody tr:hover{background-color:var(--color-bg-hover)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.form-label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:500}.form-input,.form-select{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);transition:border-color var(--transition-normal)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-primary)}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.container{max-width:1200px;margin:0 auto;padding:0 20px}@media (max-width: 768px){.btn{min-height:44px;padding:.5rem 1.1rem;font-size:var(--font-size-sm)}.container{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}@media (max-width: 768px){html{overflow-x:hidden;font-size:16px;-webkit-tap-highlight-color:color-mix(in srgb,var(--color-primary) 18%,transparent)}body{font-size:1rem;line-height:1.55;overscroll-behavior-x:none}table{font-size:.9375rem}.modal-content{width:min(95vw,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-width:95vw;margin:1rem auto;padding:1rem;max-height:calc(100dvh - 2rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto}.control-panel{left:max(8px,env(safe-area-inset-left,0px));right:max(8px,env(safe-area-inset-right,0px));width:auto;max-width:none;padding:0;font-size:.9375rem;line-height:1.45;top:calc(var(--app-header-height) + env(safe-area-inset-top,0px) + 8px);max-height:calc(100dvh - var(--app-header-height) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 16px)}.control-panel .control-panel__title{font-size:.8125rem}.control-panel .control-panel__collapse-btn{width:40px;height:40px;min-width:40px;min-height:40px}.control-panel.control-panel--collapsed .control-panel__collapse-btn{width:44px;height:44px}.control-panel.control-panel--collapsed{width:auto;max-width:52px;max-height:none;left:auto;right:max(10px,env(safe-area-inset-right,0px))}.map-container{min-height:220px;height:calc(100dvh - var(--app-header-height) - env(safe-area-inset-top,0px) - 180px);height:calc(100vh - var(--app-header-height) - env(safe-area-inset-top,0px) - 180px)}}@media (max-width: 480px){body{font-size:1rem;line-height:1.55}table{font-size:.875rem}.secondary-info{display:none}}@media (max-width: 768px) and (orientation: portrait){.map-container{height:min(52dvh,calc(100dvh - var(--app-header-height) - env(safe-area-inset-top,0px) - 140px));height:min(52vh,calc(100vh - var(--app-header-height) - env(safe-area-inset-top,0px) - 140px))}}@media (max-width: 1024px) and (orientation: landscape){.map-container{height:min(72dvh,calc(100dvh - var(--app-header-height) - env(safe-area-inset-top,0px) - 80px));height:min(72vh,calc(100vh - var(--app-header-height) - env(safe-area-inset-top,0px) - 80px))}}@media (hover: none) and (pointer: coarse){button,a[role=button],input[type=submit],input[type=button],input[type=reset],input[type=checkbox],input[type=radio],select{min-height:44px;touch-action:manipulation}input[type=text],input[type=email],input[type=password],input[type=search],input[type=url],input[type=tel],textarea{min-height:44px;font-size:16px}.clickable{padding:.75rem}.app-header a,.app-header button{touch-action:manipulation}}.Toastify__toast{font-family:var(--font-sans);font-size:var(--font-size-sm);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--color-divider)}.Toastify__toast--success,.Toastify__toast--error,.Toastify__toast--info,.Toastify__toast--warning{background:var(--color-surface);color:var(--color-text-strong)}.Toastify__progress-bar--success{background:var(--color-success)}.Toastify__progress-bar--error{background:var(--color-error)}.Toastify__progress-bar--info{background:var(--color-accent)}.Toastify__progress-bar--warning{background:var(--color-warning)}.Toastify__close-button{color:var(--color-text-muted);opacity:.8}.Toastify__close-button:hover{opacity:1;color:var(--color-text-strong)}
