:root{--blue-500: #2569f0;--blue-300: #b2c8ff;--blue-100: #e0eaf8;--blue-50: #f5f7fc;--gray-900: #222222;--gray-500: #777779;--gray-300: #dadde3;--gray-100: #f7f7f7;--color-bg-page: var(--gray-100);--color-bg-surface: #ffffff;--color-bg-field: var(--blue-50);--color-bg-control: var(--gray-100);--color-bg-control-hover: #eeeff2;--color-bg-raised: #ffffff;--color-bg-muted: var(--gray-100);--color-bg-pill: var(--blue-100);--color-bg-pill-neutral: var(--blue-50);--color-bg-accent: var(--blue-500);--color-bg-accent-hover: #1d58cf;--color-bg-promo: var(--blue-100);--color-bg-image: var(--gray-300);--color-text-primary: var(--gray-900);--color-text-secondary: var(--gray-500);--color-text-accent: var(--blue-500);--color-text-inverse: #ffffff;--color-icon-accent: var(--blue-500);--color-border: var(--gray-300);--color-border-control: var(--blue-100);--color-chart-accent: var(--blue-500);--color-chart-soft: var(--blue-300);--color-chart-pale: var(--blue-100);--color-chart-neutral: var(--gray-300);--color-chart-halo: var(--blue-100);--color-chart-halo-active: var(--blue-300);--color-chart-guide: var(--gray-300);--color-chart-band-outer: rgba(178, 200, 255, .6);--color-chart-band-inner: rgba(224, 234, 248, .8);--color-map-land: var(--blue-100);--color-growth-track: var(--blue-100);--color-growth-dot: var(--blue-500);--color-icon-chip-1: var(--blue-500);--color-icon-chip-2: var(--blue-300);--color-icon-chip-3: var(--blue-100);--color-icon-chip-4: var(--gray-300);--color-icon-chip-glyph: var(--gray-900);--color-status-low-bg: #f2e5be;--color-status-low-text: #a6630b;--color-status-none-bg: #ffdfe3;--color-status-none-text: #ff5d6f;--color-status-high-bg: var(--blue-100);--color-status-high-text: var(--blue-500);--color-shadow: rgba(38, 44, 74, .1);--color-overlay: rgba(12, 13, 25, .4);--font-family-base: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--border-radius-xs: 3px;--border-radius-s: 6px;--border-radius-m: 12px;--border-radius-l: 16px;--border-radius-half: 100px;--shadow-popover: 0 4px 16px 0 var(--color-shadow);--space-page: 20px;--space-card: 16px;--duration-fast: .15s;--duration-base: .25s;color-scheme:light}:root[data-theme=dark]{--color-bg-page: #1a1a1a;--color-bg-surface: #2a2a2b;--color-bg-field: #222222;--color-bg-control: #1a1a1a;--color-bg-control-hover: #333334;--color-bg-raised: #1a1a1a;--color-bg-muted: #222222;--color-bg-pill: #1a1a1a;--color-bg-pill-neutral: #222222;--color-bg-promo: #485c77;--color-bg-image: #404040;--color-text-primary: #ffffff;--color-text-secondary: #acacac;--color-text-accent: #61b3ff;--color-border: #404040;--color-border-control: var(--blue-500);--color-chart-soft: #7d93c8;--color-chart-pale: #485c77;--color-chart-neutral: #404040;--color-chart-halo: #404040;--color-chart-halo-active: #485c77;--color-chart-guide: #c3c3c4;--color-chart-band-outer: rgba(64, 64, 64, .9);--color-chart-band-inner: rgba(72, 92, 119, .9);--color-map-land: #404040;--color-growth-track: var(--blue-500);--color-growth-dot: #7d93c8;--color-icon-chip-2: #7d93c8;--color-icon-chip-3: #485c77;--color-icon-chip-4: #404040;--color-icon-chip-glyph: #ffffff;--color-status-low-bg: #605b4c;--color-status-low-text: #f6e179;--color-status-none-bg: #4e3f41;--color-status-none-text: #ff7483;--color-status-high-bg: #404040;--color-status-high-text: #61b3ff;--color-shadow: rgba(0, 0, 0, .35);--color-overlay: rgba(0, 0, 0, .55);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;font-family:var(--font-family-base);font-size:12px;line-height:1.3;color:var(--color-text-primary);background:var(--color-bg-page);-webkit-font-smoothing:antialiased;transition:background-color var(--duration-base)}h1,h2,h3,h4,p,ul,ol,figure,table{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{padding:0;border:0;background:none;cursor:pointer}img,svg{display:block}:focus-visible{outline:2px solid var(--color-bg-accent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.title{font-weight:600;overflow-wrap:break-word}.title--h2{font-size:18px;line-height:1.2}.text{overflow-wrap:break-word}.text--m{font-size:14px;line-height:1.25}.text--body{font-size:12px;line-height:1.3}.text--s{font-size:11px;line-height:1.24}.text--caption{font-size:10px;line-height:1.3}.text--micro{font-size:9px;line-height:1.35}.text--medium{font-weight:500}.text--strong{font-weight:600}.text--secondary{color:var(--color-text-secondary)}.text--accent{color:var(--color-text-accent)}.number{white-space:nowrap}.number--m{font-size:18px;font-weight:600;line-height:1.2}.number--l{font-size:22px;font-weight:700;line-height:1.2}.number--xl{font-size:32px;font-weight:600;line-height:1.1}.icon{flex:none;width:var(--icon-size, 16px);height:var(--icon-size, 16px)}.card{min-width:0;padding:var(--space-card);border-radius:var(--border-radius-l);background:var(--color-bg-surface);transition:background-color var(--duration-base)}.pill{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:2px;padding:0 6px;border-radius:var(--border-radius-half);font-size:9px;line-height:1.35;white-space:nowrap;color:var(--color-text-accent);background:var(--color-bg-pill)}.pill--m{padding:2px 6px;font-size:10px;line-height:1.3}.pill--neutral{color:var(--color-text-secondary);background:var(--color-bg-pill-neutral)}.pill--accent-on-neutral{color:var(--color-text-accent);background:var(--color-bg-pill-neutral)}.scroll-x{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--font-family-base: "Onest", "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--header-height: 60px;--color-status-ok-bg: #dcf3e4;--color-status-ok-text: #1f8a4c;--color-status-wait-bg: var(--blue-50);--color-status-wait-text: var(--gray-500);--color-type-consumable-bg: var(--blue-100);--color-type-consumable-text: var(--blue-500);--color-type-wear-bg: #f2e5be;--color-type-wear-text: #a6630b;--color-type-service-bg: #dcf3e4;--color-type-service-text: #1f8a4c;--color-type-event-bg: #ffdfe3;--color-type-event-text: #e2475a;--color-type-season-bg: #ebe3ff;--color-type-season-text: #6b4fd8;--color-type-none-bg: var(--gray-100);--color-type-none-text: var(--gray-500);--color-telegram-bg: #dfe9f2;--color-telegram-bubble: #ffffff;--color-telegram-button: #eef3f8;--color-telegram-accent: #2a8fd6}:root[data-theme=dark]{--color-status-ok-bg: #2f4a3a;--color-status-ok-text: #6fdc9a;--color-status-wait-bg: #222222;--color-status-wait-text: #acacac;--color-type-consumable-bg: #2f3d55;--color-type-consumable-text: #61b3ff;--color-type-wear-bg: #605b4c;--color-type-wear-text: #f6e179;--color-type-service-bg: #2f4a3a;--color-type-service-text: #6fdc9a;--color-type-event-bg: #4e3f41;--color-type-event-text: #ff7483;--color-type-season-bg: #3f3858;--color-type-season-text: #b9a6ff;--color-type-none-bg: #222222;--color-type-none-text: #acacac;--color-telegram-bg: #17212b;--color-telegram-bubble: #2b5278;--color-telegram-button: #233243;--color-telegram-accent: #6ab3f3}.button{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px 14px;border-radius:var(--border-radius-m);font-size:12px;font-weight:500;line-height:1;text-align:center;white-space:nowrap;transition:background-color var(--duration-fast),color var(--duration-fast)}.button:disabled{opacity:.5;cursor:default}.button--primary{color:var(--color-text-inverse);background:var(--color-bg-accent)}.button--primary:hover:not(:disabled){background:var(--color-bg-accent-hover)}.button--secondary{background:var(--color-bg-control)}.button--secondary:hover:not(:disabled){background:var(--color-bg-control-hover)}.button--ghost{color:var(--color-text-accent)}.button--ghost:hover:not(:disabled){background:var(--color-bg-control)}.button--danger{color:var(--color-status-none-text);background:var(--color-status-none-bg)}.button--s{min-height:30px;padding:6px 10px;font-size:11px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field__label{color:var(--color-text-secondary)}.input,.select,.textarea{width:100%;min-height:40px;padding:10px 14px;border:1px solid transparent;border-radius:var(--border-radius-m);outline:0;font:inherit;font-size:12px;color:var(--color-text-primary);background:var(--color-bg-field);transition:border-color var(--duration-fast)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-bg-accent)}.textarea{min-height:160px;line-height:1.5;resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23777779' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px}.input-group{display:flex;align-items:center;gap:8px}.input-group .input{flex:1}.input--s{min-height:32px;padding:6px 10px;border-radius:8px}.select.input--s{padding-right:28px;background-position:right 8px center}.input--number,.input-group .input--number{width:76px;flex:none}.switch{position:relative;display:inline-flex;align-items:center;gap:12px;white-space:nowrap;cursor:pointer}.switch__input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.switch__track{position:relative;flex:none;width:34px;height:20px;border-radius:var(--border-radius-half);background:var(--color-border);transition:background-color var(--duration-fast)}.switch__track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform var(--duration-fast)}.switch__input:checked+.switch__track{background:var(--color-bg-accent)}.switch__input:checked+.switch__track:after{transform:translate(14px)}.switch__input:focus-visible+.switch__track{outline:2px solid var(--color-bg-accent);outline-offset:2px}.segmented{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:var(--border-radius-half);background:var(--color-bg-field)}.segmented__item{min-height:28px;padding:6px 12px;border-radius:var(--border-radius-half);font-size:12px;font-weight:500;line-height:1.3;white-space:nowrap;color:var(--color-text-secondary);transition:background-color var(--duration-fast),color var(--duration-fast)}.segmented__item:hover{color:var(--color-text-primary)}.segmented__item.is-active{color:var(--color-text-primary);background:var(--color-bg-surface);box-shadow:0 1px 3px var(--color-shadow)}.segmented__count{margin-left:4px;color:var(--color-text-secondary)}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px}.page-head__title{font-size:24px;font-weight:600;line-height:1.2}.page-head__lead{margin-top:4px;max-width:640px}.page-head__actions{display:flex;flex-wrap:wrap;gap:8px}.stack{display:flex;flex-direction:column;gap:20px;min-width:0}.stack--s{gap:12px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px}.toolbar__search{flex:0 1 280px}.card--flat{background:var(--color-bg-muted)}.card-header__actions{display:flex;align-items:center;gap:8px}.divider-list>*+*{border-top:1px solid var(--color-border)}.empty{padding:24px 12px;text-align:center;color:var(--color-text-secondary)}.link{color:var(--color-text-accent)}.link:hover{text-decoration:underline}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace}.icon-chip{display:grid;flex:none;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--color-icon-chip-glyph)}.icon-chip--tone-1{color:var(--color-bg-surface);background:var(--color-icon-chip-1)}.icon-chip--tone-2{background:var(--color-icon-chip-2)}.icon-chip--tone-3{background:var(--color-icon-chip-3)}.icon-chip--tone-4{background:var(--color-icon-chip-4)}.avatar{display:grid;flex:none;place-items:center;width:32px;height:32px;border-radius:50%;font-size:11px;font-weight:600;color:var(--color-text-accent);background:var(--color-bg-pill)}.avatar--l{width:56px;height:56px;font-size:18px}.table-scroll{margin-inline:calc(var(--space-card) * -1);padding-inline:var(--space-card)}.data-table{width:100%;border-collapse:collapse}.data-table__head-row{background:var(--color-bg-muted)}.data-table th,.data-table td{padding:12px 8px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.data-table th{border-top:1px solid var(--color-border);font-size:11px;font-weight:400;white-space:nowrap;color:var(--color-text-secondary)}.data-table th:first-child,.data-table td:first-child{padding-left:12px}.data-table th:last-child,.data-table td:last-child{padding-right:12px}.data-table .is-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table__row{transition:background-color var(--duration-fast)}.data-table__row:hover,.data-table__row.is-selected{background:var(--color-bg-muted)}.data-table__row--link{cursor:pointer}.cell-main{display:flex;align-items:center;gap:12px;min-width:0}.cell-main__text{display:flex;flex-direction:column;gap:2px;min-width:0}@media not (min-width:768px){.stack{gap:12px}.page-head__title{font-size:20px}}.icon{display:inline-flex}.icon>svg{width:100%;height:100%}.search-field{display:flex;align-items:center;gap:6px;min-width:0;border-radius:var(--border-radius-half);color:var(--color-text-secondary);background:var(--color-bg-field);transition:box-shadow var(--duration-fast)}.search-field:focus-within{box-shadow:inset 0 0 0 1px var(--color-bg-accent)}.search-field--m{min-height:44px;padding:8px 16px;font-size:12px}.search-field--s{min-height:32px;padding:8px 12px;font-size:11px}.search-field__input{flex:1;min-width:0;padding:0;border:0;outline:0;color:var(--color-text-primary);background:none}.search-field__input::placeholder{color:var(--color-text-secondary);opacity:1}.search-field__input::-webkit-search-cancel-button{cursor:pointer}.header{display:flex;align-items:center;justify-content:space-between;gap:32px;height:var(--header-height);padding:8px 12px 8px 20px;border-radius:var(--border-radius-l);background:var(--color-bg-surface);transition:background-color var(--duration-base)}.header__start,.header__end,.header__actions{display:flex;align-items:center}.header__start{gap:12px;min-width:0}.header__end{flex:0 1 520px;justify-content:flex-end;gap:16px;min-width:0}.header__search{flex:0 1 260px}.header__actions{gap:8px;padding:4px 6px;border-radius:var(--border-radius-half);background:var(--color-bg-field)}.header__nav-toggle{display:none;position:relative;flex:none;width:36px;height:36px;border-radius:var(--border-radius-m);background:var(--color-bg-field)}.header__nav-toggle-line,.header__nav-toggle-line:before,.header__nav-toggle-line:after{position:absolute;left:10px;width:16px;height:2px;border-radius:2px;background:var(--color-text-primary);transition:transform var(--duration-fast),opacity var(--duration-fast)}.header__nav-toggle-line{top:17px}.header__nav-toggle-line:before,.header__nav-toggle-line:after{content:"";left:0}.header__nav-toggle-line:before{top:-5px}.header__nav-toggle-line:after{top:5px}.header__nav-toggle[aria-expanded=true] .header__nav-toggle-line{background:transparent}.header__nav-toggle[aria-expanded=true] .header__nav-toggle-line:before{transform:translateY(5px) rotate(45deg)}.header__nav-toggle[aria-expanded=true] .header__nav-toggle-line:after{transform:translateY(-5px) rotate(-45deg)}.logo{display:inline-flex;flex:none;align-items:center;gap:6px}.logo__text{font-size:22px;white-space:nowrap;font-weight:600;line-height:1.1}:root[data-theme=dark] .logo__mark path[fill="#B2C8FF"]{fill:#7d93c8}.icon-button{position:relative;display:grid;place-items:center;width:30px;height:30px;border-radius:var(--border-radius-half);background:var(--color-bg-surface);transition:background-color var(--duration-fast),color var(--duration-fast)}.icon-button:hover{color:var(--color-text-accent)}.icon-button__badge{position:absolute;top:2px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--color-bg-accent)}.profile{display:flex;flex:none;align-items:center;gap:8px;min-height:44px;padding:6px 16px 6px 6px;border-radius:var(--border-radius-half);text-align:left;background:var(--color-bg-field)}.profile__info{display:flex;flex-direction:column}.profile__name{white-space:nowrap}@media not (min-width:1360px){.header__nav-toggle{display:block}}@media not (min-width:768px){.header{gap:12px;padding:8px 8px 8px 12px}.header__end{gap:8px}.header__search{display:none}.profile{padding:4px}.profile__info{display:none}}@media not (min-width:480px){.logo__text{font-size:17px}}.sidebar{display:flex;flex-direction:column;gap:24px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:16px 16px 24px;border-radius:var(--border-radius-l);background:var(--color-bg-surface);transition:background-color var(--duration-base)}.sidebar__list{display:flex;flex-direction:column;gap:8px}.nav-button{display:flex;align-items:center;gap:12px;min-height:46px;padding:12px 12px 12px 16px;border-radius:var(--border-radius-m);color:var(--color-text-secondary);transition:background-color var(--duration-fast),color var(--duration-fast)}.nav-button:hover{color:var(--color-text-primary);background:var(--color-bg-control)}.nav-button.is-active{color:var(--color-text-inverse);background:var(--color-bg-accent)}.nav-button.is-active .nav-button__label{font-weight:600}.nav-button__label{line-height:1}.sidebar__nav{margin-bottom:96px}@media(not (min-height:880px))and (min-width:1360px){.sidebar__nav{margin-bottom:0}.promo-banner{padding-top:16px}.promo-banner__image{display:none}}@media(not (min-height:640px))and (min-width:1360px){.nav-button{min-height:40px;padding-block:9px}.sidebar__list{gap:4px}}.sidebar__promo{margin-top:auto}.promo-banner{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 12px 16px;border-radius:var(--border-radius-m);text-align:center;background:var(--color-bg-promo)}.promo-banner__image{margin-top:-102px;width:120px;height:120px}.promo-banner__text{display:flex;flex-direction:column;gap:6px}.promo-banner__title{font-size:14px;font-weight:700;line-height:1.3}.promo-banner__note{line-height:1.35}.promo-banner__button{align-self:stretch}.sidebar-overlay{display:none}@media not (min-width:1360px){.sidebar{position:fixed;z-index:50;top:12px;bottom:12px;left:12px;width:236px;height:auto;overflow-y:auto;overscroll-behavior:contain;box-shadow:var(--shadow-popover);transform:translate(calc(-100% - 24px));visibility:hidden;transition:transform var(--duration-base),visibility var(--duration-base),background-color var(--duration-base)}.sidebar.is-open{transform:none;visibility:visible}.sidebar-overlay{display:block;position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);opacity:0;visibility:hidden;transition:opacity var(--duration-base),visibility var(--duration-base)}.sidebar-overlay.is-open{opacity:1;visibility:visible}.sidebar__list{gap:6px}}.app-toast{position:fixed;z-index:70;bottom:20px;left:50%;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:var(--border-radius-m);color:var(--color-bg-surface);background:var(--color-text-primary);box-shadow:var(--shadow-popover);transform:translate(-50%)}.toast-enter-active,.toast-leave-active{transition:opacity var(--duration-base),transform var(--duration-base)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,8px)}html.is-locked{overflow:hidden}html,body{height:100%;overflow:hidden;overflow:clip}.page{display:flex;flex-direction:column;gap:var(--space-page);max-width:1920px;height:100dvh;margin-inline:auto;padding:var(--space-page)}.page__header{flex:none;z-index:30}.page__content{display:grid;flex:1;grid-template-columns:220px minmax(0,1fr);gap:var(--space-page);min-height:0}.page__main{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border-radius:var(--border-radius-l)}@media not (min-width:1360px){.page__content{grid-template-columns:minmax(0,1fr)}}@media not (min-width:768px){:root{--space-page: 12px}.page{gap:12px}}
