:root{--entity-bg:#f6f8fb;--entity-surface:#ffffff;--entity-surface-subtle:#f9fafb;--entity-border:#e5e7eb;--entity-border-soft:#edf0f4;--entity-text:#111827;--entity-text-soft:#667085;--entity-text-muted:#98a2b3;--entity-primary:hsl(var(--primary));--entity-primary-soft:color-mix(in srgb,hsl(var(--primary)) 12%,transparent);--entity-success:#16a34a;--entity-warning:#d97706;--entity-danger:#dc2626;--entity-radius-sm:10px;--entity-radius-md:14px;--entity-radius-lg:16px;--entity-shadow-sm:0 1px 2px rgba(16,24,40,0.04);--entity-shadow-md:0 8px 24px rgba(16,24,40,0.06)}.dark{--entity-bg:hsl(var(--background));--entity-surface:hsl(var(--card));--entity-surface-subtle:hsl(var(--muted));--entity-border:hsl(var(--border));--entity-border-soft:hsl(var(--border));--entity-text:hsl(var(--foreground));--entity-text-soft:hsl(var(--muted-foreground));--entity-text-muted:hsl(var(--muted-foreground));--entity-primary:hsl(var(--primary));--entity-primary-soft:color-mix(in srgb,hsl(var(--primary)) 18%,transparent);--entity-shadow-sm:none;--entity-shadow-md:none}.entity-page{min-height:100%;color:var(--entity-text);padding:24px}.entity-page--compact{padding-top:16px}.entity-page__inner{width:100%;max-width:1440px;margin:0 auto}.entity-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(320px,4fr);gap:20px;align-items:start}.entity-stack{display:flex;flex-direction:column;gap:16px}.entity-card{background:var(--entity-surface);border:1px solid var(--entity-border-soft);border-radius:var(--entity-radius-lg);box-shadow:var(--entity-shadow-sm)}.entity-card--padded{padding:18px}.entity-card__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px 18px 0}.entity-card__body{padding:18px}.entity-card__row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.entity-card__title{margin:0;font-size:14px;line-height:1.3;font-weight:650;color:var(--entity-text)}.entity-card__subtitle{margin-top:4px;font-size:12px;color:var(--entity-text-soft)}.entity-header{background:var(--entity-surface);border:1px solid var(--entity-border-soft);border-radius:var(--entity-radius-lg);box-shadow:var(--entity-shadow-sm);padding:20px;margin-bottom:20px;overflow:hidden}.entity-header__top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;min-width:0}.entity-header__eyebrow{font-size:12px;font-weight:600;color:var(--entity-text-soft);letter-spacing:.02em;margin-bottom:6px}.entity-header__title{margin:0;font-size:clamp(22px,2vw,28px);line-height:1.15;font-weight:700;color:var(--entity-text);min-width:0}.entity-header__subtitle{margin-top:8px;color:var(--entity-text-soft);font-size:14px;min-width:0}.entity-header__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.entity-header__actions{display:flex;gap:8px;align-items:center;margin-left:auto;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.entity-button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:8px;white-space:nowrap;border-radius:10px;border:1px solid var(--entity-border);background:var(--entity-surface);color:var(--entity-text);font-size:13px;font-weight:600;padding:0 12px;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.entity-button:hover{background:var(--entity-surface-subtle)}.entity-button:disabled{opacity:.55;cursor:not-allowed}.entity-button--primary{border-color:var(--entity-primary);background:var(--entity-primary);color:hsl(var(--primary-foreground))}.entity-button--primary:hover{filter:brightness(.96)}.entity-button--secondary{border-color:var(--entity-border);background:var(--entity-surface);color:var(--entity-text)}.entity-button--ghost{border-color:transparent;background:transparent}.entity-badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;font-size:12px;font-weight:600;white-space:nowrap}.entity-badge--neutral{background:var(--entity-surface-subtle);color:#475467}.entity-badge--success{background:rgba(22,163,74,.1);color:var(--entity-success)}.entity-badge--warning{background:rgba(217,119,6,.1);color:var(--entity-warning)}.entity-badge--danger{background:rgba(220,38,38,.1);color:var(--entity-danger)}.entity-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.entity-metric{background:var(--entity-surface);border:1px solid var(--entity-border-soft);border-radius:var(--entity-radius-md);padding:14px}.entity-metric__label{color:var(--entity-text-soft);font-size:12px;font-weight:500}.entity-metric__value{margin-top:8px;font-size:20px;line-height:1.1;font-weight:700;color:var(--entity-text)}.entity-metric__hint{margin-top:6px;font-size:12px;color:var(--entity-text-muted)}.entity-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.entity-fields--spaced{margin-top:16px}.entity-field{min-width:0}.entity-field__label{display:block;font-size:11px;font-weight:600;color:var(--entity-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.entity-field__value{font-size:14px;color:var(--entity-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-field__value--wrap{white-space:normal;overflow:visible;text-overflow:unset;word-break:break-word}.entity-field__value--muted{color:var(--entity-text-muted)}.entity-table-wrap{overflow:hidden;border-radius:var(--entity-radius-md);border:1px solid var(--entity-border-soft);background:var(--entity-surface)}.entity-table{width:100%;border-collapse:collapse;font-size:13px}.entity-table thead{background:var(--entity-surface-subtle)}.entity-table th{color:var(--entity-text-soft);font-size:12px;font-weight:650;text-align:left;padding:11px 14px}.entity-table td,.entity-table th{border-bottom:1px solid var(--entity-border-soft)}.entity-table td{padding:12px 14px;color:var(--entity-text);vertical-align:middle}.entity-table tr:last-child td{border-bottom:none}.entity-table tbody tr:hover{background:var(--entity-surface-subtle)}.entity-table__numeric{text-align:right;font-variant-numeric:tabular-nums}.entity-table-heading{font-size:12px;font-weight:650;color:var(--entity-text-soft);text-align:left;white-space:nowrap}.entity-table-heading--right{text-align:right}.entity-table-heading--center{text-align:center}.entity-toolbar{width:100%;display:flex;flex-direction:column;gap:12px}.entity-toolbar--compact{margin-bottom:14px}.entity-toolbar__top{width:100%;display:flex;align-items:center;gap:10px}.entity-toolbar__search{position:relative;display:block;width:auto;max-width:none;min-width:280px;flex:1 1 auto}.entity-toolbar__toggle{flex-shrink:0;white-space:nowrap;min-width:-moz-max-content;min-width:max-content}.entity-toolbar__toggle span{white-space:nowrap}.entity-toolbar__search-icon{position:absolute;left:13px;top:50%;height:16px;width:16px;transform:translateY(-50%);color:var(--entity-text-muted);pointer-events:none}.entity-toolbar__search-input{height:40px;width:100%;border-radius:10px;border:1px solid var(--entity-border);background:var(--entity-surface);padding:0 12px 0 40px;font-size:14px;color:var(--entity-text);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.entity-toolbar__search-input::-moz-placeholder{color:var(--entity-text-muted)}.entity-toolbar__search-input::placeholder{color:var(--entity-text-muted)}.entity-toolbar__search-input:focus{border-color:var(--entity-primary);box-shadow:0 0 0 3px var(--entity-primary-soft)}.entity-toolbar__spacer{display:none}.entity-toolbar__right{margin-left:auto;flex-shrink:0;display:flex;align-items:center;gap:8px}.entity-toolbar__filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:10px}.entity-toolbar__filters--secondary{padding-top:2px}.entity-toolbar__filters--dense .entity-toolbar__filter{min-width:132px;gap:4px}.entity-toolbar__filters--dense .entity-toolbar__filter-label{font-size:11px}.entity-toolbar__filters--dense .entity-toolbar__select{min-width:132px;height:38px;font-size:13px;padding:0 9px}.entity-toolbar__filters--dense .entity-toolbar__text-input{height:38px;font-size:13px}.entity-toolbar__filters--dense .entity-toolbar__filter--supplier{min-width:220px;flex:1 1 280px}.entity-toolbar__filters--dense .entity-toolbar__filter--sort{min-width:148px;flex:0 1 170px}.entity-toolbar__filters--panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.entity-toolbar__group{display:flex;flex-direction:column;gap:6px;min-width:0}.entity-toolbar__group--span-2{grid-column:1/-1}.entity-toolbar__subgrid{display:grid;gap:10px;min-width:0}.entity-toolbar__subgrid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.entity-toolbar__subgrid--three{grid-template-columns:110px minmax(160px,1fr) minmax(140px,1fr)}.entity-toolbar__filter{display:grid;min-width:160px;gap:5px}.entity-toolbar__filter--supplier{flex:1 1 260px}.entity-toolbar__filter--sort{flex:0 1 180px}.entity-toolbar__filter-label{font-size:12px;font-weight:600;color:var(--entity-text-soft)}.entity-toolbar__select{min-width:0;width:100%}.entity-toolbar__number-range{display:flex;align-items:end;gap:8px}.entity-toolbar__number-field{display:grid;gap:5px}.entity-toolbar__number-input{width:150px}.entity-toolbar__clear{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:var(--entity-text);font-size:13px;font-weight:600;cursor:pointer}.entity-toolbar__clear:disabled{opacity:.45;cursor:not-allowed}.entity-toolbar__filter-actions{margin-left:auto;display:flex;align-items:end;justify-content:flex-end;min-width:-moz-fit-content;min-width:fit-content}.entity-toolbar__clear--panel{min-height:38px;border:1px solid var(--entity-border);border-radius:10px;background:var(--entity-surface);padding:0 11px}.entity-toolbar__clear--panel:hover{background:var(--entity-surface-subtle)}.entity-toolbar__active{display:flex;flex-wrap:wrap;gap:8px}.entity-toolbar__chip{display:inline-flex;min-height:26px;align-items:center;border-radius:999px;background:var(--entity-surface-subtle);color:var(--entity-text-soft);border:1px solid var(--entity-border-soft);padding:0 10px;font-size:12px;font-weight:600}.entity-date-field{display:grid;gap:5px;min-width:160px}.entity-date-field__control{position:relative;display:block}.entity-date-field__input{height:40px;width:100%;border-radius:10px;border:1px solid var(--entity-border);background:var(--entity-surface);color:var(--entity-text);padding:0 38px 0 11px;font-size:14px;outline:none;color-scheme:light;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.entity-date-field__input:focus{border-color:var(--entity-primary);box-shadow:0 0 0 3px var(--entity-primary-soft)}.entity-date-field__input:disabled{opacity:.6;cursor:not-allowed}.entity-date-field__input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer}.entity-date-field__clear,.entity-date-field__icon{position:absolute;right:11px;top:50%;height:16px;width:16px;transform:translateY(-50%);color:var(--entity-text-muted)}.entity-date-field__clear{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;padding:0;cursor:pointer}.entity-date-field__clear:hover{color:var(--entity-text)}.dark .entity-date-field__input{color-scheme:dark}.entity-segmented-control{display:grid;gap:8px;width:100%}.entity-segmented-control--four{grid-template-columns:repeat(4,minmax(0,1fr))}.entity-segmented-control__item{min-height:40px;border-radius:10px;border:1px solid var(--entity-border);background:var(--entity-surface);color:var(--entity-text);font-size:14px;font-weight:650;padding:0 12px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.entity-segmented-control__item:hover{background:var(--entity-surface-subtle)}.entity-segmented-control__item.entity-segmented-control__item--active,.entity-segmented-control__item[aria-checked=true],.entity-segmented-control__item[data-active=true]{border-color:var(--entity-primary)!important;background:var(--entity-primary-soft)!important;color:var(--entity-primary)!important;box-shadow:0 0 0 1px var(--entity-primary)!important}.entity-segmented-control__item[aria-checked=true]:hover,.entity-segmented-control__item[data-active=true]:hover{background:var(--entity-primary-soft)!important}.entity-segmented-control__item:focus-visible{outline:none;border-color:var(--entity-primary);box-shadow:0 0 0 3px var(--entity-primary-soft)}.dark .entity-segmented-control__item.entity-segmented-control__item--active,.dark .entity-segmented-control__item[aria-checked=true],.dark .entity-segmented-control__item[data-active=true]{border-color:var(--entity-primary)!important;background:color-mix(in srgb,var(--entity-primary) 22%,transparent)!important;color:var(--entity-primary)!important;box-shadow:0 0 0 1px var(--entity-primary)!important}.entity-filter-pills{display:flex;flex-wrap:wrap;gap:8px}.entity-filter-pill{min-height:36px;border-radius:999px;border:1px solid var(--entity-border);background:var(--entity-surface);color:var(--entity-text-soft);font-size:13px;font-weight:600;padding:0 12px;cursor:pointer}.entity-filter-pill--active{border-color:var(--entity-primary);background:var(--entity-primary-soft);color:var(--entity-primary)}.entity-empty{padding:28px 18px;text-align:center;color:var(--entity-text-soft)}.entity-empty__title{font-size:14px;font-weight:650;color:var(--entity-text)}.entity-empty__text{margin-top:4px;font-size:13px}.entity-tabs{display:flex;gap:4px;padding:4px;background:var(--entity-surface-subtle);border-radius:12px;width:-moz-fit-content;width:fit-content}.entity-tab{border:0;background:transparent;border-radius:9px;min-height:32px;padding:0 12px;font-size:13px;font-weight:600;color:var(--entity-text-soft);cursor:pointer}.entity-tab[aria-selected=true]{background:var(--entity-surface);color:var(--entity-text);box-shadow:var(--entity-shadow-sm)}.entity-dialog-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.32);z-index:70}.entity-dialog{position:fixed;right:24px;top:24px;bottom:24px;width:min(760px,calc(100vw - 48px));background:var(--entity-surface);border-radius:20px;border:1px solid var(--entity-border-soft);box-shadow:var(--entity-shadow-md);z-index:80;overflow:hidden;display:flex;flex-direction:column}.entity-dialog--sm{width:min(420px,calc(100vw - 48px))}.entity-dialog--md{width:min(560px,calc(100vw - 48px))}.entity-dialog--lg{width:min(760px,calc(100vw - 48px))}.entity-dialog--xl{width:min(960px,calc(100vw - 48px))}.entity-dialog__header{padding:18px;border-bottom:1px solid var(--entity-border-soft);display:flex;justify-content:space-between;gap:16px}.entity-dialog__body{padding:18px;overflow:auto;min-height:0}.entity-dialog__footer{padding:14px 18px;border-top:1px solid var(--entity-border-soft);display:flex;justify-content:flex-end;gap:8px}.entity-form{display:flex;min-height:100%;flex-direction:column}.entity-form__content{display:flex;flex-direction:column;gap:16px}.entity-form__section{border:1px solid var(--entity-border-soft);border-radius:var(--entity-radius-md);background:var(--entity-surface);padding:16px}.entity-form__section-header{margin-bottom:14px}.entity-form__section-title{margin:0;font-size:14px;font-weight:650;color:var(--entity-text)}.entity-form__section-description{margin-top:3px;font-size:12px;color:var(--entity-text-soft)}.entity-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.entity-form__field{min-width:0}.entity-form__label{display:block;margin-bottom:6px;font-size:12px;font-weight:600;color:var(--entity-text-soft)}.entity-form__footer{position:sticky;bottom:0;z-index:2;margin:18px -18px -18px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--entity-border-soft);background:var(--entity-surface);padding:14px 18px}.entity-input,.entity-select,.entity-textarea{width:100%;border-radius:10px;border:1px solid var(--entity-border);background:var(--entity-surface);color:var(--entity-text);font-size:14px;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.entity-input,.entity-select{height:40px;padding:0 11px}.entity-textarea{min-height:92px;padding:10px 11px;resize:vertical}.entity-input:focus,.entity-select:focus,.entity-textarea:focus{border-color:var(--entity-primary);box-shadow:0 0 0 3px var(--entity-primary-soft)}.entity-map{position:relative;z-index:0;overflow:hidden;border-radius:12px;border:1px solid var(--entity-border-soft)}.entity-map .leaflet-container{z-index:0}.leaflet-bottom,.leaflet-pane,.leaflet-top{z-index:1!important}.dark .entity-badge--neutral{background:color-mix(in srgb,hsl(var(--muted)) 80%,transparent);color:hsl(var(--muted-foreground))}.dark .entity-badge--success{background:rgba(22,163,74,.18)}.dark .entity-badge--warning{background:rgba(217,119,6,.22)}.dark .entity-badge--danger{background:rgba(220,38,38,.22)}.dark .entity-date-field__input:focus,.dark .entity-input:focus,.dark .entity-select:focus,.dark .entity-textarea:focus,.dark .entity-toolbar__search-input:focus{box-shadow:0 0 0 3px var(--entity-primary-soft)}@media (max-width:1180px){.entity-grid{grid-template-columns:1fr}.entity-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.entity-page{padding:14px}.entity-dialog{inset:auto 0 0 0;top:8vh;bottom:0;right:0;width:100%;border-radius:18px 18px 0 0}.entity-header__top{flex-direction:column}.entity-header__actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.entity-fields,.entity-form__grid,.entity-metrics{grid-template-columns:1fr}.entity-segmented-control--four{grid-template-columns:repeat(2,minmax(0,1fr))}.entity-table-wrap{overflow-x:auto}.entity-toolbar__top{align-items:stretch;flex-direction:column}.entity-toolbar__search{width:100%;flex:unset}.entity-toolbar__right{width:100%;justify-content:stretch}.entity-toolbar__right>*{width:100%}.entity-toolbar__clear{width:100%;margin-left:0;justify-content:flex-start}.entity-toolbar__filters{display:grid}.entity-toolbar__filters,.entity-toolbar__filters--panel{grid-template-columns:1fr}.entity-toolbar__filters--secondary{padding-top:0}.entity-toolbar__subgrid--three,.entity-toolbar__subgrid--two{grid-template-columns:1fr}.entity-toolbar__filter,.entity-toolbar__number-input,.entity-toolbar__select{width:100%;min-width:0}.entity-toolbar__filter--sort,.entity-toolbar__filter--supplier{flex:1 1 auto}.entity-toolbar__number-range{display:grid;grid-template-columns:1fr}.entity-toolbar__filter-actions{width:100%;min-width:0;margin-left:0}.entity-toolbar__clear--panel{width:100%;justify-content:flex-start}.entity-date-field{width:100%;min-width:0}}.settings-card{background:var(--entity-surface);border:1px solid var(--entity-border-soft);border-radius:var(--entity-radius-lg);box-shadow:var(--entity-shadow-sm)}.settings-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 18px 0}.settings-card__title{margin:0;color:var(--entity-text);font-size:15px;font-weight:700;line-height:1.25}.settings-card__description{margin:4px 0 0;color:var(--entity-text-soft);font-size:13px;line-height:1.45}.settings-card__action{flex-shrink:0}.settings-card__body{padding:18px}.settings-field{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--entity-border-soft);padding:14px 0}.settings-field:first-child{padding-top:0}.settings-field:last-child{border-bottom:0;padding-bottom:0}.settings-field__main{min-width:0}.settings-field__label{color:var(--entity-text-soft);font-size:12px;font-weight:650}.settings-field__value{margin-top:4px;color:var(--entity-text);font-size:14px;font-weight:500;overflow-wrap:anywhere}.settings-field__value--empty{color:var(--entity-text-muted);font-weight:400}.settings-field__description{margin-top:4px;color:var(--entity-text-muted);font-size:12px}.settings-field__action{flex-shrink:0}.settings-tabs{display:flex;flex-wrap:wrap;gap:6px}.settings-tabs__item{display:inline-flex;min-height:34px;align-items:center;justify-content:center;border-radius:10px;color:var(--entity-text-soft);font-size:13px;font-weight:650;padding:0 12px;text-decoration:none;transition:background .12s ease,color .12s ease}.settings-tabs__item:hover{background:var(--entity-surface-subtle);color:var(--entity-text)}.settings-tabs__item[data-active=true]{background:var(--entity-primary-soft);color:var(--entity-primary)}@media (max-width:720px){.settings-card__header,.settings-field{flex-direction:column}.settings-card__action,.settings-field__action{width:100%}}