:root{color-scheme:light;font-family:Segoe UI,sans-serif;line-height:1.5;font-weight:400;background:radial-gradient(circle at top left,rgba(255,225,156,.7),transparent 28%),radial-gradient(circle at top right,rgba(113,182,255,.25),transparent 22%),linear-gradient(180deg,#fff9ec,#f7f8fc 52%,#eef3fb);color:#20263b}*{box-sizing:border-box}body{margin:0;min-width:320px}.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}button,input,select,textarea{font:inherit}#root{min-height:100vh}.login-shell{min-height:100vh;width:min(100vw - 32px,520px);margin:0 auto;display:grid;place-items:center;padding:32px 0}.login-panel{width:100%;padding:28px;border:1px solid rgba(32,38,59,.08);border-radius:24px;background:#ffffffdb;box-shadow:0 24px 64px #2b3c7624;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-panel h1{margin:0;line-height:1.05;font-size:2.25rem}.login-copy{margin:12px 0 0;color:#55607f}.login-alert{margin-top:18px;padding:14px;border-radius:8px;background:#fff2d2;color:#805900}.login-form{display:flex;flex-direction:column;gap:14px;margin-top:24px}.login-button{width:100%}.shell{width:min(1400px,calc(100vw - 32px));margin:0 auto;padding:32px 0 56px}.hero{display:flex;justify-content:space-between;gap:24px;padding:28px;border:1px solid rgba(32,38,59,.08);border-radius:28px;background:#ffffffc7;box-shadow:0 24px 64px #2b3c761f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.eyebrow,.panel-kicker{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;color:#7b5f14}.hero h1,.panel h2{margin:0;max-width:760px;line-height:1.05}.hero h1{font-size:clamp(2rem,4vw,3.4rem)}.hero-copy{max-width:720px;margin:16px 0 0;color:#55607f}.hero-meta{min-width:220px;display:flex;flex-direction:column;gap:12px;align-items:flex-end}.badge,.stamp,.action-button{display:inline-flex;align-items:center;border-radius:999px;padding:10px 14px;font-size:.9rem}.badge-ok{background:#e1f6eb;color:#0f7a45}.badge-warn{background:#fff2d2;color:#8f6200}.stamp{background:#20263b0f;color:#47506d}.action-button{justify-content:center;background:#2e6df6;color:#fff;text-decoration:none;border:none;cursor:pointer}.action-button.secondary{background:#20263b14;color:#2f3957}.notice{margin-top:18px;display:flex;gap:10px;align-items:center;padding:14px 18px;border-radius:18px;background:#fffc;border:1px solid rgba(32,38,59,.08)}.loading-experience{display:grid;justify-items:center;gap:16px;padding:46px 20px;text-align:center}.loading-experience h3{margin:0;font-size:clamp(1.25rem,2vw,1.6rem)}.loading-experience p{margin:8px 0 0;color:#607091}.loading-spinner{position:relative;width:58px;height:58px}.loading-spinner:before,.loading-spinner:after,.loading-spinner span{position:absolute;top:0;right:0;bottom:0;left:0;content:"";border-radius:999px;border:4px solid transparent}.loading-spinner:before{border-top-color:#2e6df6;border-left-color:#2e6df6;animation:spin 1s linear infinite}.loading-spinner:after{top:10px;right:10px;bottom:10px;left:10px;border-right-color:#22caa8;border-top-color:#22caa8;animation:spin 1.35s linear infinite reverse}.loading-spinner span:first-child{top:25px;right:25px;bottom:25px;left:25px;background:#2e6df6;border:0;animation:pulse-dot 1.2s ease-in-out infinite}.loading-spinner span:last-child{display:none}.progress-track{width:min(100%,420px);height:7px;overflow:hidden;border-radius:999px;background:#20263b14}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2e6df6,#22caa8,#ffd166);transition:width .45s ease}.loading-stages{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;color:#94a0b8}.loading-stage{padding:8px 14px;border-radius:10px;background:#2e6df614;font-weight:800}.loading-stage.is-active{color:#1f63e9;background:#2e6df624}.loading-stage-arrow{align-self:center}.inline-loading{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(160px,280px);gap:14px;align-items:center;margin:16px 0;padding:14px 16px;border:1px solid rgba(46,109,246,.16);border-radius:18px;background:#ffffffc7}.inline-loading .loading-spinner{width:34px;height:34px}.inline-loading .loading-spinner:before,.inline-loading .loading-spinner:after{border-width:3px}.inline-loading .loading-spinner:after{top:7px;right:7px;bottom:7px;left:7px}.inline-loading .loading-spinner span:first-child{top:15px;right:15px;bottom:15px;left:15px}.inline-loading strong,.inline-loading span{display:block}.inline-loading span{color:#607091;font-size:.88rem}.table-skeleton{overflow:hidden;border:1px solid rgba(32,38,59,.08);border-radius:20px;background:#ffffffb8}.skeleton-header,.skeleton-row{display:grid;grid-template-columns:repeat(var(--skeleton-columns, 8),minmax(90px,1fr));gap:18px;padding:16px 18px}.skeleton-header{background:#111a31}.skeleton-row:nth-child(odd){background:#20263b06}.skeleton-header span,.skeleton-row span{height:14px;border-radius:999px;background:linear-gradient(90deg,#e2e8f2b3,#f6f8fcf2,#e2e8f2b3);background-size:220% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-header span{background:#fff3}.page-tabs{display:flex;gap:10px;margin-top:18px;padding:8px;border-radius:18px;background:#ffffffb8;border:1px solid rgba(32,38,59,.08);width:fit-content}.page-tab{border:0;border-radius:14px;padding:12px 18px;background:transparent;color:#4f5c7b;cursor:pointer}.page-tab.is-active{background:#2e6df6;color:#fff;box-shadow:0 8px 24px #2b3c761f}.stats-grid{margin-top:20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card,.panel{border:1px solid rgba(32,38,59,.08);border-radius:24px;background:#ffffffd1;box-shadow:0 16px 46px #2b3c7614}.stat-card{padding:20px 22px}.stat-card span{display:block;margin-bottom:8px;color:#62708f}.stat-card strong{font-size:1.8rem}.panel{margin-top:20px;padding:24px}.panel-header{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:18px}.filters-block{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.filter-field{display:flex;flex-direction:column;gap:6px;min-width:160px}.filter-field span{font-size:.85rem;color:#5d6782}.filter-field input{padding:10px 12px;border:1px solid rgba(32,38,59,.12);border-radius:14px;background:#fffffff2;color:#20263b}.filter-field textarea{padding:10px 12px;border:1px solid rgba(32,38,59,.12);border-radius:14px;background:#fffffff2;color:#20263b;resize:vertical}.filter-field select{padding:10px 12px;border:1px solid rgba(32,38,59,.12);border-radius:14px;background:#fffffff2;color:#20263b}.panel-note{margin:0 0 14px;max-width:360px;color:#5d6782}.menu-tabs{display:inline-flex;gap:10px;margin:0 0 18px;padding:8px;border-radius:18px;background:#20263b0f}.menu-tab{border:0;border-radius:14px;padding:12px 18px;background:transparent;color:#4f5c7b;cursor:pointer}.menu-tab.is-active{background:#fff;color:#1f3875;box-shadow:0 8px 24px #2b3c761f}.panel-error{margin:0 0 14px;color:#b33a3a}.table-wrap{overflow-x:auto}.entries-panel,.product-analysis-panel,.catalog-analysis-panel,.monthly-analysis-panel{margin-top:20px}.product-analysis-search,.catalog-analysis-search{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.product-analysis-field{min-width:min(420px,100%)}.catalog-analysis-field{min-width:min(720px,100%);flex:1}.product-analysis-card,.catalog-analysis-card{display:flex;gap:16px;align-items:center;margin:6px 0 18px;padding:16px;border-radius:8px;background:#20263b0d}.product-analysis-thumb{width:96px;height:96px;object-fit:cover;flex:0 0 auto;border-radius:8px;background:#20263b14}.catalog-analysis-thumb{width:104px;height:104px;object-fit:cover;flex:0 0 auto;border-radius:8px;background:#20263b14}.product-analysis-title,.catalog-analysis-title{display:flex;flex-direction:column;gap:4px;min-width:0}.product-analysis-title span,.product-analysis-title small,.product-analysis-metrics small,.catalog-analysis-title span,.catalog-analysis-title small,.catalog-analysis-metrics small{color:#66728f}.product-analysis-title strong,.catalog-analysis-title strong{font-size:1.35rem;line-height:1.2}.catalog-analysis-title a{width:fit-content;color:#20489f;text-decoration:none}.product-analysis-metrics{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px}.catalog-analysis-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.product-analysis-metrics .stat-card{display:flex;flex-direction:column;gap:6px}.product-analysis-metric-button{border:1px solid rgba(32,38,59,.08);text-align:left;color:#20263b;cursor:pointer}.product-analysis-metric-button:hover{background:#2e6df614}.product-analysis-metric-button:disabled{cursor:not-allowed;opacity:.65}.catalog-analysis-metrics .stat-card{display:flex;flex-direction:column;gap:6px}.product-analysis-metrics .stat-card span,.catalog-analysis-metrics .stat-card span{margin-bottom:0}.product-analysis-metrics .stat-card strong,.catalog-analysis-metrics .stat-card strong{font-size:1.35rem}.product-analysis-note{max-width:760px;margin-top:16px}.product-analysis-details{margin-top:18px;padding:18px;border-radius:8px;background:#2e6df60a;border:1px solid rgba(32,38,59,.08)}.purchase-chart{min-height:220px;display:flex;gap:12px;align-items:end;overflow-x:auto;padding:16px 8px 10px;border-radius:8px;background:#ffffffc2}.purchase-chart-item{min-width:74px;height:190px;display:grid;grid-template-rows:1fr auto auto;gap:6px;align-items:end;text-align:center;color:#66728f}.purchase-chart-bar-wrap{width:100%;height:132px;display:flex;align-items:end;justify-content:center}.purchase-chart-bar{width:42px;display:block;border-radius:8px 8px 0 0;background:#2e6df6}.purchase-chart-item strong{color:#20263b}.purchase-chart-item span{font-size:.78rem;white-space:nowrap}.product-analysis-records-table{margin-top:16px}.sales-window-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.sales-window-grid .stat-card{display:flex;flex-direction:column;gap:6px}.sales-window-grid .stat-card span{margin-bottom:0}.sales-window-grid .stat-card strong{font-size:1.35rem}.sales-window-grid .stat-card small{color:#66728f}.sales-dot-chart{min-height:360px;overflow-x:auto;padding:18px;border-radius:8px;background:#fff;box-shadow:0 12px 32px #2b3c7614}.sales-chart-legend{display:flex;gap:18px;align-items:center;margin-bottom:8px;color:#66728f;font-size:.9rem}.sales-chart-legend span{display:inline-flex;gap:7px;align-items:center}.sales-chart-legend span:before{width:12px;height:12px;border-radius:999px;content:""}.sales-chart-legend-sales:before{background:#54c4c5}.sales-chart-legend-purchases:before{background:#f09a5a}.sales-dot-chart svg{display:block;min-width:100%;height:310px}.sales-dot-chart circle{fill:#fff;stroke:#54c4c5;stroke-width:3}.sales-dot-chart polygon{fill:#54c4c524}.sales-chart-grid-line{stroke:#20263b1f;stroke-width:1}.sales-chart-axis-label,.sales-chart-date-label{fill:#6a7288;font-size:12px}.sales-chart-axis-label,.sales-chart-date-label{text-anchor:end}.sales-chart-point-label{fill:#20263b;font-size:12px;font-weight:700;paint-order:stroke;pointer-events:none;stroke:#fff;stroke-width:4;text-anchor:middle}.sales-chart-point:hover circle{fill:#54c4c5;stroke:#1f8f91}.sales-chart-purchase-point circle{fill:#fff;stroke:#f09a5a;stroke-width:3}.sales-chart-purchase-point:hover circle{fill:#f09a5a;stroke:#bd6932}.sales-chart-purchase-label{fill:#704118;font-size:12px;font-weight:700;paint-order:stroke;pointer-events:none;stroke:#fff;stroke-width:4;text-anchor:middle}.sales-chart-now-line{stroke:#ff7e7e5c;stroke-dasharray:7 7;stroke-width:2}.sales-chart-now-label{fill:#9f4b4b;font-size:13px;font-weight:700;text-anchor:middle}.sales-dot-chart polyline{fill:none;stroke:#54c4c5;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.entry-form{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;align-items:end;margin-bottom:18px}.entry-field-wide{grid-column:span 2}.entry-field-notes{grid-column:span 3}.entry-form-actions{display:flex;justify-content:flex-end}.entry-notice{margin:0 0 14px}.entry-summary-panel{margin:18px 0;padding:18px 0 4px;border-top:1px solid rgba(32,38,59,.08);border-bottom:1px solid rgba(32,38,59,.08)}.entry-summary-table,.monthly-analysis-table{margin-top:12px}.monthly-analysis-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.monthly-analysis-summary-card{padding:16px;border:1px solid rgba(32,38,59,.08);border-radius:8px;background:#ffffffe6}.monthly-analysis-summary-card span{display:block;color:#607091;font-size:.88rem}.monthly-analysis-summary-card strong{display:block;margin-top:6px;color:#20263b;font-size:1.35rem;line-height:1.15}.monthly-analysis-table table{width:max(100%,1780px);min-width:1780px}.monthly-analysis-thumb-column{position:sticky;left:0;z-index:2;width:92px;min-width:92px;max-width:92px;background:#fffffffa}.monthly-analysis-sku{position:sticky;left:92px;z-index:2;width:92px;min-width:92px;max-width:92px;background:#fffffffa;box-shadow:8px 0 14px #2b3c760f;overflow-wrap:anywhere;word-break:break-word}.monthly-analysis-table th.monthly-analysis-thumb-column,.monthly-analysis-table th.monthly-analysis-sku{z-index:3}.monthly-analysis-item{min-width:260px}.monthly-analysis-quantity{width:84px;min-width:84px;max-width:84px;text-align:center;white-space:normal}.expanded-entries-table{margin-top:12px}.entry-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:0 0 16px;padding:14px;border-radius:18px;background:#20263b0d}.entries-table{margin-top:10px}.table-input{width:150px;padding:8px 10px;border:1px solid rgba(32,38,59,.14);border-radius:8px;background:#fff;color:#20263b}.table-input-wide{width:220px}.table-input-item{width:440px}.entries-table .entry-quantity-column{width:84px;min-width:84px;max-width:84px;text-align:center;white-space:nowrap}.entries-table .entry-quantity-column .table-input{width:72px;text-align:center}.entries-table .entry-item-column{width:440px;min-width:440px}.table-actions{display:flex;flex-direction:column;gap:8px}.table-actions-inline{flex-direction:row}.table-action-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:8px 10px;background:#2e6df6;color:#fff;cursor:pointer}.table-action-button.icon-button{width:36px;height:36px;padding:0;font-size:1.05rem}.table-action-button.secondary{background:#20263b14;color:#2f3957}.table-action-button.danger{background:#d43f3a}.table-action-button:disabled{cursor:wait;opacity:.7}.state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.state-card{display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:22px;border:1px solid rgba(32,38,59,.08);background:linear-gradient(180deg,#fffffffa,#f4f8fff5);box-shadow:0 12px 32px #2b3c7614}.state-card-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.state-card-header strong,.state-month-chip strong{display:block}.state-card-header span{color:#607091}.state-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.state-metrics div{padding:14px;border-radius:16px;background:#20263b0d}.state-metrics span{display:block;margin-bottom:6px;color:#607091}.state-month-list{display:flex;flex-wrap:wrap;gap:10px}.state-month-chip{min-width:136px;display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:16px;background:#2e6df614}.state-month-chip span{color:#566482}table{width:100%;border-collapse:collapse;min-width:1100px}th,td{padding:14px 12px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(32,38,59,.08)}th{font-size:.84rem;text-transform:uppercase;letter-spacing:.08em;color:#6d7692}tbody tr:hover{background:#71b6ff12}.product-cell,.month-cell,.metric-cell{display:flex;flex-direction:column;gap:4px}.product-row{display:flex;align-items:flex-start;gap:12px}.product-thumb{width:56px;height:56px;object-fit:cover;border-radius:14px;background:#20263b14;flex:0 0 auto}.product-thumb-placeholder{border:1px dashed rgba(32,38,59,.12)}.month-button{width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.month-button:disabled{cursor:default;opacity:.7}.month-button.is-open .month-cell{background:#2e6df614}.month-cell{padding:8px;border-radius:14px}.order-list{margin-top:10px;display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto}.order-list-wide{max-height:420px}.expanded-row td{background:#2e6df60a}.expanded-cell{padding:18px 12px 20px}.expanded-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.expanded-header span{color:#607091}.orders-loading{padding:18px;border-radius:14px;background:#20263b0d;color:#5b6887}.orders-loading-rich{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(140px,260px);gap:14px;align-items:center}.orders-loading-rich .loading-spinner{width:36px;height:36px}.orders-loading-rich .loading-spinner:before,.orders-loading-rich .loading-spinner:after{border-width:3px}.orders-loading-rich .loading-spinner:after{top:7px;right:7px;bottom:7px;left:7px}.orders-loading-rich .loading-spinner span:first-child{top:16px;right:16px;bottom:16px;left:16px}.orders-loading-rich strong,.orders-loading-rich span{display:block}.orders-loading-rich span{color:#607091}.order-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;margin:8px 0 14px}.order-summary-card{position:relative;padding:12px;border:1px solid rgba(46,109,246,.14);border-radius:16px;background:#ffffffbf;box-shadow:0 10px 24px #20263b0f;cursor:pointer;font:inherit;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.order-summary-card:hover:not(:disabled){border-color:#2e6df66b;box-shadow:0 14px 30px #20263b1f;transform:translateY(-1px)}.order-summary-card:disabled{cursor:not-allowed;opacity:.7}.order-summary-card>span:not(.order-summary-clear){display:block;min-height:34px;color:#607091;font-size:.78rem}.order-summary-card strong{display:block;margin-top:4px;color:#20263b;font-size:1.35rem}.order-summary-card.is-muted{border-color:#60709133;background:#60709114}.order-summary-card.is-warning{border-color:#dc912e40;background:#dc912e1a}.order-summary-card.is-danger{border-color:#cd44443d;background:#cd44441a}.order-summary-card.is-selected{border-color:#20489fbf;background:linear-gradient(145deg,#2e6df629,#ffffffe6);box-shadow:0 16px 34px #20489f2e}.order-summary-card.is-selected strong{color:#17367d}.order-summary-clear{position:absolute;top:8px;right:8px;display:grid;place-items:center;min-height:0;padding:0;width:22px;height:22px;border-radius:999px;background:#20263b;color:#fff;font-size:.72rem;font-weight:800;line-height:1}.table-loading{padding:24px;border-radius:18px;background:#20263b0d;color:#5b6887}.order-card{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:14px;background:#20263b0d}.order-card-header{display:flex;flex-direction:column;gap:4px}.order-card-header a,.order-card-header strong{color:#20489f;text-decoration:none}.order-kind{width:fit-content;padding:3px 8px;border-radius:999px;background:#2e6df61a;color:#20489f;font-size:.76rem;font-weight:800}.order-status{color:#5b6887}.product-cell span,.month-cell span,.month-cell small,.metric-cell span,.metric-cell small{color:#66728f}.metric-cell span{color:#20263b}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media(max-width:980px){.hero,.panel-header{flex-direction:column;align-items:stretch}.hero-meta{align-items:flex-start}.panel-note{text-align:left}.stats-grid,.product-analysis-metrics,.catalog-analysis-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-window-grid{grid-template-columns:1fr}.entry-form{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-field-wide,.entry-field-notes{grid-column:span 2}.state-grid{grid-template-columns:1fr}}@media(max-width:640px){.shell{width:min(100vw - 20px,1400px);padding-top:20px}.hero,.panel,.stat-card{border-radius:20px}.stats-grid{grid-template-columns:1fr}.order-summary-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.inline-loading,.orders-loading-rich{grid-template-columns:auto 1fr}.inline-loading .progress-track,.orders-loading-rich .progress-track{grid-column:1 / -1}.page-tabs{width:100%}.page-tab{flex:1}.page-tabs{flex-wrap:wrap}.product-analysis-card,.catalog-analysis-card{align-items:flex-start}.product-analysis-metrics,.catalog-analysis-metrics,.entry-form{grid-template-columns:1fr}.entry-field-wide,.entry-field-notes{grid-column:span 1}}
