:root{color:#2f3033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}#root{min-height:100vh}.app-shell{background:#e9eaec;min-height:100vh}.topbar{color:#fff;z-index:10;background:#4d4d4f;justify-content:space-between;align-items:stretch;min-height:72px;display:flex;position:sticky;top:0}.brand{cursor:pointer;background:#fff;border:0;justify-content:center;align-items:center;padding:10px 20px;display:flex}.brand-logo{max-width:100%;height:auto;display:block}.brand-logo--login{width:100%;max-width:320px;margin-bottom:28px}.brand-logo--header{width:auto;max-height:52px}.topbar nav{margin-left:auto;display:flex}.topbar nav button{color:#fff;cursor:pointer;background:0 0;border:0;padding:0 28px;font-size:18px}.topbar nav button:hover,.topbar nav button.active{background:#6b6b6d}main{max-width:1400px;margin:0 auto;padding:40px 32px 72px}.login-page{background:#e9eaec;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;width:100%;max-width:520px;padding:44px;box-shadow:0 24px 60px #24292e14}.login-card h1,.section-header h1{color:#2f3033;margin:0;font-size:clamp(30px,5vw,46px);line-height:1.05}.login-card p,.section-header p{color:#76777b;margin:12px 0 0}.login-card form,.search-card{gap:18px;margin-top:32px;display:grid}label{color:#2f3033;text-align:left;gap:8px;font-weight:700;display:grid}input,select{color:#2f3033;font:inherit;background:#f5f8fa;border:1px solid #d8dde2;border-radius:6px;min-height:48px;padding:0 16px}button{font:inherit;border-radius:6px}.login-card button,.search-card button,.toolbar button{color:#fff;cursor:pointer;background:#86d4f3;border:0;min-height:52px;padding:0 24px;font-weight:800}button:disabled{cursor:not-allowed;opacity:.6}.panel{gap:28px;display:grid}.section-header{text-align:left;background:#fff;border-left:5px solid #86d4f3;padding:28px;box-shadow:0 12px 30px #24292e0d}.section-header span{color:#86bfe0;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:800;display:block}.search-card,.status-card,.results{background:#fff;padding:28px;box-shadow:0 12px 30px #24292e0d}.search-card{grid-template-columns:minmax(0,1fr) auto}.checks{flex-wrap:wrap;grid-column:1/-1;gap:18px;display:flex}.checks label,.inline-check{flex-direction:row;align-items:center;font-weight:600;display:flex}.checks input,.inline-check input{min-height:auto}.link-note{color:#48bde9;text-align:center;grid-column:1/-1;margin:0;font-size:22px;font-weight:800}.subnav{background:#f4f5f6;flex-wrap:wrap;gap:4px;display:flex}.subnav button{color:#2f3033;cursor:pointer;background:0 0;border:0;padding:18px 22px;font-size:18px}.subnav button.active{background:#fff;box-shadow:inset 0 4px #86d4f3}.toolbar{background:#fff;align-items:center;gap:12px;margin:24px 0;padding:20px;display:flex}.reports-panel{gap:0;display:grid}.reports-panel__loading,.reports-panel__error{margin-bottom:20px}.reports-card{background:#fff;padding:28px 32px}.reports-card__title{color:#2f3033;margin:0 0 20px;font-size:18px;font-weight:700}.reports-divider{border:0;border-top:1px solid #e1e6ea;margin:0}.reports-dates{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:24px;display:flex}.reports-dates label{flex-direction:column;gap:6px;display:flex}.reports-dates span{color:#2f3033;font-size:14px;font-weight:700}.reports-dates input{min-width:180px}.reports-table th[scope=row]{color:#2f3033;letter-spacing:normal;text-transform:none;background:#fff;width:55%;font-size:14px;font-weight:600}.reports-table td{text-align:right;width:45%}.reports-download-link{color:#2387ad;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:600;text-decoration:underline}.reports-download-link:hover:not(:disabled){color:#1a6a87}.reports-download-link:disabled{cursor:not-allowed;opacity:.6;text-decoration:none}.formula-panel{gap:0;display:grid}.formula-panel__message{margin-bottom:20px}.formula-panel__card{background:#fff;padding:24px 28px 28px}.formula-panel__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.formula-panel__summary{color:#2f3033;flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.formula-panel__summary strong{font-size:24px}.formula-panel__refreshing{color:#74767a;font-size:14px}.formula-panel__page-size{flex-direction:row;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.formula-panel__page-size select{min-width:88px;min-height:40px}.formula-table-wrap{overflow-x:auto}.formula-table{table-layout:auto;min-width:1280px}.formula-table th{letter-spacing:.4px;text-transform:none;vertical-align:top;min-width:120px}.formula-table__header{gap:8px;display:grid}.formula-table__label,.formula-table__sort-button{color:#2f3033;letter-spacing:.4px;text-transform:uppercase;font-size:13px;font-weight:800}.formula-table__sort-button{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.formula-table__sort{color:#9aa0a6;font-size:12px}.formula-table__sort--active{color:#2387ad}.formula-table__filter{min-height:36px;padding:0 10px;font-size:13px;font-weight:500}.formula-table__images{flex-wrap:wrap;gap:6px;display:flex}.formula-table__image{object-fit:contain;background:#f5f8fa;border:1px solid #e1e6ea;border-radius:4px;display:block}.formula-table__upcs{gap:4px;display:grid}.formula-table__empty{color:#74767a;text-align:center;padding:28px 12px}.formula-panel__pagination{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.formula-panel__pagination button{color:#fff;cursor:pointer;background:#86d4f3;border:0;min-height:40px;padding:0 18px;font-weight:700}.formula-panel__toolbar-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.formula-panel__add{color:#fff;cursor:pointer;background:#2387ad;border:0;min-height:40px;padding:0 16px;font-weight:700}.formula-table__actions-cell{text-align:right;vertical-align:middle;white-space:nowrap;width:96px;overflow:visible}.formula-table__actions{white-space:nowrap}.formula-table__edit{color:#2387ad;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:700;text-decoration:underline}.formula-modal-backdrop{z-index:100;background:#24292e8c;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.formula-modal{background:#fff;border-radius:10px;width:100%;max-width:720px;box-shadow:0 24px 60px #24292e2e}.formula-modal--wide{max-width:920px}.formula-modal__header{border-bottom:1px solid #e1e6ea;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.formula-modal__header h2{margin:0;font-size:22px}.formula-modal__close{color:#74767a;cursor:pointer;background:0 0;border:0;min-height:auto;padding:0;font-size:28px;line-height:1}.formula-modal__body{gap:20px;padding:24px;display:grid}.formula-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.formula-modal__section h3{margin:0 0 12px;font-size:16px}.formula-modal__hint{color:#74767a;margin:8px 0 0;font-size:14px}.formula-upc-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.formula-upc-list li{justify-content:space-between;align-items:center;gap:12px;display:flex}.formula-upc-add{grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:12px;display:grid}.formula-modal__images{flex-wrap:wrap;gap:12px;display:flex}.formula-modal__image-card{place-items:center;gap:8px;display:grid}.formula-modal__image-card img{object-fit:contain;background:#f5f8fa;border:1px solid #e1e6ea;border-radius:6px}.formula-modal__upload input[type=file]{min-height:auto;margin-top:8px;padding:8px 0}.formula-modal__footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.formula-modal__footer button{color:#fff;cursor:pointer;background:#86d4f3;border:0;min-height:42px;padding:0 18px;font-weight:700}.formula-modal__footer button[type=button]:first-child{color:#2f3033;background:#e9eaec}.formula-copy__summary p{margin:0 0 8px}.formula-copy__territories{border:1px solid #e1e6ea;border-radius:8px;gap:10px;margin:0;padding:16px;display:grid}.formula-copy__territories legend{padding:0 6px;font-weight:700}.formula-finder{gap:24px;display:grid}.formula-finder__message{margin-bottom:0}.formula-finder__card{background:#fff;padding:28px 32px}.formula-finder__title{color:#2f3033;margin:0 0 20px;font-size:18px;font-weight:700}.formula-finder__filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.formula-finder__filters label{flex-direction:column;gap:8px;font-weight:700;display:flex}.formula-finder__upc-row{grid-template-columns:minmax(0,1fr) auto;align-items:flex-end;gap:12px;margin-bottom:20px;display:grid}.formula-finder__upc-row label{flex-direction:column;gap:8px;font-weight:700;display:flex}.formula-finder__upc-row button{color:#fff;cursor:pointer;background:#86d4f3;border:0;min-height:48px;padding:0 18px;font-weight:700}.formula-finder__options{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.formula-finder__reset{color:#2f3033;cursor:pointer;background:#e9eaec;border:0;min-height:42px;padding:0 18px;font-weight:700}.formula-finder__state-table,.formula-finder__result-table{border-collapse:collapse;width:100%}.formula-finder__state-table th,.formula-finder__state-table td,.formula-finder__result-table th,.formula-finder__result-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e8edf1;padding:12px;font-size:14px}.formula-finder__state-table th,.formula-finder__result-table th{color:#5d6166;width:220px;font-weight:800}.formula-finder__status{color:#74767a;padding:8px 0}.formula-finder__result-card+.formula-finder__result-card{border-top:1px solid #e1e6ea;margin-top:20px;padding-top:20px}.formula-finder__result-title{color:#2f3033;margin-bottom:12px;font-weight:700}.formula-finder__value-list{gap:4px;display:grid}.formula-finder__images{flex-wrap:wrap;gap:12px;display:flex}.formula-finder__image-item{place-items:center;gap:8px;display:grid}.formula-finder__image-item img{object-fit:contain;background:#f5f8fa;border:1px solid #e1e6ea;border-radius:6px}@media (width<=960px){.formula-finder__filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.formula-finder__filters,.formula-finder__upc-row{grid-template-columns:1fr}}.audit-log{gap:0;display:grid}.audit-log__message{margin-bottom:20px}.audit-log__card{background:#fff;padding:24px 28px 28px}.audit-log__filters{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.audit-log__filter-tag{color:#2387ad;cursor:pointer;background:#eef8fd;border:1px solid #b9e3f5;border-radius:999px;align-items:center;gap:8px;min-height:auto;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.audit-log__filter-tag span{font-size:18px;line-height:1}.audit-log__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.audit-log__summary{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.audit-log__summary strong{font-size:24px}.audit-log__page-size{flex-direction:row;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.audit-log__page-size select{min-width:88px;min-height:40px}.audit-log__table-wrap{overflow-x:auto}.audit-log__table{table-layout:fixed;min-width:960px}.audit-log__table th,.audit-log__table td{overflow-wrap:anywhere;vertical-align:top}.audit-log__table th:first-child,.audit-log__table td:first-child{width:110px}.audit-log__table th:nth-child(2),.audit-log__table td:nth-child(2){width:22%}.audit-log__table th:nth-child(3),.audit-log__table td:nth-child(3){width:190px}.audit-log__table th:nth-child(4),.audit-log__table td:nth-child(4){width:150px}.audit-log__table th:nth-child(5),.audit-log__table td:nth-child(5){width:24%}.audit-log__table th:nth-child(6),.audit-log__table td:nth-child(6){width:160px}.audit-log__table th{letter-spacing:.4px;text-transform:none}.audit-log__empty{color:#74767a;text-align:center;padding:28px 12px}.audit-log__link{color:#2387ad;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:14px;font-weight:600;text-decoration:underline}.audit-log__details-cell{white-space:nowrap}.audit-log__details-toggle{color:#2387ad;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;padding:0;font-size:14px;font-weight:600;text-decoration:underline}.audit-log__details-row td{background:#f8fbfd;padding-top:0}.audit-log__details-table{border-collapse:collapse;table-layout:fixed;width:100%;margin-top:8px}.audit-log__details-table th,.audit-log__details-table td{text-align:left;vertical-align:top;border:1px solid #e8edf1;padding:8px 10px;font-size:13px}.audit-log__details-table thead th{background:#f5f8fa;font-weight:800}.audit-log__details-table tbody th{background:#fff;width:120px;font-weight:700}.audit-log__highlight{background:#fff7bf}.audit-log__pagination{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.audit-log__pagination button{color:#fff;cursor:pointer;background:#86d4f3;border:0;min-height:40px;padding:0 18px;font-weight:700}.territory-panel{gap:0;display:grid}.territory-panel__message{margin-bottom:20px}.territory-panel__card{background:#fff;padding:24px 28px 28px}.territory-panel__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.territory-panel__add{color:#fff;cursor:pointer;background:#2387ad;border:0;border-radius:4px;min-height:36px;padding:0 16px;font-size:14px;font-weight:700}.territory-panel__add:disabled{cursor:not-allowed;opacity:.6}.territory-panel__filter{flex-direction:column;align-items:center;gap:6px;min-width:220px;margin-left:auto;display:flex}.territory-panel__filter-label{color:#2f3033;align-self:flex-start;font-size:13px;font-weight:600}.territory-panel__filter input{width:100%;min-height:40px}.territory-panel__table-wrap{overflow-x:auto}.territory-panel__table{table-layout:fixed;width:100%;min-width:720px}.territory-panel__col-id{width:72px}.territory-panel__col-actions{width:240px}.territory-panel__table th,.territory-panel__table td{overflow-wrap:anywhere;text-align:left;vertical-align:middle;padding:12px 14px}.territory-panel__table th:first-child,.territory-panel__table td:first-child{width:72px}.territory-panel__table th:nth-child(2),.territory-panel__table td:nth-child(2){width:auto}.territory-panel__table th:nth-child(3),.territory-panel__table td:nth-child(3){width:240px}.territory-panel__table th{color:#2f3033;letter-spacing:.4px;text-transform:none;border-bottom:1px solid #e4e6ea;font-size:13px;font-weight:700}.territory-panel__actions-cell{text-align:right;vertical-align:middle;white-space:nowrap;overflow:visible}.territory-panel__empty{color:#74767a;text-align:center;padding:24px 14px}.territory-panel__input{box-sizing:border-box;width:100%;min-height:36px}.territory-panel__actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:12px;display:inline-flex}.territory-panel__action{color:#2387ad;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:14px;font-weight:700;text-decoration:underline}.territory-panel__action:disabled{cursor:not-allowed;opacity:.6}.territory-panel__action--danger{color:#c0392b}.territory-panel__action--primary{color:#2387ad}.territory-panel__spinner{color:#74767a;font-size:14px}.firmware-panel__message{margin-bottom:20px}.firmware-panel__header{margin-bottom:24px}.firmware-panel__header h1{color:#2f3033;margin:0 0 8px;font-size:32px}.firmware-panel__subtitle{color:#74767a;margin:0;font-size:16px}.firmware-panel__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}@media (width<=960px){.firmware-panel__grid{grid-template-columns:1fr}}.firmware-panel__card{background:#fff;border:1px solid #e1e6ea;border-radius:10px;padding:24px}.firmware-panel__card-title{color:#2f3033;margin:0 0 20px;font-size:20px}.firmware-panel__table-wrap{border:1px solid #e1e6ea;border-radius:10px;overflow:auto visible}.firmware-panel__col-version{width:88px}.firmware-panel__col-created{width:160px}.firmware-panel__col-flag{width:96px}.firmware-panel__col-action{width:120px}.firmware-panel__table{table-layout:fixed;width:100%;min-width:640px}.firmware-panel__table th,.firmware-panel__table td{overflow-wrap:anywhere;text-align:left;vertical-align:middle;padding:12px 14px}.firmware-panel__table th{color:#5d6166;letter-spacing:.4px;text-transform:none;background:#f5f8fa;font-size:13px;font-weight:800}.firmware-panel__table th:first-child,.firmware-panel__table td:first-child{width:88px}.firmware-panel__table th:nth-child(2),.firmware-panel__table td:nth-child(2){width:160px}.firmware-panel__table th:nth-child(4),.firmware-panel__table td:nth-child(4),.firmware-panel__table th:nth-child(5),.firmware-panel__table td:nth-child(5){width:96px}.firmware-panel__table th:nth-child(6),.firmware-panel__table td:nth-child(6){width:120px}.firmware-panel__table a{color:#2387ad;word-break:break-all;font-weight:600;text-decoration:underline}.firmware-panel__empty{color:#74767a;text-align:center;padding:24px 14px}.firmware-panel__status{align-items:center;gap:6px;font-weight:700;display:inline-flex}.firmware-panel__status--yes{color:#1f8a4c}.firmware-panel__status--yes:before{content:"✓"}.firmware-panel__status--no{color:#c0392b}.firmware-panel__status--no:before{content:"×"}.firmware-panel__action-cell{text-align:right;text-overflow:clip;white-space:nowrap;overflow:visible}.firmware-panel__action{color:#2f3033;cursor:pointer;background:#eef2f5;border:1px solid #d5dde4;border-radius:4px;min-height:36px;padding:0 14px;font-size:14px;font-weight:700}.firmware-panel__action:disabled{cursor:not-allowed;opacity:.6}.firmware-panel__uploading{color:#74767a;margin-bottom:16px}.firmware-panel__upload-form--hidden{display:none}.firmware-panel__upload-table{width:100%;margin-bottom:20px}.firmware-panel__upload-table th{color:#2f3033;text-align:left;vertical-align:middle;white-space:nowrap;width:88px;padding:10px 14px 10px 0;font-size:14px;font-weight:700}.firmware-panel__upload-table td{vertical-align:middle;padding:10px 0}.firmware-panel__version-input{max-width:120px;min-height:40px}.firmware-panel__file-picker{align-items:center;gap:12px;display:flex}.firmware-panel__file-input{max-width:100%}.firmware-panel__file-label{color:#2f3033;background:#f5f8fa;border:1px solid #d5dde4;border-radius:4px;min-width:180px;min-height:40px;padding:10px 14px;display:inline-block}.firmware-panel__upload-actions{justify-content:flex-end;display:flex}.firmware-panel__upload-button{color:#fff;cursor:pointer;background:#2387ad;border:0;border-radius:4px;min-height:40px;padding:0 18px;font-size:14px;font-weight:700}.firmware-panel__upload-button:disabled{cursor:not-allowed;opacity:.6}.dashboard-filters{background:#fff;margin-top:24px;padding:24px}.dashboard-filters__dates{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:16px;display:flex}.dashboard-filters__dates label{flex-direction:column;gap:6px;display:flex}.dashboard-filters__dates span{color:#2f3033;font-size:14px}.dashboard-filters__dates input{min-width:180px}.dashboard-filters__dates button{min-width:96px}.dashboard-filters__presets{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:16px;display:flex}.dashboard-filters__presets-label{color:#74767a;font-size:13px}.dashboard-filters__presets button{color:#2f3033;cursor:pointer;background:#f5f8fa;border:1px solid #d8dde2;border-radius:999px;padding:6px 14px;font-size:13px}.dashboard-filters__presets button:hover{background:#eef3f7}.dashboard-load-progress{margin-top:18px}.dashboard-load-progress__meta{color:#5f6b76;justify-content:space-between;margin-bottom:8px;font-size:13px;display:flex}.dashboard-load-progress__bar{background:#e7ebef;border-radius:999px;height:8px;overflow:hidden}.dashboard-load-progress__bar span{background:linear-gradient(90deg,#2387ad,#43a6c8);height:100%;transition:width .25s;display:block}.dashboard-filters__hint{color:#5f6b76;text-align:center;background:#f7f9fb;border:1px solid #dde3e8;border-radius:8px;margin:16px 0 0;padding:10px 12px;font-size:13px;line-height:1.45}.dashboard-filters__country{flex-direction:column;align-items:center;gap:10px;margin-top:22px;display:flex}.dashboard-filters__country label{color:#2f3033;font-size:14px}.dashboard-filters__country select{width:100%;max-width:420px}.dashboard-filters__note{color:#74767a;margin:0;font-size:13px;font-style:italic}.dashboard-fetch-warning{color:#6b5a1d;background:#fff8e6;border:1px solid #f0d58a;margin-bottom:18px}.dashboard-filters__error{color:#b3261e;text-align:center;margin:16px 0 0}.dashboard-section-loading{min-height:280px}.dashboard-section-loading .dashboard-skeleton-block{height:280px;animation:1.4s linear infinite dashboard-shimmer}.dashboard-section-error{color:#8a1f1a;text-align:center;background:#fff1f0;border:1px solid #f5c2c0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:280px;padding:24px;display:flex}.dashboard-section-error p{margin:0}.dashboard-section-retry{color:#8a1f1a;cursor:pointer;font:inherit;background:#fff;border:1px solid #d9a09c;border-radius:6px;min-width:96px;padding:8px 16px;font-size:14px}.dashboard-section-retry:hover{background:#fff7f6}.dashboard-section-error--wide{grid-column:1/-1;min-height:120px}.dashboard-stat-card--pending strong{display:none}.dashboard-stat-card__pending{margin:0}.dashboard-stat-card__pending .dashboard-skeleton-block--stat{background:linear-gradient(90deg,#eef1f4 25%,#f8fafb 50%,#eef1f4 75%) 0 0/200% 100%;border-radius:6px;width:45%;max-width:160px;height:42px;margin:0;animation:1.4s linear infinite dashboard-shimmer}.dashboard-stat-card__error{flex-direction:column;align-items:flex-start;gap:10px;margin-top:12px;display:flex}.dashboard-stat-card__error p{color:#8a1f1a;margin:0;font-size:13px;line-height:1.4}.dashboard-section-retry--compact{min-width:72px;padding:6px 12px}.dashboard-chart-card__body .dashboard-section-loading,.dashboard-chart-card__body .dashboard-section-error,.dashboard-chart-card__body .chart-empty{min-height:320px}.dashboard-retailers .dashboard-section-loading,.dashboard-retailers .dashboard-section-error,.dashboard-retailers .chart-empty{min-height:180px}.dashboard-content{margin-top:28px}.dashboard-content--refreshing{opacity:.92}.dashboard-stats--refreshing .dashboard-stat-card strong{opacity:.72}.dashboard-charts--skeleton .dashboard-skeleton-line{background:linear-gradient(90deg,#eef1f4 25%,#f8fafb 50%,#eef1f4 75%) 0 0/200% 100%;border-radius:6px;width:40%;height:14px;margin:0 auto 16px}.dashboard-charts--skeleton .dashboard-skeleton-line--title{width:55%}.dashboard-skeleton-block{background:linear-gradient(90deg,#eef1f4 25%,#f8fafb 50%,#eef1f4 75%) 0 0/200% 100%;border-radius:10px;height:280px;animation:1.4s linear infinite dashboard-shimmer}@keyframes dashboard-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-loading{margin-top:28px}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.dashboard-stat-card{background:#fff;min-height:120px;padding:24px 28px;box-shadow:0 12px 30px #24292e0d}.dashboard-stat-card h3{color:#8a8c90;letter-spacing:.04em;text-transform:uppercase;margin:0 0 18px;font-size:14px;font-weight:600}.dashboard-stat-card strong{color:#2f3033;font-size:42px;font-weight:500;line-height:1;display:block}.dashboard-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.dashboard-chart-card{background:#fff;min-width:0;padding:18px 18px 8px;box-shadow:0 12px 30px #24292e0d}.dashboard-chart-card__subtitle{color:#5f6b76;margin:-.35rem 0 .85rem;font-size:.8125rem;line-height:1.4}.dashboard-chart-card h3{color:#74767a;letter-spacing:.04em;text-align:center;text-transform:uppercase;margin:0 0 8px;font-size:14px;font-weight:600}.dashboard-chart-card__body{width:100%;min-width:0;min-height:320px}.users-by-country-chart{min-height:380px;overflow:visible}.country-pie-label{pointer-events:none}.dashboard-chart-shell{width:100%;height:320px}.chart-empty{color:#74767a;text-align:center;justify-content:center;align-items:center;height:320px;font-size:14px;font-style:italic;display:flex}.dashboard-chart-card--wide{grid-column:1/-1;overflow:visible}.dashboard-chart-card--wide .dashboard-chart-card__body{min-height:460px}.formula-brands-chart{grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:16px;min-height:420px;display:grid;overflow:visible}.formula-brands-chart--labeled{grid-template-columns:minmax(0,1.2fr) minmax(200px,.8fr);min-height:460px}.formula-brands-chart__pie{min-width:0;height:460px;min-height:460px;overflow:visible}.formula-brands-chart__frame{width:100%;height:460px}.formula-brands-chart__legend{scrollbar-color:#c8ccd0 transparent;scrollbar-width:thin;border-left:1px solid #e1e6ea;flex-direction:column;gap:2px;max-height:460px;padding:8px 8px 8px 16px;display:flex;overflow-y:auto}.formula-brands-chart__legend::-webkit-scrollbar{width:8px}.formula-brands-chart__legend::-webkit-scrollbar-thumb{background:#c8ccd0;border-radius:999px}.formula-brands-chart__legend-item{grid-template-columns:14px minmax(0,1fr);align-items:center;gap:8px;padding:4px 0;line-height:1.35;display:grid}.formula-brands-chart__swatch{border-radius:2px;width:14px;height:14px;display:block}.formula-brands-chart__legend-name{color:#2f3033;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.chart-tooltip{background:#fff;border:1px solid #e1e6ea;border-radius:8px;gap:4px;padding:10px 12px;display:grid;box-shadow:0 8px 24px #24292e1f}.chart-tooltip strong{color:#2f3033;font-size:13px}.chart-tooltip span{color:#74767a;font-size:12px}.dashboard-retailers{background:#fff;margin-top:18px;padding:24px;box-shadow:0 12px 30px #24292e0d}.dashboard-retailers h3{color:#8a8c90;letter-spacing:.04em;text-transform:uppercase;margin:0 0 18px;font-size:14px;font-weight:600}.dashboard-retailers table th:last-child,.dashboard-retailers table td:last-child{text-align:right;width:120px}.status-card{color:#74767a;text-align:center;font-size:20px;font-style:italic}.status-card.error,.error{color:#b3261e}.muted{color:#8a8c90}.results-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.results-header strong{color:#2f3033;font-size:24px}.results-header .range{color:#74767a;margin-left:auto}pre{color:#2f3033;text-align:left;white-space:pre-wrap;background:#f5f8fa;border:1px solid #e1e6ea;border-radius:8px;margin:0;padding:18px;overflow:auto}.table-wrap{border:1px solid #e1e6ea;border-radius:10px;overflow:hidden}.table-wrap.firmware-panel__table-wrap{overflow:auto visible}.firmware-panel__table th,.firmware-panel__table td{text-overflow:clip;vertical-align:middle;white-space:normal;overflow:visible}.firmware-panel__table .firmware-panel__action-cell{white-space:nowrap}table{border-collapse:collapse;table-layout:fixed;width:100%}th,td{text-align:left;text-overflow:ellipsis;vertical-align:top;white-space:normal;word-break:break-word;border-bottom:1px solid #e8edf1;padding:12px;font-size:14px;overflow:hidden}th{color:#5d6166;letter-spacing:.8px;text-transform:uppercase;background:#f5f8fa;font-size:13px;font-weight:800}td{color:#2f3033}tbody tr:hover{background:#f8fbfd}.table-note{color:#74767a;margin:16px 0 0}.pagination{justify-content:flex-end;align-items:center;gap:14px;margin-top:18px;display:flex}.pagination button{color:#fff;cursor:pointer;background:#86d4f3;border:0;min-height:42px;padding:0 18px;font-weight:800}.pagination span{color:#5d6166;font-weight:700}.kv-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.kv-card{background:#f5f8fa;border:1px solid #e1e6ea;border-radius:10px;gap:8px;padding:16px;display:grid}.kv-card span{color:#74767a;letter-spacing:.8px;text-transform:uppercase;font-size:12px;font-weight:800}.kv-card strong{color:#2f3033;overflow-wrap:anywhere;font-size:20px}.raw-details{grid-column:1/-1}.raw-details summary{color:#48bde9;cursor:pointer;margin-bottom:12px;font-weight:800}@media (width<=760px){.topbar,.topbar nav{flex-direction:column}.topbar nav button{min-height:52px}main{padding:24px 16px 48px}.search-card,.toolbar,.dashboard-stats,.dashboard-charts,.formula-brands-chart{grid-template-columns:1fr}.formula-brands-chart__legend{border-top:1px solid #e1e6ea;border-left:0;max-height:280px;padding-top:16px;padding-left:0}}
