:root {
    --spz-red: #d71920;
    --spz-red-dark: #ad1017;
    --spz-red-soft: #fff0f1;
    --spz-ink: #15171a;
    --spz-muted: #6d727a;
    --spz-line: rgba(21, 23, 26, 0.1);
    --spz-surface: rgba(255, 255, 255, 0.86);
    --spz-surface-solid: #fff;
    --spz-canvas: #f3f4f6;
    --spz-green: #16855b;
    --spz-amber: #b76d00;
    --spz-blue: #1473e6;
    --spz-radius: 22px;
    --spz-radius-sm: 14px;
    --spz-shadow: 0 18px 50px rgba(28, 31, 38, 0.09), 0 2px 8px rgba(28, 31, 38, 0.04);
    --spz-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Helvetica, Arial, sans-serif;
}

html, body.cs-spz-blank-page {
    margin: 0 !important;
    min-height: 100%;
    background: var(--spz-canvas);
    color: var(--spz-ink);
    font-family: var(--spz-font);
    -webkit-font-smoothing: antialiased;
}

body.cs-spz-blank-page { min-width: 1024px; }
.cs-spz-blank-main { min-height: 100vh; }
.cs-spz-blank-main *, .cs-spz-blank-main *::before, .cs-spz-blank-main *::after { box-sizing: border-box; }
.cs-spz-blank-main button, .cs-spz-blank-main input, .cs-spz-blank-main select, .cs-spz-blank-main textarea { font: inherit; }
.cs-spz-blank-main button { cursor: pointer; }

.cs-spz-access-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 36px;
    background:
        radial-gradient(circle at 16% 18%, rgba(215, 25, 32, 0.18), transparent 32%),
        radial-gradient(circle at 85% 78%, rgba(20, 115, 230, 0.13), transparent 30%),
        linear-gradient(145deg, #f8f8fa, #e9ebef);
}

.cs-spz-access-panel {
    width: min(460px, 100%);
    padding: 38px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 30px;
    background: rgba(255,255,255,.8);
    box-shadow: 0 30px 80px rgba(18, 22, 30, .16);
    backdrop-filter: blur(24px) saturate(150%);
    animation: cs-spz-rise .55s cubic-bezier(.22,.8,.34,1) both;
}

.cs-spz-access-brand, .cs-spz-brand {
    display: flex;
    align-items: center;
    gap: 13px;
}

.cs-spz-brand-mark {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .08em;
    background: linear-gradient(145deg, #ef3a40, #b50910);
    box-shadow: 0 10px 24px rgba(215,25,32,.28);
}

.cs-spz-access-brand strong, .cs-spz-brand strong { display: block; font-size: 15px; }
.cs-spz-access-brand small, .cs-spz-brand small { display: block; margin-top: 3px; color: var(--spz-muted); font-size: 12px; }
.cs-spz-brand .cs-spz-brand-version { color: #323740; font-size: 10px; font-weight: 760; letter-spacing: .02em; }
.cs-spz-kicker { margin: 34px 0 8px; color: var(--spz-red); font-size: 12px; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.cs-spz-access-panel h1 { margin: 0; font-size: 34px; letter-spacing: -.04em; }
.cs-spz-login-lead { margin: 10px 0 26px; color: var(--spz-muted); line-height: 1.55; }
.cs-spz-login-form { display: grid; gap: 16px; }
.cs-spz-login-form label > span { display: block; margin: 0 0 7px; font-size: 13px; font-weight: 650; }
.cs-spz-login-form input[type="text"], .cs-spz-login-form input[type="password"] {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--spz-line);
    border-radius: 13px;
    background: rgba(255,255,255,.92);
    outline: none;
    transition: border-color .2s, box-shadow .2s;
}
.cs-spz-login-form input:focus { border-color: rgba(215,25,32,.55); box-shadow: 0 0 0 4px rgba(215,25,32,.1); }
.cs-spz-login-remember { display: flex !important; align-items: center; gap: 9px; color: var(--spz-muted); }
.cs-spz-login-remember span { margin: 0 !important; font-weight: 500 !important; }
.cs-spz-login-form button, .cs-spz-primary {
    min-height: 46px;
    border: 0;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg, #e62b32, #ba0c13);
    box-shadow: 0 9px 24px rgba(215,25,32,.22);
    font-weight: 720;
    transition: transform .2s, box-shadow .2s, opacity .2s;
}
.cs-spz-login-form button:hover, .cs-spz-primary:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(215,25,32,.3); }
.cs-spz-login-help { color: var(--spz-muted); text-align: center; font-size: 13px; text-decoration: none; }
.cs-spz-login-error { margin: 0 0 18px; padding: 12px 14px; border-radius: 12px; color: #8e0b10; background: #fff0f1; font-size: 13px; }

.cs-spz-root { min-height: 100vh; }
.cs-spz-boot { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 14px; color: var(--spz-muted); }
.cs-spz-spinner { width: 28px; height: 28px; border: 3px solid rgba(215,25,32,.15); border-top-color: var(--spz-red); border-radius: 50%; animation: cs-spz-spin .75s linear infinite; }
.cs-spz-metrics-loading { min-height: 230px; display: grid; place-items: center; padding: 46px 24px; overflow: hidden; background: radial-gradient(circle at 50% 115%,rgba(215,25,32,.07),transparent 48%),rgba(255,255,255,.86); }
.cs-spz-metrics-loading-card { width: min(540px,100%); }
.cs-spz-metrics-loading-head { display: flex; align-items: center; gap: 14px; }
.cs-spz-metrics-loading-head > span:last-child { min-width: 0; }
.cs-spz-metrics-loading-head small { display: block; margin-bottom: 4px; color: #959aa2; font-size: 10px; font-weight: 760; letter-spacing: .09em; text-transform: uppercase; }
.cs-spz-metrics-loading-head strong { display: block; color: #30343a; font-size: 17px; line-height: 1.25; }
.cs-spz-metrics-loading-icon { position: relative; width: 42px; height: 42px; flex: 0 0 42px; display: flex; align-items: flex-end; justify-content: center; gap: 3px; padding: 10px; border-radius: 14px; color: var(--spz-red); background: rgba(215,25,32,.09); box-shadow: 0 8px 22px rgba(215,25,32,.1); }
.cs-spz-metrics-loading-icon i { width: 4px; border-radius: 999px; background: currentColor; animation: cs-spz-metric-pulse 1.05s ease-in-out infinite; }
.cs-spz-metrics-loading-icon i:nth-child(1) { height: 9px; animation-delay: -.22s; }
.cs-spz-metrics-loading-icon i:nth-child(2) { height: 18px; animation-delay: -.11s; }
.cs-spz-metrics-loading-icon i:nth-child(3) { height: 13px; }
.cs-spz-metrics-progress { height: 11px; margin-top: 24px; overflow: hidden; border-radius: 999px; background: rgba(21,23,26,.075); box-shadow: inset 0 1px 2px rgba(21,23,26,.04); }
.cs-spz-metrics-progress-fill { position: relative; display: block; width: var(--progress,6%); height: 100%; overflow: hidden; border-radius: inherit; background: linear-gradient(90deg,#ba141a,var(--spz-red) 55%,#f46b70); box-shadow: 0 4px 12px rgba(215,25,32,.24); transition: width .28s cubic-bezier(.22,.72,.25,1),background .2s; }
.cs-spz-metrics-progress-fill::after { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg,transparent 20%,rgba(255,255,255,.5) 47%,transparent 72%); transform: translateX(-110%); animation: cs-spz-metric-shimmer 1.35s ease-in-out infinite; }
.cs-spz-metrics-loading-foot { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 10px; color: #747a83; font-size: 11.5px; }
.cs-spz-metrics-loading-foot strong { color: #555b64; font-size: 11.5px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cs-spz-metrics-loading.is-complete .cs-spz-metrics-loading-icon { color: var(--spz-green); background: rgba(22,133,91,.1); }
.cs-spz-metrics-loading.is-complete .cs-spz-metrics-progress-fill { background: linear-gradient(90deg,#16855b,#43b785); box-shadow: 0 4px 12px rgba(22,133,91,.2); }
.cs-spz-metrics-loading.is-error .cs-spz-metrics-progress-fill { background: #b5161c; }
.cs-spz-metrics-error { border-left: 3px solid #b5161c; }
.cs-spz-metrics-error h2 { margin: 0 0 12px; font-size: 17px; }
.cs-spz-metrics-error p { margin: 0 0 12px; overflow-wrap: anywhere; }
.cs-spz-metrics-error small { display: block; margin-bottom: 18px; color: var(--spz-muted); overflow-wrap: anywhere; }

.cs-spz-shell { min-height: 100vh; display: grid; grid-template-columns: 238px minmax(0,1fr); transition: grid-template-columns .24s ease; }
.cs-spz-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 20;
    width: 238px;
    display: flex;
    flex-direction: column;
    padding: 22px 16px 18px;
    border-right: 1px solid rgba(255,255,255,.8);
    background: rgba(248,249,251,.82);
    backdrop-filter: blur(24px) saturate(160%);
    transition: transform .24s ease, opacity .18s ease, visibility .24s;
}
.cs-spz-shell.is-sidebar-collapsed { grid-template-columns: 0 minmax(0,1fr); }
.cs-spz-shell.is-sidebar-collapsed .cs-spz-sidebar { visibility: hidden; pointer-events: none; opacity: 0; transform: translateX(-104%); }
.cs-spz-sidebar .cs-spz-brand { padding: 4px 8px 22px; }
.cs-spz-sidebar .cs-spz-brand-mark { width: 43px; height: 43px; border-radius: 13px; }
.cs-spz-nav {
    min-height: 0;
    flex: 1 1 auto;
    display: grid;
    align-content: start;
    gap: 5px;
    overflow-x: hidden;
    overflow-y: auto;
    padding-right: 4px;
    scrollbar-gutter: stable;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
.cs-spz-nav::-webkit-scrollbar { width: 7px; }
.cs-spz-nav::-webkit-scrollbar-track { background: transparent; }
.cs-spz-nav::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 999px; background: rgba(82,86,93,.3); background-clip: padding-box; }
.cs-spz-nav { scrollbar-width: thin; scrollbar-color: rgba(82,86,93,.3) transparent; }
.cs-spz-nav-group { margin: 20px 10px 7px; color: #979ba2; font-size: 10px; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
.cs-spz-nav button {
    width: 100%;
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 0 12px;
    border: 0;
    border-radius: 12px;
    color: #52565d;
    background: transparent;
    font-size: 13px;
    font-weight: 640;
    text-align: left;
    transition: background .2s, color .2s, transform .2s;
}
.cs-spz-nav button:hover { background: rgba(255,255,255,.72); color: var(--spz-ink); }
.cs-spz-nav button.is-active { color: var(--spz-red-dark); background: #fff; box-shadow: 0 6px 18px rgba(25,27,34,.07); }
.cs-spz-nav-icon { width: 22px; height: 22px; display: grid; place-items: center; font-size: 16px; }
.cs-spz-nav-badge { margin-left: auto; min-width: 20px; padding: 2px 6px; border-radius: 999px; color: #fff; background: var(--spz-red); font-size: 10px; text-align: center; }
.cs-spz-sidebar-footer { flex: 0 0 auto; margin-top: 14px; display: grid; gap: 8px; }
.cs-spz-user { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 13px; background: rgba(255,255,255,.7); }
.cs-spz-avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #23262b; font-size: 12px; font-weight: 750; }
.cs-spz-user strong { display: block; max-width: 135px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.cs-spz-user small { display: block; color: var(--spz-muted); font-size: 10px; }
.cs-spz-sidebar-link { padding: 8px 11px; color: var(--spz-muted); font-size: 11px; text-decoration: none; }

.cs-spz-main { grid-column: 2; min-width: 0; padding: 24px 28px 52px; }
.cs-spz-topbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.cs-spz-topbar-leading { min-width: 0; display: flex; align-items: center; gap: 12px; }
.cs-spz-sidebar-toggle { width: 38px; flex: 0 0 38px; display: grid; place-items: center; padding: 0; font-size: 18px; line-height: 1; }
.cs-spz-sidebar-toggle.is-collapsed { color: var(--spz-red-dark); border-color: rgba(215,25,32,.18); background: #fff; box-shadow: 0 5px 16px rgba(215,25,32,.09); }
.cs-spz-heading h1 { margin: 0; font-size: 28px; letter-spacing: -.035em; }
.cs-spz-heading p { margin: 5px 0 0; color: var(--spz-muted); font-size: 12px; }
.cs-spz-top-actions { display: flex; align-items: center; gap: 9px; }
.cs-spz-article-warning-action { display: inline-flex; align-items: center; gap: 8px; color: #7b5710; border-color: #ead49a; background: #fff9e8; }
.cs-spz-article-warning-action > span { display: inline-grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; color: #fff; background: #d69b23; font-weight: 800; line-height: 1; }
.cs-spz-article-warning-action:hover,
.cs-spz-article-warning-action:focus-visible { color: #684708; border-color: #d9b860; background: #fff4cf; }
.cs-spz-article-warning-action.is-active { color: #a20f15; border-color: #efc3c6; background: #fff0f1; }
.cs-spz-article-warning-action.is-active > span { background: #c51b24; }
.cs-spz-icon-button, .cs-spz-secondary, .cs-spz-danger, .cs-spz-chip {
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid var(--spz-line);
    border-radius: 11px;
    color: var(--spz-ink);
    background: rgba(255,255,255,.78);
    font-size: 12px;
    font-weight: 650;
    box-shadow: 0 3px 10px rgba(25,27,34,.04);
    transition: transform .18s, background .18s, border-color .18s;
}
.cs-spz-icon-button:hover, .cs-spz-secondary:hover { transform: translateY(-1px); background: #fff; border-color: rgba(21,23,26,.17); }
.cs-spz-danger { color: #a30e14; background: #fff3f3; border-color: rgba(215,25,32,.18); }
.cs-spz-primary { padding: 0 16px; }
.cs-spz-primary:disabled, .cs-spz-secondary:disabled, .cs-spz-danger:disabled { cursor: not-allowed; opacity: .48; transform: none; }

.cs-spz-filterbar {
    position: relative;
    z-index: 5;
    margin-bottom: 20px;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.85);
    border-radius: var(--spz-radius);
    background: var(--spz-surface);
    box-shadow: 0 8px 30px rgba(25,27,34,.055);
    backdrop-filter: blur(18px);
}
.cs-spz-active-filterbar {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
    padding: 9px 10px 9px 13px;
    border: 1px solid rgba(215,25,32,.18);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(255,240,241,.96), rgba(255,248,248,.9));
}
.cs-spz-active-filter-content { min-width: 0; display: flex; align-items: center; gap: 12px; }
.cs-spz-active-filter-heading { display: flex; flex: 0 0 auto; align-items: center; gap: 7px; color: #8f1116; font-size: 11px; }
.cs-spz-active-filter-heading strong { white-space: nowrap; }
.cs-spz-active-filter-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--spz-red); box-shadow: 0 0 0 4px rgba(215,25,32,.1); }
.cs-spz-active-filter-count { padding: 3px 6px; border-radius: 999px; color: #9f151a; background: rgba(215,25,32,.09); font-size: 9px; font-weight: 760; white-space: nowrap; }
.cs-spz-active-filter-chips { min-width: 0; display: flex; align-items: center; gap: 6px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: rgba(215,25,32,.2) transparent; }
.cs-spz-active-filter-chip { min-height: 28px; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 5px; padding: 0 9px; border: 1px solid rgba(215,25,32,.12); border-radius: 9px; color: #4f3032; background: rgba(255,255,255,.88); font-size: 10px; white-space: nowrap; }
.cs-spz-active-filter-chip b { color: #991118; font-weight: 760; }
.cs-spz-filter-reset { min-height: 34px; flex: 0 0 auto; padding: 0 12px; border: 1px solid rgba(215,25,32,.2); border-radius: 10px; color: #a30e14; background: #fff; font-size: 11px; font-weight: 720; white-space: nowrap; box-shadow: 0 3px 10px rgba(132,12,17,.06); transition: transform .18s, border-color .18s, background .18s; }
.cs-spz-filter-reset:hover { transform: translateY(-1px); border-color: rgba(215,25,32,.4); background: #fffafa; }
.cs-spz-filter-grid { display: grid; grid-template-columns: 1.2fr 1.2fr repeat(4, minmax(130px, 1fr)) auto; gap: 10px; align-items: end; }
.cs-spz-field { display: grid; gap: 6px; min-width: 0; }
.cs-spz-field > span, .cs-spz-field > label { color: var(--spz-muted); font-size: 10px; font-weight: 720; letter-spacing: .04em; text-transform: uppercase; }
.cs-spz-field input, .cs-spz-field select, .cs-spz-field textarea {
    width: 100%;
    min-height: 39px;
    padding: 0 11px;
    border: 1px solid var(--spz-line);
    border-radius: 10px;
    color: var(--spz-ink);
    background: rgba(255,255,255,.88);
    outline: none;
}
.cs-spz-field textarea { min-height: 92px; padding-top: 10px; resize: vertical; }
.cs-spz-field input:focus, .cs-spz-field select:focus, .cs-spz-field textarea:focus { border-color: rgba(215,25,32,.5); box-shadow: 0 0 0 3px rgba(215,25,32,.08); }
.cs-spz-filter-actions { display: flex; align-items: stretch; gap: 7px; }
.cs-spz-filter-actions button { min-height: 39px; white-space: nowrap; }
.cs-spz-period-presets { display: grid; gap: 7px; margin-top: 11px; padding: 11px; border: 1px solid var(--spz-line); border-radius: 14px; background: linear-gradient(145deg, rgba(248,249,251,.9), rgba(255,255,255,.82)); }
.cs-spz-period-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 2px 3px; }
.cs-spz-period-head > div { display: flex; align-items: baseline; gap: 8px; }
.cs-spz-period-head strong { color: var(--spz-ink); font-size: 11px; }
.cs-spz-period-head span { color: var(--spz-muted); font-size: 9px; }
.cs-spz-period-head b { padding: 5px 8px; border-radius: 999px; color: #9f151a; background: var(--spz-red-soft); font-size: 9px; font-weight: 760; }
.cs-spz-period-row { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 8px; align-items: center; }
.cs-spz-period-row > span { color: var(--spz-muted); font-size: 9px; font-weight: 720; letter-spacing: .04em; text-transform: uppercase; }
.cs-spz-period-scroll { min-width: 0; overflow-x: auto; scrollbar-width: thin; scrollbar-color: rgba(21,23,26,.16) transparent; }
.cs-spz-period-options { display: grid; gap: 5px; }
.cs-spz-period-options.is-quick { grid-template-columns: repeat(5, minmax(105px, 150px)); }
.cs-spz-period-options.is-years { grid-template-columns: repeat(auto-fit, minmax(62px, 86px)); }
.cs-spz-period-options.is-quarters { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cs-spz-period-options.is-twelve { grid-template-columns: repeat(var(--period-columns, 12), minmax(75px, 1fr)); min-width: calc(var(--period-columns, 12) * 78px); }
.cs-spz-period-button { min-height: 28px; padding: 0 7px; border: 1px solid rgba(21,23,26,.09); border-radius: 8px; color: #555b63; background: rgba(255,255,255,.88); box-shadow: none; font-size: 9px; font-weight: 650; white-space: nowrap; transition: color .16s, background .16s, border-color .16s, transform .16s; }
.cs-spz-period-button:hover { color: var(--spz-ink); border-color: rgba(215,25,32,.25); transform: translateY(-1px); }
.cs-spz-period-button.is-active { color: #fff; border-color: #25282d; background: #25282d; box-shadow: 0 4px 10px rgba(21,23,26,.14); }
.cs-spz-advanced { display: none; grid-template-columns: repeat(4, 1fr); gap: 10px; padding-top: 11px; }
.cs-spz-advanced.is-open { display: grid; animation: cs-spz-fade .2s ease both; }

.cs-spz-quickfind-slot {
    position: sticky;
    z-index: 30;
    top: max(8px, env(safe-area-inset-top));
    min-width: 0;
    margin: -10px 0 20px;
}
.cs-spz-quickfind-slot:empty { display: none; }
.cs-spz-quickfind {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 7px;
    padding: 9px 11px;
    border: 1px solid rgba(21,23,26,.07);
    border-radius: 14px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 9px 28px rgba(25,27,34,.095);
    backdrop-filter: blur(16px);
}
.cs-spz-quickfind-links { min-width: 0; display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center; gap: 6px; overflow: visible; padding: 1px; }
.cs-spz-quickfind-top { margin-top: 1px; }
.cs-spz-quickfind-top, .cs-spz-quickfind-links a { min-height: 30px; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 5px; padding: 0 10px; border: 1px solid rgba(21,23,26,.075); border-radius: 9px; color: #4e545d; background: rgba(248,249,251,.92); font-size: 10px; font-weight: 680; text-decoration: none; white-space: nowrap; transition: color .16s, border-color .16s, background .16s, transform .16s; }
.cs-spz-quickfind-top { color: #9d1117; border-color: rgba(215,25,32,.16); background: #fff3f3; font-weight: 780; }
.cs-spz-quickfind-top b { font-size: 12px; }
.cs-spz-quickfind-top:hover, .cs-spz-quickfind-top:focus-visible, .cs-spz-quickfind-links a:hover, .cs-spz-quickfind-links a:focus-visible { color: #a20f15; border-color: rgba(215,25,32,.28); background: #fff7f7; outline: none; transform: translateY(-1px); }
.cs-spz-kpi-section[id] { scroll-margin-top: 68px; }

.cs-spz-view { animation: cs-spz-fade .3s ease both; }
.cs-spz-print-meta { display: none; }
.cs-spz-grid { display: grid; gap: 16px; }
.cs-spz-kpi-groups { display: grid; gap: 28px; }
.cs-spz-kpi-section { display: grid; gap: 17px; padding: 20px; border: 1px solid rgba(21,23,26,.055); border-radius: 28px; background: rgba(255,255,255,.42); background: linear-gradient(145deg,color-mix(in srgb,var(--section-accent) 3.5%,white),rgba(255,255,255,.72)); box-shadow: 0 14px 38px rgba(28,31,38,.045); }
.cs-spz-kpi-section-head { display: flex; align-items: center; gap: 13px; padding: 0 2px; }
.cs-spz-kpi-section-head h2 { margin: 0; color: var(--spz-ink); font-size: 18px; font-weight: 770; letter-spacing: -.025em; }
.cs-spz-kpi-section-head p { margin: 4px 0 0; color: #737982; font-size: 11.5px; line-height: 1.4; }
.cs-spz-kpi-section-icon { width: 40px; height: 40px; display: grid; flex: 0 0 auto; place-items: center; border: 1px solid rgba(21,23,26,.08); border: 1px solid color-mix(in srgb, var(--section-accent) 20%, transparent); border-radius: 13px; color: var(--section-accent); background: #fff; background: color-mix(in srgb, var(--section-accent) 9%, white); font-size: 16px; font-weight: 780; box-shadow: 0 7px 18px rgba(21,23,26,.06); box-shadow: 0 7px 18px color-mix(in srgb, var(--section-accent) 11%, transparent); }
.cs-spz-kpi-grid { grid-template-columns: repeat(var(--kpi-columns, 4), minmax(0, 1fr)); }
.cs-spz-order-channels { display: grid; grid-template-columns: minmax(190px, .85fr) minmax(0, 2fr); gap: 26px; align-items: center; }
.cs-spz-order-channels-total { display: grid; gap: 12px; min-width: 0; }
.cs-spz-order-channels-total > span { color: #606873; font-size: 13px; font-weight: 650; }
.cs-spz-order-channels-total > strong { color: #202329; font-size: clamp(36px, 3vw, 48px); font-weight: 780; letter-spacing: -.045em; line-height: 1; font-variant-numeric: tabular-nums; }
.cs-spz-order-channels-total small { color: #68717b; font-size: 12px; line-height: 1.5; }
.cs-spz-order-channels-breakdown { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.cs-spz-order-channel { --channel-color: #147c87; display: grid; gap: 9px; min-width: 0; padding: 18px 16px; border: 1px solid #dfe9ec; border-radius: 16px; background: #f4fafb; }
.cs-spz-order-channel.is-ios { --channel-color: #7359b6; background: #f7f4fc; border-color: #e7e0f3; }
.cs-spz-order-channel.is-android { --channel-color: #16855b; background: #f1f9f5; border-color: #dcece3; }
.cs-spz-order-channel-label { color: #343a43; font-size: 13px; font-weight: 700; }
.cs-spz-order-channel > strong { color: #202329; font-size: clamp(26px, 2.1vw, 34px); font-weight: 780; font-variant-numeric: tabular-nums; line-height: 1.15; overflow-wrap: anywhere; }
.cs-spz-order-channel > span:not(.cs-spz-order-channel-label) { color: #606873; font-size: 12px; }
.cs-spz-order-channel-bar { height: 5px; margin-top: 4px; border-radius: 5px; background: #e2e7ea; overflow: hidden; }
.cs-spz-order-channel-bar i { display: block; height: 100%; border-radius: inherit; background: var(--channel-color); }
.cs-spz-order-channels-unavailable p { margin: 8px 0 0; color: #68717b; }
@media (max-width: 1050px) {
    .cs-spz-order-channels { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 640px) {
    .cs-spz-order-channels-breakdown { grid-template-columns: 1fr; }
    .cs-spz-order-channel { grid-template-columns: 1fr auto; align-items: center; gap: 8px 16px; }
    .cs-spz-order-channel > strong { grid-column: 2; grid-row: span 2; }
    .cs-spz-order-channel-bar { grid-column: 1 / -1; }
}
.cs-spz-kpi {
    position: relative;
    isolation: isolate;
    min-height: 250px;
    display: flex;
    flex-direction: column;
    padding: 21px;
    overflow: hidden;
    border: 1px solid rgba(21,23,26,.07);
    border-radius: 21px;
    background: rgba(255,255,255,.95);
    box-shadow: 0 12px 32px rgba(28,31,38,.075);
    transition: transform .22s, box-shadow .22s, border-color .22s;
}
.cs-spz-kpi:hover { transform: translateY(-2px); border-color: color-mix(in srgb,var(--section-accent) 17%,transparent); box-shadow: 0 22px 52px rgba(28,31,38,.12); }
.cs-spz-kpi::before { content: ""; position: absolute; z-index: 0; inset: 0 0 auto; height: 4px; background: var(--section-accent); background: linear-gradient(90deg,var(--section-accent),color-mix(in srgb,var(--section-accent) 25%,white)); opacity: .82; pointer-events: none; }
.cs-spz-kpi::after { content: ""; position: absolute; z-index: 0; width: 130px; height: 130px; right: -58px; bottom: -66px; border-radius: 50%; background: var(--accent, rgba(215,25,32,.12)); filter: blur(2px); opacity: .82; pointer-events: none; }
.cs-spz-kpi > * { position: relative; z-index: 1; }
.cs-spz-kpi-head { min-height: 28px; display: flex; align-items: center; justify-content: space-between; gap: 9px; color: #5c626b; font-size: 13px; font-weight: 730; line-height: 1.3; }
.cs-spz-kpi-head > span { min-width: 0; }
.cs-spz-kpi-head-actions { display: flex; flex: 0 1 auto; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 6px; }
.cs-spz-info { width: 27px; height: 27px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(21,23,26,.055); border-radius: 50%; appearance: none; color: #626871; background: rgba(21,23,26,.055); font-size: 12px; font-weight: 760; line-height: 1; text-align: center; transition: color .16s, background .16s, transform .16s; }
.cs-spz-info:hover, .cs-spz-info:focus-visible { color: #fff; background: var(--section-accent,var(--spz-red)); transform: translateY(-1px); }
.cs-spz-kpi-expand { min-height: 27px; display: inline-flex; align-items: center; gap: 4px; padding: 0 8px; border: 1px solid rgba(21,23,26,.045); border-radius: 999px; color: #5f656e; background: rgba(21,23,26,.05); font-size: 9.5px; font-weight: 760; transition: color .16s, background .16s, transform .16s; }
.cs-spz-kpi-expand:hover { color: #fff; background: var(--spz-red); transform: translateY(-1px); }
.cs-spz-kpi-expand > span { letter-spacing: .035em; }
.cs-spz-kpi-value { margin-top: 21px; color: #202329; font-size: clamp(31px, 2.35vw, 41px); font-weight: 780; letter-spacing: -.05em; line-height: 1; font-variant-numeric: tabular-nums; }
.cs-spz-kpi.is-kpi-net_revenue .cs-spz-kpi-value, .cs-spz-kpi.is-kpi-contribution .cs-spz-kpi-value { font-size: clamp(34px,2.55vw,45px); }
.cs-spz-kpi.has-customer-classification { grid-column: span 2; }
.cs-spz-kpi.has-customer-classification { min-height: 306px; }
.cs-spz-kpi.has-customer-classification .cs-spz-kpi-value { margin-top: 16px; font-size: inherit; letter-spacing: normal; line-height: normal; }
.cs-spz-customer-classification { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.cs-spz-customer-classification > div { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 12px; align-items: center; padding: 15px; border: 1px solid rgba(109,88,181,.12); border-radius: 15px; background: rgba(109,88,181,.055); }
.cs-spz-customer-classification > div.is-irregular { border-color: rgba(183,109,0,.1); background: rgba(183,109,0,.055); }
.cs-spz-customer-classification small { overflow: hidden; color: #515761; font-size: 11.5px; font-weight: 740; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-customer-classification-value { grid-row: span 2; display: flex; flex-direction: column; align-items: flex-end; color: #4d3d8c; font-variant-numeric: tabular-nums; }
.cs-spz-customer-classification-value strong { color: inherit; font-size: clamp(28px,2vw,36px); line-height: 1; letter-spacing: -.045em; }
.cs-spz-customer-classification-value b { margin-top: 5px; color: inherit; font-size: 11px; font-weight: 770; letter-spacing: 0; }
.cs-spz-customer-classification .is-irregular .cs-spz-customer-classification-value { color: #9a5d00; }
.cs-spz-customer-classification em { color: var(--spz-muted); font-size: 10px; font-style: normal; font-weight: 600; }
.cs-spz-customer-classification-comparisons { grid-column: 1 / -1; display: grid; gap: 0; margin-top: 8px; padding-top: 7px; border-top: 1px solid rgba(21,23,26,.07); }
.cs-spz-customer-classification-comparisons .cs-spz-kpi-comparison-row { grid-template-columns: 60px minmax(0,1fr); padding-block: 4px; }
.cs-spz-customer-classification-comparisons .cs-spz-kpi-comparison-values { flex-wrap: nowrap; }
.cs-spz-customer-classification-comparisons .cs-spz-trend, .cs-spz-customer-classification-comparisons .cs-spz-trend-absolute { padding: 4px 7px; font-size: 10px; }
.cs-spz-customer-classification-note { margin: 11px 2px 0; color: #6f757d; font-size: 10px; font-weight: 660; }
.cs-spz-kpi.has-demographic-distribution { grid-column: span 2; min-height: 315px; }
.cs-spz-kpi.has-demographic-distribution .cs-spz-kpi-value { margin-top: 15px; font-size: inherit; letter-spacing: normal; line-height: normal; }
.cs-spz-demographic-distribution { display: grid; gap: 7px; }
.cs-spz-demographic-row { min-width: 0; display: grid; grid-template-columns: minmax(145px,.85fr) minmax(190px,1.15fr); gap: 15px; align-items: center; padding: 9px 11px; border-radius: 11px; background: rgba(109,88,181,.05); }
.cs-spz-demographic-row > span:first-child { min-width: 0; display: flex; align-items: baseline; justify-content: space-between; gap: 9px; }
.cs-spz-demographic-row strong { overflow: hidden; color: #41464e; font-size: 11.5px; font-weight: 740; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-demographic-row small { color: #747a83; font-size: 9.5px; white-space: nowrap; }
.cs-spz-demographic-value { min-width: 0; display: grid; grid-template-columns: 122px minmax(0,1fr); gap: 9px; align-items: center; }
.cs-spz-demographic-value b { color: #4e4281; font-size: 10.5px; font-variant-numeric: tabular-nums; text-align: right; }
.cs-spz-demographic-value i { height: 7px; overflow: hidden; border-radius: 999px; background: rgba(109,88,181,.1); }
.cs-spz-demographic-value em { display: block; width: var(--width,0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg,#7564b5,#a99bd5); transform-origin: left; animation: cs-spz-grow .55s cubic-bezier(.2,.75,.25,1) both; }
.cs-spz-demographic-row.is-company .cs-spz-demographic-value em, .cs-spz-demographic-row.is-unknown .cs-spz-demographic-value em { background: linear-gradient(90deg,#848a93,#b5bac1); }
.cs-spz-kpi.has-top-customers { grid-column: 1 / -1; min-height: 445px; }
.cs-spz-kpi.has-top-customers .cs-spz-kpi-value { margin-top: 15px; font-size: inherit; letter-spacing: normal; line-height: normal; }
.cs-spz-top-customers { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 20px; }
.cs-spz-top-customers.is-single { grid-template-columns: minmax(0,1fr); }
.cs-spz-top-customer-column { min-width: 0; display: grid; gap: 5px; align-content: start; }
.cs-spz-top-customer-row { min-width: 0; display: grid; grid-template-columns: 30px minmax(85px,1fr) minmax(105px,.9fr) minmax(58px,.45fr) minmax(58px,.45fr); gap: 9px; align-items: center; min-height: 31px; padding: 6px 9px; border-radius: 9px; background: rgba(109,88,181,.05); font-variant-numeric: tabular-nums; }
.cs-spz-top-customer-row.is-head { min-height: 23px; padding-block: 3px; color: #737982; background: transparent; font-size: 9px; font-weight: 740; }
.cs-spz-top-customer-row.is-head span:nth-child(n+3) { text-align: right; }
.cs-spz-top-customer-row > span:first-child { color: #7d6daf; font-size: 10px; font-weight: 770; }
.cs-spz-top-customer-row strong { min-width: 0; overflow: hidden; color: #45405a; font-size: 11px; font-weight: 760; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-top-customer-row b { color: #302d39; font-size: 11px; text-align: right; white-space: nowrap; }
.cs-spz-top-customer-row small { color: #625c70; font-size: 10.5px; text-align: right; white-space: nowrap; }
.cs-spz-top-customer-row em { justify-self: end; min-width: 52px; padding: 4px 7px; border-radius: 999px; color: #594896; background: rgba(109,88,181,.11); font-size: 10px; font-style: normal; font-weight: 760; text-align: center; white-space: nowrap; }
.cs-spz-top-customers.is-empty { display: block; padding: 15px; border-radius: 11px; color: var(--spz-muted); background: rgba(21,23,26,.035); font-size: 11px; }
.cs-spz-top-customer-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 11px; padding: 11px 13px; border-radius: 12px; color: #564a7c; background: rgba(109,88,181,.09); font-size: 11.5px; font-weight: 730; }
.cs-spz-top-customer-summary strong { font-size: 17px; font-variant-numeric: tabular-nums; }
.cs-spz-kpi.has-delivery-frequency { grid-column: span 2; min-height: 390px; }
.cs-spz-kpi.has-delivery-frequency .cs-spz-kpi-value { margin-top: 15px; font-size: clamp(30px,2vw,37px); }
.cs-spz-frequency-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 15px 0 9px; padding: 9px 11px; border-radius: 11px; color: #536071; background: rgba(20,115,230,.07); font-size: 11.5px; }
.cs-spz-frequency-summary strong { color: #3e4f64; font-size: 11.5px; }
.cs-spz-frequency-distribution { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.cs-spz-frequency-row { min-width: 0; display: grid; grid-template-columns: minmax(125px,.85fr) minmax(155px,1.15fr); gap: 12px; align-items: center; padding: 9px 11px; border-radius: 11px; background: rgba(20,115,230,.045); }
.cs-spz-frequency-row > span:first-child { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.cs-spz-frequency-row strong { overflow: hidden; color: #414a56; font-size: 11.5px; font-weight: 740; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-frequency-row small { color: #747d88; font-size: 10.5px; white-space: nowrap; }
.cs-spz-frequency-value { min-width: 0; display: grid; grid-template-columns: minmax(74px,1fr) auto; gap: 5px 9px; align-items: center; }
.cs-spz-frequency-value b, .cs-spz-frequency-value em { color: #3e5670; font-size: 11.5px; font-style: normal; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cs-spz-frequency-value em { text-align: right; }
.cs-spz-frequency-value i { grid-column: 1 / -1; height: 6px; overflow: hidden; border-radius: 999px; background: rgba(20,115,230,.1); }
.cs-spz-frequency-value u { display: block; width: var(--width,0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg,#4e89c3,#8fb7dc); text-decoration: none; transform-origin: left; animation: cs-spz-grow .55s cubic-bezier(.2,.75,.25,1) both; }
.cs-spz-kpi.has-delivery-fee-distribution { grid-column: 1 / -1; min-height: 245px; }
.cs-spz-kpi.has-delivery-fee-distribution .cs-spz-kpi-value { margin-top: 0; font-size: clamp(36px,2.6vw,46px); }
.cs-spz-kpi.has-delivery-fee-distribution .cs-spz-kpi-comparisons { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; padding-top: 12px; }
.cs-spz-delivery-fee-overview { min-width: 0; display: grid; grid-template-columns: minmax(220px,.72fr) minmax(0,3.28fr); gap: 18px; align-items: stretch; margin-top: 14px; }
.cs-spz-delivery-fee-total { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 5px 19px 5px 1px; border-right: 1px solid rgba(20,115,230,.1); }
.cs-spz-delivery-fee-total .cs-spz-kpi-context { margin-top: 12px; }
.cs-spz-delivery-fee-total .cs-spz-kpi-subvalue { margin-top: 8px; }
.cs-spz-delivery-fee-distribution { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; }
.cs-spz-delivery-fee-item { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 11px 12px; border: 1px solid rgba(20,115,230,.08); border-radius: 13px; background: rgba(20,115,230,.04); }
.cs-spz-delivery-fee-item > span { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.cs-spz-delivery-fee-item small { overflow: hidden; color: #596675; font-size: 11px; font-weight: 740; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-delivery-fee-item strong { color: #263f5a; font-size: clamp(18px,1.45vw,24px); font-variant-numeric: tabular-nums; letter-spacing: -.035em; white-space: nowrap; }
.cs-spz-delivery-fee-item strong b { margin-left: 2px; color: #718197; font-size: .58em; }
.cs-spz-delivery-fee-revenue { display: flex; align-items: baseline; justify-content: space-between; gap: 7px; margin-top: 10px; padding-top: 9px; border-top: 1px solid rgba(20,115,230,.075); }
.cs-spz-delivery-fee-revenue strong { overflow: hidden; color: #244f78; font-size: clamp(14px,1.05vw,18px); text-overflow: ellipsis; }
.cs-spz-delivery-fee-revenue small { color: #6c7c8e; font-size: 8.5px; font-weight: 680; text-align: right; white-space: nowrap; }
.cs-spz-delivery-fee-item em { display: block; margin-top: 6px; overflow: hidden; color: #768291; font-size: 9px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-delivery-fee-item > i { display: block; height: 6px; margin-top: 10px; overflow: hidden; border-radius: 999px; background: rgba(20,115,230,.1); }
.cs-spz-delivery-fee-item > i > u { display: block; width: var(--width,0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg,#367fc2,#94bae0); text-decoration: none; transform-origin: left; animation: cs-spz-grow .55s cubic-bezier(.2,.75,.25,1) both; }
.cs-spz-kpi-section.is-reactivation .cs-spz-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.cs-spz-reactivation-windows { width: 100%; border: 0; border-collapse: collapse; margin: 10px 0 0; font-size: 12px; line-height: 1.35; text-align: left; }
.cs-spz-reactivation-windows th, .cs-spz-reactivation-windows td { padding: 6px 6px; border-bottom: 1px solid #e9edef; vertical-align: middle; }
.cs-spz-reactivation-windows th:first-child { padding-left: 0; }
.cs-spz-reactivation-windows td:last-child, .cs-spz-reactivation-windows th:last-child { padding-right: 0; text-align: right; }
.cs-spz-reactivation-windows thead th { padding-top: 0; padding-bottom: 6px; color: #707a82; font-size: 10px; font-weight: 600; }
.cs-spz-reactivation-windows tbody th { font-size: 12px; font-weight: 650; white-space: nowrap; }
.cs-spz-reactivation-windows tr:last-child > * { border-bottom: 0; }
.cs-spz-reactivation-window strong { color: #176d50; font-size: 18px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cs-spz-reactivation-counts { font-size: 11px; line-height: 1.4; }
.cs-spz-reactivation-counts small { display: block; color: #707a82; font-size: 10px; }
.cs-spz-window-status { display: inline-block; padding: 2px 6px; border-radius: 5px; background: #e9edef; color: #4e5d65; font-size: 10px; font-weight: 700; line-height: 1.4; }
.cs-spz-window-status.is-complete { background: #e4f1e9; color: #21633b; }
.cs-spz-window-status.is-incomplete { background: #fff2d6; color: #815009; }
.cs-spz-window-deadline { display: block; margin-top: 3px; color: #707a82; font-size: 10px; font-weight: 400; white-space: normal; }
.has-reactivation-windows .cs-spz-kpi-subvalue { margin-top: 10px; }
@media (max-width: 1050px) {
    .cs-spz-kpi-section.is-reactivation .cs-spz-kpi-grid { grid-template-columns: 1fr; }
}

.cs-spz-kpi-context { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin-top: 12px; color: #747a82; font-size: 10.5px; line-height: 1.4; }
.cs-spz-kpi-context strong { color: #484e56; font-size: 12px; font-variant-numeric: tabular-nums; }
.cs-spz-kpi-subvalue { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; margin-top: 11px; color: #747a82; font-size: 10.5px; }
.cs-spz-kpi-subvalue strong { color: #444a52; font-size: 13px; font-variant-numeric: tabular-nums; }
.cs-spz-voucher-breakdown { display: grid; gap: 6px; margin-top: 13px; }
.cs-spz-voucher-breakdown > span { display: grid; grid-template-columns: 40px minmax(55px,1fr) auto; align-items: center; gap: 7px; padding: 7px 9px; border-radius: 10px; color: #6c727b; background: rgba(21,23,26,.04); font-size: 10px; font-variant-numeric: tabular-nums; }
.cs-spz-voucher-breakdown strong { color: #444a52; font-size: 10.5px; }
.cs-spz-voucher-breakdown small { color: #767c84; font-size: 9.5px; }
.cs-spz-voucher-breakdown b { color: #30343a; font-size: 10.5px; text-align: right; white-space: nowrap; }
.cs-spz-voucher-breakdown.is-empty { padding: 10px; border-radius: 9px; color: var(--spz-muted); background: rgba(21,23,26,.035); font-size: 10px; }
.cs-spz-vendor-quantity { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 13px; }
.cs-spz-vendor-quantity > span { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 7px; padding: 8px 9px; border-radius: 10px; background: rgba(21,23,26,.04); }
.cs-spz-vendor-quantity small { min-width: 0; overflow: hidden; color: #747a82; font-size: 9.5px; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-vendor-quantity strong { color: #444a52; font-size: 11px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cs-spz-kpi-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 7px; min-height: 25px; margin-top: auto; padding-top: 14px; color: var(--spz-muted); font-size: 10px; }
.cs-spz-kpi-comparisons { display: grid; gap: 0; margin-top: auto; padding: 16px 0 0; }
.cs-spz-kpi-comparison-row { min-width: 0; display: grid; grid-template-columns: 68px minmax(0,1fr); gap: 8px; align-items: center; min-height: 35px; padding: 6px 0; border-top: 1px solid rgba(21,23,26,.065); }
.cs-spz-kpi-comparison-label { overflow: hidden; color: #626872; font-size: 11.5px; font-weight: 740; text-overflow: ellipsis; white-space: nowrap; cursor: help; }
.cs-spz-kpi-comparison-values { min-width: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.cs-spz-kpi-comparisons .cs-spz-trend, .cs-spz-kpi-comparisons .cs-spz-trend-absolute { padding: 5px 8px; font-size: 11.5px; white-space: nowrap; }
.cs-spz-trend { padding: 5px 8px; border-radius: 999px; color: #0c704d; background: rgba(22,133,91,.105); font-weight: 770; }
.cs-spz-trend.is-negative { color: #b1161c; background: rgba(215,25,32,.1); }
.cs-spz-trend.is-neutral { color: var(--spz-muted); background: rgba(21,23,26,.06); }
.cs-spz-trend-absolute { padding: 5px 8px; border-radius: 999px; color: #464c54; background: rgba(21,23,26,.06); font-weight: 740; font-variant-numeric: tabular-nums; }

.cs-spz-revenue-development { margin-top: 2px; }
.cs-spz-article-assortment-section { margin-top: 28px; }
.cs-spz-assortment-breakdowns { grid-template-columns: repeat(3,minmax(0,1fr)); }
.cs-spz-assortment-card { padding: 17px; }
.cs-spz-assortment-list { max-height: 390px; display: grid; align-content: start; gap: 2px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding-right: 3px; }
.cs-spz-assortment-print-list { display: none; }
.cs-spz-assortment-row { min-width: 0; padding: 10px 8px; border-bottom: 1px solid rgba(21,23,26,.055); }
.cs-spz-assortment-row:last-child { border-bottom: 0; }
.cs-spz-assortment-row-head { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; }
.cs-spz-assortment-row-head > span { min-width: 0; display: flex; flex-direction: column; }
.cs-spz-assortment-row-head > span:last-child { align-items: flex-end; text-align: right; }
.cs-spz-assortment-row-head strong { overflow: hidden; color: #3d4249; font-size: 10px; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-assortment-row-head b { color: #35393f; font-size: 10px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cs-spz-assortment-row-head small { margin-top: 3px; color: var(--spz-muted); font-size: 8px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cs-spz-assortment-track { display: block; height: 4px; margin-top: 8px; overflow: hidden; border-radius: 999px; background: rgba(21,23,26,.045); }
.cs-spz-assortment-track i { display: block; width: var(--width,0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg,#2873a8,#67a5d0); transform-origin: left; animation: cs-spz-grow .55s cubic-bezier(.2,.75,.25,1) both; }
.cs-spz-assortment-track i.is-negative { background: #a1484d; }
.cs-spz-breakdown-total { white-space: nowrap; font-variant-numeric: tabular-nums; }
.cs-spz-assortment-analysis-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 14px; }
.cs-spz-category-customer-card { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; gap: 16px; align-items: center; margin: 0; border-color: rgba(40,115,168,.14); background: linear-gradient(135deg,rgba(40,115,168,.075),rgba(255,255,255,.98) 58%); }
.cs-spz-category-customer-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; color: #236794; background: rgba(40,115,168,.11); font-size: 25px; }
.cs-spz-category-customer-copy { min-width: 0; }
.cs-spz-category-customer-copy .cs-spz-kicker { margin: 0 0 4px; color: #2873a8; font-size: 9px; font-weight: 790; letter-spacing: .07em; text-transform: uppercase; }
.cs-spz-category-customer-copy h2 { margin: 0; font-size: 15px; }
.cs-spz-category-customer-copy > p:not(.cs-spz-kicker) { margin: 4px 0 0; color: #596675; font-size: 11px; }
.cs-spz-category-customer-copy small { display: block; margin-top: 6px; color: var(--spz-muted); font-size: 9px; }
.cs-spz-modal.is-category-customers { width: min(1180px,100%); }
.cs-spz-modal.is-category-customers .cs-spz-modal-head { align-items: flex-start; }
.cs-spz-modal.is-category-customers .cs-spz-modal-head .cs-spz-kicker { margin: 0 0 5px; color: #2873a8; font-size: 9px; font-weight: 780; letter-spacing: .07em; text-transform: uppercase; }
.cs-spz-modal.is-category-customers .cs-spz-modal-head p:last-child { margin: 5px 0 0; color: var(--spz-muted); font-size: 10px; }
.cs-spz-category-customer-form { padding: 16px; border: 1px solid rgba(40,115,168,.1); border-radius: 17px; background: rgba(40,115,168,.035); }
.cs-spz-category-customer-selection-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.cs-spz-category-customer-selection-head > div:first-child { display: flex; flex-direction: column; gap: 3px; }
.cs-spz-category-customer-selection-head strong { color: #303b47; font-size: 12px; }
.cs-spz-category-customer-selection-head small { color: var(--spz-muted); font-size: 9px; }
.cs-spz-category-customer-selection-head > div:last-child { display: flex; gap: 7px; }
.cs-spz-category-customer-options { max-height: 210px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; margin-top: 13px; overflow-y: auto; padding-right: 3px; scrollbar-gutter: stable; }
.cs-spz-category-customer-option { min-width: 0; display: flex; align-items: center; gap: 8px; padding: 9px 10px; border: 1px solid rgba(21,23,26,.075); border-radius: 10px; background: #fff; cursor: pointer; }
.cs-spz-category-customer-option:has(input:checked) { color: #1e628f; border-color: rgba(40,115,168,.28); background: rgba(40,115,168,.08); }
.cs-spz-category-customer-option input { flex: 0 0 auto; margin: 0; accent-color: #2873a8; }
.cs-spz-category-customer-option span { min-width: 0; overflow: hidden; font-size: 10px; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-category-customer-mode { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 15px 0 0; padding: 12px; border: 1px solid rgba(21,23,26,.07); border-radius: 13px; background: rgba(255,255,255,.7); }
.cs-spz-category-customer-mode legend { padding: 0 5px; color: #59626d; font-size: 9px; font-weight: 760; }
.cs-spz-category-customer-mode label { display: flex; align-items: flex-start; gap: 8px; padding: 8px; border-radius: 9px; cursor: pointer; }
.cs-spz-category-customer-mode label:has(input:checked) { background: rgba(40,115,168,.075); }
.cs-spz-category-customer-mode input { margin-top: 2px; accent-color: #2873a8; }
.cs-spz-category-customer-mode span { display: flex; flex-direction: column; gap: 2px; }
.cs-spz-category-customer-mode strong { color: #343b43; font-size: 10px; }
.cs-spz-category-customer-mode small { color: var(--spz-muted); font-size: 8.5px; line-height: 1.35; }
.cs-spz-category-customer-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin-top: 17px; }
.cs-spz-category-customer-summary > div { min-width: 0; display: flex; flex-direction: column; padding: 12px 13px; border-radius: 12px; background: rgba(40,115,168,.065); }
.cs-spz-category-customer-summary small { color: #667584; font-size: 8.5px; font-weight: 720; }
.cs-spz-category-customer-summary strong { margin-top: 4px; overflow: hidden; color: #245f88; font-size: 17px; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-category-customer-summary span { margin-top: 3px; overflow: hidden; color: var(--spz-muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-category-customer-export { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 5px 14px; margin-top: 12px; padding: 11px 13px; border: 1px solid rgba(40,115,168,.12); border-radius: 12px; background: rgba(40,115,168,.035); }
.cs-spz-category-customer-export > div { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.cs-spz-category-customer-export strong { color: #303b47; font-size: 10px; }
.cs-spz-category-customer-export small,.cs-spz-category-customer-export > span { color: var(--spz-muted); font-size: 8.5px; }
.cs-spz-category-customer-export > span { grid-column: 1 / -1; }
.cs-spz-category-customer-export > span:empty { display: none; }
.cs-spz-category-customer-table { max-height: 430px; margin-top: 13px; }
.cs-spz-category-customer-table .cs-spz-table { min-width: 860px; }
.cs-spz-category-customer-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.cs-spz-category-customer-tags .cs-spz-tag { font-size: 8px; }
.cs-spz-category-customer-note { margin: 12px 2px 0; color: var(--spz-muted); font-size: 9px; line-height: 1.45; }
.cs-spz-article-quantity-card { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; gap: 16px; align-items: center; margin: 0; border-color: rgba(22,133,91,.14); background: linear-gradient(135deg,rgba(22,133,91,.075),rgba(255,255,255,.98) 58%); }
.cs-spz-article-quantity-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; color: #16704f; background: rgba(22,133,91,.11); font-size: 24px; font-weight: 760; }
.cs-spz-article-quantity-copy { min-width: 0; }
.cs-spz-article-quantity-copy .cs-spz-kicker { margin: 0 0 4px; color: #16704f; font-size: 9px; font-weight: 790; letter-spacing: .07em; text-transform: uppercase; }
.cs-spz-article-quantity-copy h2 { margin: 0; font-size: 15px; }
.cs-spz-article-quantity-copy > p:not(.cs-spz-kicker) { margin: 4px 0 0; color: #596675; font-size: 11px; }
.cs-spz-article-quantity-copy small { display: block; margin-top: 6px; color: var(--spz-muted); font-size: 9px; }
.cs-spz-modal.is-article-quantity { width: min(1180px,100%); }
.cs-spz-modal.is-article-quantity .cs-spz-modal-head { align-items: flex-start; }
.cs-spz-modal.is-article-quantity .cs-spz-modal-head .cs-spz-kicker { margin: 0 0 5px; color: #16704f; font-size: 9px; font-weight: 780; letter-spacing: .07em; text-transform: uppercase; }
.cs-spz-modal.is-article-quantity .cs-spz-modal-head p:last-child { margin: 5px 0 0; color: var(--spz-muted); font-size: 10px; }
.cs-spz-article-quantity-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: end; padding: 15px; border: 1px solid rgba(22,133,91,.11); border-radius: 15px; background: rgba(22,133,91,.04); }
.cs-spz-article-quantity-form .cs-spz-field small { color: var(--spz-muted); font-size: 8.5px; }
.cs-spz-article-quantity-form > button { min-width: 165px; }
.cs-spz-article-quantity-identity { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 16px; padding: 13px 15px; border: 1px solid rgba(21,23,26,.07); border-radius: 13px; background: #fafbfb; }
.cs-spz-article-quantity-identity > div { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 3px 9px; }
.cs-spz-article-quantity-identity strong { overflow: hidden; color: #30363d; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-article-quantity-identity small { grid-column: 2; color: var(--spz-muted); font-size: 8.5px; }
.cs-spz-article-quantity-identity > span { flex: 0 0 auto; color: var(--spz-muted); font-size: 9px; font-weight: 680; }
.cs-spz-article-quantity-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-top: 10px; }
.cs-spz-article-quantity-summary > div { min-width: 0; display: flex; flex-direction: column; padding: 12px 13px; border-radius: 12px; background: rgba(22,133,91,.055); }
.cs-spz-article-quantity-summary > div.is-primary { color: #fff; background: linear-gradient(135deg,#16855b,#2873a8); box-shadow: 0 8px 20px rgba(22,133,91,.13); }
.cs-spz-article-quantity-summary small { color: #63736c; font-size: 8.5px; font-weight: 720; }
.cs-spz-article-quantity-summary strong { margin-top: 4px; color: #176d50; font-size: 20px; font-variant-numeric: tabular-nums; }
.cs-spz-article-quantity-summary span { margin-top: 3px; color: var(--spz-muted); font-size: 8px; }
.cs-spz-article-quantity-summary .is-primary small,.cs-spz-article-quantity-summary .is-primary strong,.cs-spz-article-quantity-summary .is-primary span { color: #fff; }
.cs-spz-article-quantity-summary .is-primary span { opacity: .76; }
.cs-spz-article-quantity-summary .is-previous { background: #f0f2f5; }
.cs-spz-article-quantity-summary .is-previous strong { color: #566170; }
.cs-spz-article-quantity-summary .is-comparison strong { color: #176d50; }
.cs-spz-article-quantity-summary .is-comparison.is-negative { background: #fff0f1; }
.cs-spz-article-quantity-summary .is-comparison.is-negative strong { color: #a20f15; }
.cs-spz-article-quantity-chart { margin-top: 12px; padding: 15px 15px 4px; border: 1px solid rgba(21,23,26,.07); border-radius: 15px; background: #fff; }
.cs-spz-article-quantity-chart > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cs-spz-article-quantity-chart h3 { margin: 0; color: #30363d; font-size: 12px; }
.cs-spz-article-quantity-chart .cs-spz-chart { min-height: 286px; }

@media (max-width: 1180px) {
    .cs-spz-assortment-analysis-cards { grid-template-columns: 1fr; }
}
.cs-spz-panel {
    min-width: 0;
    padding: 19px;
    border: 1px solid rgba(255,255,255,.85);
    border-radius: var(--spz-radius);
    background: var(--spz-surface);
    box-shadow: var(--spz-shadow);
}
.cs-spz-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 17px; }
.cs-spz-panel-head h2 { margin: 0; font-size: 15px; letter-spacing: -.015em; }
.cs-spz-panel-head p { margin: 4px 0 0; color: var(--spz-muted); font-size: 10px; }
.cs-spz-segmented { display: flex; padding: 3px; border-radius: 10px; background: rgba(21,23,26,.055); }
.cs-spz-segmented button { min-height: 27px; padding: 0 9px; border: 0; border-radius: 8px; color: var(--spz-muted); background: transparent; font-size: 10px; }
.cs-spz-segmented button.is-active { color: var(--spz-ink); background: #fff; box-shadow: 0 2px 7px rgba(21,23,26,.08); }
.cs-spz-chart { min-height: 292px; position: relative; }
.cs-spz-chart svg { width: 100%; height: 270px; display: block; overflow: visible; }
.cs-spz-chart-legend { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px 16px; min-height: 22px; margin: -7px 1px 0; color: var(--spz-muted); font-size: 10px; font-weight: 650; }
.cs-spz-chart-legend-item { display: inline-flex; align-items: center; gap: 6px; }
.cs-spz-chart-legend-line { width: 22px; height: 0; border-top: 3px solid var(--spz-red); border-radius: 999px; }
.cs-spz-chart-legend-line.is-previous { border-top: 2px dashed #8b95a3; border-radius: 0; }
.cs-spz-chart-grid { stroke: rgba(21,23,26,.08); stroke-width: 1; }
.cs-spz-chart-line { fill: none; stroke: var(--spz-red); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 7px 6px rgba(215,25,32,.16)); }
.cs-spz-chart-line.is-previous { stroke: #8b95a3; stroke-width: 2.2; stroke-dasharray: 7 6; filter: none; }
.cs-spz-chart-area { fill: url(#csSpzArea); opacity: .75; }
.cs-spz-chart-dot { fill: #fff; stroke: var(--spz-red); stroke-width: 2; }
.cs-spz-chart-dot.is-previous { stroke: #8b95a3; stroke-width: 1.8; }
.cs-spz-chart-label { fill: #858a92; font-size: 10px; }
.cs-spz-chart-day-label { font-size: 8.5px; font-weight: 650; }
.cs-spz-chart-day-label.is-weekend { fill: #b3b7bd; }
.cs-spz-chart-day-number { fill: #a1a6ad; font-size: 7px; font-weight: 540; }
.cs-spz-chart-axis-value { fill: #747a83; font-size: 9px; font-variant-numeric: tabular-nums; }
.cs-spz-chart-point-value { fill: #4d5259; stroke: rgba(255,255,255,.94); stroke-width: 3px; paint-order: stroke; stroke-linejoin: round; font-size: 8.5px; font-weight: 720; font-variant-numeric: tabular-nums; }
.cs-spz-chart-hover-point { outline: none; }
.cs-spz-chart-hover-hit { fill: transparent; stroke: none; cursor: crosshair; pointer-events: all; }
.cs-spz-chart-guide, .cs-spz-chart-hover-focus, .cs-spz-chart-tooltip { opacity: 0; pointer-events: none; transition: opacity .14s ease; }
.cs-spz-chart-guide { stroke: rgba(92,99,109,.52); stroke-width: 1; stroke-dasharray: 4 4; }
.cs-spz-chart-hover-focus { fill: #fff; stroke: var(--spz-red); stroke-width: 2.5; }
.cs-spz-chart-hover-focus.is-previous { stroke: #8b95a3; stroke-width: 2; }
.cs-spz-chart-tooltip rect { fill: rgba(36,40,46,.95); filter: drop-shadow(0 6px 12px rgba(21,23,26,.2)); }
.cs-spz-chart-tooltip text { fill: #fff; font-variant-numeric: tabular-nums; }
.cs-spz-chart-tooltip-date { fill: #d9dde2; font-size: 9px; font-weight: 650; }
.cs-spz-chart-tooltip-current { fill: #fff; font-size: 10px; font-weight: 740; }
.cs-spz-chart-tooltip-previous { fill: #c4cad2; font-size: 9.5px; font-weight: 650; }
.cs-spz-chart-tooltip-difference { font-size: 9.5px; font-weight: 740; }
.cs-spz-chart-tooltip-difference.is-positive { fill: #8de0ba; }
.cs-spz-chart-tooltip-difference.is-negative { fill: #ff9ca0; }
.cs-spz-chart-tooltip-difference.is-neutral { fill: #d9dde2; }
.cs-spz-chart-hover-point:hover .cs-spz-chart-guide, .cs-spz-chart-hover-point:hover .cs-spz-chart-hover-focus, .cs-spz-chart-hover-point:hover .cs-spz-chart-tooltip, .cs-spz-chart-hover-point:focus .cs-spz-chart-guide, .cs-spz-chart-hover-point:focus .cs-spz-chart-hover-focus, .cs-spz-chart-hover-point:focus .cs-spz-chart-tooltip { opacity: 1; }
.cs-spz-top-articles { min-height: 430px; }
.cs-spz-top-article-jump { display: flex; align-items: flex-end; justify-content: flex-end; flex-wrap: wrap; gap: 7px 9px; margin: -3px 0 12px; }
.cs-spz-top-article-jump label { min-width: min(250px,100%); }
.cs-spz-top-article-jump label span { display: block; margin: 0 0 4px 2px; color: var(--spz-muted); font-size: 8px; font-weight: 730; letter-spacing: .045em; text-transform: uppercase; }
.cs-spz-top-article-jump input { width: 100%; min-height: 34px; padding: 7px 10px; border: 1px solid var(--spz-line); border-radius: 10px; color: var(--spz-ink); background: #fff; font-size: 10px; }
.cs-spz-top-article-jump input:focus { border-color: rgba(215,25,32,.48); outline: 3px solid rgba(215,25,32,.09); }
.cs-spz-top-article-jump button { min-height: 34px; padding: 7px 11px; }
.cs-spz-top-article-jump > small { width: 100%; min-height: 14px; color: var(--spz-muted); font-size: 8px; text-align: right; }
.cs-spz-ranking { overflow-x: auto; overflow-y: hidden; border: 1px solid var(--spz-line); border-radius: 14px; background: rgba(255,255,255,.7); }
.cs-spz-ranking-head, .cs-spz-ranking-row { display: grid; grid-template-columns: 30px minmax(220px,1fr) 145px 205px; gap: 12px; align-items: center; }
.cs-spz-ranking-head, .cs-spz-ranking-body { min-width: 680px; }
.cs-spz-ranking-head { padding: 10px 12px; color: var(--spz-muted); background: #f7f8fa; border-bottom: 1px solid var(--spz-line); font-size: 8px; font-weight: 730; letter-spacing: .05em; text-transform: uppercase; }
.cs-spz-ranking-head span:nth-child(n+3) { text-align: right; }
.cs-spz-ranking-body { max-height: 500px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.cs-spz-ranking-row { min-height: 61px; padding: 8px 12px; border-bottom: 1px solid rgba(21,23,26,.055); font-size: 10px; transition: background .16s; }
.cs-spz-ranking-row:last-child { border-bottom: 0; }
.cs-spz-ranking-row:hover { background: rgba(215,25,32,.025); }
.cs-spz-ranking-row.is-jump-target { background: #fff0f1; box-shadow: inset 4px 0 0 var(--spz-red); animation: cs-spz-ranking-highlight .7s ease both; }
.cs-spz-ranking-row:focus { outline: 2px solid rgba(215,25,32,.22); outline-offset: -2px; }
@keyframes cs-spz-ranking-highlight { from { background: rgba(215,25,32,.24); } to { background: #fff0f1; } }
.cs-spz-ranking-position { color: #a0a5ad; font-size: 9px; font-variant-numeric: tabular-nums; }
.cs-spz-ranking-product { min-width: 0; }
.cs-spz-ranking-product strong { display: block; overflow: hidden; color: var(--spz-ink); font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-ranking-product strong span { margin-right: 7px; color: #555b63; font-variant-numeric: tabular-nums; }
.cs-spz-ranking-track { display: block; height: 3px; margin-top: 6px; overflow: hidden; border-radius: 999px; background: rgba(21,23,26,.045); }
.cs-spz-ranking-track i { display: block; width: var(--width,0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--spz-red),#f16a6f); transform-origin: left; animation: cs-spz-grow .55s cubic-bezier(.2,.75,.25,1) both; }
.cs-spz-ranking-track i.is-negative { background: #8b95a3; }
.cs-spz-ranking-track.is-previous { height: 2px; margin-top: 3px; background: rgba(139,149,163,.08); }
.cs-spz-ranking-track.is-previous i { background: #9aa3af; animation-delay: .08s; }
.cs-spz-ranking-track.is-previous.is-empty { background: transparent; }
.cs-spz-ranking-quantity, .cs-spz-ranking-revenue { text-align: right; font-variant-numeric: tabular-nums; }
.cs-spz-ranking-quantity { color: var(--spz-muted); }
.cs-spz-ranking-quantity > strong, .cs-spz-ranking-revenue > strong { display: block; color: #35393f; font-size: 10px; }
.cs-spz-ranking-comparison { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 3px 6px; min-height: 18px; margin-top: 4px; color: #858b94; font-size: 8px; font-weight: 560; }
.cs-spz-ranking-comparison.is-empty { color: #a1a6ae; }
.cs-spz-ranking-delta { padding: 2px 5px; border-radius: 999px; font-size: 7.5px; font-weight: 740; white-space: nowrap; }
.cs-spz-ranking-delta.is-positive { color: #126c4c; background: #edf9f4; }
.cs-spz-ranking-delta.is-negative { color: #a20f15; background: #fff0f1; }
.cs-spz-ranking-delta.is-neutral { color: var(--spz-muted); background: #f1f2f4; }

.cs-spz-target-overview { margin-top: 16px; padding: 18px; }
.cs-spz-target-overview + .cs-spz-revenue-development { margin-top: 16px; }
.cs-spz-target-overview.is-collapsed .cs-spz-panel-head { margin-bottom: 0; }
.cs-spz-target-title { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.cs-spz-target-total-achievement { display: inline-flex; align-items: center; gap: 4px; min-height: 23px; padding: 0 8px; border-radius: 999px; color: #a21117; background: #fff0f1; font-size: 10px; font-weight: 780; font-variant-numeric: tabular-nums; cursor: help; }
.cs-spz-target-total-achievement small { color: currentColor; font-size: 7.5px; font-weight: 690; opacity: .72; }
.cs-spz-target-total-achievement b { font-size: 10px; font-weight: 790; }
.cs-spz-target-total-achievement.is-forecast { color: #51409a; background: #f1efff; }
.cs-spz-target-total-achievement.is-reached { color: #126c4c; background: #edf9f4; }
.cs-spz-target-head-actions { display: flex; align-items: center; gap: 7px; }
.cs-spz-target-info { width: 32px; height: 32px; flex: 0 0 auto; border: 1px solid var(--spz-line); color: #676d75; background: #fff; box-shadow: 0 2px 7px rgba(21,23,26,.055); font-size: 11px; font-weight: 780; transition: color .16s, border-color .16s, background .16s, transform .16s; }
.cs-spz-target-info:hover, .cs-spz-target-info:focus-visible { color: #fff; border-color: var(--spz-red); background: var(--spz-red); transform: translateY(-1px); }
.cs-spz-target-toggle { min-height: 32px; display: inline-flex; align-items: center; gap: 9px; padding: 0 11px; border: 1px solid var(--spz-line); border-radius: 10px; color: #4f555d; background: #fff; box-shadow: 0 2px 7px rgba(21,23,26,.055); font-size: 9px; font-weight: 690; white-space: nowrap; transition: color .16s, border-color .16s, background .16s, transform .16s; }
.cs-spz-target-toggle:hover, .cs-spz-target-toggle:focus-visible { color: #191c20; border-color: #c8ccd1; background: #fafbfc; transform: translateY(-1px); }
.cs-spz-target-toggle-icon { width: 7px; height: 7px; display: inline-block; flex: 0 0 auto; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transition: transform .16s ease; }
.cs-spz-target-toggle-icon.is-down { transform: rotate(45deg) translate(-1px,-1px); }
.cs-spz-target-toggle-icon.is-up { transform: rotate(225deg) translate(-1px,-1px); }
.cs-spz-target-list { display: grid; gap: 9px; }
.cs-spz-target-list[hidden] { display: none; }
.cs-spz-target-account { overflow: hidden; border: 1px solid rgba(21,23,26,.07); border-radius: 13px; background: rgba(248,249,251,.72); }
.cs-spz-target-account-head { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 13px; border-bottom: 1px solid rgba(21,23,26,.06); background: rgba(255,255,255,.6); }
.cs-spz-target-account-identity { min-width: 0; }
.cs-spz-target-account-identity > small { display: block; color: var(--spz-muted); font-size: 7.5px; font-weight: 720; letter-spacing: .055em; text-transform: uppercase; }
.cs-spz-target-account-identity > strong { min-width: 0; display: flex; align-items: center; gap: 8px; margin-top: 4px; color: #393e45; font-size: 11px; }
.cs-spz-target-account-identity > strong > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-target-account-code { padding: 3px 7px; border-radius: 7px; color: #a21117; background: #fff0f1; font-size: 9px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cs-spz-target-data-wrap { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
.cs-spz-target-data-status { flex: 0 0 auto; color: var(--spz-muted); font-size: 8.5px; text-align: right; }
.cs-spz-target-quality { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 999px; color: #555b63; background: #eef0f2; font-size: 7.5px; font-weight: 740; white-space: nowrap; }
.cs-spz-target-quality.is-provisional { color: #8b5c12; background: #fff7df; }
.cs-spz-target-quality.is-indicative { color: #51409a; background: #f1efff; }
.cs-spz-target-quality.is-stable, .cs-spz-target-quality.is-complete { color: #126c4c; background: #e8f7f0; }
.cs-spz-target-quality.is-unavailable { color: #777d85; background: #f1f2f4; }
.cs-spz-target-profile-info { width: 24px; height: 24px; flex: 0 0 auto; border: 1px solid var(--spz-line); color: #676d75; background: #fff; font-size: 9px; font-weight: 780; }
.cs-spz-target-profile-info:hover, .cs-spz-target-profile-info:focus-visible { color: #fff; border-color: var(--spz-red); background: var(--spz-red); }
.cs-spz-target-account-metrics { padding: 3px 13px; }
.cs-spz-target-metric-row { display: grid; grid-template-columns: minmax(105px,.72fr) minmax(125px,1fr) minmax(135px,1fr) minmax(190px,1.25fr) minmax(180px,1.25fr); gap: 12px; align-items: center; min-height: 65px; padding: 9px 0; border-bottom: 1px solid rgba(21,23,26,.055); }
.cs-spz-target-metric-row:last-child { border-bottom: 0; }
.cs-spz-target-metric-name { color: #383d44; font-size: 10px; }
.cs-spz-target-metric-value { min-width: 0; }
.cs-spz-target-metric-value small, .cs-spz-target-achievement small { display: block; color: var(--spz-muted); font-size: 7.5px; }
.cs-spz-target-metric-value b { display: block; margin-top: 4px; overflow: hidden; color: #3f444b; font-size: 11px; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-target-forecast-value b { color: #51409a; }
.cs-spz-target-forecast-range { display: block; margin-top: 4px; overflow: hidden; color: #77718e; font-size: 7.5px; font-style: normal; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-target-achievement { min-width: 0; }
.cs-spz-target-achievement > span { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; }
.cs-spz-target-achievement b { color: #a21117; font-size: 11px; font-variant-numeric: tabular-nums; }
.cs-spz-target-achievement > i { display: block; height: 6px; margin-top: 6px; overflow: hidden; border-radius: 999px; background: rgba(21,23,26,.06); }
.cs-spz-target-achievement > i > em { display: block; width: var(--width,0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--spz-red),#ef676c); transform-origin: left; animation: cs-spz-grow .55s cubic-bezier(.2,.75,.25,1) both; }
.cs-spz-target-metric-row.is-reached .cs-spz-target-achievement b { color: #126c4c; }
.cs-spz-target-metric-row.is-reached .cs-spz-target-achievement > i > em { background: linear-gradient(90deg,#16855b,#53aa88); }

.cs-spz-table-wrap { width: 100%; overflow: auto; border: 1px solid var(--spz-line); border-radius: 14px; background: rgba(255,255,255,.72); }
.cs-spz-floating-hscroll { position: fixed; z-index: 90; height: 22px; display: flex; align-items: center; padding: 5px 7px; border: 1px solid rgba(75,79,88,.15); border-radius: 11px; background: rgba(250,251,252,.97); box-shadow: 0 8px 24px rgba(22,27,34,.16),0 1px 3px rgba(22,27,34,.08); opacity: 0; pointer-events: none; transform: translateY(8px); transition: opacity .16s ease,transform .16s ease; backdrop-filter: blur(12px); touch-action: none; }
.cs-spz-floating-hscroll.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.cs-spz-floating-hscroll.is-modal { z-index: 160; }
.cs-spz-floating-hscroll:focus-visible { border-color: rgba(109,88,181,.45); outline: 3px solid rgba(109,88,181,.12); outline-offset: 2px; }
.cs-spz-floating-hscroll-track { position: relative; width: 100%; height: 10px; overflow: hidden; border-radius: 999px; background: #e2e7ee; box-shadow: inset 0 1px 2px rgba(24,31,40,.1); cursor: pointer; }
.cs-spz-floating-hscroll-thumb { position: absolute; inset: 0 auto 0 0; min-width: 52px; display: block; border: 1px solid rgba(69,80,94,.16); border-radius: 999px; background: linear-gradient(180deg,#98a5b6,#748296); box-shadow: 0 1px 3px rgba(32,41,52,.22); cursor: grab; will-change: transform; }
.cs-spz-floating-hscroll-thumb:hover { background: linear-gradient(180deg,#8795a7,#657386); }
.cs-spz-floating-hscroll-thumb.is-dragging { background: linear-gradient(180deg,#765fb9,#5d479d); cursor: grabbing; }
.cs-spz-table { width: 100%; border-collapse: collapse; font-size: 11px; white-space: nowrap; }
.cs-spz-table th { position: sticky; top: 0; z-index: 1; padding: 11px 12px; color: var(--spz-muted); background: #f7f8fa; border-bottom: 1px solid var(--spz-line); font-size: 9px; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.cs-spz-table td { padding: 11px 12px; border-bottom: 1px solid rgba(21,23,26,.055); }
.cs-spz-table tr:last-child td { border-bottom: 0; }
.cs-spz-table tbody tr { transition: background .16s; }
.cs-spz-table tbody tr:hover { background: rgba(215,25,32,.035); }
.cs-spz-number { text-align: right !important; font-variant-numeric: tabular-nums; }
.cs-spz-pagination { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 13px; color: var(--spz-muted); font-size: 11px; }
.cs-spz-pagination-actions { display: flex; gap: 7px; }
.cs-spz-article-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 10px; align-items: end; margin: 15px 0; padding: 13px; border: 1px solid var(--spz-line); border-radius: 14px; background: rgba(248,249,251,.72); }
.cs-spz-article-filters .cs-spz-field:first-child { grid-column: span 2; }
.cs-spz-article-filters .cs-spz-primary, .cs-spz-article-filters .cs-spz-secondary { min-height: 39px; white-space: nowrap; }
.cs-spz-master-meta { display: grid; grid-template-columns: repeat(2, minmax(84px, 1fr)); gap: 5px 12px; min-width: 230px; font-size: 11px; }
.cs-spz-master-meta span { color: var(--spz-text); white-space: nowrap; }
.cs-spz-master-meta small { display: block; color: var(--spz-muted); font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.cs-spz-article-panel-head { width: 100%; display: grid; align-items: stretch; justify-content: stretch; gap: 8px; }
.cs-spz-article-head-row { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.cs-spz-article-head-copy { min-width: 0; }
.cs-spz-article-head-copy p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-article-head-actions { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.cs-spz-article-panel-head .cs-spz-secondary,
.cs-spz-article-panel-head .cs-spz-primary { min-height: 32px; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; border-radius: 9px; font-size: 10.5px; line-height: 1; white-space: nowrap; }
.cs-spz-article-panel-head label.cs-spz-secondary,
.cs-spz-article-panel-head label.cs-spz-primary { cursor: pointer; }
.cs-spz-article-panel-head .cs-spz-article-warning-action { gap: 6px; }
.cs-spz-article-panel-head .cs-spz-article-warning-action > span { width: 18px; height: 18px; font-size: 10px; }
.cs-spz-article-data-actions { justify-content: flex-start; padding-top: 8px; overflow-x: auto; scrollbar-width: thin; border-top: 1px solid rgba(21,23,26,.055); }
.cs-spz-article-data-actions > :first-child { margin-left: auto; }
.cs-spz-article-column-picker { z-index: 45; }
.cs-spz-article-column-picker .cs-spz-simulation-column-menu { max-height: min(70vh,620px); overflow-y: auto; scrollbar-gutter: stable; }
.cs-spz-article-table-wrap { position: relative; }
.cs-spz-article-table { width: max-content; min-width: 100%; }
.cs-spz-article-table th,.cs-spz-article-table td { height: 48px; padding: 8px 10px; vertical-align: middle; }
.cs-spz-article-table th { height: auto; padding-block: 10px; }
.cs-spz-article-table .cs-spz-article-number { position: sticky; left: 0; z-index: 2; width: 112px; min-width: 112px; max-width: 112px; background: rgba(255,255,255,.98); box-shadow: 1px 0 0 rgba(21,23,26,.065); }
.cs-spz-article-table thead th:first-child { position: sticky; left: 0; z-index: 4; width: 112px; min-width: 112px; max-width: 112px; box-shadow: 1px 0 0 rgba(21,23,26,.065); }
.cs-spz-article-table [data-article-column="name"] { position: sticky; left: 112px; z-index: 2; width: 260px; min-width: 260px; max-width: 260px; overflow: hidden; background: rgba(255,255,255,.98); box-shadow: 1px 0 0 rgba(21,23,26,.065); text-overflow: ellipsis; }
.cs-spz-article-table thead [data-article-column="name"] { z-index: 4; background: #f7f8fa; }
.cs-spz-article-table .cs-spz-article-action { position: sticky; right: 0; z-index: 2; min-width: 94px; background: rgba(255,255,255,.98); box-shadow: -1px 0 0 rgba(21,23,26,.065); text-align: right; }
.cs-spz-article-table thead th:last-child { position: sticky; right: 0; z-index: 4; min-width: 94px; box-shadow: -1px 0 0 rgba(21,23,26,.065); }
.cs-spz-article-table tbody tr:hover .cs-spz-article-number,.cs-spz-article-table tbody tr:hover [data-article-column="name"],.cs-spz-article-table tbody tr:hover .cs-spz-article-action { background: #fff6f6; }
.cs-spz-article-table [data-article-column="account"] { min-width: 205px; max-width: 280px; overflow: hidden; text-overflow: ellipsis; }
.cs-spz-article-table [data-article-column="product_group"],.cs-spz-article-table [data-article-column="category"] { min-width: 130px; }
.cs-spz-article-table [data-article-column="vat"],.cs-spz-article-table [data-article-column="item_type"],.cs-spz-article-table [data-article-column="vendor"],.cs-spz-article-table [data-article-column="location"] { min-width: 92px; }
.cs-spz-article-table [data-article-column="first_sale"],.cs-spz-article-table [data-article-column="last_sale"] { min-width: 108px; }
.cs-spz-article-table [data-article-column="purchase_price"],.cs-spz-article-table [data-article-column="sales_price"] { min-width: 96px; }
.cs-spz-article-table [data-article-column="periods"] { min-width: 72px; }
.cs-spz-article-status-cell { min-width: 250px; }
.cs-spz-article-table .cs-spz-article-action .cs-spz-secondary { min-height: 32px; padding: 7px 10px; font-size: 10px; }

.cs-spz-admin-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr); gap: 16px; }
.cs-spz-admin-layout.is-single { grid-template-columns: minmax(0, 1fr); }
.cs-spz-data-management { border: 1px solid rgba(215,25,32,.12); }
.cs-spz-data-management .cs-spz-kicker, .cs-spz-danger-zone .cs-spz-kicker, .cs-spz-modal.is-danger .cs-spz-kicker { margin: 0 0 6px; }
.cs-spz-danger-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border-radius: 999px; color: #9c1117; background: #fff0f1; font-size: 9px; font-weight: 760; letter-spacing: .05em; text-transform: uppercase; }
.cs-spz-status { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border-radius: 999px; color: #0d6949; background: #edf9f4; font-size: 9px; font-weight: 760; white-space: nowrap; }
.cs-spz-purge-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 11px; align-items: end; margin-top: 16px; }
.cs-spz-purge-grid > :first-child { grid-column: span 2; }
.cs-spz-purge-grid [hidden] { display: none !important; }
.cs-spz-purge-help { margin: 10px 2px 0; color: var(--spz-muted); font-size: 10px; line-height: 1.5; }
.cs-spz-danger-zone { display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid rgba(215,25,32,.2); background: linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,240,241,.78)); }
.cs-spz-danger-zone h2 { margin: 0; font-size: 17px; }
.cs-spz-danger-zone p:not(.cs-spz-kicker) { max-width: 760px; margin: 6px 0 0; color: var(--spz-muted); font-size: 11px; line-height: 1.5; }
.cs-spz-danger-zone .cs-spz-danger { flex: 0 0 auto; min-height: 43px; font-weight: 720; }
.cs-spz-modal.is-danger { width: min(650px,100%); border-color: rgba(215,25,32,.2); }
.cs-spz-purge-scope { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 11px 13px; border-radius: 12px; background: #f5f6f8; font-size: 11px; }
.cs-spz-purge-scope span { color: var(--spz-muted); }
.cs-spz-purge-counts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 12px 0; }
.cs-spz-purge-count { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid var(--spz-line); border-radius: 11px; font-size: 10px; }
.cs-spz-purge-count span { color: var(--spz-muted); }
.cs-spz-purge-count strong { font-size: 12px; font-variant-numeric: tabular-nums; }
.cs-spz-customer-start-summary { grid-template-columns: repeat(3,minmax(0,1fr)); }
.cs-spz-modal.is-danger .cs-spz-alert ul { margin: 0; padding-left: 17px; }
.cs-spz-modal.is-danger .cs-spz-alert li + li { margin-top: 5px; }
.cs-spz-confirm-field { margin-top: 15px; }
.cs-spz-confirm-field span strong { color: var(--spz-red-dark); letter-spacing: .03em; }
.cs-spz-dropzone {
    min-height: 180px;
    display: grid;
    place-items: center;
    padding: 28px;
    border: 1.5px dashed rgba(21,23,26,.2);
    border-radius: 17px;
    background: rgba(248,249,251,.7);
    text-align: center;
    transition: border-color .2s, background .2s, transform .2s;
}
.cs-spz-dropzone.is-dragging { border-color: var(--spz-red); background: var(--spz-red-soft); transform: scale(1.005); }
.cs-spz-dropzone input { display: none; }
.cs-spz-dropzone-icon { width: 48px; height: 48px; display: grid; place-items: center; margin: 0 auto 12px; border-radius: 15px; color: var(--spz-red); background: var(--spz-red-soft); font-size: 22px; }
.cs-spz-dropzone strong { display: block; font-size: 13px; }
.cs-spz-dropzone span { display: block; margin-top: 6px; color: var(--spz-muted); font-size: 10px; }
.cs-spz-account-selection { display: grid; gap: 12px; margin-top: 14px; padding: 14px; border: 1px solid var(--spz-line); border-radius: 14px; background: rgba(248,249,251,.76); }
.cs-spz-account-selection.is-empty { color: var(--spz-muted); }
.cs-spz-account-selection > strong, .cs-spz-account-selection-head strong { display: block; color: var(--spz-ink); font-size: 11px; }
.cs-spz-account-selection > span, .cs-spz-account-selection-head small, .cs-spz-account-selection > p { color: var(--spz-muted); font-size: 9px; line-height: 1.45; }
.cs-spz-account-selection > p { margin: 0; }
.cs-spz-account-selection-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cs-spz-account-selection-head > span:last-child { display: flex; gap: 6px; }
.cs-spz-account-selection-head .cs-spz-secondary { min-height: 32px; padding: 0 10px; font-size: 9px; }
.cs-spz-import-account-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.cs-spz-import-account-option { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 7px 8px 7px 11px; border: 1px solid var(--spz-line); border-radius: 11px; background: #fff; }
.cs-spz-import-account-option:has(input:checked) { border-color: rgba(22,133,91,.3); background: #edf9f4; }
.cs-spz-import-account-choice { min-width: 0; flex: 1 1 auto; display: flex; align-items: center; gap: 9px; padding: 3px 0; cursor: pointer; }
.cs-spz-import-account-option input { width: 16px; height: 16px; flex: 0 0 auto; accent-color: var(--spz-green); }
.cs-spz-import-account-choice span { min-width: 0; }
.cs-spz-import-account-option strong, .cs-spz-import-account-option em, .cs-spz-import-account-option small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-import-account-option strong { color: var(--spz-ink); font-size: 10px; }
.cs-spz-import-account-option em { margin-top: 2px; color: var(--spz-ink); font-size: 9px; font-style: normal; font-weight: 650; }
.cs-spz-import-account-option small { margin-top: 2px; color: var(--spz-muted); font-size: 8px; }
.cs-spz-import-account-option.is-new { border-style: dashed; background: rgba(248,249,251,.85); }
.cs-spz-import-account-details { flex: 0 0 auto; min-height: 30px; padding: 0 9px; border: 1px solid rgba(21,23,26,.1); border-radius: 8px; color: var(--spz-text); background: rgba(255,255,255,.82); font: inherit; font-size: 8.5px; font-weight: 720; cursor: pointer; white-space: nowrap; }
.cs-spz-import-account-details:hover { border-color: rgba(215,25,32,.22); color: var(--spz-red); background: #fff; }
.cs-spz-import-account-details:disabled { opacity: .48; cursor: default; }
.cs-spz-modal.is-daily-account-details { width: min(1240px,100%); }
.cs-spz-modal.is-daily-account-details .cs-spz-modal-head { align-items: flex-start; }
.cs-spz-modal.is-daily-account-details .cs-spz-modal-head .cs-spz-kicker { margin: 0 0 5px; color: var(--spz-red); font-size: 9px; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.cs-spz-modal.is-daily-account-details .cs-spz-modal-head p:last-child { margin: 5px 0 0; color: var(--spz-muted); font-size: 10px; }
.cs-spz-daily-account-detail-table { max-height: min(55vh,560px); margin-top: 14px; border: 1px solid var(--spz-line); border-radius: 12px; }
.cs-spz-daily-account-detail-table th { position: sticky; top: 0; z-index: 1; white-space: nowrap; }
.cs-spz-daily-account-detail-table td { white-space: nowrap; }
.cs-spz-daily-account-detail-table .cs-spz-import-row-subtitle { display: block; max-width: 260px; margin-top: 3px; overflow: hidden; color: var(--spz-muted); font-size: 8.5px; font-weight: 500; text-overflow: ellipsis; }
.cs-spz-account-conflicts { display: grid; gap: 12px; margin-top: 14px; padding: 14px; border: 1px solid rgba(183,109,0,.22); border-radius: 14px; background: rgba(255,248,223,.72); }
.cs-spz-account-conflicts-title, .cs-spz-account-conflict-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.cs-spz-account-conflicts-title > span:first-child, .cs-spz-account-conflict-head > span { min-width: 0; }
.cs-spz-account-conflicts-title strong, .cs-spz-account-conflict-head strong { display: block; color: var(--spz-ink); font-size: 11px; }
.cs-spz-account-conflicts-title small, .cs-spz-account-conflict-head small { display: block; margin-top: 3px; color: var(--spz-muted); font-size: 9px; line-height: 1.4; }
.cs-spz-account-conflict { overflow: hidden; border: 1px solid rgba(183,109,0,.18); border-radius: 12px; background: #fff; }
.cs-spz-account-conflict-head { padding: 12px; }
.cs-spz-account-conflict-head label { display: grid; gap: 4px; min-width: 230px; color: var(--spz-muted); font-size: 8px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.cs-spz-account-conflict select { min-height: 34px; border: 1px solid var(--spz-line); border-radius: 9px; background: #fff; color: var(--spz-ink); font: inherit; font-size: 10px; }
.cs-spz-conflict-table th, .cs-spz-conflict-table td { white-space: nowrap; }
.cs-spz-conflict-table select { min-width: 150px; padding: 0 8px; }
.cs-spz-account-conflicts .cs-spz-form-actions { margin-top: 0; }
.cs-spz-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.cs-spz-form-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.cs-spz-account-summary { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.cs-spz-account-summary span { display: inline-flex; align-items: baseline; gap: 5px; padding: 8px 11px; border-radius: 999px; color: var(--spz-muted); background: #f4f5f7; font-size: 10px; }
.cs-spz-account-summary span.is-good { color: #126c4c; background: #edf9f4; }
.cs-spz-account-summary span.is-open { color: #a20f15; background: #fff0f1; }
.cs-spz-account-summary strong { color: inherit; font-size: 12px; font-variant-numeric: tabular-nums; }
.cs-spz-debtor-import .cs-spz-kicker { margin: 0 0 6px; font-size: 9px; }
.cs-spz-debtor-table small { color: var(--spz-muted); }
.cs-spz-debtor-age { display: block; margin-top: 3px; font-size: 8px; }
.cs-spz-account-code { font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.cs-spz-account-editor { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: 8px; align-items: center; min-width: 360px; }
.cs-spz-account-editor input { min-width: 0; }
.cs-spz-account-note { margin: 12px 2px 0; color: var(--spz-muted); font-size: 9px; line-height: 1.5; }
.cs-spz-status-list { display: grid; gap: 9px; }
.cs-spz-status-item { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 12px; background: rgba(248,249,251,.9); font-size: 11px; }
.cs-spz-status-dot { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: #b7bbc1; }
.cs-spz-status-dot.is-good { background: var(--spz-green); box-shadow: 0 0 0 4px rgba(22,133,91,.1); }
.cs-spz-status-dot.is-bad { background: var(--spz-red); box-shadow: 0 0 0 4px rgba(215,25,32,.1); }
.cs-spz-status-item small { margin-left: auto; color: var(--spz-muted); }
.cs-spz-inline-progress { height: 8px; overflow: hidden; border-radius: 999px; background: rgba(21,23,26,.07); }
.cs-spz-inline-progress span { display: block; height: 100%; width: var(--progress,0%); border-radius: inherit; background: linear-gradient(90deg,var(--spz-red),#f35e64); transition: width .3s; }
.cs-spz-inline-progress.is-indeterminate span { width: 34%; animation: cs-spz-progress-indeterminate 1.15s cubic-bezier(.45,0,.55,1) infinite; }
.cs-spz-inline-progress.is-complete span { background: linear-gradient(90deg,#16855b,#43b785); }
.cs-spz-inline-progress.is-error span { width: 100%; background: #d71920; }
.cs-spz-import-progress { display: grid; gap: 11px; margin-top: 14px; padding: 13px 14px; border: 1px solid rgba(215,25,32,.12); border-radius: 14px; background: rgba(255,247,248,.75); }
.cs-spz-import-progress.is-complete { border-color: rgba(22,133,91,.16); background: rgba(237,249,244,.78); }
.cs-spz-import-progress.is-error { border-color: rgba(215,25,32,.2); background: rgba(255,240,241,.9); }
.cs-spz-import-progress.is-confirmation { border-color: rgba(183,109,0,.18); background: rgba(255,248,223,.8); }
.cs-spz-import-progress.is-correction { border-color: rgba(183,109,0,.24); background: rgba(255,248,223,.9); }
.cs-spz-import-progress.is-correction .cs-spz-import-progress-icon { color: var(--spz-amber); background: rgba(183,109,0,.1); }
.cs-spz-import-progress-head { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: 10px; align-items: center; }
.cs-spz-import-progress-head > span:nth-child(2) { min-width: 0; }
.cs-spz-import-progress-head strong { display: block; color: var(--spz-ink); font-size: 11px; }
.cs-spz-import-progress-head small { display: block; margin-top: 3px; overflow: hidden; color: var(--spz-muted); font-size: 9px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-import-progress-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: var(--spz-red); background: rgba(215,25,32,.09); font-size: 14px; font-weight: 760; }
.cs-spz-import-progress.is-uploading .cs-spz-import-progress-icon, .cs-spz-import-progress.is-processing .cs-spz-import-progress-icon { animation: cs-spz-progress-spin 1.1s linear infinite; }
.cs-spz-import-progress.is-complete .cs-spz-import-progress-icon { color: var(--spz-green); background: rgba(22,133,91,.1); }
.cs-spz-import-progress-percent { color: var(--spz-muted); font-size: 10px; font-variant-numeric: tabular-nums; }
.cs-spz-alert { padding: 13px 14px; border-radius: 12px; color: #775000; background: #fff8df; border: 1px solid rgba(183,109,0,.14); font-size: 11px; line-height: 1.5; }
.cs-spz-alert strong { margin-right: 5px; }
.cs-spz-alert.is-error { color: #8f1116; background: #fff0f1; border-color: rgba(215,25,32,.14); }
.cs-spz-alert.is-success { color: #0f6b48; background: #edf9f4; border-color: rgba(22,133,91,.14); }
.cs-spz-simulation-warning,.cs-spz-article-simulation-filter { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.cs-spz-simulation-warning > div,.cs-spz-article-simulation-filter > div { min-width: 0; flex: 1 1 auto; }
.cs-spz-simulation-warning-action { display: grid; flex: 0 0 auto; min-width: 205px; gap: 2px; padding: 8px 11px; border: 1px solid rgba(141,91,0,.16); border-radius: 10px; color: #704900; background: rgba(255,255,255,.62); text-decoration: none; transition: border-color .16s,background .16s,transform .16s; }
.cs-spz-simulation-warning-action:hover { border-color: rgba(141,91,0,.3); background: #fff; transform: translateY(-1px); }
.cs-spz-simulation-warning-action span { color: #977120; font-size: 8.5px; font-weight: 730; }
.cs-spz-simulation-warning-action strong { margin: 0; font-size: 10px; font-weight: 790; }
.cs-spz-article-simulation-filter { color: #5f4998; background: #f4f0fb; border-color: rgba(112,88,173,.16); }
.cs-spz-article-simulation-filter .cs-spz-secondary { flex: 0 0 auto; min-height: 35px; color: #624d97; background: #fff; }
.cs-spz-price-source { display: block; margin-top: 4px; color: var(--spz-muted); font-size: 9px; }
.cs-spz-import-details { margin-top: 12px; border: 1px solid var(--cs-line); border-radius: 14px; background: rgba(255,255,255,.72); overflow: hidden; }
.cs-spz-import-details summary { cursor: pointer; padding: 13px 15px; color: var(--cs-ink); font-size: 12px; font-weight: 700; list-style-position: inside; }
.cs-spz-import-details[open] summary { border-bottom: 1px solid var(--cs-line); }
.cs-spz-import-details .cs-spz-table-wrap { border: 0; border-radius: 0; max-height: 360px; }
.cs-spz-prefix-cleanup-list { display: flex; flex-wrap: wrap; gap: 6px; padding: 13px 15px; }
.cs-spz-prefix-cleanup-list span { padding: 4px 7px; border-radius: 8px; color: #5d6269; background: #f3f4f6; font-size: 9px; font-variant-numeric: tabular-nums; }
.cs-spz-target-help { display: grid; gap: 5px; margin-bottom: 16px; }
.cs-spz-target-help strong { color: #6f4c00; }
.cs-spz-target-period-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.cs-spz-target-exclusions-card { margin-top: 16px; padding: 0 14px 14px; border: 1px solid var(--spz-line); border-radius: 14px; background: rgba(248,249,251,.7); }
.cs-spz-target-exclusions-card .cs-spz-target-bulk-head { margin-top: 14px; }
.cs-spz-target-exclusion-form { display: grid; grid-template-columns: minmax(150px,.7fr) minmax(220px,1.3fr) auto; gap: 9px; align-items: end; }
.cs-spz-target-exclusion-form label > span { display: block; margin-bottom: 5px; color: var(--spz-muted); font-size: 8px; font-weight: 680; }
.cs-spz-target-exclusion-form input { width: 100%; min-height: 40px; box-sizing: border-box; padding: 0 11px; border: 1px solid #d9dde2; border-radius: 10px; outline: 0; color: #2b3036; background: #fff; font: inherit; font-size: 10px; }
.cs-spz-target-exclusion-form input:focus { border-color: rgba(215,25,32,.62); box-shadow: 0 0 0 3px rgba(215,25,32,.08); }
.cs-spz-target-exclusion-form button { min-height: 40px; }
.cs-spz-target-exclusion-list { display: grid; gap: 7px; margin-top: 10px; }
.cs-spz-target-exclusion-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px; border: 1px solid rgba(21,23,26,.06); border-radius: 10px; background: #fff; }
.cs-spz-target-exclusion-item > div { min-width: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 5px 9px; }
.cs-spz-target-exclusion-item strong { color: #353a41; font-size: 10px; font-variant-numeric: tabular-nums; }
.cs-spz-target-exclusion-item small { color: var(--spz-muted); font-size: 8.5px; }
.cs-spz-target-exclusion-item span { padding: 3px 6px; border-radius: 999px; color: #126c4c; background: #e8f7f0; font-size: 7.5px; font-weight: 720; }
.cs-spz-target-exclusion-item span.is-warning { color: #8b5c12; background: #fff7df; }
.cs-spz-target-exclusion-item button { min-height: 30px; padding: 0 9px; font-size: 8.5px; }
.cs-spz-target-exclusion-empty { padding: 12px; border-radius: 10px; color: var(--spz-muted); background: rgba(255,255,255,.78); font-size: 9px; text-align: center; }
.cs-spz-target-bulk-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 20px 0 10px; }
.cs-spz-target-bulk-head h3 { margin: 0; color: var(--spz-ink); font-size: 13px; }
.cs-spz-target-bulk-head p { margin: 4px 0 0; color: var(--spz-muted); font-size: 9px; }
.cs-spz-target-bulk-list { overflow: hidden; border: 1px solid var(--spz-line); border-radius: 14px; background: rgba(248,249,251,.7); }
.cs-spz-target-bulk-row { display: grid; grid-template-columns: minmax(240px,1fr) minmax(270px,360px); gap: 22px; align-items: center; min-height: 68px; padding: 11px 14px; border-bottom: 1px solid rgba(21,23,26,.06); }
.cs-spz-target-bulk-row:last-child { border-bottom: 0; }
.cs-spz-target-bulk-row.has-saved-target { background: rgba(237,249,244,.55); }
.cs-spz-target-bulk-row label strong { display: block; color: #353a41; font-size: 10.5px; }
.cs-spz-target-bulk-row label small { display: block; margin-top: 4px; color: var(--spz-muted); font-size: 8px; }
.cs-spz-target-bulk-input { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: center; }
.cs-spz-target-bulk-input input { width: 100%; min-height: 42px; box-sizing: border-box; appearance: none; -webkit-appearance: none; padding: 0 13px; border: 1px solid #d9dde2; border-radius: 10px; outline: 0; color: #24282d; background: #fff; box-shadow: 0 1px 2px rgba(21,23,26,.035), inset 0 1px 0 rgba(255,255,255,.7); font: inherit; font-size: 11.5px; font-weight: 690; font-variant-numeric: tabular-nums; text-align: right; transition: border-color .16s, box-shadow .16s, background .16s; }
.cs-spz-target-bulk-input input::placeholder { color: #a2a7ae; font-weight: 560; }
.cs-spz-target-bulk-input input:hover { border-color: #bcc2c9; }
.cs-spz-target-bulk-input input:focus { border-color: rgba(215,25,32,.62); background: #fff; box-shadow: 0 0 0 3px rgba(215,25,32,.09), 0 2px 7px rgba(21,23,26,.055); }
.cs-spz-target-bulk-input > span { display: inline-flex; align-items: center; min-height: 24px; padding: 0 8px; border-radius: 999px; color: #126c4c; background: #e5f6ef; font-size: 8px; font-weight: 740; white-space: nowrap; }
.cs-spz-target-bulk-more[hidden] { display: none; }
.cs-spz-target-more-toggle { width: 100%; min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 0 14px; border: 0; border-top: 1px solid rgba(21,23,26,.07); color: #555b63; background: rgba(255,255,255,.75); font-size: 9px; font-weight: 700; transition: color .16s, background .16s; }
.cs-spz-target-more-toggle:hover, .cs-spz-target-more-toggle:focus-visible { color: #1f2328; background: #fff; }
.cs-spz-target-history-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; }
.cs-spz-target-history-tab { min-height: 32px; padding: 0 12px; border: 1px solid var(--spz-line); border-radius: 9px; color: #5c626a; background: #fff; font-size: 9px; font-weight: 690; }
.cs-spz-target-history-tab:hover, .cs-spz-target-history-tab:focus-visible { border-color: rgba(215,25,32,.28); color: #a21117; }
.cs-spz-target-history-tab.is-active { border-color: #24282d; color: #fff; background: #24282d; box-shadow: 0 5px 12px rgba(21,23,26,.13); }
.cs-spz-row-actions { display: flex; align-items: center; gap: 7px; }
.cs-spz-row-actions button { min-height: 32px; padding: 0 10px; font-size: 10px; white-space: nowrap; }
.cs-spz-empty { padding: 42px 20px; color: var(--spz-muted); text-align: center; }
.cs-spz-empty strong { display: block; margin-bottom: 5px; color: var(--spz-ink); }
.cs-spz-tag { display: inline-flex; align-items: center; min-height: 23px; padding: 0 8px; border-radius: 999px; color: #555b63; background: rgba(21,23,26,.06); font-size: 9px; font-weight: 680; }
.cs-spz-tag.is-error { color: #a20f15; background: #fff0f1; }
.cs-spz-tag.is-good { color: #126c4c; background: #edf9f4; }

.cs-spz-modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 30px; background: rgba(12,14,18,.38); backdrop-filter: blur(9px); animation: cs-spz-fade .18s ease both; }
.cs-spz-modal { width: min(720px, 100%); max-height: calc(100vh - 60px); overflow: auto; padding: 22px; border: 1px solid rgba(255,255,255,.8); border-radius: 24px; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.2); animation: cs-spz-rise .25s ease both; }
.cs-spz-modal-head { display: flex; justify-content: space-between; gap: 15px; align-items: center; margin-bottom: 18px; }
.cs-spz-modal-head h2 { margin: 0; font-size: 18px; }
.cs-spz-modal.is-calendar { width: min(880px, 100%); }
.cs-spz-modal.is-kpi-breakdown { width: min(900px, 100%); }
.cs-spz-modal.is-account-breakdown { width: min(1040px, 100%); }
.cs-spz-modal.is-vendor-margin-breakdown { width: min(1080px, 100%); }
.cs-spz-modal.is-tour-performance-details { width: min(1180px, 100%); }
.cs-spz-modal.is-simulation-vendor-articles { width: min(1180px, 100%); }
.cs-spz-modal.is-simulation-start { width: min(1040px, 100%); }
.cs-spz-modal.is-profitability-details { width: min(920px, 100%); }
.cs-spz-modal.is-kpi-details { width: min(940px, 100%); }
.cs-spz-modal.is-mapping { width: min(1080px, 100%); }
.cs-spz-modal.is-mapping .cs-spz-modal-head { align-items: flex-start; }
.cs-spz-modal.is-mapping .cs-spz-modal-head .cs-spz-kicker { margin: 0 0 5px; color: var(--spz-red); font-size: 9px; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.cs-spz-modal.is-mapping .cs-spz-modal-head p:last-child { margin: 5px 0 0; color: var(--spz-muted); font-size: 10px; }
.cs-spz-mapping-section { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--spz-line); }
.cs-spz-mapping-section h3 { margin: 0; font-size: 13px; }
.cs-spz-mapping-section > div:first-child p { margin: 5px 0 0; color: var(--spz-muted); font-size: 9px; line-height: 1.45; }
.cs-spz-mapping-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.cs-spz-mapping-fields label > span { display: block; margin-bottom: 5px; color: var(--spz-muted); font-size: 9px; font-weight: 680; letter-spacing: .025em; }
.cs-spz-mapping-fields label > span strong { margin-left: 4px; color: var(--spz-red); font-size: 8px; text-transform: uppercase; }
.cs-spz-mapping-fields select { width: 100%; }
.cs-spz-mapping-preview { max-height: 300px; overflow: auto; }
.cs-spz-mapping-preview .cs-spz-table { min-width: max-content; }
.cs-spz-mapping-preview th, .cs-spz-mapping-preview td { max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.js-product-master-progress:not(:empty) { margin-top: 14px; }
.cs-spz-modal.is-kpi-breakdown .cs-spz-modal-head { align-items: flex-start; }
.cs-spz-modal.is-kpi-breakdown .cs-spz-modal-head .cs-spz-kicker { margin: 0 0 5px; color: var(--spz-red); font-size: 9px; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.cs-spz-modal.is-kpi-breakdown .cs-spz-modal-head p:last-child { margin: 5px 0 0; color: var(--spz-muted); font-size: 10px; }
.cs-spz-modal.is-account-breakdown .cs-spz-modal-head { align-items: flex-start; }
.cs-spz-modal.is-account-breakdown .cs-spz-modal-head .cs-spz-kicker { margin: 0 0 5px; color: var(--spz-red); font-size: 9px; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.cs-spz-modal.is-account-breakdown .cs-spz-modal-head p:last-child { margin: 5px 0 0; color: var(--spz-muted); font-size: 10px; }
.cs-spz-modal.is-tour-performance-details .cs-spz-modal-head { align-items: flex-start; }
.cs-spz-modal.is-tour-performance-details .cs-spz-modal-head .cs-spz-kicker { margin: 0 0 5px; color: var(--spz-red); font-size: 9px; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.cs-spz-modal.is-tour-performance-details .cs-spz-modal-head p:last-child { margin: 5px 0 0; color: var(--spz-muted); font-size: 10px; }
.cs-spz-tour-performance-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin-bottom: 14px; }
.cs-spz-tour-performance-summary > div { min-width: 0; padding: 13px 14px; border: 1px solid rgba(20,115,230,.09); border-radius: 13px; background: rgba(20,115,230,.055); }
.cs-spz-tour-performance-summary small, .cs-spz-tour-performance-summary span { display: block; color: var(--spz-muted); font-size: 9px; line-height: 1.3; }
.cs-spz-tour-performance-summary strong { display: block; margin-top: 5px; overflow: hidden; color: #303b49; font-size: 17px; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-tour-performance-summary span { margin-top: 3px; }
.cs-spz-tour-performance-table { max-height: 520px; }
.cs-spz-tour-performance-table .cs-spz-table { min-width: 1060px; }
.cs-spz-tour-performance-table .cs-spz-tour-rank { color: #7a8490; font-size: 10px; font-weight: 760; text-align: center; }
.cs-spz-tour-performance-table tbody td:nth-child(2) > small { display: block; margin-top: 3px; color: var(--spz-muted); font-size: 8px; }
.cs-spz-tour-performance-table tfoot td { position: sticky; bottom: 0; z-index: 1; padding: 12px; border-top: 1px solid var(--spz-line); background: #f3f4f6; font-variant-numeric: tabular-nums; }
.cs-spz-tour-performance-table tbody tr.is-negative td, .cs-spz-tour-performance-table tbody tr.is-negative strong { color: #a20f15; }
.cs-spz-kpi-account-table { max-height: 460px; }
.cs-spz-kpi-account-table .cs-spz-table { min-width: 790px; }
.cs-spz-kpi-account-table tfoot td { position: sticky; bottom: 0; padding: 12px; border-top: 1px solid var(--spz-line); background: #f3f4f6; font-variant-numeric: tabular-nums; }
.cs-spz-kpi-account-table tbody tr.is-negative td, .cs-spz-kpi-account-table tbody tr.is-negative strong { color: #a20f15; }
.cs-spz-kpi-account-table tbody tr.is-excluded { background: #f5f6f7; }
.cs-spz-kpi-account-table tbody tr.is-excluded td, .cs-spz-kpi-account-table tbody tr.is-excluded strong { color: #858b94; }
.cs-spz-account-detail-link { display: inline-flex; flex-direction: column; gap: 2px; color: inherit; text-decoration: none; }
.cs-spz-account-detail-link span { color: var(--spz-red); font-size: 8px; font-weight: 720; }
.cs-spz-account-detail-link:hover strong, .cs-spz-account-detail-link:focus-visible strong { text-decoration: underline; text-underline-offset: 2px; }
.cs-spz-account-detail-link:focus-visible { border-radius: 4px; outline: 2px solid rgba(210, 22, 32, .25); outline-offset: 3px; }
.cs-spz-kpi-account-table tbody tr.is-excluded .cs-spz-account-detail-link span { color: #6f747c; }
.cs-spz-kpi-account-table tbody td:first-child small { display: block; margin-top: 3px; color: #8b5c12; font-size: 8px; font-weight: 680; }
.cs-spz-kpi-account-check { margin: 11px 2px 0; font-size: 9px; font-weight: 680; }
.cs-spz-kpi-account-check.is-exact { color: #126c4c; }
.cs-spz-kpi-account-check.is-warning { color: #a20f15; }
.cs-spz-modal.is-vendor-margin-breakdown .cs-spz-modal-head { align-items: flex-start; }
.cs-spz-modal.is-vendor-margin-breakdown .cs-spz-modal-head .cs-spz-kicker { margin: 0 0 5px; color: var(--spz-red); font-size: 9px; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.cs-spz-modal.is-vendor-margin-breakdown .cs-spz-modal-head p:last-child { margin: 5px 0 0; color: var(--spz-muted); font-size: 10px; }
.cs-spz-vendor-margin-table { max-height: 470px; }
.cs-spz-vendor-margin-table .cs-spz-table { min-width: 940px; }
.cs-spz-vendor-margin-table td:first-child > small { display: block; margin-top: 4px; color: var(--spz-muted); font-size: 8px; }
.cs-spz-vendor-margin-table tfoot td { position: sticky; bottom: 0; padding: 12px; border-top: 1px solid var(--spz-line); background: #f3f4f6; font-variant-numeric: tabular-nums; }
.cs-spz-vendor-margin-table tbody tr.is-negative td, .cs-spz-vendor-margin-table tbody tr.is-negative strong { color: #a20f15; }
.cs-spz-modal.is-profitability-details .cs-spz-modal-head { align-items: flex-start; }
.cs-spz-modal.is-profitability-details .cs-spz-modal-head .cs-spz-kicker { margin: 0 0 5px; color: var(--spz-red); font-size: 9px; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.cs-spz-modal.is-profitability-details .cs-spz-modal-head p:last-child { margin: 5px 0 0; color: var(--spz-muted); font-size: 10px; }
.cs-spz-modal.is-kpi-details .cs-spz-modal-head { align-items: flex-start; }
.cs-spz-modal.is-kpi-details .cs-spz-modal-head .cs-spz-kicker { margin: 0 0 5px; color: var(--spz-red); font-size: 9px; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.cs-spz-modal.is-kpi-details .cs-spz-modal-head p:last-child { margin: 5px 0 0; color: var(--spz-muted); font-size: 10px; }
.cs-spz-kpi-detail-lead { padding: 17px 18px; border-left: 4px solid var(--spz-red); border-radius: 0 14px 14px 0; color: #34383e; background: #f8f9fa; font-size: 13px; line-height: 1.65; }
.cs-spz-kpi-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 14px; }
.cs-spz-kpi-detail-section { margin-top: 12px; padding: 15px 16px; border: 1px solid rgba(21,23,26,.07); border-radius: 14px; background: #fafbfc; }
.cs-spz-kpi-detail-grid .cs-spz-kpi-detail-section { margin-top: 0; }
.cs-spz-kpi-detail-section h3, .cs-spz-kpi-detail-breakdown h3 { margin: 0 0 8px; color: #353a40; font-size: 10px; font-weight: 780; letter-spacing: .04em; text-transform: uppercase; }
.cs-spz-kpi-detail-section p { margin: 0; color: #5f656d; font-size: 11px; line-height: 1.6; }
.cs-spz-kpi-detail-section code { display: block; padding: 12px 13px; border-radius: 10px; color: #4d3d8c; background: rgba(109,88,181,.08); font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 10px; font-weight: 650; line-height: 1.6; white-space: normal; }
.cs-spz-kpi-detail-section.is-example { background: #f2faf6; }
.cs-spz-kpi-detail-section.is-note { border-color: rgba(183,109,0,.15); background: #fff9ef; }
.cs-spz-kpi-detail-section ul { margin: 0; padding-left: 18px; color: #6d5a39; font-size: 10px; line-height: 1.55; }
.cs-spz-kpi-detail-section li + li { margin-top: 5px; }
.cs-spz-kpi-detail-breakdown { margin-top: 14px; padding: 16px; border: 1px solid rgba(21,23,26,.08); border-radius: 15px; background: #fff; }
.cs-spz-kpi-detail-breakdown .cs-spz-table-wrap { max-height: 390px; }
.cs-spz-kpi-detail-wide-table { min-width: 720px; }
.cs-spz-kpi-detail-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.cs-spz-kpi-detail-stat-grid > div { min-width: 0; padding: 12px; border-radius: 11px; background: #f5f6f8; }
.cs-spz-kpi-detail-stat-grid small, .cs-spz-kpi-detail-stat-grid span { display: block; color: var(--spz-muted); font-size: 8px; line-height: 1.35; }
.cs-spz-kpi-detail-stat-grid strong { display: block; margin: 5px 0 3px; color: #34383e; font-size: 16px; font-variant-numeric: tabular-nums; }
.cs-spz-profitability-detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.cs-spz-profitability-detail-card { min-width: 0; padding: 16px; border: 1px solid rgba(21,23,26,.06); border-radius: 16px; background: linear-gradient(145deg,#fff,var(--detail-accent)); }
.cs-spz-profitability-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cs-spz-profitability-detail-head > span { color: #565c64; font-size: 10px; font-weight: 720; }
.cs-spz-profitability-detail-card > strong { display: block; margin-top: 13px; color: #292d32; font-size: 28px; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.cs-spz-profitability-detail-comparisons { display: grid; gap: 5px; margin-top: 18px; padding-top: 10px; border-top: 1px solid rgba(21,23,26,.07); }
.cs-spz-profitability-detail-comparisons .cs-spz-kpi-comparison-values { flex-wrap: nowrap; }
.cs-spz-profitability-detail-card > p { margin: 14px 0 0; color: var(--spz-muted); font-size: 8px; line-height: 1.5; }
.cs-spz-postcode-loading { min-height: 260px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--spz-muted); font-size: 11px; }
.cs-spz-postcode-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-bottom: 14px; }
.cs-spz-postcode-summary > div { padding: 12px 13px; border: 1px solid rgba(21,23,26,.055); border-radius: 13px; background: #f8f9fa; }
.cs-spz-postcode-summary small { display: block; color: var(--spz-muted); font-size: 8px; }
.cs-spz-postcode-summary strong { display: block; margin-top: 4px; color: #35393f; font-size: 14px; font-variant-numeric: tabular-nums; }
.cs-spz-postcode-list { overflow: hidden; border: 1px solid var(--spz-line); border-radius: 14px; background: rgba(255,255,255,.75); }
.cs-spz-postcode-list-head, .cs-spz-postcode-row { min-width: 560px; display: grid; grid-template-columns: 30px minmax(210px,1fr) 78px 125px; gap: 10px; align-items: center; }
.cs-spz-postcode-list-head { padding: 9px 12px; color: var(--spz-muted); background: #f5f6f8; border-bottom: 1px solid var(--spz-line); font-size: 8px; font-weight: 740; letter-spacing: .05em; text-transform: uppercase; }
.cs-spz-postcode-list-head span:nth-child(n+3) { text-align: right; }
.cs-spz-postcode-list-body { max-height: 430px; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.cs-spz-postcode-row { min-height: 47px; padding: 7px 12px; border-bottom: 1px solid rgba(21,23,26,.055); transition: background .16s; }
.cs-spz-postcode-row:last-child { border-bottom: 0; }
.cs-spz-postcode-row:hover { background: rgba(215,25,32,.025); }
.cs-spz-postcode-rank { color: #a0a5ad; font-size: 8px; font-variant-numeric: tabular-nums; }
.cs-spz-postcode-name { min-width: 0; }
.cs-spz-postcode-name strong { display: block; overflow: hidden; color: #41464d; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-postcode-name > span { display: block; height: 4px; margin-top: 6px; overflow: hidden; border-radius: 999px; background: rgba(21,23,26,.05); }
.cs-spz-postcode-name i { display: block; width: var(--width,0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--spz-red),#ef6268); transform-origin: left; animation: cs-spz-grow .5s cubic-bezier(.2,.75,.25,1) both; }
.cs-spz-postcode-share, .cs-spz-postcode-row > b { color: #626870; text-align: right; font-size: 9px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cs-spz-postcode-row > b { color: #34383e; font-size: 10px; }
.cs-spz-postcode-row.is-negative .cs-spz-postcode-name i { background: #8b95a3; }
.cs-spz-postcode-row.is-negative > b { color: #b1161c; }
.cs-spz-postcode-note { margin: 11px 2px 0; color: var(--spz-muted); font-size: 9px; line-height: 1.45; }
.cs-spz-postcode-note.is-warning { color: #9c5710; }
.cs-spz-calendar-head .cs-spz-kicker { margin: 0 0 5px; font-size: 9px; }
.cs-spz-calendar-head h2 { text-transform: capitalize; }
.cs-spz-calendar-loading .cs-spz-panel { box-shadow: none; }
.cs-spz-calendar-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 14px; }
.cs-spz-calendar-nav { display: flex; gap: 6px; }
.cs-spz-calendar-nav .cs-spz-secondary:first-child, .cs-spz-calendar-nav .cs-spz-secondary:last-child { width: 38px; padding: 0; }
.cs-spz-calendar-summary { display: flex; align-items: center; gap: 6px; color: var(--spz-muted); font-size: 10px; }
.cs-spz-calendar-summary span { display: inline-flex; align-items: baseline; gap: 4px; padding: 6px 9px; border-radius: 999px; background: #f4f5f7; }
.cs-spz-calendar-summary .is-available { color: #126c4c; background: #edf9f4; }
.cs-spz-calendar-summary .is-warning { color: #8a5700; background: #fff7df; }
.cs-spz-calendar-summary .is-missing { color: #a20f15; background: #fff0f1; }
.cs-spz-calendar-weekdays, .cs-spz-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.cs-spz-calendar-weekdays { margin: 0 0 6px; color: #8b9098; font-size: 9px; font-weight: 720; letter-spacing: .06em; text-align: center; text-transform: uppercase; }
.cs-spz-calendar-day, .cs-spz-calendar-blank { min-height: 72px; }
.cs-spz-calendar-day { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; padding: 9px; border: 1px solid transparent; border-radius: 13px; color: #5d626a; background: #f5f6f7; text-align: left; transition: transform .18s, border-color .18s, box-shadow .18s; }
.cs-spz-calendar-day:hover { transform: translateY(-1px); border-color: rgba(21,23,26,.15); }
.cs-spz-calendar-day > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 8px; font-size: 11px; font-weight: 750; }
.cs-spz-calendar-day small { min-height: 12px; overflow: hidden; color: inherit; font-size: 8px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-calendar-day.is-available { color: #126c4c; background: #edf9f4; border-color: rgba(22,133,91,.12); }
.cs-spz-calendar-day.is-warning { color: #875500; background: #fff7df; border-color: rgba(183,109,0,.14); }
.cs-spz-calendar-day.is-missing { color: #a20f15; background: #fff0f1; border-color: rgba(215,25,32,.12); }
.cs-spz-calendar-day.is-neutral { color: #969ba3; background: #f6f7f8; }
.cs-spz-calendar-day.is-selected { border-color: rgba(21,23,26,.45); box-shadow: 0 0 0 3px rgba(21,23,26,.06), 0 8px 20px rgba(25,27,34,.08); }
.cs-spz-calendar-day.is-selected > span { color: #fff; background: #272a2f; }
.cs-spz-calendar-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 13px 2px 0; color: var(--spz-muted); font-size: 9px; }
.cs-spz-calendar-legend span { display: inline-flex; align-items: center; gap: 6px; }
.cs-spz-calendar-legend i { width: 8px; height: 8px; border-radius: 50%; background: #c6c9ce; }
.cs-spz-calendar-legend i.is-available { background: var(--spz-green); }
.cs-spz-calendar-legend i.is-warning { background: #dc920d; }
.cs-spz-calendar-legend i.is-missing { background: var(--spz-red); }
.cs-spz-calendar-detail { margin-top: 16px; padding: 15px; border: 1px solid var(--spz-line); border-radius: 16px; background: #fafafb; }
.cs-spz-calendar-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.cs-spz-calendar-detail-head h3 { margin: 7px 0 2px; font-size: 16px; }
.cs-spz-calendar-detail-head p { margin: 0; color: var(--spz-muted); font-size: 9px; }
.cs-spz-tag.is-calendar-available { color: #126c4c; background: #edf9f4; }
.cs-spz-tag.is-calendar-warning { color: #875500; background: #fff7df; }
.cs-spz-tag.is-calendar-missing { color: #a20f15; background: #fff0f1; }
.cs-spz-calendar-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; margin-top: 13px; }
.cs-spz-calendar-detail-grid > div { padding: 10px; border-radius: 11px; background: #fff; }
.cs-spz-calendar-detail-grid small { display: block; color: var(--spz-muted); font-size: 8px; }
.cs-spz-calendar-detail-grid strong { display: block; margin-top: 4px; font-size: 13px; font-variant-numeric: tabular-nums; }
.cs-spz-calendar-empty { margin: 13px 0 0; padding: 12px; border-radius: 11px; color: var(--spz-muted); background: #fff; font-size: 10px; }
.cs-spz-tooltip { position: fixed; z-index: 200; max-width: 310px; padding: 10px 12px; border-radius: 10px; color: #fff; background: rgba(25,27,31,.94); box-shadow: 0 10px 30px rgba(0,0,0,.2); font-size: 10px; line-height: 1.45; pointer-events: none; animation: cs-spz-fade .14s ease both; }
.cs-spz-toast-stack { position: fixed; right: 22px; bottom: 22px; z-index: 300; display: grid; gap: 9px; }
.cs-spz-toast { min-width: 280px; max-width: 430px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.8); border-radius: 13px; color: #fff; background: rgba(29,32,37,.94); box-shadow: 0 16px 45px rgba(0,0,0,.2); backdrop-filter: blur(16px); font-size: 11px; animation: cs-spz-toast .3s ease both; }
.cs-spz-toast.is-error { background: rgba(157,13,19,.96); }
.cs-spz-toast.is-success { background: rgba(13,105,73,.96); }
.cs-spz-simulation-updated-banner { position: fixed; top: 22px; left: 50%; z-index: 10000; min-width: min(430px,calc(100vw - 32px)); max-width: min(620px,calc(100vw - 32px)); display: flex; align-items: center; gap: 12px; padding: 13px 17px; border: 1px solid rgba(255,255,255,.72); border-radius: 15px; color: #fff; background: linear-gradient(135deg,rgba(21,126,89,.98),rgba(12,94,67,.98)); box-shadow: 0 16px 48px rgba(10,67,48,.28); backdrop-filter: blur(16px); opacity: 0; pointer-events: none; transform: translate(-50%,-18px) scale(.98); transition: opacity .22s ease,transform .22s ease; }
.cs-spz-simulation-updated-banner.is-visible { opacity: 1; transform: translate(-50%,0) scale(1); }
.cs-spz-simulation-updated-banner.is-leaving { opacity: 0; transform: translate(-50%,-12px) scale(.985); }
.cs-spz-simulation-updated-banner > span { flex: 0 0 30px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 999px; color: #116a4c; background: #fff; font-size: 16px; font-weight: 850; }
.cs-spz-simulation-updated-banner > div { min-width: 0; display: grid; gap: 2px; }
.cs-spz-simulation-updated-banner strong { font-size: 13px; font-weight: 820; letter-spacing: -.01em; }
.cs-spz-simulation-updated-banner small { color: rgba(255,255,255,.82); font-size: 10px; font-weight: 620; line-height: 1.35; }
.cs-spz-simulation-updated-banner.is-calculating { background: linear-gradient(135deg,rgba(109,88,181,.98),rgba(77,59,139,.98)); box-shadow: 0 16px 48px rgba(70,52,134,.28); }
.cs-spz-simulation-updated-banner.is-calculating > span { color: #684fa8; animation: cs-spz-autosave-pulse 1s ease-in-out infinite; }
.cs-spz-simulation-updated-banner.is-error { background: linear-gradient(135deg,rgba(205,31,38,.98),rgba(151,17,23,.98)); box-shadow: 0 16px 48px rgba(126,16,21,.28); }
.cs-spz-simulation-updated-banner.is-error > span { color: #aa181e; }

/* Budget simulation */
.cs-spz-simulation-view { display: grid; gap: 22px; }
.cs-spz-simulation-toolbar { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 24px; overflow: hidden; padding: 24px 26px; border: 1px solid rgba(255,255,255,.9); border-radius: 24px; background: linear-gradient(125deg,rgba(255,255,255,.98),rgba(250,247,255,.96)); box-shadow: var(--spz-shadow); }
.cs-spz-simulation-toolbar::after { content: ''; position: absolute; right: -55px; bottom: -80px; width: 210px; height: 210px; border-radius: 50%; background: radial-gradient(circle,rgba(109,88,181,.16),transparent 68%); pointer-events: none; }
.cs-spz-simulation-toolbar .cs-spz-kicker,.cs-spz-simulation-result-head .cs-spz-kicker { display: block; margin: 0 0 5px; color: #765fb9; font-size: 9px; }
.cs-spz-simulation-toolbar h2,.cs-spz-simulation-result-head h2 { margin: 0; font-size: 23px; letter-spacing: -.035em; }
.cs-spz-simulation-toolbar p,.cs-spz-simulation-result-head p { margin: 5px 0 0; color: var(--spz-muted); font-size: 10px; }
.cs-spz-simulation-toolbar-actions { z-index: 1; display: flex; align-items: flex-end; gap: 8px; }
.cs-spz-simulation-toolbar-actions label { display: grid; gap: 5px; }
.cs-spz-simulation-toolbar-actions label span { color: var(--spz-muted); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.cs-spz-simulation-toolbar-actions select { min-width: 250px; height: 42px; padding: 0 34px 0 12px; border: 1px solid var(--spz-line); border-radius: 12px; background: #fff; }
.cs-spz-secondary.is-danger { color: #a20f15; border-color: rgba(215,25,32,.15); background: #fff5f5; }
.cs-spz-simulation-assumption-summary { padding: 20px 22px; background: linear-gradient(135deg,#fff 0%,#fbf9ff 100%); }
.cs-spz-simulation-assumption-summary-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.cs-spz-simulation-assumption-summary-head .cs-spz-kicker { display: block; margin: 0 0 5px; color: #765fb9; font-size: 9px; }
.cs-spz-simulation-assumption-summary-head h2 { margin: 0; font-size: 16px; letter-spacing: -.02em; }
.cs-spz-simulation-assumption-summary-head p { margin: 5px 0 0; color: var(--spz-muted); font-size: 9.5px; }
.cs-spz-simulation-assumption-summary-actions { display: flex; align-items: center; gap: 10px; }
.cs-spz-simulation-summary-state { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border-radius: 999px; color: #176649; background: #edf8f3; font-size: 9px; font-weight: 760; white-space: nowrap; }
.cs-spz-simulation-summary-state i { width: 7px; height: 7px; border-radius: 50%; background: #16855b; box-shadow: 0 0 0 4px rgba(22,133,91,.1); }
.cs-spz-simulation-summary-state.is-pending { color: #825000; background: #fff6d9; }
.cs-spz-simulation-summary-state.is-pending i { background: #b76d00; box-shadow: 0 0 0 4px rgba(183,109,0,.1); }
.cs-spz-simulation-assumption-metrics { display: grid; grid-template-columns: repeat(auto-fit,minmax(145px,1fr)); gap: 8px; margin-top: 16px; }
.cs-spz-simulation-assumption-metrics button { min-width: 0; display: grid; gap: 4px; padding: 12px 13px; border: 1px solid rgba(109,88,181,.1); border-radius: 13px; color: #31343a; background: rgba(255,255,255,.86); text-align: left; cursor: pointer; transition: transform .16s,border-color .16s,box-shadow .16s; }
.cs-spz-simulation-assumption-metrics button:hover { transform: translateY(-1px); border-color: rgba(109,88,181,.25); box-shadow: 0 8px 20px rgba(69,52,122,.07); }
.cs-spz-simulation-assumption-metrics small { color: #7666a6; font-size: 8px; font-weight: 780; letter-spacing: .055em; text-transform: uppercase; }
.cs-spz-simulation-assumption-metrics strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-assumption-metrics span { overflow: hidden; color: var(--spz-muted); font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-modal-backdrop.has-simulation-settings { padding: 12px; }
.cs-spz-modal.is-simulation-settings { width: 100%; max-width: none; height: calc(100vh - 24px); max-height: calc(100vh - 24px); display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; overflow: hidden; padding: 0; border-color: rgba(109,88,181,.14); }
.cs-spz-simulation-settings-head { align-items: flex-start; margin: 0; padding: 20px 24px 17px; border-bottom: 1px solid rgba(21,23,26,.07); background: #fff; }
.cs-spz-simulation-settings-head .cs-spz-kicker { margin: 0 0 5px; color: #765fb9; font-size: 9px; font-weight: 780; letter-spacing: .06em; text-transform: uppercase; }
.cs-spz-simulation-settings-head h2 { font-size: 20px; letter-spacing: -.025em; }
.cs-spz-simulation-settings-head p:last-child { margin: 5px 0 0; color: var(--spz-muted); font-size: 9.5px; }
.cs-spz-simulation-settings-tabs { display: flex; gap: 6px; overflow-x: auto; padding: 10px 18px; border-bottom: 1px solid rgba(21,23,26,.07); background: #faf9fc; scrollbar-width: thin; }
.cs-spz-simulation-settings-tabs button { min-width: 128px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 13px; border: 1px solid transparent; border-radius: 11px; color: #656972; background: transparent; font-size: 9.5px; font-weight: 720; white-space: nowrap; cursor: pointer; }
.cs-spz-simulation-settings-tabs button small { min-width: 19px; padding: 2px 6px; border-radius: 999px; color: #7564a6; background: rgba(109,88,181,.08); font-size: 8px; }
.cs-spz-simulation-settings-tabs button:hover { color: #5f4a99; background: rgba(109,88,181,.055); }
.cs-spz-simulation-settings-tabs button.is-active { color: #fff; border-color: #6e59ad; background: linear-gradient(135deg,#8168c8,#634aa5); box-shadow: 0 7px 18px rgba(82,61,148,.19); }
.cs-spz-simulation-settings-tabs button.is-active small { color: #fff; background: rgba(255,255,255,.18); }
.cs-spz-simulation-settings-workspace { display: grid; grid-template-columns: minmax(0,1fr) clamp(700px,46vw,760px); min-height: 0; overflow: hidden; }
.cs-spz-simulation-settings-body { min-width: 0; min-height: 0; overflow: auto; padding: 22px 24px 30px; background: linear-gradient(145deg,#f7f7fa,#fbfbfd); }
.cs-spz-simulation-settings-targets { display: flex; flex-direction: column; min-height: 0; min-width: 0; overflow: hidden; border-left: 1px solid #e2ddee; background: #f9f7fd; }
.cs-spz-simulation-settings-target-head { padding: 16px 16px 10px; }
.cs-spz-simulation-settings-target-head h3 { margin: 4px 0; font-size: 17px; }
.cs-spz-simulation-settings-target-head p { margin: 0 0 10px; color: var(--spz-muted); font-size: 10px; }
.cs-spz-simulation-settings-target-status { padding: 7px 9px; border-radius: 8px; color: #6e59ad; background: #eeebf6; font-size: 10px; }
.cs-spz-simulation-settings-target-status strong,.cs-spz-simulation-settings-target-status small { display: block; }
.cs-spz-simulation-settings-target-status small { margin-top: 5px; line-height: 1.5; }
.cs-spz-simulation-settings-target-status.is-current { color: #126c4c; background: #eaf8f2; }
.cs-spz-simulation-settings-target-status.is-error,.cs-spz-simulation-settings-target-status.is-invalid { color: #8d5b00; background: #fff2d3; }
.cs-spz-simulation-settings-target-head .js-simulation-preview-retry { margin-top: 8px; font-size: 11px; }
.cs-spz-simulation-settings-target-list { display: grid; grid-template-columns: minmax(0,1fr); align-content: start; gap: 10px; min-height: 0; overflow: auto; flex: 1; padding: 0 12px 12px; overscroll-behavior: contain; }
.cs-spz-simulation-settings-target-card { min-width: 0; margin: 0; padding: 10px; border: 1px solid #e6e1ef; border-radius: 10px; background: #fff; }
.cs-spz-simulation-settings-target-card h4 { margin: 0 0 7px; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.cs-spz-simulation-settings-target-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid #f0edf5; }
.cs-spz-simulation-settings-target-metric { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr); gap: 7px; align-content: start; padding: 8px 10px 0; }
.cs-spz-simulation-settings-target-metric:first-child { padding-left: 0; }
.cs-spz-simulation-settings-target-metric:last-child { padding-right: 0; }
.cs-spz-simulation-settings-target-metric + .cs-spz-simulation-settings-target-metric { border-left: 1px solid #f0edf5; }
.cs-spz-simulation-settings-target-metric h5 { margin: 0; font-size: 10px; color: #626870; }
.cs-spz-simulation-settings-targets .cs-spz-simulation-account-target-metric { min-width: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 3px 6px; align-items: center; font-size: 10px; }
.cs-spz-simulation-settings-targets .cs-spz-simulation-account-target-metric > strong { min-width: 0; font-size: 10px; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.cs-spz-simulation-settings-targets .cs-spz-simulation-account-target-metric > span:not(.cs-spz-simulation-account-target-deviation) { font-size: 9px; text-align: right; }
.cs-spz-simulation-settings-targets .cs-spz-simulation-account-target-deviation { grid-column: 1 / -1; display: flex; flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 4px 6px; }
.cs-spz-simulation-settings-targets .cs-spz-simulation-account-target-deviation > small:first-child:not(:last-child) { display: none; }
.cs-spz-simulation-settings-targets .cs-spz-simulation-account-target-deviation b { font-size: 10px; }
.cs-spz-simulation-settings-target-note { margin: 0; padding: 10px 16px; border-top: 1px solid #e6e1ef; color: var(--spz-muted); font-size: 9px; line-height: 1.5; }
.cs-spz-simulation-settings-pane { width: 100%; max-width: 1460px; margin: 0 auto; }
.cs-spz-simulation-settings-pane[hidden] { display: none; }
.cs-spz-simulation-settings-pane > .cs-spz-simulation-help { margin-top: 15px; }
.cs-spz-simulation-settings-pane > .cs-spz-simulation-rule-section { background: #fff; box-shadow: 0 8px 28px rgba(28,24,44,.04); }
.cs-spz-simulation-settings-pane .cs-spz-simulation-assortment-subsection { margin-top: 14px; }
.cs-spz-simulation-settings-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 18px; border-top: 1px solid rgba(21,23,26,.08); background: rgba(255,255,255,.98); box-shadow: 0 -12px 34px rgba(28,24,44,.055); }
.cs-spz-simulation-settings-footer > p { max-width: 410px; margin: 0; color: var(--spz-muted); font-size: 9px; line-height: 1.45; }
.cs-spz-simulation-settings-footer .cs-spz-simulation-action-controls { display: flex; flex: 1 1 auto; justify-content: flex-end; gap: 9px; }
.cs-spz-simulation-settings-footer .cs-spz-simulation-autosave { min-width: 330px; max-width: 470px; }
.cs-spz-simulation-settings-footer .js-simulation-settings-save { min-width: 245px; min-height: 48px; white-space: nowrap; }
.cs-spz-simulation-article-rule-summary table { min-width: 700px; }
.cs-spz-simulation-editor { padding: 0; }
.cs-spz-simulation-editor > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 19px 22px; cursor: pointer; list-style: none; }
.cs-spz-simulation-editor > summary::-webkit-details-marker { display: none; }
.cs-spz-simulation-editor > summary span:first-child { display: grid; gap: 4px; }
.cs-spz-simulation-editor > summary b { font-size: 15px; }
.cs-spz-simulation-editor > summary small { color: var(--spz-muted); font-size: 10px; }
.cs-spz-summary-action { padding: 7px 10px; border-radius: 999px; color: #68559d; background: #f1edfb; font-size: 9px; font-weight: 720; }
.cs-spz-simulation-editor[open] > summary { border-bottom: 1px solid var(--spz-line); }
.cs-spz-simulation-editor-body { display: grid; gap: 22px; padding: 22px; }
.cs-spz-simulation-basics { display: grid; grid-template-columns: minmax(260px,1.5fr) minmax(150px,.5fr); gap: 12px; }
.cs-spz-simulation-basics input,.cs-spz-simulation-basics select { width: 100%; height: 42px; padding: 0 12px; border: 1px solid var(--spz-line); border-radius: 11px; background: #fff; outline: none; }
.cs-spz-simulation-basics input:focus,.cs-spz-simulation-basics select:focus { border-color: rgba(109,88,181,.55); box-shadow: 0 0 0 3px rgba(109,88,181,.09); }
.cs-spz-simulation-help { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 11px; padding: 13px 15px; border: 1px solid rgba(20,115,230,.1); border-radius: 14px; color: #42536b; background: #f3f8ff; }
.cs-spz-simulation-help > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: #fff; background: var(--spz-blue); font-size: 11px; font-weight: 800; }
.cs-spz-simulation-help p { margin: 0; font-size: 10.5px; line-height: 1.55; }
.cs-spz-simulation-rule-section { min-width: 0; padding: 17px; border: 1px solid var(--spz-line); border-radius: 16px; background: #fbfbfc; }
.cs-spz-simulation-rule-section .cs-spz-panel-head h3 { margin: 0; font-size: 13px; }
.cs-spz-simulation-rule-section .cs-spz-panel-head p { margin: 4px 0 0; color: var(--spz-muted); font-size: 9.5px; }
.cs-spz-simulation-delivery-fee-editor { background: linear-gradient(145deg,#f5f9ff,#fbfcfe); border-color: rgba(20,115,230,.12); }
.cs-spz-simulation-delivery-fee-editor table { min-width: 780px; }
.cs-spz-simulation-delivery-fee-editor td:first-child strong,.cs-spz-simulation-delivery-fee-editor td:first-child small,.cs-spz-simulation-delivery-fee-editor td:nth-child(2) strong,.cs-spz-simulation-delivery-fee-editor td:nth-child(2) small { display: block; }
.cs-spz-simulation-delivery-fee-editor td:first-child small,.cs-spz-simulation-delivery-fee-editor td:nth-child(2) small { margin-top: 3px; color: var(--spz-muted); font-size: 9px; }
.cs-spz-simulation-delivery-fee-editor .cs-spz-money-input { width: 150px; height: 38px; display: grid; grid-template-columns: 32px minmax(0,1fr); align-items: center; overflow: hidden; border: 1px solid rgba(21,23,26,.1); border-radius: 9px; background: rgba(255,255,255,.92); box-shadow: 0 1px 2px rgba(21,23,26,.025); transition: border-color .18s,box-shadow .18s,background .18s; }
.cs-spz-simulation-delivery-fee-editor .cs-spz-money-input > span { height: 100%; display: grid; place-items: center; border-right: 1px solid rgba(21,23,26,.075); color: #667789; background: #f2f6fb; font-size: 10px; font-weight: 800; }
.cs-spz-simulation-delivery-fee-editor .cs-spz-money-input input { min-width: 0; width: 100%; height: 100%; margin: 0 !important; padding: 0 11px !important; appearance: textfield; -moz-appearance: textfield; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; outline: 0 !important; text-align: right; font-variant-numeric: tabular-nums; }
.cs-spz-simulation-delivery-fee-editor .cs-spz-money-input input::-webkit-inner-spin-button,.cs-spz-simulation-delivery-fee-editor .cs-spz-money-input input::-webkit-outer-spin-button { margin: 0; appearance: none; -webkit-appearance: none; }
.cs-spz-simulation-delivery-fee-editor .cs-spz-money-input:focus-within { border-color: rgba(20,115,230,.55); background: #fff; box-shadow: 0 0 0 3px rgba(20,115,230,.09); }
.cs-spz-simulation-delivery-fee-note { margin: 12px 2px 0; color: #68717b; font-size: 10px; line-height: 1.55; }
.cs-spz-simulation-rules { max-height: 340px; border: 1px solid rgba(21,23,26,.06); border-radius: 12px; background: #fff; }
.cs-spz-simulation-product-account-scope { display: inline-block !important; width: fit-content; padding: 3px 5px; color: #6e59ad !important; background: #f0ecf8; border-radius: 5px; font-weight: 650; }
.cs-spz-simulation-override-scope { display: block; max-width: 180px; margin-top: 5px; color: var(--spz-muted); font-size: 9px; line-height: 1.4; }
.cs-spz-simulation-rules thead { position: sticky; z-index: 2; top: 0; background: #f5f6f8; box-shadow: 0 1px rgba(21,23,26,.08); }
.cs-spz-simulation-group-head th { padding-top: 10px; padding-bottom: 8px; text-align: center; }
.cs-spz-simulation-group-head th:first-child { text-align: left; }
.cs-spz-simulation-sub-head th { padding-top: 7px; padding-bottom: 9px; font-size: 8px; }
.cs-spz-simulation-group-head .is-ek,.cs-spz-simulation-sub-head .is-ek { color: #67539f; background: #f3effc; }
.cs-spz-simulation-group-head .is-vk,.cs-spz-simulation-sub-head .is-vk { color: #17659f; background: #edf6fc; }
.cs-spz-simulation-group-head .is-growth,.cs-spz-simulation-sub-head .is-growth { color: #237251; background: #eef8f3; }
.cs-spz-simulation-group-head .is-budget,.cs-spz-simulation-sub-head .is-budget { color: #735019; background: #fbf5e9; }
.cs-spz-simulation-rules td.is-ek,.cs-spz-simulation-vendor-results td.is-ek { background: rgba(118,95,185,.025); }
.cs-spz-simulation-rules td.is-vk,.cs-spz-simulation-vendor-results td.is-vk { background: rgba(20,115,230,.025); }
.cs-spz-simulation-rules td.is-growth,.cs-spz-simulation-vendor-results td.is-growth { background: rgba(22,133,91,.025); }
.cs-spz-simulation-vendor-results td.is-budget { background: rgba(183,109,0,.018); }
.cs-spz-simulation-vendor-results table { min-width: 900px; }
.cs-spz-simulation-rules td strong,.cs-spz-simulation-rules td small { display: block; }
.cs-spz-simulation-rules td small { margin-top: 3px; color: var(--spz-muted); font-size: 9px; }
.cs-spz-simulation-vendor-link { width: 100%; min-width: 185px; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding: 3px 2px; border: 0; border-radius: 8px; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.cs-spz-simulation-vendor-link > span { min-width: 0; }
.cs-spz-simulation-vendor-link strong,.cs-spz-simulation-vendor-link small { display: block; }
.cs-spz-simulation-vendor-link small { margin-top: 3px; color: var(--spz-muted); font-size: 9px; font-weight: 500; }
.cs-spz-simulation-vendor-link i { width: 24px; height: 24px; flex: 0 0 24px; display: grid; place-items: center; border-radius: 50%; color: #6b559f; background: rgba(109,88,181,.09); font-size: 11px; font-style: normal; transition: transform .18s,background .18s; }
.cs-spz-simulation-vendor-link:hover strong { color: #604995; }
.cs-spz-simulation-vendor-link:hover i { transform: translateX(2px); background: rgba(109,88,181,.15); }
.cs-spz-simulation-vendor-link:focus-visible { outline: 3px solid rgba(109,88,181,.16); outline-offset: 2px; }
.cs-spz-percent-input { width: 116px; height: 38px; display: inline-flex; align-items: center; overflow: hidden; border: 1px solid rgba(21,23,26,.1); border-radius: 9px; background: rgba(255,255,255,.92); box-shadow: 0 1px 2px rgba(21,23,26,.025); transition: border-color .18s,box-shadow .18s,background .18s; }
.cs-spz-percent-input:focus-within { border-color: rgba(109,88,181,.48); background: #fff; box-shadow: 0 0 0 3px rgba(109,88,181,.08); }
.cs-spz-percent-input input { width: 88px; min-width: 0; height: 100%; margin: 0 !important; padding: 0 4px 0 10px !important; appearance: textfield; -moz-appearance: textfield; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; outline: 0 !important; text-align: right; font-variant-numeric: tabular-nums; }
.cs-spz-percent-input input::-webkit-inner-spin-button,.cs-spz-percent-input input::-webkit-outer-spin-button { margin: 0; appearance: none; -webkit-appearance: none; }
.cs-spz-percent-input span { padding: 0 10px 0 3px; color: #8d9299; font-size: 10px; font-weight: 650; }
.cs-spz-date-input { width: 150px; height: 38px; margin: 0 !important; padding: 0 10px !important; border: 1px solid rgba(21,23,26,.1) !important; border-radius: 9px !important; background: rgba(255,255,255,.92) !important; box-shadow: 0 1px 2px rgba(21,23,26,.025) !important; outline: none; font-size: 10px; font-variant-numeric: tabular-nums; transition: border-color .18s,box-shadow .18s,background .18s; }
.cs-spz-date-input:focus { border-color: rgba(109,88,181,.55) !important; background: #fff !important; box-shadow: 0 0 0 3px rgba(109,88,181,.09) !important; }
.cs-spz-simulation-vendor-section,.cs-spz-simulation-vendor-section * { box-sizing: border-box; }
.cs-spz-simulation-vendor-section { padding: 14px; }
.cs-spz-simulation-vendor-section > .cs-spz-panel-head { align-items: flex-start; flex-wrap: wrap; gap: 10px; }
.cs-spz-simulation-vendor-section > .cs-spz-panel-head > div { min-width: 0; flex: 1 1 240px; }
.cs-spz-simulation-vendor-section > .cs-spz-panel-head p { font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.cs-spz-simulation-vendor-list { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.cs-spz-simulation-vendor-card { min-width: 0; padding: 12px; border: 1px solid #e4dfed; border-radius: 12px; background: #fff; }
.cs-spz-simulation-vendor-card-head { min-width: 0; margin-bottom: 10px; }
.cs-spz-simulation-vendor-card .cs-spz-simulation-vendor-link { min-width: 0; padding: 0; }
.cs-spz-simulation-vendor-card .cs-spz-simulation-vendor-link strong { font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.cs-spz-simulation-vendor-card .cs-spz-simulation-vendor-link small { font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.cs-spz-simulation-vendor-assumptions,.cs-spz-simulation-vendor-account-fields { min-width: 0; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(170px,100%),1fr)); gap: 10px; }
.cs-spz-simulation-vendor-fieldset { min-width: 0; min-inline-size: 0; margin: 0; padding: 8px 10px 10px; border: 1px solid #e6e1ef; border-radius: 9px; }
.cs-spz-simulation-vendor-fieldset > legend { max-width: 100%; padding: 0 4px; font-size: 11px; font-weight: 750; line-height: 1.4; overflow-wrap: anywhere; }
.cs-spz-simulation-vendor-fieldset-fields { min-width: 0; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(128px,100%),1fr)); align-items: start; gap: 8px; }
.cs-spz-simulation-vendor-fieldset.is-ek { color: #67539f; border-color: #e2d9f3; background: #f8f5fd; }
.cs-spz-simulation-vendor-fieldset.is-vk { color: #17659f; border-color: #d8e9f5; background: #f2f8fc; }
.cs-spz-simulation-vendor-fieldset.is-growth { color: #237251; border-color: #d8ecdf; background: #f3faf6; }
.cs-spz-simulation-vendor-field { min-width: 0; display: grid; gap: 4px; margin: 0; }
.cs-spz-simulation-vendor-field > span:first-child { font-size: 11px; line-height: 1.4; }
.cs-spz-simulation-vendor-field > small { min-width: 0; display: block; color: #68717b; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.cs-spz-simulation-vendor-planning-note { margin: 8px 0 0; color: #286449; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.cs-spz-simulation-vendor-planning-note[hidden] { display: none; }
.cs-spz-simulation-vendor-card .cs-spz-percent-input { display: flex; min-width: 0; width: 100%; max-width: 100%; height: 36px; }
.cs-spz-simulation-vendor-card .cs-spz-percent-input input { min-width: 0; width: 100%; flex: 1 1 0; font-size: 12px; }
.cs-spz-simulation-vendor-card .cs-spz-percent-input > span { flex: 0 0 auto; padding-right: 8px; font-size: 11px; }
.cs-spz-simulation-vendor-card .cs-spz-date-input { min-width: 0; min-inline-size: 0; width: 100%; max-width: 100%; height: 36px; padding: 0 7px !important; font-size: 12px; }
.cs-spz-simulation-vendor-card input { font-family: inherit; }
.cs-spz-simulation-vendor-card input:disabled { opacity: .7; background: #f3f3f6 !important; }
.cs-spz-simulation-vendor-account-editor { min-width: 0; margin-top: 10px; border: 1px solid #e8e2f1; border-radius: 9px; background: #faf9fc; }
.cs-spz-simulation-vendor-account-editor > summary { padding: 9px 10px; color: #6e59ad; font-size: 11px; font-weight: 700; line-height: 1.6; cursor: pointer; overflow-wrap: anywhere; }
.cs-spz-simulation-vendor-account-editor > summary span { display: inline-block; margin-left: 6px; padding: 1px 5px; border-radius: 5px; background: #f0ecf8; font-size: 11px; }
.cs-spz-simulation-vendor-account-editor > p { margin: 0; padding: 0 10px 10px; color: #686f78; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.cs-spz-simulation-vendor-account-editor > p > strong { display: inline; font-size: inherit; }
.cs-spz-simulation-vendor-account-list { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; padding: 0 10px 10px; }
.cs-spz-simulation-vendor-account-card { min-width: 0; padding: 10px; border: 1px solid #e8e2f1; border-radius: 8px; background: #fff; }
.cs-spz-simulation-vendor-account-head { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 7px 10px; margin-bottom: 8px; }
.cs-spz-simulation-vendor-account-head > div { min-width: 0; flex: 1 1 180px; }
.cs-spz-simulation-vendor-account-head strong { display: block; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.cs-spz-simulation-vendor-account-head small { display: block; margin-top: 3px; color: var(--spz-muted); font-size: 11px; }
.cs-spz-simulation-vendor-account-head .js-simulation-vendor-account-reset { min-width: 0; max-width: 100%; padding: 6px 8px; font-size: 11px; line-height: 1.4; white-space: normal; }
.cs-spz-simulation-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 3px; }
.cs-spz-simulation-actions p { margin: 0; color: var(--spz-muted); font-size: 9.5px; }
.cs-spz-simulation-actions > div { display: flex; gap: 8px; }
.cs-spz-simulation-action-controls { flex: 1 1 680px; justify-content: flex-end; align-items: stretch; }
.cs-spz-simulation-action-controls .cs-spz-simulation-autosave { min-width: 340px; max-width: 470px; }
.cs-spz-simulation-action-controls .js-simulation-update { min-width: 190px; min-height: 48px; padding-inline: 18px; white-space: nowrap; }
.cs-spz-simulation-action-controls .js-simulation-update:disabled { color: #8b8f96; border-color: rgba(21,23,26,.06); background: #eef0f2; box-shadow: none; cursor: not-allowed; opacity: 1; }
.cs-spz-simulation-autosave { min-width: min(460px,100%); display: grid !important; grid-template-columns: 12px minmax(0,1fr); align-items: center; gap: 11px !important; padding: 10px 13px; border: 1px solid rgba(22,133,91,.13); border-radius: 13px; background: rgba(237,249,244,.78); transition: color .18s,border-color .18s,background .18s; }
.cs-spz-simulation-autosave > span { width: 9px; height: 9px; border-radius: 50%; background: var(--spz-green); box-shadow: 0 0 0 4px rgba(22,133,91,.1); }
.cs-spz-simulation-autosave strong,.cs-spz-simulation-autosave small { display: block; }
.cs-spz-simulation-autosave strong { color: #116a49; font-size: 10px; }
.cs-spz-simulation-autosave small { margin-top: 3px; color: #68776f; font-size: 8.5px; line-height: 1.35; }
.cs-spz-simulation-autosave.is-pending { border-color: rgba(183,109,0,.17); background: rgba(255,248,223,.8); }
.cs-spz-simulation-autosave.is-pending > span { background: #b76d00; box-shadow: 0 0 0 4px rgba(183,109,0,.1); }
.cs-spz-simulation-autosave.is-pending strong { color: #805000; }
.cs-spz-simulation-autosave.is-saving { border-color: rgba(109,88,181,.17); background: rgba(243,239,252,.82); }
.cs-spz-simulation-autosave.is-saving > span { background: #765fb9; box-shadow: 0 0 0 4px rgba(109,88,181,.1); animation: cs-spz-autosave-pulse 1s ease-in-out infinite; }
.cs-spz-simulation-autosave.is-saving strong { color: #5c4795; }
.cs-spz-simulation-autosave.is-error { border-color: rgba(215,25,32,.18); background: rgba(255,240,241,.88); }
.cs-spz-simulation-autosave.is-error > span { background: var(--spz-red); box-shadow: 0 0 0 4px rgba(215,25,32,.1); }
.cs-spz-simulation-autosave.is-error strong { color: #9c1419; }
.cs-spz-simulation-autosave.is-locked { border-color: rgba(183,109,0,.16); background: rgba(255,248,223,.82); }
.cs-spz-simulation-autosave.is-locked > span { background: #b76d00; box-shadow: 0 0 0 4px rgba(183,109,0,.1); }
.cs-spz-simulation-autosave.is-locked strong { color: #805000; }
.cs-spz-simulation-lock-banner { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid rgba(183,109,0,.18); border-radius: 17px; color: #6d4a09; background: linear-gradient(120deg,rgba(255,249,228,.97),rgba(255,252,242,.96)); box-shadow: 0 10px 28px rgba(97,69,17,.06); }
.cs-spz-simulation-lock-banner > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; color: #8b5b05; background: rgba(183,109,0,.1); font-size: 18px; font-weight: 760; }
.cs-spz-simulation-lock-banner strong { display: block; color: #674607; font-size: 12px; }
.cs-spz-simulation-lock-banner p { margin: 4px 0 0; color: #88724b; font-size: 9.5px; line-height: 1.45; }
.cs-spz-simulation-editor input:disabled,.cs-spz-simulation-editor select:disabled { color: #60656d; border-color: rgba(21,23,26,.07); background: #f5f6f7; cursor: not-allowed; opacity: .82; }
.cs-spz-simulation-progress { padding: 17px 18px; border: 1px solid rgba(109,88,181,.14); border-radius: 16px; background: linear-gradient(135deg,rgba(109,88,181,.065),rgba(255,255,255,.96)); box-shadow: 0 10px 28px rgba(45,35,85,.055); }
.cs-spz-simulation-progress .cs-spz-metrics-progress { margin-top: 15px; }
.cs-spz-simulation-progress .cs-spz-metrics-loading-foot { margin-top: 10px; }
.cs-spz-simulation-progress.is-complete { border-color: rgba(22,133,91,.18); background: linear-gradient(135deg,rgba(22,133,91,.075),rgba(255,255,255,.96)); }
.cs-spz-simulation-progress.is-complete .cs-spz-metrics-loading-icon { background: rgba(22,133,91,.12); }
.cs-spz-simulation-progress.is-complete .cs-spz-metrics-loading-icon i { background: var(--spz-green); animation: none; }
.cs-spz-simulation-progress.is-complete .cs-spz-metrics-progress-fill { background: linear-gradient(90deg,#16855b,#43b785); box-shadow: 0 4px 12px rgba(22,133,91,.2); }
.cs-spz-simulation-progress.is-error { border-color: rgba(215,25,32,.19); background: linear-gradient(135deg,rgba(215,25,32,.07),rgba(255,255,255,.96)); }
.cs-spz-simulation-progress.is-error .cs-spz-metrics-progress-fill { background: #b5161c; }
.cs-spz-modal.is-simulation-vendor-articles .cs-spz-modal-head { align-items: flex-start; }
.cs-spz-modal.is-simulation-vendor-articles .cs-spz-modal-head .cs-spz-kicker { margin: 0 0 5px; color: #765fb9; font-size: 9px; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.cs-spz-modal.is-simulation-vendor-articles .cs-spz-modal-head p:last-child { margin: 5px 0 0; color: var(--spz-muted); font-size: 10px; }
.cs-spz-simulation-vendor-article-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin-bottom: 14px; }
.cs-spz-simulation-vendor-article-summary > div { min-width: 0; padding: 14px 15px; border: 1px solid rgba(109,88,181,.09); border-radius: 13px; background: linear-gradient(135deg,rgba(109,88,181,.055),rgba(255,255,255,.8)); }
.cs-spz-simulation-vendor-article-summary small { display: block; color: var(--spz-muted); font-size: 9px; }
.cs-spz-simulation-vendor-article-summary strong { display: block; margin-top: 6px; overflow: hidden; color: #35303f; font-size: 18px; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-vendor-article-tools { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 10px; }
.cs-spz-simulation-vendor-article-tools label { width: min(410px,100%); display: grid; gap: 5px; }
.cs-spz-simulation-vendor-article-tools label span { color: var(--spz-muted); font-size: 8px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.cs-spz-simulation-vendor-article-tools input { width: 100%; height: 39px; padding: 0 12px; border: 1px solid rgba(21,23,26,.1); border-radius: 10px; background: #fff; outline: none; }
.cs-spz-simulation-vendor-article-tools input:focus { border-color: rgba(109,88,181,.5); box-shadow: 0 0 0 3px rgba(109,88,181,.08); }
.cs-spz-simulation-vendor-article-tools > span { padding: 7px 10px; border-radius: 999px; color: #68559d; background: #f1edfb; font-size: 9px; font-weight: 720; white-space: nowrap; }
.cs-spz-simulation-vendor-article-table { max-height: 530px; }
.cs-spz-simulation-vendor-article-table .cs-spz-table { min-width: 930px; }
.cs-spz-simulation-vendor-article-table tbody td:first-child strong,.cs-spz-simulation-vendor-article-table tbody td:first-child small { display: block; }
.cs-spz-simulation-vendor-article-table tbody td:first-child small { max-width: 330px; margin-top: 3px; overflow: hidden; color: var(--spz-muted); font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-vendor-article-table tr[hidden] { display: none; }
.cs-spz-simulation-welcome { display: grid; grid-template-columns: 52px minmax(0,1fr); align-items: center; gap: 16px; padding: 28px; border: 1px dashed rgba(109,88,181,.26); border-radius: 22px; color: #554579; background: linear-gradient(135deg,#fbfaff,#f6f3fc); }
.cs-spz-simulation-welcome > span { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 17px; color: #fff; background: linear-gradient(140deg,#8a70ce,#5e489d); box-shadow: 0 10px 24px rgba(91,69,153,.22); font-size: 23px; }
.cs-spz-simulation-welcome strong { font-size: 15px; }
.cs-spz-simulation-welcome p { max-width: 750px; margin: 5px 0 0; color: var(--spz-muted); font-size: 10.5px; line-height: 1.5; }
.cs-spz-simulation-welcome button { width: max-content; margin-top: 15px; }
.cs-spz-simulation-start-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr); gap: 14px; }
.cs-spz-simulation-start-section { min-width: 0; padding: 18px; border: 1px solid var(--spz-line); border-radius: 18px; background: #fbfbfc; }
.cs-spz-simulation-start-section.is-new { background: linear-gradient(145deg,#fbf9ff,#f6f2fd); border-color: rgba(109,88,181,.15); }
.cs-spz-simulation-start-section > div:first-child { position: relative; padding-left: 46px; }
.cs-spz-simulation-start-section h3 { margin: 0; color: var(--spz-ink); font-size: 14px; }
.cs-spz-simulation-start-section > div:first-child p { margin: 5px 0 0; color: var(--spz-muted); font-size: 9.5px; line-height: 1.45; }
.cs-spz-simulation-start-icon { position: absolute; left: 0; top: -2px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: #fff; background: linear-gradient(140deg,#8a70ce,#5e489d); box-shadow: 0 7px 16px rgba(91,69,153,.18); font-size: 18px; font-weight: 700; }
.cs-spz-simulation-start-icon.is-existing { color: #5f4a96; background: #eee9fa; box-shadow: none; font-size: 16px; }
.cs-spz-simulation-choice-list { display: grid; gap: 8px; max-height: 350px; margin-top: 17px; overflow: auto; }
.cs-spz-simulation-choice { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 14px; border: 1px solid rgba(21,23,26,.075); border-radius: 13px; color: inherit; background: #fff; text-align: left; transition: transform .16s,border-color .16s,box-shadow .16s; }
.cs-spz-simulation-choice:hover,.cs-spz-simulation-choice:focus-visible { transform: translateY(-1px); border-color: rgba(109,88,181,.28); box-shadow: 0 8px 20px rgba(45,35,85,.07); }
.cs-spz-simulation-choice span { min-width: 0; }
.cs-spz-simulation-choice strong,.cs-spz-simulation-choice small { display: block; }
.cs-spz-simulation-choice-lock { display: inline-flex; align-items: center; width: fit-content; margin-top: 6px; padding: 4px 7px; border-radius: 999px; color: #8b5b05; background: rgba(183,109,0,.1); font-size: 8px; font-style: normal; font-weight: 760; line-height: 1; }
.cs-spz-simulation-choice.is-locked { border-color: rgba(183,109,0,.17); background: linear-gradient(135deg,#fffdf8,#fff9e8); }
.cs-spz-modal.is-simulation-lock { width: min(660px,100%); }
.cs-spz-simulation-lock-dialog { display: grid; grid-template-columns: 50px minmax(0,1fr); align-items: start; gap: 15px; margin: 5px 0 18px; padding: 18px; border: 1px solid rgba(183,109,0,.16); border-radius: 18px; background: linear-gradient(140deg,#fffdf7,#fff8e5); }
.cs-spz-simulation-lock-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; color: #8b5b05; background: rgba(183,109,0,.11); font-size: 21px; font-weight: 800; }
.cs-spz-simulation-lock-dialog strong { display: block; color: #5f430d; font-size: 14px; }
.cs-spz-simulation-lock-dialog p { margin: 7px 0 0; color: #806d4a; font-size: 10px; line-height: 1.55; }
.cs-spz-simulation-lock-dialog small { display: block; margin-top: 9px; color: #9a845c; font-size: 8.5px; }
.cs-spz-simulation-choice strong { overflow: hidden; color: #302b39; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-choice small { margin-top: 4px; color: var(--spz-muted); font-size: 8.5px; }
.cs-spz-simulation-choice i { width: 27px; height: 27px; flex: 0 0 27px; display: grid; place-items: center; border-radius: 50%; color: #654f9d; background: #f0ecfa; font-style: normal; }
.cs-spz-modal.is-article-export { width: min(760px,100%); }
.cs-spz-article-export-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 18px 0 14px; }
.cs-spz-article-export-choice { min-width: 0; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 17px; border: 1px solid rgba(21,23,26,.085); border-radius: 15px; color: inherit; background: #fff; text-align: left; transition: transform .16s,border-color .16s,box-shadow .16s; }
.cs-spz-article-export-choice:hover,.cs-spz-article-export-choice:focus-visible { transform: translateY(-1px); border-color: rgba(215,25,32,.26); box-shadow: 0 10px 24px rgba(35,28,28,.075); }
.cs-spz-article-export-choice.is-filtered { background: linear-gradient(135deg,#fff,#fff8f8); }
.cs-spz-article-export-choice:disabled { cursor: not-allowed; opacity: .48; transform: none; box-shadow: none; }
.cs-spz-article-export-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #bd161c; background: #fff0f1; font-size: 16px; font-weight: 800; }
.cs-spz-article-export-choice span:nth-child(2) { min-width: 0; }
.cs-spz-article-export-choice strong,.cs-spz-article-export-choice small { display: block; }
.cs-spz-article-export-choice strong { color: #2f3338; font-size: 12px; }
.cs-spz-article-export-choice small { margin-top: 5px; color: var(--spz-muted); font-size: 9px; line-height: 1.45; }
.cs-spz-article-export-choice em { min-width: 38px; padding: 6px 8px; border-radius: 999px; color: #4b5058; background: rgba(21,23,26,.055); font-size: 10px; font-style: normal; font-weight: 780; text-align: center; }
.cs-spz-article-export-choice.is-loading .cs-spz-article-export-icon { animation: cs-spz-spin 1s linear infinite; }
.js-simulation-create-form { display: grid; gap: 12px; margin-top: 17px; }
.js-simulation-create-form label { display: grid; gap: 5px; }
.js-simulation-create-form label > span { color: #737880; font-size: 8.5px; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.js-simulation-create-form input,.js-simulation-create-form select { width: 100%; height: 42px; padding: 0 12px; border: 1px solid rgba(21,23,26,.1); border-radius: 11px; background: #fff; outline: none; }
.js-simulation-create-form input:focus,.js-simulation-create-form select:focus { border-color: rgba(109,88,181,.5); box-shadow: 0 0 0 3px rgba(109,88,181,.08); }
.js-simulation-create-form > button { width: 100%; min-height: 42px; }
.cs-spz-simulation-warnings { display: grid; gap: 10px; }
.cs-spz-simulation-warning-summary { width: 100%; min-height: 54px; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: 11px; align-items: center; color: #704900; font: inherit; text-align: left; cursor: pointer; appearance: none; transition: border-color .16s,background .16s,box-shadow .16s,transform .16s; }
.cs-spz-simulation-warning-summary:hover,.cs-spz-simulation-warning-summary:focus-visible { border-color: rgba(141,91,0,.28); background: #fff6d8; box-shadow: 0 8px 22px rgba(111,78,0,.07); transform: translateY(-1px); outline: none; }
.cs-spz-simulation-warning-summary strong { min-width: 0; margin: 0; font-size: 11px; }
.cs-spz-simulation-warning-summary-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: #8d5b00; background: rgba(183,109,0,.11); font-size: 14px; font-weight: 820; }
.cs-spz-simulation-warning-summary-action { display: inline-flex; align-items: center; gap: 7px; color: #8d5b00; font-size: 9.5px; font-weight: 770; white-space: nowrap; }
.cs-spz-simulation-warning-summary-action b { font-size: 13px; }
.cs-spz-modal.is-simulation-warning-details { width: min(980px,100%); }
.cs-spz-simulation-warning-detail-list { display: grid; gap: 10px; margin-top: 17px; }
.cs-spz-simulation-delivery-fees { overflow: hidden; }
.cs-spz-simulation-delivery-fees table { min-width: 1050px; }
.cs-spz-simulation-delivery-fees td:first-child strong,.cs-spz-simulation-delivery-fees td:first-child small { display: block; }
.cs-spz-simulation-delivery-fees td:first-child small { margin-top: 4px; color: var(--spz-muted); font-size: 9px; }
.cs-spz-simulation-delivery-fees .cs-spz-simulation-delta { display: inline-flex; margin-top: 0; padding: 7px 9px; }
.cs-spz-simulation-results { display: grid; gap: 18px; }
.cs-spz-simulation-result-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 5px 4px; }
.cs-spz-simulation-basis { min-width: 330px; padding: 13px 15px; border: 1px solid rgba(109,88,181,.12); border-radius: 14px; background: rgba(109,88,181,.055); }
.cs-spz-simulation-basis > small { color: #70648d; font-size: 8px; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.cs-spz-simulation-basis > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.cs-spz-simulation-basis > div span { padding: 5px 8px; border-radius: 999px; color: #594a7e; background: #fff; font-size: 9px; }
.cs-spz-simulation-basis > p { margin: 7px 0 0; color: var(--spz-muted); font-size: 9px; }
.cs-spz-simulation-kpi-filter { position: relative; padding: 14px 16px; border-radius: 17px; background: linear-gradient(135deg,#fff 0%,#faf9fd 100%); box-shadow: 0 8px 24px rgba(28,31,38,.055); }
.cs-spz-simulation-kpi-filter-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.cs-spz-simulation-kpi-filter-head > div { display: grid; gap: 3px; }
.cs-spz-simulation-kpi-filter-head .cs-spz-kicker { color: #765fb9; font-size: 8px; font-weight: 790; letter-spacing: .09em; text-transform: uppercase; }
.cs-spz-simulation-kpi-filter-head strong { color: #30333a; font-size: 14px; }
.cs-spz-simulation-kpi-filter-head small { color: var(--spz-muted); font-size: 9.5px; }
.cs-spz-simulation-kpi-filter-head > button { display: inline-flex; min-width: 190px; align-items: center; justify-content: space-between; gap: 18px; }
.cs-spz-simulation-kpi-filter-head > button b { color: #765fb9; font-size: 14px; }
.cs-spz-simulation-kpi-account-picker { margin-top: 14px; padding: 15px; border-radius: 14px; background: #f5f3fa; }
.cs-spz-simulation-kpi-account-picker-actions,.cs-spz-simulation-kpi-account-picker-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.cs-spz-simulation-kpi-account-picker-actions > span { color: #625875; font-size: 9px; font-weight: 780; letter-spacing: .06em; text-transform: uppercase; }
.cs-spz-simulation-kpi-account-picker-actions > div { display: flex; flex-wrap: wrap; gap: 7px; }
.cs-spz-simulation-kpi-account-picker-actions button { padding: 6px 9px; border: 0; border-radius: 8px; color: #65558c; background: #fff; font-size: 9px; font-weight: 740; cursor: pointer; }
.cs-spz-simulation-kpi-account-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 8px; margin-top: 11px; }
.cs-spz-simulation-kpi-account-option { display: flex; min-width: 0; align-items: center; gap: 10px; padding: 10px 11px; border-radius: 11px; background: #fff; cursor: pointer; transition: background .16s ease,box-shadow .16s ease; }
.cs-spz-simulation-kpi-account-option:has(input:checked) { background: #f0ebfc; box-shadow: inset 0 0 0 1px rgba(118,95,185,.16); }
.cs-spz-simulation-kpi-account-option input { width: 16px; height: 16px; flex: 0 0 16px; accent-color: #765fb9; }
.cs-spz-simulation-kpi-account-option span { display: grid; min-width: 0; gap: 2px; }
.cs-spz-simulation-kpi-account-option strong,.cs-spz-simulation-kpi-account-option small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-kpi-account-option strong { color: #34363c; font-size: 10px; }
.cs-spz-simulation-kpi-account-option small { color: var(--spz-muted); font-size: 8.5px; }
.cs-spz-simulation-kpi-account-picker-footer { margin-top: 13px; padding-top: 12px; border-top: 1px solid rgba(118,95,185,.1); }
.cs-spz-simulation-kpi-account-picker-footer small { color: var(--spz-muted); font-size: 9px; }
.cs-spz-simulation-kpi-account-picker-footer .cs-spz-primary { min-width: 105px; padding: 8px 14px; }
.cs-spz-simulation-kpis { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.cs-spz-simulation-kpi { --kpi-accent:#765fb9; position: relative; display: flex; min-width: 0; min-height: 218px; flex-direction: column; overflow: hidden; padding: 20px; border: 1px solid rgba(255,255,255,.9); border-radius: 19px; background: #fff; box-shadow: 0 10px 30px rgba(28,31,38,.065); }
.cs-spz-simulation-kpi::after { content: ''; position: absolute; right: -32px; bottom: -45px; width: 105px; height: 105px; border-radius: 50%; background: var(--kpi-accent); opacity: .1; }
.cs-spz-simulation-kpi.is-red { --kpi-accent:#d71920; border-top: 3px solid rgba(215,25,32,.65); }
.cs-spz-simulation-kpi.is-purple { --kpi-accent:#765fb9; border-top: 3px solid rgba(118,95,185,.65); }
.cs-spz-simulation-kpi.is-green { --kpi-accent:#16855b; border-top: 3px solid rgba(22,133,91,.65); }
.cs-spz-simulation-kpi.is-blue { --kpi-accent:#1473e6; border-top: 3px solid rgba(20,115,230,.65); }
.cs-spz-simulation-kpi.is-amber { --kpi-accent:#b76d00; border-top: 3px solid rgba(183,109,0,.65); }
.cs-spz-simulation-kpi-head { z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cs-spz-simulation-kpi-head > span { color: #5f656e; font-size: 12px; font-weight: 740; letter-spacing: .005em; }
.cs-spz-simulation-kpi-head .cs-spz-info { width: 29px; height: 29px; flex: 0 0 29px; font-size: 13px; }
.cs-spz-simulation-kpi > strong { margin-top: 19px; overflow: hidden; color: #202329; font-size: clamp(26px,2.1vw,38px); font-variant-numeric: tabular-nums; letter-spacing: -.045em; line-height: 1.06; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-delta { z-index: 1; display: inline-flex; width: max-content; max-width: 100%; flex-direction: column; gap: 4px; margin-top: auto; padding: 9px 11px; border-radius: 11px; font-size: 13px; font-weight: 790; line-height: 1.15; font-variant-numeric: tabular-nums; }
.cs-spz-simulation-delta small { overflow: hidden; font-size: 10px; font-weight: 620; line-height: 1.25; opacity: .78; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-delta.is-positive { color: #126c4c; background: #edf9f4; }
.cs-spz-simulation-delta.is-negative { color: #a20f15; background: #fff0f1; }
.cs-spz-simulation-delta.is-neutral { color: #5f646c; background: #f2f3f5; }
.cs-spz-simulation-revenue-effects { z-index: 1; margin-top: 12px; padding-top: 11px; border-top: 1px solid rgba(21,23,26,.075); }
.cs-spz-simulation-revenue-effects > p { margin: 0 0 8px; color: #666c74; font-size: 9.5px; font-weight: 750; letter-spacing: .015em; }
.cs-spz-simulation-revenue-effects > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.cs-spz-simulation-revenue-effects > div > div { min-width: 0; padding: 9px 10px; border-radius: 11px; background: #f7f8fa; }
.cs-spz-simulation-revenue-effects small,.cs-spz-simulation-revenue-effects strong,.cs-spz-simulation-revenue-effects span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-revenue-effects small { color: #5f6670; font-size: 9.5px; font-weight: 720; line-height: 1.2; }
.cs-spz-simulation-revenue-effects strong { margin-top: 4px; color: #202329; font-size: 13.5px; font-weight: 800; line-height: 1.15; font-variant-numeric: tabular-nums; }
.cs-spz-simulation-revenue-effects span { margin-top: 3px; color: #666d76; font-size: 9.5px; font-weight: 690; line-height: 1.2; }
.cs-spz-simulation-revenue-effects .is-quantity { position: relative; padding-right: 72px; }
.cs-spz-simulation-revenue-effects .is-quantity > button { position: absolute; right: 8px; bottom: 8px; padding: 5px 7px; border: 0; border-radius: 7px; color: #1d65a0; background: rgba(255,255,255,.82); font-size: 8px; font-weight: 780; cursor: pointer; box-shadow: 0 2px 8px rgba(20,115,230,.08); }
.cs-spz-simulation-revenue-effects .is-quantity > button:hover { background: #fff; }
.cs-spz-simulation-revenue-effects .is-quantity { background: #eef6ff; }
.cs-spz-simulation-revenue-effects .is-price { background: #fff3f3; }
.cs-spz-simulation-revenue-effects .is-assortment { background: #f4effd; }
.cs-spz-simulation-revenue-effects .is-special-account { background: #fff8e8; }
.cs-spz-simulation-special-account-editor { display: grid; gap: 14px; }
.cs-spz-simulation-special-account-card { overflow: hidden; border: 1px solid rgba(109,88,181,.1); border-radius: 16px; background: rgba(255,255,255,.82); }
.cs-spz-simulation-special-account-card > .cs-spz-panel-head { padding: 15px 17px; border-bottom: 1px solid rgba(20,25,32,.07); }
.cs-spz-simulation-special-account-card h4 { margin: 0; font-size: 14px; }
.cs-spz-simulation-special-account-card p { margin: 4px 0 0; color: var(--spz-muted); font-size: 11px; }
.cs-spz-simulation-special-account-card .cs-spz-table td { padding-top: 9px; padding-bottom: 9px; }
.cs-spz-simulation-special-account-card .cs-spz-money-input { min-width: 150px; }
.cs-spz-simulation-budget-account-list { display: grid; gap: 14px; }
.cs-spz-simulation-budget-account-card { min-width: 0; padding: 16px; border: 1px solid rgba(109,88,181,.13); border-radius: 16px; background: rgba(255,255,255,.85); }
.cs-spz-simulation-budget-account-card > .cs-spz-panel-head { margin-bottom: 14px; gap: 12px; flex-wrap: wrap; }
.cs-spz-simulation-budget-account-card h4 { margin: 0; font-size: 14px; }
.cs-spz-simulation-budget-account-preview { margin-top: 14px; color: var(--spz-muted); font-size: 11px; }
.cs-spz-simulation-budget-account-preview summary { padding: 8px 0; color: #6e59ad; font-weight: 650; cursor: pointer; }
.cs-spz-simulation-budget-account-preview .cs-spz-table { min-width: 440px; }
.cs-spz-simulation-budget-account-editor > .cs-spz-panel-head { flex-wrap: wrap; gap: 12px; }
.cs-spz-simulation-budget-account-results { overflow: hidden; }
.cs-spz-simulation-account-target-editor .cs-spz-table { min-width: 850px; }
.cs-spz-simulation-account-target-editor td { vertical-align: top; }
.cs-spz-simulation-account-target-editor td:first-child { min-width: 200px; }
.cs-spz-simulation-account-target-editor input[type="number"] { width: 100%; min-width: 160px; margin-bottom: 10px; font-variant-numeric: tabular-nums; }
.cs-spz-simulation-quantity-planning-toggle { display: flex; align-items: flex-start; gap: 7px; max-width: 280px; margin-top: 10px; font-size: 11px; line-height: 1.5; white-space: normal; cursor: pointer; }
.cs-spz-simulation-quantity-planning-toggle input[type="checkbox"] { flex: 0 0 auto; width: 16px; min-width: 16px; height: 16px; margin: 1px 0 0; accent-color: #16855b; }
.cs-spz-simulation-quantity-planning { display: grid; gap: 4px; margin: 9px 0; padding: 8px 10px; border: 1px solid #d6e9df; border-radius: 8px; background: #f0faf5; color: #286449; font-size: 11px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
.cs-spz-simulation-quantity-planning > strong,.cs-spz-simulation-quantity-planning > span,.cs-spz-simulation-quantity-planning > small { display: block; font-size: inherit; }
.cs-spz-simulation-quantity-planning.is-fixed_exceeds_target,.cs-spz-simulation-quantity-planning.is-no_basis { border-color: #efdba8; background: #fff8e7; color: #815b14; }
.cs-spz-simulation-quantity-planning.is-pending { border-color: #e4dfee; background: #f6f3fa; color: #6c6280; }
.cs-spz-simulation-account-target-editor .cs-spz-simulation-quantity-planning { max-width: 280px; }
.cs-spz-simulation-account-target-preview-note { margin: 0 0 16px; color: var(--spz-muted); font-size: 12px; line-height: 1.6; }
.cs-spz-simulation-account-target-metric { display: flex; min-width: 140px; flex-direction: column; align-items: flex-end; gap: 5px; font-variant-numeric: tabular-nums; }
.cs-spz-simulation-account-target-metric > strong { white-space: nowrap; }
.cs-spz-simulation-account-target-metric > strong small { color: var(--spz-muted); font-size: 9px; font-weight: 500; }
.cs-spz-simulation-account-target-metric > span:not(.cs-spz-simulation-account-target-deviation) { color: var(--spz-muted); font-size: 10px; }
.cs-spz-simulation-account-target-deviation { display: flex; width: 100%; flex-direction: column; align-items: flex-end; gap: 3px; padding: 6px 8px; border-radius: 7px; }
.cs-spz-simulation-account-target-deviation b { font-size: 11px; }
.cs-spz-simulation-account-target-deviation small { font-size: 9px; }
.cs-spz-simulation-account-target-deviation.is-positive { color: #126c4c; background: #eaf8f2; }
.cs-spz-simulation-account-target-deviation.is-negative { color: #a20f15; background: #fff0f1; }
.cs-spz-simulation-account-target-deviation.is-neutral { color: #626870; background: #f1f2f4; }
.cs-spz-simulation-kpi-detail-stats { margin-top: 14px; }
.cs-spz-simulation-kpi-detail-stats > div { background: linear-gradient(145deg,#f7f5fc,#fff); }
.cs-spz-simulation-effect-detail-stats { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 10px; }
.cs-spz-simulation-effect-detail-stats > div:first-child { background: linear-gradient(145deg,#eef6ff,#fff); }
.cs-spz-simulation-effect-detail-stats > div:last-child { background: linear-gradient(145deg,#fff1f2,#fff); }
.cs-spz-simulation-effect-detail-stats span { color: var(--spz-muted); font-size: 9px; font-weight: 720; }
.cs-spz-simulation-monthly { overflow: hidden; }
.cs-spz-simulation-monthly .cs-spz-table { min-width: 1380px; }
.cs-spz-simulation-monthly-metric { display: inline-flex; min-width: 145px; align-items: flex-end; flex-direction: column; gap: 6px; font-variant-numeric: tabular-nums; }
.cs-spz-simulation-monthly-metric > strong { color: #262a2f; font-size: 12.5px; font-weight: 800; line-height: 1.15; }
.cs-spz-simulation-monthly-metric > span { display: inline-flex; align-items: center; gap: 7px; padding: 5px 7px; border-radius: 8px; line-height: 1; white-space: nowrap; }
.cs-spz-simulation-monthly-metric b { font-size: 10px; font-weight: 800; }
.cs-spz-simulation-monthly-metric small { margin: 0 !important; color: inherit !important; font-size: 9.5px !important; font-weight: 740; }
.cs-spz-simulation-monthly-metric .is-positive { color: #126c4c; background: #eaf8f2; }
.cs-spz-simulation-monthly-metric .is-negative { color: #a20f15; background: #fff0f1; }
.cs-spz-simulation-monthly-metric .is-neutral { color: #626870; background: #f1f2f4; }
.cs-spz-simulation-monthly-note { margin: 13px 2px 0; color: #686f78; font-size: 10.5px; line-height: 1.55; }
.cs-spz-simulation-assortment-editor .cs-spz-panel-head { align-items: flex-start; }
.cs-spz-simulation-assortment-subsection { margin-top: 16px; padding: 18px; border: 1px solid rgba(21,23,26,.075); border-radius: 16px; background: rgba(248,249,251,.76); }
.cs-spz-simulation-assortment-subsection > .cs-spz-panel-head { gap: 18px; margin: 0 0 14px; padding: 0; border: 0; }
.cs-spz-simulation-assortment-subsection > .cs-spz-panel-head h4 { margin: 0 0 4px; color: var(--spz-text); font-size: 15px; }
.cs-spz-simulation-assortment-subsection > .cs-spz-panel-head p { margin: 0; color: var(--spz-muted); font-size: 10px; line-height: 1.5; }
.cs-spz-simulation-assortment-subsection > .cs-spz-panel-head > span { min-width: 31px; padding: 6px 9px; border-radius: 999px; color: #a01d22; background: #ffebec; font-size: 9px; font-weight: 800; text-align: center; }
.cs-spz-simulation-assortment-subsection.is-innovation { background: linear-gradient(145deg, rgba(248,246,255,.9), rgba(250,251,253,.92)); }
.cs-spz-simulation-discontinue-tools { display: grid; grid-template-columns: minmax(260px,1fr) minmax(240px,320px) auto; align-items: end; gap: 10px; margin: 14px 0 12px; }
.cs-spz-simulation-discontinue-tools label { min-width: 0; display: grid; gap: 6px; }
.cs-spz-simulation-discontinue-tools label > span { color: #737880; font-size: 8.5px; font-weight: 760; letter-spacing: .055em; text-transform: uppercase; }
.cs-spz-simulation-discontinue-tools input,.cs-spz-simulation-discontinue-tools select { width: 100%; height: 42px; min-width: 0; padding: 0 35px 0 12px; border: 1px solid rgba(21,23,26,.1); border-radius: 11px; color: var(--spz-text); background: #fff; }
.cs-spz-simulation-discontinue-tools input:focus,.cs-spz-simulation-discontinue-tools select:focus { border-color: rgba(113,83,190,.62); outline: 3px solid rgba(113,83,190,.1); }
.cs-spz-simulation-discontinue-tools > strong { min-width: 92px; height: 42px; display: grid; place-items: center; padding: 0 12px; border-radius: 11px; color: #625099; background: #eee9fa; font-size: 9px; white-space: nowrap; }
.cs-spz-simulation-discontinue-table-wrap { max-height: min(540px,calc(100vh - 390px)); overflow: auto; border: 1px solid rgba(21,23,26,.07); border-radius: 13px; background: #fff; }
.cs-spz-simulation-discontinue-table { min-width: 1020px; }
.cs-spz-simulation-discontinue-table thead { position: sticky; top: 0; z-index: 1; }
.cs-spz-simulation-discontinue-table th { background: #f4f5f7; box-shadow: 0 1px 0 rgba(21,23,26,.08); }
.cs-spz-simulation-discontinue-table th:first-child { width: 36%; }
.cs-spz-simulation-discontinue-table th:nth-child(2) { width: 15%; }
.cs-spz-simulation-discontinue-table th:nth-child(3) { width: 14%; }
.cs-spz-simulation-discontinue-table th:nth-child(4) { width: 18%; }
.cs-spz-simulation-discontinue-table th:last-child,.cs-spz-simulation-discontinue-table td:last-child { width: 17%; }
.cs-spz-simulation-discontinue-table .cs-spz-muted-value { color: var(--spz-muted); font-size: 9px; }
.cs-spz-simulation-assortment-row.is-unplanned { background: #fff; }
.cs-spz-simulation-assortment-row.is-unplanned:hover { background: #fafafe; }
.cs-spz-simulation-assortment-row.is-unplanned .cs-spz-simulation-rule-status { color: #737981; background: #f0f1f3; }
.cs-spz-simulation-discontinue-table tr[hidden] { display: none; }
.cs-spz-simulation-assortment-table { min-width: 900px; }
.cs-spz-simulation-assortment-table td:first-child strong,.cs-spz-simulation-assortment-table td:first-child small { display: block; }
.cs-spz-simulation-assortment-table td:first-child small { max-width: 380px; margin-top: 4px; overflow: hidden; color: var(--spz-muted); font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-assortment-table select,.cs-spz-simulation-assortment-table input { width: 100%; min-width: 150px; height: 38px; padding: 0 10px; border: 1px solid rgba(21,23,26,.1); border-radius: 10px; background: #fff; }
.cs-spz-simulation-assortment-table th:last-child,.cs-spz-simulation-assortment-table td:last-child { width: 100px; }
.cs-spz-simulation-assortment-row.is-incomplete { background: rgba(255,246,225,.46); }
.cs-spz-simulation-assortment-row.is-complete { background: rgba(234,249,241,.38); }
.cs-spz-simulation-rule-status { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 9px; border-radius: 999px; color: #93651d; background: #fff2d5; font-size: 8.5px; font-weight: 760; line-height: 1.25; }
.cs-spz-simulation-assortment-row.is-complete .cs-spz-simulation-rule-status { color: #24764e; background: #e4f6ec; }
.cs-spz-simulation-inno-list { display: grid; gap: 12px; }
.cs-spz-simulation-inno-card { overflow: hidden; border: 1px solid rgba(21,23,26,.08); border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(31,36,44,.035); }
.cs-spz-simulation-inno-card.is-incomplete { border-color: rgba(203,151,56,.25); }
.cs-spz-simulation-inno-card.is-complete { border-color: rgba(57,151,105,.24); }
.cs-spz-simulation-inno-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 14px 15px; border-bottom: 1px solid rgba(21,23,26,.065); background: rgba(249,249,252,.85); }
.cs-spz-simulation-inno-head > div { display: grid; grid-template-columns: max-content 1fr; align-items: center; gap: 3px 8px; min-width: 0; }
.cs-spz-simulation-inno-head strong { min-width: 0; overflow: hidden; color: var(--spz-text); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-inno-head small { grid-column: 1 / -1; color: var(--spz-muted); font-size: 8.5px; }
.cs-spz-simulation-inno-grid { display: grid; grid-template-columns: repeat(4,minmax(150px,1fr)); gap: 12px; padding: 15px; }
.cs-spz-simulation-inno-grid label { display: grid; align-content: start; gap: 6px; min-width: 0; }
.cs-spz-simulation-inno-grid label.is-wide { grid-column: span 2; }
.cs-spz-simulation-inno-grid label > span { color: #737880; font-size: 8px; font-weight: 780; letter-spacing: .055em; text-transform: uppercase; }
.cs-spz-simulation-inno-grid input,.cs-spz-simulation-inno-grid select { width: 100%; height: 40px; min-width: 0; padding: 0 11px; border: 1px solid rgba(21,23,26,.1); border-radius: 10px; background: #fff; color: var(--spz-text); }
.cs-spz-simulation-inno-grid input:focus,.cs-spz-simulation-inno-grid select:focus { border-color: rgba(113,83,190,.62); outline: 3px solid rgba(113,83,190,.1); }
.cs-spz-simulation-inno-grid .cs-spz-money-input { display: grid; grid-template-columns: 32px 1fr; align-items: center; overflow: hidden; border: 1px solid rgba(21,23,26,.1); border-radius: 10px; background: #fff; }
.cs-spz-simulation-inno-grid .cs-spz-money-input > span { display: grid; align-self: stretch; place-items: center; border-right: 1px solid rgba(21,23,26,.075); color: #6e737b; background: #f6f7f9; font-size: 10px; font-weight: 800; }
.cs-spz-simulation-inno-grid .cs-spz-money-input input { border: 0; border-radius: 0; }
.cs-spz-simulation-inno-grid .cs-spz-money-input:focus-within { border-color: rgba(113,83,190,.62); outline: 3px solid rgba(113,83,190,.1); }
.cs-spz-simulation-inno-grid .cs-spz-money-input input:focus { outline: 0; }
.cs-spz-simulation-inno-status { display: flex; align-items: center; gap: 10px; padding: 10px 15px; border-top: 1px solid rgba(21,23,26,.06); color: #8b641f; background: #fff9ec; }
.cs-spz-simulation-inno-card.is-complete .cs-spz-simulation-inno-status { color: #226c49; background: #edf9f2; }
.cs-spz-simulation-inno-status > span { display: grid; width: 26px; height: 26px; flex: 0 0 26px; place-items: center; border-radius: 50%; color: #fff; background: #d9ad52; font-size: 11px; font-weight: 900; }
.cs-spz-simulation-inno-card.is-complete .cs-spz-simulation-inno-status > span { background: #3b9b6d; }
.cs-spz-simulation-inno-status p,.cs-spz-simulation-inno-status strong,.cs-spz-simulation-inno-status small { display: block; margin: 0; }
.cs-spz-simulation-inno-status strong { font-size: 9px; }
.cs-spz-simulation-inno-status small { margin-top: 2px; color: currentColor; font-size: 8px; opacity: .78; }
.cs-spz-simulation-assortment-badge { display: block; width: max-content; max-width: 100%; margin-top: 7px; padding: 4px 7px; overflow: hidden; border-radius: 999px; font-size: 8px; font-weight: 760; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-assortment-badge.is-discontinue { color: #9b161b; background: #ffe8e9; }
.cs-spz-simulation-assortment-badge.is-manual { color: #5c4795; background: #f0ebfb; }
@media (max-width: 1180px) {
  .cs-spz-simulation-inno-grid { grid-template-columns: repeat(2,minmax(160px,1fr)); }
}
@media (max-width: 720px) {
  .cs-spz-simulation-assortment-subsection { padding: 13px; }
  .cs-spz-simulation-discontinue-tools { grid-template-columns: 1fr; }
  .cs-spz-simulation-discontinue-tools > strong { justify-self: stretch; }
  .cs-spz-simulation-inno-grid { grid-template-columns: 1fr; }
  .cs-spz-simulation-inno-grid label.is-wide { grid-column: auto; }
}
.cs-spz-modal.is-simulation-compare { width: min(1420px,100%); }
.cs-spz-modal.is-simulation-compare .cs-spz-modal-head { align-items: flex-start; }
.cs-spz-modal.is-simulation-history { width: min(1080px,100%); max-height: min(900px,calc(100vh - 40px)); }
.cs-spz-modal.is-simulation-growth { width: min(1280px,100%); max-height: calc(100vh - 40px); display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; overflow: hidden; padding: 0; }
.cs-spz-modal.is-simulation-growth .cs-spz-modal-head { margin: 0; padding: 24px 28px 20px; border-bottom: 1px solid rgba(21,23,26,.07); }
.cs-spz-modal.is-simulation-growth .cs-spz-modal-head .cs-spz-kicker { margin: 0 0 5px; color: #765fb9; font-size: 9px; font-weight: 790; letter-spacing: .07em; text-transform: uppercase; }
.cs-spz-modal.is-simulation-growth .cs-spz-modal-head p:last-child { margin: 5px 0 0; color: var(--spz-muted); font-size: 10px; }
.cs-spz-growth-tabs { display: flex; gap: 7px; overflow-x: auto; padding: 12px 28px; border-bottom: 1px solid rgba(21,23,26,.06); background: #faf9fd; }
.cs-spz-growth-tabs button { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; padding: 9px 13px; border: 0; border-radius: 10px; color: #626771; background: transparent; font-size: 10px; font-weight: 750; cursor: pointer; }
.cs-spz-growth-tabs button span { min-width: 20px; padding: 2px 6px; border-radius: 999px; color: #725aad; background: #eee9fa; text-align: center; font-size: 8px; }
.cs-spz-growth-tabs button.is-active { color: #fff; background: #765fb9; box-shadow: 0 8px 18px rgba(118,95,185,.2); }
.cs-spz-growth-tabs button.is-active span { color: #694fa8; background: rgba(255,255,255,.86); }
.cs-spz-growth-body { min-height: 0; overflow: auto; padding: 24px 28px 30px; background: #fbfbfd; }
.cs-spz-growth-summary-cards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.cs-spz-growth-summary-cards > div { display: grid; min-height: 118px; align-content: center; gap: 7px; padding: 18px; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(28,31,38,.055); }
.cs-spz-growth-summary-cards small { color: #69707a; font-size: 9px; font-weight: 730; }
.cs-spz-growth-summary-cards strong { color: #22252a; font-size: 24px; line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -.025em; }
.cs-spz-growth-summary-cards span { color: #7b818a; font-size: 9px; }
.cs-spz-growth-summary-cards .is-complete { background: #eef9f4; }
.cs-spz-growth-summary-cards .is-gap { background: #fff7ea; }
.cs-spz-growth-progress { margin-top: 16px; padding: 17px 18px; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(28,31,38,.045); }
.cs-spz-growth-progress > div { height: 9px; overflow: hidden; border-radius: 999px; background: #eceef3; }
.cs-spz-growth-progress > div span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#765fb9,#2b8bbb); transition: width .25s ease; }
.cs-spz-growth-progress p { margin: 9px 0 0; color: #69707a; font-size: 10px; }
.cs-spz-growth-overview-activities { margin-top: 16px; overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(28,31,38,.045); }
.cs-spz-growth-overview-activities > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 18px; border-bottom: 1px solid rgba(21,23,26,.06); }
.cs-spz-growth-overview-activities > header h3 { margin: 0; color: #30333a; font-size: 13px; }
.cs-spz-growth-overview-activities > header p { margin: 3px 0 0; color: #7a8089; font-size: 9px; }
.cs-spz-growth-overview-activities > header > span { padding: 5px 9px; border-radius: 999px; color: #6852a5; background: #f0ecfb; font-size: 8.5px; font-weight: 780; white-space: nowrap; }
.cs-spz-growth-overview-columns,.cs-spz-growth-overview-row { display: grid; grid-template-columns: 125px minmax(0,1fr) 130px 20px; gap: 14px; align-items: center; }
.cs-spz-growth-overview-columns { padding: 8px 18px; color: #858b94; background: #fafbfc; font-size: 7.5px; font-style: normal; font-weight: 790; letter-spacing: .05em; text-transform: uppercase; }
.cs-spz-growth-overview-columns span:nth-child(3) { text-align: right; }
.cs-spz-growth-overview-row { width: 100%; padding: 12px 18px; border: 0; border-top: 1px solid rgba(21,23,26,.055); color: #292c31; background: #fff; text-align: left; cursor: pointer; transition: background .16s ease,transform .16s ease; }
.cs-spz-growth-overview-row:first-child { border-top: 0; }
.cs-spz-growth-overview-row:hover { background: #faf8fe; }
.cs-spz-growth-overview-type { width: fit-content; padding: 5px 8px; border-radius: 999px; color: #674fa8; background: #f0ecfb; font-size: 8px; font-weight: 790; }
.cs-spz-growth-overview-row.is-new .cs-spz-growth-overview-type { color: #176d58; background: #eaf7f1; }
.cs-spz-growth-overview-name { overflow: hidden; font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-growth-overview-amount { text-align: right; font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cs-spz-growth-overview-arrow { color: #725aad; font-size: 15px; text-align: right; }
.cs-spz-growth-overview-empty { display: grid; gap: 4px; padding: 18px; color: #707680; text-align: center; }
.cs-spz-growth-overview-empty strong { color: #363a40; font-size: 10.5px; }
.cs-spz-growth-overview-empty span { font-size: 9px; }
.cs-spz-growth-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.cs-spz-growth-section-head h3,.cs-spz-growth-method h3 { margin: 0; color: #30333a; font-size: 16px; }
.cs-spz-growth-section-head p { margin: 5px 0 0; color: var(--spz-muted); font-size: 10px; }
.cs-spz-growth-activities { display: grid; gap: 14px; }
.cs-spz-growth-activity { overflow: hidden; border: 1px solid rgba(118,95,185,.11); border-radius: 17px; background: #fff; box-shadow: 0 8px 24px rgba(28,31,38,.045); }
.cs-spz-growth-activity-head { display: flex; align-items: center; gap: 12px; padding: 13px 16px; background: linear-gradient(90deg,#f6f3fc,#fff); }
.cs-spz-growth-activity-head > span { color: #715cad; font-size: 9px; font-weight: 790; letter-spacing: .04em; text-transform: uppercase; }
.cs-spz-growth-activity-head > strong { margin-left: auto; color: #202329; font-size: 15px; font-variant-numeric: tabular-nums; }
.cs-spz-growth-activity-head > button { padding: 6px 8px; border: 0; border-radius: 8px; color: #b72429; background: #fff0f0; font-size: 8px; font-weight: 760; cursor: pointer; }
.cs-spz-growth-form-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; padding: 16px; }
.cs-spz-growth-field { display: grid; min-width: 0; gap: 6px; }
.cs-spz-growth-field.is-title { grid-column: span 2; }
.cs-spz-growth-field.is-wide { grid-column: span 2; }
.cs-spz-growth-field label { color: #6b717a; font-size: 8px; font-weight: 770; letter-spacing: .035em; text-transform: uppercase; }
.cs-spz-growth-field input,.cs-spz-growth-field textarea,.cs-spz-growth-field select { width: 100%; min-width: 0; border: 1px solid #e2e4e9; border-radius: 10px; background: #fff; color: #272a2f; font-size: 11px; }
.cs-spz-growth-field input { height: 40px; padding: 0 11px; }
.cs-spz-growth-field select { height: 40px; padding: 0 28px 0 10px; }
.cs-spz-growth-field textarea { min-height: 70px; padding: 10px 11px; resize: vertical; }
.cs-spz-growth-field .cs-spz-percent-input,.cs-spz-growth-field .cs-spz-money-input { width: 100%; }
.cs-spz-growth-field .cs-spz-percent-input input,.cs-spz-growth-field .cs-spz-money-input input { border: 0; }
.cs-spz-growth-customer-input { display: grid; grid-template-columns: minmax(86px,.8fr) minmax(72px,1fr) auto; align-items: center; overflow: hidden; border: 1px solid #e2e4e9; border-radius: 10px; background: #fff; }
.cs-spz-growth-customer-input select,.cs-spz-growth-customer-input input { border: 0; border-radius: 0; }
.cs-spz-growth-customer-input select { border-right: 1px solid #eceef2; background-color: #f8f9fb; font-weight: 700; }
.cs-spz-growth-customer-input > span { padding: 0 10px 0 4px; color: #7c828b; font-size: 10px; white-space: nowrap; }
.cs-spz-growth-customer-hint { color: #747b85; font-size: 8.5px; line-height: 1.35; }
.cs-spz-growth-formula { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 12px 16px; border-top: 1px solid rgba(21,23,26,.06); background: #fafbfc; }
.cs-spz-growth-formula span { color: #765fb9; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.cs-spz-growth-formula strong { overflow: hidden; color: #68707a; font-size: 9px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-growth-formula b { color: #202329; font-size: 13px; font-variant-numeric: tabular-nums; }
.cs-spz-growth-method { display: grid; gap: 14px; }
.cs-spz-growth-method > section { padding: 20px; border-radius: 17px; background: #fff; box-shadow: 0 8px 24px rgba(28,31,38,.045); }
.cs-spz-growth-method p { margin: 10px 0 0; color: #626872; font-size: 10.5px; line-height: 1.65; }
.cs-spz-growth-benchmark-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 13px; }
.cs-spz-growth-benchmark-grid > div { display: grid; gap: 5px; padding: 16px; border-radius: 14px; background: #f6f8fb; }
.cs-spz-growth-benchmark-grid small { color: #6e7480; font-size: 9px; font-weight: 750; }
.cs-spz-growth-benchmark-grid strong { color: #202329; font-size: 23px; }
.cs-spz-growth-benchmark-grid span,.cs-spz-growth-benchmark-grid em { color: #747b85; font-size: 9px; font-style: normal; }
.cs-spz-growth-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 28px; border-top: 1px solid rgba(21,23,26,.08); background: rgba(255,255,255,.98); }
.cs-spz-growth-footer > div { display: grid; gap: 3px; }
.cs-spz-growth-footer strong { color: #30343a; font-size: 11px; }
.cs-spz-growth-footer span { color: var(--spz-muted); font-size: 9px; }
.cs-spz-modal.is-simulation-history .cs-spz-modal-head { position: sticky; top: -22px; z-index: 2; align-items: flex-start; margin: -22px -22px 18px; padding: 22px; border-bottom: 1px solid rgba(21,23,26,.07); background: rgba(255,255,255,.96); backdrop-filter: blur(14px); }
.cs-spz-modal.is-simulation-history .cs-spz-modal-head .cs-spz-kicker { margin: 0 0 5px; color: #765fb9; font-size: 9px; font-weight: 780; letter-spacing: .06em; text-transform: uppercase; }
.cs-spz-modal.is-simulation-history .cs-spz-modal-head p:last-child { margin: 5px 0 0; color: var(--spz-muted); font-size: 9.5px; }
.cs-spz-simulation-history-loading { display: grid; gap: 9px; padding: 26px 4px; color: var(--spz-muted); text-align: center; }
.cs-spz-simulation-history-loading p { margin: 0; font-size: 10px; }
.cs-spz-simulation-history-list { display: grid; gap: 13px; }
.cs-spz-simulation-history-entry { overflow: hidden; border: 1px solid rgba(109,88,181,.11); border-radius: 17px; background: #fff; box-shadow: 0 8px 25px rgba(28,24,44,.045); }
.cs-spz-simulation-history-entry > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border-bottom: 1px solid rgba(21,23,26,.065); background: linear-gradient(135deg,#fbfaff,#fff); }
.cs-spz-simulation-history-user { min-width: 0; display: flex; align-items: center; gap: 10px; }
.cs-spz-simulation-history-user > b { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 50%; color: #604b9c; background: #eee9fa; font-size: 10px; letter-spacing: .02em; }
.cs-spz-simulation-history-user > div,.cs-spz-simulation-history-summary { min-width: 0; display: grid; gap: 3px; }
.cs-spz-simulation-history-user strong { overflow: hidden; font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-history-user small { color: var(--spz-muted); font-size: 8.5px; }
.cs-spz-simulation-history-summary { justify-items: end; text-align: right; }
.cs-spz-simulation-history-summary > span { padding: 3px 7px; border-radius: 999px; color: #6c57aa; background: #eee9fa; font-size: 7.5px; font-weight: 760; }
.cs-spz-simulation-history-summary > strong { color: #34373d; font-size: 9.5px; }
.cs-spz-simulation-history-group { padding: 12px 16px 4px; }
.cs-spz-simulation-history-group + .cs-spz-simulation-history-group { border-top: 1px solid rgba(21,23,26,.055); }
.cs-spz-simulation-history-group h4 { margin: 0 0 6px; color: #7462a7; font-size: 8px; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; }
.cs-spz-simulation-history-change { display: grid; grid-template-columns: minmax(180px,1fr) minmax(310px,1.25fr); align-items: center; gap: 16px; padding: 8px 0; }
.cs-spz-simulation-history-change + .cs-spz-simulation-history-change { border-top: 1px dashed rgba(21,23,26,.07); }
.cs-spz-simulation-history-change > div:first-child { min-width: 0; display: grid; gap: 2px; }
.cs-spz-simulation-history-change > div:first-child strong { overflow: hidden; color: #34373d; font-size: 9.5px; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-history-change > div:first-child small { color: var(--spz-muted); font-size: 8.5px; }
.cs-spz-simulation-history-values { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) 18px minmax(0,1fr); align-items: center; gap: 6px; font-variant-numeric: tabular-nums; }
.cs-spz-simulation-history-values > span,.cs-spz-simulation-history-values > strong { min-width: 0; padding: 7px 9px; overflow: hidden; border-radius: 9px; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-history-values > span { color: #666c75; background: #f2f3f5; font-size: 9px; text-align: right; }
.cs-spz-simulation-history-values > strong { color: #5f499d; background: #f0ebfb; font-size: 9.5px; }
.cs-spz-simulation-history-values > i { color: #a0a5ad; font-size: 10px; font-style: normal; text-align: center; }
.cs-spz-simulation-history-values .is-empty { color: #92979e; font-style: italic; }
.cs-spz-simulation-history-legacy,.cs-spz-simulation-history-omitted { margin: 0; padding: 13px 16px; color: var(--spz-muted); font-size: 9px; line-height: 1.5; }
.cs-spz-simulation-history-omitted { padding-top: 0; color: #885a08; }
.cs-spz-simulation-compare-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; padding: 12px 14px; border: 1px solid rgba(109,88,181,.11); border-radius: 13px; background: #faf9fd; }
.cs-spz-simulation-compare-legend > span { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border-radius: 999px; background: #fff; font-size: 9px; }
.cs-spz-simulation-compare-legend i { width: 8px; height: 8px; border-radius: 50%; background: #765fb9; }
.cs-spz-simulation-compare-legend .is-other i { background: #aeb3ba; }
.cs-spz-simulation-compare-legend small { margin-left: auto; color: var(--spz-muted); font-size: 8.5px; }
.cs-spz-simulation-compare-cards { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.cs-spz-simulation-compare-cards > article { display: flex; min-height: 154px; flex-direction: column; padding: 15px; border: 1px solid rgba(21,23,26,.075); border-top: 3px solid rgba(118,95,185,.55); border-radius: 15px; background: #fff; box-shadow: 0 8px 22px rgba(28,31,38,.055); }
.cs-spz-simulation-compare-cards article > small { color: var(--spz-muted); font-size: 9px; font-weight: 730; }
.cs-spz-simulation-compare-cards article > strong { margin-top: 12px; overflow: hidden; color: #202329; font-size: 21px; letter-spacing: -.035em; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-compare-cards article > span { margin-top: 4px; color: var(--spz-muted); font-size: 8.5px; }
.cs-spz-simulation-compare-delta { display: inline-flex; width: max-content; flex-direction: column; gap: 2px; margin-top: auto; padding: 6px 8px; border-radius: 8px; font-size: 9px; font-variant-numeric: tabular-nums; }
.cs-spz-simulation-compare-delta small { font-size: 8px; }
.cs-spz-simulation-compare-delta.is-positive { color: #126c4c; background: #eaf8f2; }
.cs-spz-simulation-compare-delta.is-negative { color: #a20f15; background: #fff0f1; }
.cs-spz-simulation-compare-delta.is-neutral { color: #626870; background: #f1f2f4; }
.cs-spz-simulation-compare-section { margin-top: 18px; }
.cs-spz-simulation-compare-section h3 { margin: 0 0 9px; font-size: 13px; }
.cs-spz-simulation-compare-section .cs-spz-table { min-width: 1160px; }
.cs-spz-simulation-chart { display: grid; height: 220px; grid-template-columns: repeat(12,minmax(34px,1fr)); align-items: end; gap: 8px; margin: 8px 4px 17px; padding: 18px 10px 0; border-bottom: 1px solid var(--spz-line); background: linear-gradient(to bottom,transparent 24%,rgba(21,23,26,.035) 25%,transparent 26%,transparent 49%,rgba(21,23,26,.035) 50%,transparent 51%,transparent 74%,rgba(21,23,26,.035) 75%,transparent 76%); }
.cs-spz-simulation-chart-month { display: grid; height: 100%; grid-template-rows: minmax(0,1fr) 18px 20px; align-items: end; text-align: center; }
.cs-spz-simulation-chart-bars { display: flex; height: 100%; align-items: end; justify-content: center; gap: 3px; }
.cs-spz-simulation-chart-bars i,.cs-spz-simulation-chart-bars b { display: block; width: min(15px,42%); height: var(--bar); min-height: 1px; border-radius: 5px 5px 1px 1px; transition: height .35s ease; }
.cs-spz-simulation-chart-bars i { background: #c7cbd1; }
.cs-spz-simulation-chart-bars b { background: linear-gradient(#ed4b51,#c9151c); box-shadow: 0 4px 10px rgba(215,25,32,.16); }
.cs-spz-simulation-chart-month > span { color: #555a62; font-size: 9px; font-weight: 700; }
.cs-spz-simulation-chart-month > small { align-self: center; justify-self: center; padding: 3px 6px; border-radius: 999px; color: #68707a; background: #f0f1f3; font-size: 8px; }
.cs-spz-simulation-chart-month > small.is-fallback { color: #8a5700; background: #fff2cc; }
.cs-spz-simulation-chart-month > small.is-partial,.cs-spz-simulation-chart-month > small.is-missing { color: #9b161b; background: #ffe8e9; }
.cs-spz-simulation-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 3px 16px; color: var(--spz-muted); font-size: 8.5px; }
.cs-spz-simulation-legend span { display: flex; align-items: center; gap: 5px; }
.cs-spz-simulation-legend span:last-child { margin-left: auto; }
.cs-spz-simulation-legend i { width: 8px; height: 8px; border-radius: 3px; background: #c7cbd1; }
.cs-spz-simulation-legend span:nth-child(2) i { background: var(--spz-red); }
.cs-spz-source-badge { display: inline-flex; padding: 4px 7px; border-radius: 999px; color: #166448; background: #eaf8f2; font-size: 9px; font-weight: 780; }
.cs-spz-source-badge.is-fallback { color: #855300; background: #fff2cc; }
.cs-spz-source-badge.is-partial,.cs-spz-source-badge.is-missing { color: #9b161b; background: #ffe8e9; }
.cs-spz-source-reason { display: block; max-width: 240px; margin-top: 4px; color: var(--spz-muted); font-size: 8.5px; white-space: normal; }
.cs-spz-simulation-results .cs-spz-table td.cs-spz-number small { display: block; margin-top: 3px; color: var(--spz-muted); font-size: 8.5px; }
.cs-spz-simulation-accounts,.cs-spz-simulation-products,.cs-spz-simulation-vendor-results { overflow: hidden; }
.cs-spz-simulation-accounts.is-collapsed,.cs-spz-simulation-products.is-collapsed,.cs-spz-simulation-vendor-results.is-collapsed { padding-bottom: 8px; }
.cs-spz-simulation-products-actions,.cs-spz-simulation-section-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.cs-spz-simulation-products-actions .cs-spz-secondary,.cs-spz-simulation-section-actions .cs-spz-secondary { min-height: 36px; padding: 8px 12px; font-size: 10.5px; white-space: nowrap; }
.cs-spz-simulation-product-display-switch { display: inline-flex; align-items: center; gap: 3px; padding: 3px; border: 1px solid rgba(21,23,26,.09); border-radius: 10px; background: #f2f3f5; }
.cs-spz-simulation-product-display-switch button { min-height: 28px; padding: 5px 9px; border: 0; border-radius: 7px; color: #6b7179; background: transparent; font: inherit; font-size: 9.5px; font-weight: 760; cursor: pointer; transition: color .15s,background .15s,box-shadow .15s; }
.cs-spz-simulation-product-display-switch button:hover,.cs-spz-simulation-product-display-switch button:focus-visible { color: #604a98; }
.cs-spz-simulation-product-display-switch button.is-active { color: #59428f; background: #fff; box-shadow: 0 1px 5px rgba(31,27,42,.11); }
.cs-spz-simulation-collapsible-body { animation: cs-spz-fade .18s ease both; }
.cs-spz-simulation-column-picker { position: relative; z-index: 25; }
.cs-spz-simulation-column-picker > button { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.cs-spz-simulation-column-picker > button > span { color: #7660b1; font-size: 15px; line-height: 1; }
.cs-spz-simulation-column-picker > button > b { min-width: 31px; padding: 3px 6px; border-radius: 999px; color: #625091; background: #f0ecf8; font-size: 9px; font-weight: 800; text-align: center; }
.cs-spz-simulation-column-picker.is-open > button { border-color: rgba(109,88,181,.35); color: #5f4998; background: #f8f5fd; }
.cs-spz-simulation-column-menu { position: absolute; top: calc(100% + 7px); right: 0; width: 285px; padding: 12px; border: 1px solid rgba(21,23,26,.1); border-radius: 13px; background: #fff; box-shadow: 0 18px 46px rgba(28,25,36,.18); animation: cs-spz-fade .14s ease both; }
.cs-spz-simulation-column-menu > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; padding: 2px 3px 8px; border-bottom: 1px solid rgba(21,23,26,.07); }
.cs-spz-simulation-column-menu > div strong { color: #2d3035; font-size: 12px; font-weight: 790; }
.cs-spz-simulation-column-menu > div button { padding: 4px 7px; border: 0; border-radius: 7px; color: #675198; background: #f1edf9; font: inherit; font-size: 9.5px; font-weight: 760; cursor: pointer; }
.cs-spz-simulation-column-menu > label { display: grid; grid-template-columns: 17px minmax(0,1fr) auto; align-items: center; gap: 9px; min-height: 34px; padding: 5px 6px; border-radius: 8px; color: #3f444b; font-size: 10.5px; font-weight: 670; cursor: pointer; transition: background .15s ease,color .15s ease; }
.cs-spz-simulation-column-menu > label:hover { color: #5e4992; background: #f8f6fc; }
.cs-spz-simulation-column-menu > label.is-fixed { color: #737982; cursor: default; }
.cs-spz-simulation-column-menu input { width: 15px; height: 15px; margin: 0; accent-color: #7058ad; }
.cs-spz-simulation-column-menu label small { color: #969ba2; font-size: 8.5px; font-weight: 700; text-transform: uppercase; }
.cs-spz-simulation-column-menu > p { margin: 9px 5px 10px; color: #777d85; font-size: 9px; line-height: 1.45; }
.cs-spz-simulation-column-menu > .cs-spz-primary { width: 100%; min-height: 34px; padding: 7px 10px; font-size: 10px; }
.cs-spz-simulation-products-body { animation: cs-spz-fade .18s ease both; }
.cs-spz-simulation-product-tabs { display: grid; grid-template-columns: repeat(12,minmax(66px,1fr)); gap: 6px; margin-bottom: 13px; }
.cs-spz-simulation-product-tabs button { min-width: 0; min-height: 52px; display: grid; place-content: center; gap: 3px; padding: 8px; border: 1px solid rgba(21,23,26,.08); border-radius: 11px; color: #666c74; background: #fff; font: inherit; transition: border-color .16s,color .16s,background .16s,box-shadow .16s,transform .16s; }
.cs-spz-simulation-product-tabs button:hover,.cs-spz-simulation-product-tabs button:focus-visible { border-color: rgba(109,88,181,.3); color: #5d4796; transform: translateY(-1px); }
.cs-spz-simulation-product-tabs button.is-active { border-color: #6f58b2; color: #fff; background: linear-gradient(135deg,#8069bf,#5e489d); box-shadow: 0 7px 18px rgba(91,69,153,.2); }
.cs-spz-simulation-product-tabs span { overflow: hidden; font-size: 11px; font-weight: 770; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-product-tabs small { font-size: 9.5px; font-weight: 680; opacity: .75; }
.cs-spz-simulation-product-context { display: flex; align-items: center; gap: 11px; margin-bottom: 14px; padding: 12px 14px; border: 1px solid rgba(109,88,181,.08); border-radius: 12px; background: rgba(109,88,181,.035); }
.cs-spz-simulation-product-context p { margin: 0; color: #666c75; font-size: 11px; font-weight: 580; }
.cs-spz-simulation-product-filters { display: grid; grid-template-columns: minmax(220px,1.35fr) repeat(5,minmax(135px,1fr)) auto; align-items: end; gap: 10px; margin-bottom: 14px; padding: 13px; border: 1px solid rgba(21,23,26,.075); border-radius: 13px; background: #f8f9fa; }
.cs-spz-simulation-product-filters label { display: grid; min-width: 0; gap: 6px; }
.cs-spz-simulation-product-filters label > span { color: #696f78; font-size: 9px; font-weight: 760; letter-spacing: .035em; text-transform: uppercase; }
.cs-spz-simulation-product-filters input,.cs-spz-simulation-product-filters select { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid rgba(21,23,26,.12); border-radius: 9px; color: #2d3136; background: #fff; font: inherit; font-size: 11px; }
.cs-spz-simulation-product-filters > div { display: flex; gap: 7px; }
.cs-spz-simulation-product-filters button { min-height: 40px; padding: 8px 12px; font-size: 10.5px; white-space: nowrap; }
.cs-spz-simulation-product-table { width: 100%; }
.cs-spz-simulation-product-table th { padding: 12px 13px; font-size: 10.5px; letter-spacing: .045em; }
.cs-spz-simulation-product-table td { padding: 14px 13px; }
.cs-spz-simulation-product-table [data-simulation-product-column="article"] { min-width: 250px; }
.cs-spz-simulation-product-table [data-simulation-product-column="vendor"] { min-width: 190px; }
.cs-spz-simulation-product-table [data-simulation-product-column="account"] { min-width: 230px; }
.cs-spz-simulation-product-table [data-simulation-product-column="cost"],.cs-spz-simulation-product-table [data-simulation-product-column="net_price"],.cs-spz-simulation-product-table [data-simulation-product-column="quantity"] { min-width: 320px; }
.cs-spz-simulation-product-table [data-simulation-product-column="gross_price"] { min-width: 455px; }
.cs-spz-simulation-product-table th[data-simulation-product-column="cost"],.cs-spz-simulation-product-table th[data-simulation-product-column="net_price"],.cs-spz-simulation-product-table th[data-simulation-product-column="gross_price"],.cs-spz-simulation-product-table th[data-simulation-product-column="quantity"] { text-align: center; }
.cs-spz-simulation-product-table tbody td { vertical-align: middle; }
.cs-spz-simulation-product-table tbody td:first-child > strong { color: #24272c; font-size: 14px; font-weight: 790; }
.cs-spz-simulation-product-table tbody td[data-simulation-product-column="vendor"] > strong { color: #34383e; font-size: 13px; font-weight: 750; }
.cs-spz-simulation-product-account strong { display: block; color: #454b53; font-size: 11px; font-weight: 720; line-height: 1.35; }
.cs-spz-simulation-product-table tbody td:first-child > strong,.cs-spz-simulation-product-table tbody td:first-child > small { display: block; }
.cs-spz-simulation-product-table tbody td:first-child > small { margin-top: 5px; color: #6d737b; font-size: 10.5px; line-height: 1.25; }
.cs-spz-simulation-product-name { max-width: 310px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-product-table th[data-simulation-product-column="article"] { position: sticky; left: 0; z-index: 4; background: #f7f8fa; box-shadow: 1px 0 0 rgba(21,23,26,.055); }
.cs-spz-simulation-product-table td[data-simulation-product-column="article"] { position: sticky; left: 0; z-index: 2; background: rgba(255,255,255,.985); box-shadow: 1px 0 0 rgba(21,23,26,.055); }
.cs-spz-simulation-product-table .cs-spz-simulation-product-row.is-expanded td[data-simulation-product-column="article"] { background: #f9f7fd; }
.cs-spz-simulation-product-article { display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 9px; }
.cs-spz-simulation-product-article > div { min-width: 0; }
.cs-spz-simulation-product-article > div > strong,.cs-spz-simulation-product-article > div > small { display: block; }
.cs-spz-simulation-product-article > div > strong { color: #24272c; font-size: 13px; font-weight: 800; }
.cs-spz-simulation-product-article > div > small { margin-top: 3px; color: #70767e; font-size: 9.5px; line-height: 1.25; }
.cs-spz-simulation-product-expand { width: 28px; height: 28px; display: grid; place-items: center; align-self: center; padding: 0; border: 1px solid rgba(109,88,181,.15); border-radius: 9px; color: #7058ad; background: #f3effa; font: inherit; cursor: pointer; transition: color .15s,background .15s,border-color .15s,transform .15s; }
.cs-spz-simulation-product-expand span { display: block; font-size: 21px; font-weight: 560; line-height: 1; transform: translateY(-1px); transition: transform .18s ease; }
.cs-spz-simulation-product-expand:hover,.cs-spz-simulation-product-expand:focus-visible { border-color: rgba(109,88,181,.34); color: #fff; background: #7058ad; transform: translateY(-1px); }
.cs-spz-simulation-product-expand.is-expanded span { transform: translateY(-1px) rotate(90deg); }
.cs-spz-simulation-product-table.is-compact th { padding-block: 10px; }
.cs-spz-simulation-product-table.is-compact td { padding: 9px 11px; }
.cs-spz-simulation-product-table.is-compact [data-simulation-product-column="article"] { min-width: 225px; }
.cs-spz-simulation-product-table.is-compact [data-simulation-product-column="vendor"] { min-width: 165px; }
.cs-spz-simulation-product-table.is-compact [data-simulation-product-column="account"] { min-width: 210px; }
.cs-spz-simulation-product-table.is-compact [data-simulation-product-column="cost"],.cs-spz-simulation-product-table.is-compact [data-simulation-product-column="net_price"],.cs-spz-simulation-product-table.is-compact [data-simulation-product-column="quantity"] { min-width: 175px; }
.cs-spz-simulation-product-table.is-compact [data-simulation-product-column="gross_price"] { min-width: 270px; }
.cs-spz-simulation-product-compact-metric { position: relative; min-height: 56px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-content: center; gap: 3px 8px; padding: 8px 10px; border-radius: 10px; background: #f6f7f8; font-variant-numeric: tabular-nums; }
.cs-spz-simulation-product-compact-metric > strong { grid-column: 1 / -1; overflow: hidden; color: #25292f; font-size: 14px; font-weight: 810; line-height: 1.1; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-product-compact-metric > small { overflow: hidden; color: #858a92; font-size: 8.5px; font-weight: 650; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-product-compact-metric > em { display: inline-flex; align-items: center; justify-content: flex-end; gap: 5px; color: #7e848c; font-size: 9px; font-style: normal; font-weight: 760; white-space: nowrap; }
.cs-spz-simulation-product-compact-metric > em b { padding: 2px 4px; border-radius: 999px; color: inherit; background: rgba(21,23,26,.06); font-size: 8px; font-weight: 800; }
.cs-spz-simulation-product-compact-metric.is-positive { background: #f0f9f5; }
.cs-spz-simulation-product-compact-metric.is-positive > em { color: #13704f; }
.cs-spz-simulation-product-compact-metric.is-positive > em b { background: #dcf2e7; }
.cs-spz-simulation-product-compact-metric.is-negative { background: #fff4f4; }
.cs-spz-simulation-product-compact-metric.is-negative > em { color: #a20f15; }
.cs-spz-simulation-product-compact-metric.is-negative > em b { background: #ffe0e2; }
.cs-spz-simulation-product-compact-metric.is-gross { grid-template-columns: minmax(0,1fr) auto; }
.cs-spz-simulation-product-compact-metric.is-gross > small { white-space: normal; }
.cs-spz-simulation-product-compact-metric > mark { position: absolute; top: 6px; left: 7px; padding: 2px 5px; border-radius: 999px; color: #654b9e; background: #e9e1f8; font-size: 7.5px; font-weight: 800; letter-spacing: .025em; text-transform: uppercase; }
.cs-spz-simulation-product-row.is-expanded td { border-bottom-color: transparent; background-color: #fbfafd; }
.cs-spz-simulation-product-detail-row[hidden] { display: none; }
.cs-spz-simulation-product-detail-row > td { padding: 0 12px 14px !important; border-bottom: 1px solid rgba(109,88,181,.15); background: #fbfafd; }
.cs-spz-simulation-product-detail { padding: 15px; border: 1px solid rgba(109,88,181,.13); border-radius: 13px; background: #fff; box-shadow: 0 9px 24px rgba(45,35,74,.055); animation: cs-spz-fade .16s ease both; }
.cs-spz-simulation-product-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.cs-spz-simulation-product-detail-head > div span,.cs-spz-simulation-product-detail-head > div strong { display: block; }
.cs-spz-simulation-product-detail-head > div span { color: #735da9; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cs-spz-simulation-product-detail-head > div strong { margin-top: 3px; color: #272a30; font-size: 13px; font-weight: 790; }
.cs-spz-simulation-product-detail-head button { min-height: 31px; padding: 6px 9px; font-size: 9px; }
.cs-spz-simulation-product-detail-meta { display: grid; grid-template-columns: repeat(4,minmax(140px,1fr)); gap: 7px; margin-bottom: 12px; }
.cs-spz-simulation-product-detail-meta > div { min-width: 0; padding: 8px 10px; border-radius: 9px; background: #f6f7f8; }
.cs-spz-simulation-product-detail-meta small,.cs-spz-simulation-product-detail-meta strong { display: block; overflow: hidden; text-overflow: ellipsis; }
.cs-spz-simulation-product-detail-meta small { color: #80868e; font-size: 7.5px; font-weight: 780; letter-spacing: .035em; text-transform: uppercase; white-space: nowrap; }
.cs-spz-simulation-product-detail-meta strong { margin-top: 4px; color: #3d4249; font-size: 9.5px; font-weight: 720; white-space: normal; }
.cs-spz-simulation-product-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(360px,1fr)); gap: 10px; }
.cs-spz-simulation-product-detail-grid > section { min-width: 0; padding: 11px; border: 1px solid rgba(21,23,26,.07); border-radius: 11px; background: #fcfcfd; }
.cs-spz-simulation-product-detail-grid > section h4 { margin: 0 0 8px; color: #5b616a; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.cs-spz-simulation-product-detail-hint { margin: 0; padding: 10px 12px; border-radius: 9px; color: #696f78; background: #f7f5fb; font-size: 9.5px; line-height: 1.5; }
.cs-spz-simulation-product-pair { display: grid; grid-template-columns: minmax(105px,1fr) 22px minmax(125px,1fr); align-items: center; gap: 7px; }
.cs-spz-simulation-product-pair > span { min-width: 0; min-height: 78px; display: flex; flex-direction: column; justify-content: center; padding: 11px 12px; border-radius: 11px; background: #f5f6f8; }
.cs-spz-simulation-product-pair > span.is-after { background: #f4f1fb; }
.cs-spz-simulation-product-pair small,.cs-spz-simulation-product-pair strong,.cs-spz-simulation-product-pair em { display: block; text-align: right; white-space: nowrap; }
.cs-spz-simulation-product-pair small { color: #70767f; font-size: 9px; font-weight: 730; letter-spacing: .025em; text-transform: uppercase; }
.cs-spz-simulation-product-pair strong { margin-top: 5px; color: #292d32; font-size: 14px; font-weight: 790; line-height: 1.15; font-variant-numeric: tabular-nums; }
.cs-spz-simulation-product-pair > i { color: #959ba3; font-size: 15px; font-style: normal; font-weight: 700; text-align: center; }
.cs-spz-simulation-product-pair em { display: flex; align-items: baseline; justify-content: flex-end; gap: 7px; margin-top: 6px; font-size: 11px; font-style: normal; font-weight: 760; line-height: 1.15; font-variant-numeric: tabular-nums; }
.cs-spz-simulation-product-pair em span,.cs-spz-simulation-product-pair em b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-spz-simulation-product-pair em b { padding: 2px 5px; border-radius: 999px; color: inherit; background: rgba(21,23,26,.065); font-size: 9.5px; font-weight: 790; line-height: 1.15; }
.cs-spz-simulation-product-pair em.is-positive { color: #13704f; }
.cs-spz-simulation-product-pair em.is-negative { color: #a20f15; }
.cs-spz-simulation-product-pair em.is-neutral { color: #81868d; }
.cs-spz-simulation-product-pair em.is-positive b { background: #dff4e9; }
.cs-spz-simulation-product-pair em.is-negative b { background: #ffe1e3; }
.cs-spz-simulation-product-pair.is-gross-threshold { grid-template-columns: minmax(105px,.75fr) 22px minmax(190px,1.25fr); }
.cs-spz-simulation-product-pair.is-gross-threshold > span.is-after { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px 10px; padding: 10px; }
.cs-spz-simulation-product-pair.is-gross-threshold .cs-spz-simulation-guideline,.cs-spz-simulation-product-pair.is-gross-threshold .cs-spz-simulation-threshold { min-width: 0; padding: 8px 9px; border-radius: 8px; background: rgba(255,255,255,.72); }
.cs-spz-simulation-product-pair.is-gross-threshold .cs-spz-simulation-threshold { background: #e9e2f8; box-shadow: inset 0 0 0 1px rgba(119,88,183,.08); }
.cs-spz-simulation-product-pair.is-gross-threshold .cs-spz-simulation-threshold small,.cs-spz-simulation-product-pair.is-gross-threshold .cs-spz-simulation-threshold strong { color: #6448a4; }
.cs-spz-simulation-product-pair.is-gross-threshold > span.is-after > em { grid-column: 1 / -1; margin-top: 0; padding: 0 4px; }
.cs-spz-simulation-product-vat { display: block; margin-top: 6px; color: #727982; font-size: 9.5px; font-weight: 680; text-align: center; }
.cs-spz-simulation-override-control { position: relative; min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 5px 6px; margin-top: 4px; }
.cs-spz-simulation-override-input { min-width: 0; display: grid; grid-template-columns: auto minmax(54px,1fr); align-items: center; gap: 3px; padding: 5px 7px; border: 1px solid rgba(109,88,181,.18); border-radius: 8px; background: rgba(255,255,255,.86); transition: border-color .16s,box-shadow .16s,background .16s; }
.cs-spz-simulation-override-input:focus-within { border-color: #7961b8; background: #fff; box-shadow: 0 0 0 3px rgba(109,88,181,.11); }
.cs-spz-simulation-override-input > span { color: #70667f; font-size: 11px; font-weight: 780; }
.cs-spz-simulation-override-input input { min-width: 0; width: 100%; height: 24px; padding: 0; border: 0; outline: 0; color: #25292e; background: transparent; font: inherit; font-size: 14px; font-weight: 800; line-height: 24px; text-align: right; font-variant-numeric: tabular-nums; }
.cs-spz-simulation-override-input input:disabled { color: #61666d; opacity: .78; }
.cs-spz-simulation-override-control.is-manual .cs-spz-simulation-override-input { border-color: rgba(109,88,181,.36); background: #fff; box-shadow: inset 0 0 0 1px rgba(109,88,181,.05); }
.cs-spz-simulation-override-reset { width: 25px; height: 25px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 999px; color: #7258ad; background: rgba(109,88,181,.12); font: inherit; font-size: 15px; font-weight: 720; line-height: 1; cursor: pointer; transition: color .16s,background .16s,transform .16s; }
.cs-spz-simulation-override-reset:hover,.cs-spz-simulation-override-reset:focus-visible { color: #fff; background: #7057b0; transform: scale(1.05); }
.cs-spz-simulation-override-badge,.cs-spz-simulation-override-hint { grid-column: 1 / -1; color: #795eb7; font-size: 8.5px; font-weight: 760; line-height: 1.25; text-align: right; white-space: normal; }
.cs-spz-simulation-override-hint { color: #858a92; font-weight: 660; }
.cs-spz-simulation-threshold .cs-spz-simulation-override-control { margin-top: 5px; }
.cs-spz-simulation-threshold .cs-spz-simulation-override-input { padding: 4px 6px; }
.cs-spz-simulation-threshold .cs-spz-simulation-override-input input { color: #6448a4; }
.cs-spz-simulation-product-loading { min-height: 185px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px; color: #50565e; text-align: center; }
.cs-spz-simulation-product-loading .cs-spz-spinner { width: 26px; height: 26px; margin-bottom: 3px; }
.cs-spz-simulation-product-loading strong { font-size: 12px; font-weight: 780; }
.cs-spz-simulation-product-loading small { color: #7b8189; font-size: 9.5px; }
.cs-spz-simulation-product-pagination { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 12px; padding: 10px 12px; border: 1px solid rgba(21,23,26,.07); border-radius: 11px; background: #f8f9fa; }
.cs-spz-simulation-product-pagination > span { color: #6c727b; font-size: 10px; font-weight: 700; }
.cs-spz-simulation-product-pagination > div { display: flex; align-items: center; gap: 9px; }
.cs-spz-simulation-product-pagination strong { min-width: 105px; color: #4d535b; font-size: 10px; font-weight: 760; text-align: center; }
.cs-spz-simulation-product-pagination button { min-height: 34px; padding: 7px 10px; font-size: 10px; }
.cs-spz-simulation-product-note { margin: 14px 2px 0; color: #686f78; font-size: 10.5px; line-height: 1.6; }
.cs-spz-simulation-account-tabs { grid-template-columns: repeat(13,minmax(75px,1fr)); }
.cs-spz-simulation-account-tabs button { min-height: 58px; }
.cs-spz-simulation-account-tabs small { white-space: nowrap; }
.cs-spz-simulation-account-table { min-width: 1550px; }
.cs-spz-simulation-account-table th { padding: 12px 11px; font-size: 10px; letter-spacing: .035em; }
.cs-spz-simulation-account-table td { padding: 13px 11px; font-size: 11.5px; }
.cs-spz-simulation-account-table td:first-child { min-width: 210px; }
.cs-spz-simulation-account-table td:first-child strong,.cs-spz-simulation-account-table td:first-child small { display: block; }
.cs-spz-simulation-account-table td:first-child strong { color: #292d32; font-size: 13px; font-weight: 780; }
.cs-spz-simulation-account-table td:first-child small { margin-top: 4px; color: #70767e; font-size: 9.5px; }
.cs-spz-simulation-account-table td.cs-spz-number { font-size: 12px; font-variant-numeric: tabular-nums; }
.cs-spz-simulation-account-table tfoot td { border-top: 2px solid rgba(109,88,181,.18); background: #f8f6fd; }
.cs-spz-simulation-account-change { display: inline-flex; min-width: 116px; flex-direction: column; gap: 3px; padding: 7px 9px; border-radius: 9px; font-variant-numeric: tabular-nums; }
.cs-spz-simulation-account-change strong { font-size: 11.5px; font-weight: 790; }
.cs-spz-simulation-account-change small { font-size: 9.5px; font-weight: 700; }
.cs-spz-simulation-account-change.is-positive { color: #126c4c; background: #eaf8f2; }
.cs-spz-simulation-account-change.is-negative { color: #a20f15; background: #fff0f1; }
.cs-spz-simulation-account-change.is-neutral { color: #626870; background: #f1f2f4; }
.cs-spz-simulation-coverage { display: inline-flex; min-width: 62px; justify-content: center; padding: 5px 7px; border-radius: 999px; color: #8d5b00; background: #fff2d3; font-size: 10px; font-weight: 760; }
.cs-spz-simulation-coverage.is-complete { color: #126c4c; background: #eaf8f2; }
.cs-spz-simulation-account-note { margin: 14px 2px 0; color: #686f78; font-size: 10.5px; line-height: 1.6; }

@keyframes cs-spz-spin { to { transform: rotate(360deg); } }
@keyframes cs-spz-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes cs-spz-rise { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes cs-spz-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes cs-spz-progress-indeterminate { from { transform: translateX(-115%); } to { transform: translateX(315%); } }
@keyframes cs-spz-progress-spin { to { transform: rotate(360deg); } }
@keyframes cs-spz-metric-pulse { 0%,100% { transform: scaleY(.45); opacity: .5; } 50% { transform: scaleY(1); opacity: 1; } }
@keyframes cs-spz-metric-shimmer { 0% { transform: translateX(-110%); } 58%,100% { transform: translateX(110%); } }
@keyframes cs-spz-autosave-pulse { 0%,100% { transform: scale(.85); opacity: .65; } 50% { transform: scale(1.12); opacity: 1; } }
@keyframes cs-spz-toast { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

@media (max-width: 1400px) {
    .cs-spz-kpi-section.is-delivery-efficiency .cs-spz-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cs-spz-kpi-section.is-customer-analysis .cs-spz-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cs-spz-kpi-section.is-customer-analysis .cs-spz-kpi.has-demographic-distribution { grid-column: span 1; }
}

@media (max-width: 1250px) {
    .cs-spz-shell { grid-template-columns: 204px 1fr; }
    .cs-spz-sidebar { width: 204px; }
    .cs-spz-main { padding-inline: 20px; }
    .cs-spz-filter-grid { grid-template-columns: repeat(4, 1fr); }
    .cs-spz-filter-grid .cs-spz-primary { min-height: 39px; }
    .cs-spz-filter-actions { grid-column: span 2; justify-content: flex-end; }
    .cs-spz-active-filter-content { align-items: flex-start; flex-direction: column; gap: 7px; }
    .cs-spz-article-filters { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .cs-spz-kpi-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .cs-spz-kpi-section.is-delivery-efficiency .cs-spz-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cs-spz-kpi-section.is-customer-analysis .cs-spz-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cs-spz-kpi-section.is-customer-analysis .cs-spz-kpi.has-demographic-distribution { grid-column: span 1; }
    .cs-spz-purge-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .cs-spz-simulation-toolbar { align-items: flex-start; flex-direction: column; }
    .cs-spz-simulation-toolbar-actions { width: 100%; flex-wrap: wrap; }
    .cs-spz-simulation-toolbar-actions label { flex: 1 1 250px; }
    .cs-spz-simulation-toolbar-actions select { width: 100%; }
    .cs-spz-simulation-assumption-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .cs-spz-simulation-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .cs-spz-simulation-product-tabs { grid-template-columns: repeat(6,minmax(70px,1fr)); }
    .cs-spz-simulation-account-tabs { grid-template-columns: repeat(6,minmax(90px,1fr)); }
    .cs-spz-simulation-product-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .cs-spz-simulation-product-filters > div { justify-content: flex-end; }
    .cs-spz-simulation-products-actions { flex-wrap: wrap; }
    .cs-spz-simulation-product-detail-grid { grid-template-columns: 1fr; }
    .cs-spz-simulation-product-detail-meta { grid-template-columns: repeat(3,minmax(130px,1fr)); }
}

@media (max-width: 1050px) {
    .cs-spz-shell { grid-template-columns: 76px 1fr; }
    .cs-spz-sidebar { width: 76px; padding-inline: 10px; }
    .cs-spz-sidebar .cs-spz-brand { justify-content: center; padding-inline: 0; }
    .cs-spz-sidebar .cs-spz-brand > span:last-child, .cs-spz-nav button > span:not(.cs-spz-nav-icon):not(.cs-spz-nav-badge), .cs-spz-nav-group, .cs-spz-user > div, .cs-spz-sidebar-link { display: none; }
    .cs-spz-nav button { justify-content: center; padding: 0; }
    .cs-spz-nav-badge { position: absolute; margin: -25px 0 0 28px; }
    .cs-spz-user { justify-content: center; padding: 8px; }
    .cs-spz-active-filterbar { align-items: stretch; flex-direction: column; }
    .cs-spz-active-filter-content { min-width: 100%; }
    .cs-spz-active-filter-chips { width: 100%; }
    .cs-spz-filter-reset { align-self: flex-end; }
    .cs-spz-kpi-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .cs-spz-delivery-fee-overview { grid-template-columns: 1fr; gap: 12px; }
    .cs-spz-delivery-fee-total { padding: 0 0 12px; border-right: 0; border-bottom: 1px solid rgba(20,115,230,.1); }
    .cs-spz-delivery-fee-distribution { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .cs-spz-target-metric-row { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px 14px; }
    .cs-spz-target-metric-name, .cs-spz-target-achievement { grid-column: 1 / -1; }
    .cs-spz-admin-layout { grid-template-columns: 1fr; }
    .cs-spz-assortment-breakdowns { grid-template-columns: 1fr; }
    .cs-spz-ranking-head, .cs-spz-ranking-row { grid-template-columns: 28px minmax(180px,1fr) 132px 190px; }
    .cs-spz-calendar-day, .cs-spz-calendar-blank { min-height: 64px; }
    .cs-spz-article-filters { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .cs-spz-account-editor { min-width: 300px; }
    .cs-spz-period-head > div span { display: none; }
    .cs-spz-period-row { grid-template-columns: 62px minmax(0, 1fr); }
    .cs-spz-purge-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cs-spz-purge-grid > :first-child { grid-column: span 1; }
    .cs-spz-mapping-section { grid-template-columns: 1fr; gap: 10px; }
    .cs-spz-mapping-fields { grid-template-columns: 1fr; }
    .cs-spz-target-bulk-row { grid-template-columns: 1fr; gap: 8px; }
    .cs-spz-target-exclusion-form { grid-template-columns: 1fr 1fr; }
    .cs-spz-target-exclusion-form button { grid-column: 1 / -1; }
    .cs-spz-account-conflicts-title, .cs-spz-account-conflict-head { align-items: stretch; flex-direction: column; }
    .cs-spz-account-conflict-head label { min-width: 0; }
    .cs-spz-simulation-basics { grid-template-columns: 1fr 1fr; }
    .cs-spz-simulation-result-head { align-items: stretch; flex-direction: column; }
    .cs-spz-simulation-basis { min-width: 0; }
    .cs-spz-simulation-kpi-filter-head { align-items: stretch; flex-direction: column; }
    .cs-spz-simulation-kpi-filter-head > button { width: 100%; }
    .cs-spz-simulation-chart { overflow-x: auto; }
    .cs-spz-simulation-vendor-article-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cs-spz-simulation-start-grid { grid-template-columns: 1fr; }
    .cs-spz-simulation-product-detail-meta { grid-template-columns: repeat(2,minmax(120px,1fr)); }
}

@media (max-width: 640px) {
    .cs-spz-main { padding-inline: 14px; }
    .cs-spz-topbar { align-items: flex-start; }
    .cs-spz-topbar-leading { gap: 9px; }
    .cs-spz-sidebar-toggle { width: 36px; flex-basis: 36px; }
    .cs-spz-heading h1 { font-size: 23px; }
    .cs-spz-quickfind { gap: 7px; padding: 8px; }
    .cs-spz-quickfind-links { flex: 1 1 auto; width: auto; }
    .cs-spz-simulation-product-display-switch { order: 3; }
    .cs-spz-simulation-product-detail-meta { grid-template-columns: 1fr; }
    .cs-spz-kpi-groups { gap: 20px; }
    .cs-spz-kpi-section { gap: 14px; padding: 14px; border-radius: 22px; }
    .cs-spz-kpi-section-head { align-items: flex-start; }
    .cs-spz-kpi-section-head h2 { font-size: 16px; }
    .cs-spz-kpi-section-head p { font-size: 10.5px; }
    .cs-spz-kpi-section-icon { width: 36px; height: 36px; border-radius: 12px; }
    .cs-spz-top-article-jump { align-items: stretch; }
    .cs-spz-top-article-jump label { width: 100%; min-width: 0; }
    .cs-spz-top-article-jump button { flex: 1 1 auto; }
    .cs-spz-top-article-jump > small { text-align: left; }
    .cs-spz-kpi-grid, .cs-spz-kpi-section.is-delivery-efficiency .cs-spz-kpi-grid, .cs-spz-kpi-section.is-customer-analysis .cs-spz-kpi-grid { grid-template-columns: 1fr; }
    .cs-spz-kpi, .cs-spz-kpi.has-customer-classification, .cs-spz-kpi.has-demographic-distribution, .cs-spz-kpi.has-top-customers, .cs-spz-kpi.has-delivery-frequency { grid-column: span 1; min-height: 235px; padding: 18px; }
    .cs-spz-kpi.has-top-customers { min-height: 0; }
    .cs-spz-customer-classification { grid-template-columns: 1fr; }
    .cs-spz-demographic-row { grid-template-columns: 1fr; gap: 7px; }
    .cs-spz-demographic-value { grid-template-columns: 120px minmax(0,1fr); }
    .cs-spz-frequency-summary { align-items: flex-start; flex-direction: column; }
    .cs-spz-frequency-distribution { grid-template-columns: 1fr; }
    .cs-spz-delivery-fee-distribution { grid-template-columns: 1fr; }
    .cs-spz-kpi.has-delivery-fee-distribution .cs-spz-kpi-comparisons { grid-template-columns: 1fr; gap: 0; }
    .cs-spz-frequency-row { grid-template-columns: minmax(110px,.8fr) minmax(150px,1.2fr); }
    .cs-spz-reactivation-windows th, .cs-spz-reactivation-windows td { padding-left: 4px; padding-right: 4px; }
    .cs-spz-reactivation-window strong { font-size: 16px; }
    .cs-spz-tour-performance-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cs-spz-top-customers { grid-template-columns: 1fr; overflow-x: auto; padding-bottom: 5px; scrollbar-width: thin; }
    .cs-spz-top-customer-column { min-width: 390px; }
    .cs-spz-top-customer-row { grid-template-columns: 24px minmax(72px,1fr) minmax(90px,.9fr) 50px 50px; gap: 5px; padding-inline: 6px; }
    .cs-spz-top-customer-row, .cs-spz-top-customer-row strong, .cs-spz-top-customer-row b { font-size: 9.5px; }
    .cs-spz-top-customer-row small, .cs-spz-top-customer-row em { font-size: 9px; }
    .cs-spz-kpi-head { align-items: flex-start; }
    .cs-spz-kpi-head-actions { flex-wrap: wrap; justify-content: flex-end; }
    .cs-spz-kpi-comparison-row { grid-template-columns: 76px minmax(0,1fr); }
    .cs-spz-target-period-grid { grid-template-columns: 1fr; }
    .cs-spz-target-bulk-head { align-items: flex-start; flex-direction: column; gap: 8px; }
    .cs-spz-target-bulk-input { grid-template-columns: 1fr; }
    .cs-spz-target-bulk-input > span { justify-self: end; }
    .cs-spz-simulation-autosave { min-width: 0; }
    .cs-spz-modal-backdrop { padding: 10px; }
    .cs-spz-modal.is-simulation-settings { height: calc(100vh - 20px); max-height: calc(100vh - 20px); border-radius: 18px; }
    .cs-spz-simulation-assumption-summary-head,.cs-spz-simulation-settings-footer { align-items: stretch; flex-direction: column; }
    .cs-spz-simulation-assumption-summary-actions { justify-content: space-between; }
    .cs-spz-simulation-assumption-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cs-spz-simulation-settings-head { padding: 16px; }
    .cs-spz-simulation-settings-body { padding: 15px; }
    .cs-spz-simulation-settings-tabs { padding-inline: 10px; }
    .cs-spz-simulation-settings-tabs button { min-width: 112px; }
    .cs-spz-simulation-settings-footer .cs-spz-simulation-action-controls { align-items: stretch; flex-direction: column; }
    .cs-spz-simulation-settings-footer .cs-spz-simulation-autosave,.cs-spz-simulation-settings-footer .js-simulation-settings-save { width: 100%; min-width: 0; max-width: none; }
    .cs-spz-simulation-start-section { padding: 15px; }
    .cs-spz-simulation-lock-banner { grid-template-columns: 36px minmax(0,1fr); }
    .cs-spz-simulation-lock-banner .cs-spz-secondary { grid-column: 1 / -1; width: 100%; }
    .cs-spz-simulation-lock-dialog { grid-template-columns: 1fr; }
    .cs-spz-target-exclusion-form { grid-template-columns: 1fr; }
    .cs-spz-target-exclusion-form button { grid-column: auto; }
    .cs-spz-target-account-head { align-items: flex-start; flex-direction: column; }
    .cs-spz-target-data-wrap { justify-content: flex-start; }
    .cs-spz-target-data-status { text-align: left; }
    .cs-spz-simulation-toolbar-actions,.cs-spz-simulation-actions { align-items: stretch; flex-direction: column; }
    .cs-spz-simulation-action-controls { flex: 0 0 auto; flex-direction: column; }
    .cs-spz-simulation-action-controls .cs-spz-simulation-autosave,.cs-spz-simulation-action-controls .js-simulation-update { width: 100%; max-width: none; }
    .cs-spz-simulation-warning,.cs-spz-article-simulation-filter { align-items: stretch; flex-direction: column; }
    .cs-spz-simulation-warning-action { width: 100%; min-width: 0; }
    .cs-spz-simulation-warning-summary { grid-template-columns: 28px minmax(0,1fr); }
    .cs-spz-simulation-warning-summary-action { grid-column: 2; justify-content: flex-start; white-space: normal; }
    .cs-spz-article-simulation-filter .cs-spz-secondary { width: 100%; }
    .cs-spz-simulation-basics { grid-template-columns: 1fr; }
    .cs-spz-simulation-kpi-account-picker-actions,.cs-spz-simulation-kpi-account-picker-footer { align-items: stretch; flex-direction: column; }
    .cs-spz-simulation-kpi-account-picker-actions > div,.cs-spz-simulation-kpi-account-picker-footer .cs-spz-primary { width: 100%; }
    .cs-spz-simulation-kpi-account-picker-actions button { flex: 1 1 0; }
    .cs-spz-simulation-kpi-account-grid { grid-template-columns: 1fr; }
    .cs-spz-simulation-kpis { grid-template-columns: 1fr; }
    .cs-spz-simulation-kpi { min-height: 205px; }
    .cs-spz-kpi-detail-grid { grid-template-columns: 1fr; }
    .cs-spz-kpi-detail-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cs-spz-simulation-product-tabs { grid-template-columns: repeat(3,minmax(70px,1fr)); }
    .cs-spz-simulation-account-tabs { grid-template-columns: repeat(2,minmax(110px,1fr)); }
    .cs-spz-simulation-product-context { align-items: flex-start; flex-direction: column; }
    .cs-spz-simulation-accounts .cs-spz-panel-head,.cs-spz-simulation-products .cs-spz-panel-head,.cs-spz-simulation-vendor-results .cs-spz-panel-head,.cs-spz-simulation-products-actions,.cs-spz-simulation-section-actions { align-items: flex-start; flex-direction: column; }
    .cs-spz-simulation-product-filters { grid-template-columns: 1fr; }
    .cs-spz-simulation-product-filters > div { justify-content: stretch; }
    .cs-spz-simulation-product-filters button { flex: 1 1 0; }
    .cs-spz-simulation-product-pagination { align-items: stretch; flex-direction: column; }
    .cs-spz-simulation-product-pagination > div { justify-content: space-between; }
    .cs-spz-simulation-product-pagination button { flex: 1 1 0; }
    .cs-spz-simulation-chart { min-width: 700px; }
    .cs-spz-simulation-vendor-article-summary { grid-template-columns: 1fr; }
    .cs-spz-simulation-vendor-article-tools { align-items: stretch; flex-direction: column; }
    .cs-spz-simulation-vendor-article-tools label { width: 100%; }
    .cs-spz-simulation-vendor-article-tools > span { align-self: flex-start; }
}

@page {
    size: A4 portrait;
    margin: 9mm 10mm 10mm;
}

@media (max-width: 720px) {
    .cs-spz-simulation-history-entry > header { align-items: flex-start; flex-direction: column; }
    .cs-spz-simulation-history-summary { justify-items: start; text-align: left; }
    .cs-spz-simulation-history-change { grid-template-columns: 1fr; gap: 7px; }
}

.cs-spz-permissions-view { max-width: 1540px; margin-inline: auto; }
.cs-spz-permission-intro { overflow: hidden; }
.cs-spz-protected-badge { display: inline-flex; align-items: center; min-height: 30px; padding: 0 11px; border-radius: 999px; color: #5f45a4; background: #f1edfb; font-size: 10px; font-weight: 780; white-space: nowrap; }
.cs-spz-permission-search { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; align-items: end; gap: 10px; margin-top: 16px; }
.cs-spz-permission-search label { display: grid; gap: 7px; color: var(--spz-muted); font-size: 10px; font-weight: 760; text-transform: uppercase; letter-spacing: .06em; }
.cs-spz-permission-search input { min-height: 44px; padding: 0 13px; border: 1px solid var(--spz-line); border-radius: 12px; background: #fff; color: var(--spz-ink); outline: none; }
.cs-spz-permission-search input:focus { border-color: rgba(118,87,188,.55); box-shadow: 0 0 0 3px rgba(118,87,188,.1); }
.cs-spz-permission-users { display: grid; gap: 16px; }
.cs-spz-permission-user { overflow: hidden; border: 1px solid var(--spz-line); border-radius: var(--spz-radius); background: rgba(255,255,255,.92); box-shadow: var(--spz-shadow); transition: border-color .18s ease, box-shadow .18s ease; }
.cs-spz-permission-user.is-dirty { border-color: rgba(118,87,188,.42); box-shadow: 0 18px 50px rgba(92,66,150,.12); }
.cs-spz-permission-user > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px 22px; border-bottom: 1px solid var(--spz-line); background: linear-gradient(135deg, #fff, #faf9fd); }
.cs-spz-permission-user.is-collapsed > header { align-items: center; border-bottom-color: transparent; }
.cs-spz-permission-identity { display: flex; align-items: flex-start; gap: 13px; min-width: 0; }
.cs-spz-permission-identity h3 { margin: 1px 0 2px; font-size: 17px; }
.cs-spz-permission-identity p { margin: 0; color: var(--spz-muted); font-size: 11px; }
.cs-spz-permission-roles { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.cs-spz-permission-summary { display: flex; align-items: flex-end; flex-direction: column; gap: 8px; color: var(--spz-muted); font-size: 10px; font-weight: 720; }
.cs-spz-permission-toggle { min-height: 34px; display: inline-flex; align-items: center; gap: 8px; padding-inline: 11px; white-space: nowrap; }
.cs-spz-permission-toggle i { display: inline-grid; place-items: center; width: 16px; height: 16px; color: #7657bc; font-size: 15px; font-style: normal; line-height: 1; transition: transform .18s ease; }
.cs-spz-permission-user.is-expanded .cs-spz-permission-toggle i { transform: rotate(180deg); }
.cs-spz-permission-user.is-collapsed .cs-spz-permission-body { display: none; }
.cs-spz-permission-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.cs-spz-permission-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(190px,.54fr); gap: 18px; align-items: center; min-height: 118px; padding: 17px 20px; border-bottom: 1px solid var(--spz-line); }
.cs-spz-permission-row:nth-child(odd) { border-right: 1px solid var(--spz-line); }
.cs-spz-permission-row.is-critical { background: linear-gradient(100deg, transparent, rgba(215,25,32,.025)); }
.cs-spz-permission-copy { min-width: 0; }
.cs-spz-permission-copy .cs-spz-permission-group { display: block; margin-bottom: 5px; color: #7657bc; font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.cs-spz-permission-copy strong { display: block; font-size: 12px; }
.cs-spz-permission-copy p { margin: 5px 0 0; color: var(--spz-muted); font-size: 10px; line-height: 1.45; }
.cs-spz-permission-control { display: grid; gap: 6px; }
.cs-spz-permission-control select { width: 100%; min-height: 40px; padding: 0 34px 0 11px; border: 1px solid var(--spz-line); border-radius: 11px; background-color: #fff; color: var(--spz-ink); font-size: 11px; font-weight: 680; }
.cs-spz-permission-control select:disabled { opacity: .72; cursor: not-allowed; background: #f5f3fa; }
.cs-spz-permission-control small { font-size: 9px; line-height: 1.35; }
.cs-spz-permission-control small.is-allowed { color: var(--spz-green); }
.cs-spz-permission-control small.is-denied { color: #9a2730; }
.cs-spz-permission-body > .cs-spz-form-actions { margin: 0; padding: 16px 20px; background: #fbfbfc; }
.cs-spz-permission-protected-note { display: flex; gap: 9px; align-items: center; padding: 15px 20px; color: #5f45a4; background: #f6f3fd; font-size: 10px; }
.cs-spz-permission-protected-note span { color: #74688e; }
.cs-spz-permission-history { display: grid; gap: 9px; }
.cs-spz-permission-history-entry { display: grid; grid-template-columns: minmax(240px,.7fr) minmax(0,1.3fr); gap: 18px; padding: 14px 15px; border: 1px solid var(--spz-line); border-radius: 13px; background: #fafafb; }
.cs-spz-permission-history-entry > div { display: grid; gap: 3px; align-content: start; font-size: 10px; }
.cs-spz-permission-history-entry > div strong { font-size: 11px; }
.cs-spz-permission-history-entry > div small { color: var(--spz-muted); }
.cs-spz-permission-history-entry ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.cs-spz-permission-history-entry li { display: flex; justify-content: space-between; gap: 12px; color: var(--spz-muted); font-size: 9px; }
.cs-spz-permission-history-entry li strong { color: var(--spz-ink); }

@media (max-width: 1180px) {
    .cs-spz-permission-list { grid-template-columns: 1fr; }
    .cs-spz-permission-row:nth-child(odd) { border-right: 0; }
}

@media (max-width: 760px) {
    .cs-spz-modal.is-simulation-growth { max-height: calc(100vh - 20px); }
    .cs-spz-growth-summary-cards,.cs-spz-growth-benchmark-grid { grid-template-columns: 1fr; }
    .cs-spz-growth-form-grid { grid-template-columns: 1fr; }
    .cs-spz-growth-field.is-title,.cs-spz-growth-field.is-wide { grid-column: auto; }
    .cs-spz-growth-section-head,.cs-spz-growth-footer { align-items: stretch; flex-direction: column; }
    .cs-spz-growth-formula { grid-template-columns: 1fr; }
    .cs-spz-growth-formula strong { white-space: normal; }
    .cs-spz-growth-overview-columns { display: none; }
    .cs-spz-growth-overview-row { grid-template-columns: auto minmax(0,1fr) auto 16px; gap: 8px; padding: 11px 12px; }
    .cs-spz-growth-overview-amount { font-size: 10.5px; }
    .cs-spz-permission-search { grid-template-columns: 1fr; }
    .cs-spz-permission-user > header, .cs-spz-permission-row, .cs-spz-permission-history-entry { grid-template-columns: 1fr; }
    .cs-spz-permission-user > header { flex-direction: column; }
    .cs-spz-permission-summary { align-items: flex-start; }
}

@media (max-width: 760px) {
    .cs-spz-category-customer-card { grid-template-columns: 42px minmax(0,1fr); }
    .cs-spz-category-customer-card > .cs-spz-primary { grid-column: 1 / -1; width: 100%; }
    .cs-spz-category-customer-icon { width: 42px; height: 42px; }
    .cs-spz-category-customer-selection-head { flex-direction: column; }
    .cs-spz-category-customer-selection-head > div:last-child { width: 100%; }
    .cs-spz-category-customer-selection-head > div:last-child button { flex: 1; }
    .cs-spz-category-customer-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cs-spz-category-customer-mode { grid-template-columns: 1fr; }
    .cs-spz-category-customer-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cs-spz-category-customer-export { grid-template-columns: 1fr; }
    .cs-spz-category-customer-export > .cs-spz-primary { width: 100%; }
    .cs-spz-article-quantity-card { grid-template-columns: 42px minmax(0,1fr); }
    .cs-spz-article-quantity-card > .cs-spz-primary { grid-column: 1 / -1; width: 100%; }
    .cs-spz-article-quantity-icon { width: 42px; height: 42px; }
    .cs-spz-article-quantity-form { grid-template-columns: 1fr; }
    .cs-spz-article-quantity-form > button { width: 100%; }
    .cs-spz-article-quantity-identity { align-items: flex-start; flex-direction: column; }
    .cs-spz-article-quantity-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 1399px) {
    .cs-spz-simulation-settings-workspace { grid-template-columns: minmax(0,1fr) 600px; }
}
@media (max-width: 1050px) {
    .cs-spz-simulation-settings-workspace { grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr) minmax(0,.7fr); }
    .cs-spz-simulation-settings-targets { border-left: 0; border-top: 1px solid #e2ddee; }
    .cs-spz-simulation-settings-target-head { padding: 9px 14px; }
    .cs-spz-simulation-settings-target-head h3 { font-size: 14px; }
    .cs-spz-simulation-settings-target-head p,.cs-spz-simulation-settings-target-note { display: none; }
    .cs-spz-simulation-settings-target-list { gap: 8px; }
}
@media (max-width: 640px) {
    .cs-spz-modal-backdrop.has-simulation-settings { padding: 10px; }
    .cs-spz-simulation-settings-target-metrics { grid-template-columns: minmax(0,1fr); }
    .cs-spz-simulation-settings-target-metric { padding: 8px 0; }
    .cs-spz-simulation-settings-target-metric + .cs-spz-simulation-settings-target-metric { border-left: 0; border-top: 1px solid #f0edf5; }
}

@media print {
    html, body.cs-spz-blank-page {
        width: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        overflow: visible !important;
        color: #1d2127;
        background: #fff !important;
        font-size: 9pt;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .cs-spz-blank-main, .cs-spz-root, .cs-spz-shell, .cs-spz-main, #cs-spz-view, .cs-spz-view {
        width: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: none !important;
        overflow: visible !important;
    }

    .cs-spz-sidebar,
    .cs-spz-sidebar-toggle,
    .cs-spz-filterbar,
    .cs-spz-quickfind-slot,
    .cs-spz-top-actions,
    .cs-spz-pagination,
    .cs-spz-admin-only,
    .cs-spz-toast-stack,
    .cs-spz-modal-backdrop,
    .cs-spz-info,
    .cs-spz-kpi-expand,
    .cs-spz-segmented,
    .cs-spz-target-head-actions,
    .cs-spz-simulation-toolbar,
    .cs-spz-simulation-editor,
    .cs-spz-assortment-analysis-cards,
    .cs-spz-category-customer-card,
    .cs-spz-article-quantity-card,
    .cs-spz-simulation-product-pagination {
        display: none !important;
    }

    .cs-spz-floating-hscroll { display: none !important; }

    .cs-spz-shell { display: block !important; }
    .cs-spz-main { display: block !important; padding: 0 !important; }
    .cs-spz-view { animation: none !important; }

    .cs-spz-topbar {
        display: flex !important;
        align-items: flex-end;
        margin: 0 0 4mm;
        padding: 0 0 3mm;
        border-bottom: .45mm solid #d71920;
    }
    .cs-spz-topbar::before {
        content: "SPZ";
        width: 11mm;
        height: 11mm;
        display: grid;
        flex: 0 0 11mm;
        place-items: center;
        margin-right: 3mm;
        border-radius: 2.6mm;
        color: #fff;
        background: #d71920;
        font-size: 7.5pt;
        font-weight: 800;
        letter-spacing: .08em;
    }
    .cs-spz-heading h1 { font-size: 20pt !important; line-height: 1; letter-spacing: -.035em; }
    .cs-spz-heading p { margin-top: 1.3mm; font-size: 8.5pt; }

    .cs-spz-print-meta {
        display: grid !important;
        grid-template-columns: 1.25fr .8fr 1fr;
        gap: 3mm;
        margin: 0 0 5mm;
        padding: 3mm 4mm;
        border: .25mm solid #dfe2e6;
        border-radius: 2.8mm;
        background: #f7f8fa;
    }
    .cs-spz-print-meta div { min-width: 0; }
    .cs-spz-print-meta span { display: block; margin-bottom: 1mm; color: #787e87; font-size: 6.5pt; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
    .cs-spz-print-meta strong { display: block; overflow: hidden; color: #30353c; font-size: 9pt; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }

    .cs-spz-kpi-groups { display: block !important; }
    .cs-spz-kpi-section {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
        break-before: page;
        page-break-before: always;
    }
    .cs-spz-kpi-groups > .cs-spz-kpi-section:first-child {
        break-before: auto;
        page-break-before: auto;
    }
    .cs-spz-kpi-section-head {
        min-height: 11mm;
        margin: 0 0 4mm;
        padding: 0 0 2.5mm;
        border-bottom: .25mm solid #dfe2e6;
        break-after: avoid;
        page-break-after: avoid;
    }
    .cs-spz-kpi-section-head h2 { font-size: 14pt !important; }
    .cs-spz-kpi-section-head p { margin-top: 1mm; font-size: 7.5pt !important; }
    .cs-spz-kpi-section-icon {
        width: 9mm;
        height: 9mm;
        flex-basis: 9mm;
        border-radius: 2.4mm;
        box-shadow: none !important;
        font-size: 10pt;
    }

    .cs-spz-grid,
    .cs-spz-kpi-grid {
        display: grid !important;
        grid-template-columns: repeat(var(--kpi-columns, 4), minmax(0,1fr)) !important;
        gap: 3mm !important;
        align-items: stretch;
    }

    .cs-spz-panel,
    .cs-spz-kpi {
        min-width: 0 !important;
        max-width: none !important;
        min-height: 47mm !important;
        height: auto !important;
        padding: 3.5mm !important;
        overflow: hidden !important;
        border: .25mm solid #dfe2e6 !important;
        border-radius: 3mm !important;
        background: #fff !important;
        box-shadow: none !important;
        transform: none !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }
    .cs-spz-kpi::before { height: .8mm; opacity: 1; }
    .cs-spz-kpi::after { display: none !important; }
    .cs-spz-kpi-head { min-height: 6mm; font-size: 8pt; line-height: 1.25; }
    .cs-spz-kpi-head-actions { display: none !important; }
    .cs-spz-kpi-value,
    .cs-spz-kpi.is-kpi-net_revenue .cs-spz-kpi-value,
    .cs-spz-kpi.is-kpi-contribution .cs-spz-kpi-value {
        margin-top: 4mm;
        font-size: 22pt !important;
        line-height: 1 !important;
        letter-spacing: -.045em;
        white-space: nowrap;
    }
    .cs-spz-kpi-context { margin-top: 2.5mm; gap: 1mm; font-size: 7pt; }
    .cs-spz-kpi-context strong { font-size: 8pt; }
    .cs-spz-kpi-subvalue { margin-top: 2mm; font-size: 7pt; }
    .cs-spz-kpi-subvalue strong { font-size: 8pt; }
    .cs-spz-kpi-comparisons { margin-top: auto; padding-top: 2.5mm; }
    .cs-spz-kpi-comparison-row { grid-template-columns: 17mm minmax(0,1fr) !important; gap: 2mm; padding: 1.4mm 0; }
    .cs-spz-kpi-comparison-label { font-size: 6.8pt; }
    .cs-spz-kpi-comparison-values { gap: 1mm; }
    .cs-spz-trend, .cs-spz-trend-absolute { padding: 1.2mm 1.8mm; font-size: 6.8pt; white-space: nowrap; }

    .cs-spz-kpi.has-customer-classification,
    .cs-spz-kpi.has-delivery-frequency { grid-column: 1 / -1 !important; min-height: 58mm !important; }
    .cs-spz-kpi.has-delivery-frequency {
        min-height: 0 !important;
        padding: 2.5mm !important;
    }
    .cs-spz-kpi.has-demographic-distribution { grid-column: span 2 !important; min-height: 66mm !important; }
    .cs-spz-kpi.has-top-customers,
    .cs-spz-kpi.has-delivery-fee-distribution { grid-column: 1 / -1 !important; }
    .cs-spz-kpi.has-top-customers { min-height: 105mm !important; }
    .cs-spz-kpi.has-delivery-fee-distribution { min-height: 58mm !important; }
    .cs-spz-kpi.has-reactivation-windows { min-height: 0 !important; }

    .cs-spz-customer-classification { gap: 2.5mm; }
    .cs-spz-customer-classification > div { padding: 3mm; border-radius: 2.5mm; }
    .cs-spz-customer-classification-value strong { font-size: 19pt; }
    .cs-spz-customer-classification small { font-size: 7pt; }
    .cs-spz-customer-classification-note { margin-top: 2mm; font-size: 6.5pt; }

    .cs-spz-frequency-summary { margin: 1.5mm 0 1mm; padding: 1.3mm 2.5mm; font-size: 7pt; }
    .cs-spz-frequency-distribution { gap: .8mm 1.5mm; }
    .cs-spz-frequency-row { grid-template-columns: minmax(31mm,.85fr) minmax(36mm,1.15fr); gap: 2mm; padding: 1.2mm 2.5mm; }
    .cs-spz-frequency-row strong, .cs-spz-frequency-row small, .cs-spz-frequency-value b, .cs-spz-frequency-value em { font-size: 6.6pt; }

    .cs-spz-demographic-distribution { gap: 1.4mm; }
    .cs-spz-demographic-row { grid-template-columns: minmax(35mm,.85fr) minmax(42mm,1.15fr); gap: 2.5mm; padding: 2mm 2.5mm; }
    .cs-spz-demographic-row strong { font-size: 7pt; }
    .cs-spz-demographic-row small, .cs-spz-demographic-value b { font-size: 6.4pt; }
    .cs-spz-demographic-value { grid-template-columns: 30mm minmax(0,1fr); gap: 2mm; }

    .cs-spz-top-customer-summary { margin-bottom: 2mm; padding: 2mm 2.5mm; font-size: 7pt; }
    .cs-spz-top-customer-summary strong { font-size: 10pt; }
    .cs-spz-top-customers { gap: 1.2mm 4mm; }
    .cs-spz-top-customer-column { gap: 1mm; }
    .cs-spz-top-customer-row { grid-template-columns: 7mm minmax(20mm,1fr) minmax(24mm,.9fr) 14mm 14mm; gap: 1.5mm; min-height: 6mm; padding: 1.2mm 2mm; border-radius: 1.8mm; }
    .cs-spz-top-customer-row,
    .cs-spz-top-customer-row strong,
    .cs-spz-top-customer-row b,
    .cs-spz-top-customer-row small,
    .cs-spz-top-customer-row em { font-size: 6.5pt; }
    .cs-spz-top-customer-row em { min-width: 12mm; padding: .8mm 1.2mm; }

    .cs-spz-delivery-fee-overview { grid-template-columns: 52mm minmax(0,1fr) !important; gap: 4mm; margin-top: 3mm; }
    .cs-spz-delivery-fee-total { padding-right: 4mm; }
    .cs-spz-delivery-fee-distribution { grid-template-columns: repeat(5,minmax(0,1fr)) !important; gap: 2mm; }
    .cs-spz-delivery-fee-item { padding: 2.5mm; border-radius: 2.4mm; }
    .cs-spz-delivery-fee-item small { font-size: 6.5pt; }
    .cs-spz-delivery-fee-item strong { font-size: 13pt !important; }
    .cs-spz-delivery-fee-revenue { margin-top: 2mm; padding-top: 2mm; }
    .cs-spz-delivery-fee-revenue strong { font-size: 8pt !important; }
    .cs-spz-delivery-fee-revenue small, .cs-spz-delivery-fee-item em { font-size: 5.8pt; }

    .cs-spz-voucher-breakdown { gap: 1mm; margin-top: 2.5mm; }
    .cs-spz-voucher-breakdown > span { grid-template-columns: 9mm minmax(12mm,1fr) auto; gap: 1mm; padding: 1.2mm 1.6mm; border-radius: 1.8mm; font-size: 6pt; }
    .cs-spz-voucher-breakdown strong, .cs-spz-voucher-breakdown b { font-size: 6.5pt; }

    .cs-spz-reactivation-windows { margin-top: 2mm; }
    .cs-spz-reactivation-windows th, .cs-spz-reactivation-windows td { padding: 1.5mm; }
    .cs-spz-reactivation-window small, .cs-spz-window-status, .cs-spz-window-deadline { font-size: 6.5pt; }
    .cs-spz-reactivation-window strong { font-size: 10pt; }

    .cs-spz-target-overview {
        min-height: 0 !important;
        margin-top: 3mm !important;
        padding: 3mm 3.5mm !important;
    }
    .cs-spz-target-overview .cs-spz-panel-head { margin: 0 !important; }
    .cs-spz-revenue-development {
        min-height: 88mm !important;
        margin-top: 3mm !important;
        padding: 3.5mm !important;
    }
    .cs-spz-panel-head { margin-bottom: 3mm; }
    .cs-spz-panel-head h2 { font-size: 10pt; }
    .cs-spz-panel-head p { font-size: 6.5pt; }
    .cs-spz-chart { min-height: 70mm !important; }
    .cs-spz-chart svg { width: 100% !important; height: 66mm !important; overflow: hidden !important; }
    .cs-spz-chart-tooltip, .cs-spz-chart-hover-hit, .cs-spz-chart-guide, .cs-spz-chart-hover-focus { display: none !important; }
    .cs-spz-chart-label { font-size: 7px; }
    .cs-spz-chart-day-label { font-size: 6.5px; }
    .cs-spz-chart-day-number, .cs-spz-chart-point-value { font-size: 5.5px; }

    .cs-spz-article-assortment-section { overflow: visible !important; }
    .cs-spz-top-articles { min-height: 0 !important; overflow: hidden !important; }
    .cs-spz-top-article-jump { display: none !important; }
    .cs-spz-assortment-breakdowns {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 3mm !important;
        margin-top: 4mm;
        break-before: page;
        page-break-before: always;
    }
    .cs-spz-assortment-breakdowns .cs-spz-assortment-card:nth-child(3) {
        grid-column: 1 / -1 !important;
        break-before: page;
        page-break-before: always;
    }
    .cs-spz-assortment-card { min-height: 0 !important; padding: 3mm !important; overflow: hidden !important; }
    .cs-spz-assortment-screen-list { display: none !important; }
    .cs-spz-assortment-print-list {
        display: grid !important;
        grid-template-columns: repeat(var(--print-columns, 1), minmax(0,1fr));
        gap: 5mm;
    }
    .cs-spz-assortment-print-column { min-width: 0; }
    .cs-spz-assortment-row { padding: 1.4mm 1.5mm; break-inside: avoid; page-break-inside: avoid; }
    .cs-spz-assortment-row-head { gap: 2mm; }
    .cs-spz-assortment-row-head strong, .cs-spz-assortment-row-head b { font-size: 6.5pt; }
    .cs-spz-assortment-row-head small { font-size: 5.7pt; }

    .cs-spz-table-wrap { max-width: 100% !important; overflow: visible !important; }
    .cs-spz-table { width: 100% !important; min-width: 0 !important; table-layout: fixed; font-size: 6.5pt; }
    .cs-spz-table th, .cs-spz-table td { padding: 1.6mm 1.8mm; overflow-wrap: anywhere; }
    .cs-spz-table tr { break-inside: avoid; page-break-inside: avoid; }
    .cs-spz-ranking-row, .cs-spz-ranking-head { min-width: 0 !important; }

    a { color: inherit !important; text-decoration: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    .cs-spz-blank-main *, .cs-spz-blank-main *::before, .cs-spz-blank-main *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
    .cs-spz-metrics-loading-icon i, .cs-spz-metrics-progress-fill::after { animation: none !important; }
    .cs-spz-metrics-progress-fill { transition-duration: .01ms !important; }
}
.cs-spz-assortment-months{display:grid;grid-template-columns:repeat(6,minmax(48px,1fr));gap:8px;margin-top:4px}.cs-spz-assortment-months label{position:relative;cursor:pointer}.cs-spz-assortment-months input{position:absolute;opacity:0;pointer-events:none}.cs-spz-assortment-months span{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid var(--cs-border,#e4e4e7);border-radius:10px;background:#fff;font-size:12px;font-weight:700;color:#626773;transition:.16s ease}.cs-spz-assortment-months input:checked+span{border-color:#7657bc;background:#f2edff;color:#5d3fa7;box-shadow:0 0 0 2px rgba(118,87,188,.08)}.cs-spz-field-wide{grid-column:1/-1}.cs-spz-field-wide>small{display:block;margin-top:7px;color:#747985;font-size:11px;line-height:1.45}
