/* Route-level presentation; the site's header, footer and Bootstrap remain shared. */
.shop-analysis {
    font-family:inherit; font-size:14px; line-height:1.5; background:transparent;
    min-width:0; width:100%;
}
.shop-analysis .shell { margin:0; }
.shop-analysis .wrap { max-width:1380px; padding:12px; }
.shop-analysis .page-heading { margin-bottom:12px; align-items:flex-start; }
.shop-analysis .page-heading h1 { font-size:28px; letter-spacing:-.4px; margin:12px 0 8px; font-weight:600; }
.shop-analysis.has-results .page-heading p { display:block; }
.shop-analysis .shop-home-link { color:var(--blue); font-size:13px; }
.shop-analysis .shop-current-label:empty { display:none; }
.shop-analysis .shop-current-label { display:block; color:var(--muted); margin-top:8px; overflow-wrap:anywhere; }
.shop-analysis .panel,.shop-analysis .card { border-radius:var(--radius-md); box-shadow:0 1px 3px rgba(20,20,31,.06); }
.shop-analysis .panel { margin-bottom:12px; }
.shop-analysis .card { display:block; }
.shop-analysis .search-panel,.shop-analysis .section-body { padding:12px; }
.shop-analysis .section-heading { padding:12px; }
.shop-analysis .section-heading h2 { font-size:16px; }
.shop-analysis .secondary-button,.shop-analysis .search button { border-radius:4px; }
.shop-analysis .input-group { flex-wrap:nowrap; border-radius:4px; height:auto; min-height:44px; }
.shop-analysis .input-group:focus-within { border-color:var(--blue); box-shadow:0 0 0 3px var(--focus-ring); }
.shop-analysis .secondary-button:hover,.shop-analysis .search button:hover { background:var(--light); }
.shop-analysis .search .primary:hover { background:var(--blue-dark); }
.shop-analysis .shop-section-nav { display:flex; gap:4px; overflow-x:auto; max-width:100%; padding:4px 0 10px; margin-bottom:16px; border-bottom:1px solid var(--border); scrollbar-width:thin; }
.shop-analysis .shop-section-nav .nav-link { flex:0 0 auto; white-space:nowrap; margin:0; border-radius:4px; font-size:13px; padding:8px 12px; }
.shop-analysis .shop-section-nav .nav-link .icon { width:16px; height:16px; }
.shop-analysis .shop-section-nav .nav-link.active::after { display:none; }
.shop-analysis .shop-section-nav .nav-link:hover { background:var(--light); }
.shop-analysis section[id] { scroll-margin-top:16px; }
.shop-analysis .modal-bg { z-index:1060; }
.shop-analysis .modal { display:block; position:relative; inset:auto; height:auto; margin:0; z-index:auto; border-radius:6px; }
.shop-analysis .modal .close { opacity:1; text-shadow:none; font-weight:400; }
.shop-analysis .shop-data-note { color:var(--muted); font-size:12px; margin:12px 0 0; }
.shop-analysis .empty-state { display:block; min-height:0; padding:12px; }
.shop-analysis .empty-state h2 { font-size:20px; }
@media(max-width:767px) {
    .shop-analysis .wrap { padding:12px; }
    .shop-analysis .page-heading { gap:12px; flex-wrap:wrap; }
    .shop-analysis .page-heading h1 { font-size:24px; }
    .shop-analysis .page-heading .secondary-button { min-height:44px; }
    .shop-analysis .search-panel,.shop-analysis .section-body { padding:12px; }
    .shop-analysis .section-heading { padding:12px; }
    .shop-analysis .panel { margin-bottom:12px; }
    .shop-analysis .shop-section-nav { margin-bottom:12px; }
    .shop-analysis .search .input-group { flex-wrap:wrap; }
    .shop-analysis .search .input-group input { flex:1; min-width:0; min-height:44px; }
    .shop-analysis .search .input-group .primary { width:100%; min-height:44px; }
}
.shop-analysis .report-insight { padding:18px 0; border-bottom:1px solid var(--border); }
.shop-analysis .report-text .report-insight h3 { margin:0 0 10px; padding:0; border:0; }
.shop-analysis .report-text .insight-evidence { font-weight:600; }
.shop-analysis .report-text .insight-action { background:var(--light); padding:10px 12px; border-radius:4px; }
.shop-analysis .insight-link { display:inline-flex; align-items:center; min-height:44px; color:var(--blue); font-size:13px; }
.shop-analysis .report-method { margin-top:20px; color:var(--muted); font-size:12px; }
.shop-analysis .report-method summary { cursor:pointer; min-height:44px; padding-block:12px; }
.shop-analysis #staticReport + #reportCharts:not(:empty) { margin-top:24px; }
@media print { .shop-analysis .shop-section-nav { display:none; } }

/* Báo cáo phân tích tổng thể (StaticShopReport) — văn xuôi, dùng đúng token theme
   của page (font --font-ui, màu --ink/--muted/--border) để đồng bộ với cả shop. */
.shop-analysis .report-text .report-block { padding:18px 0; border-bottom:1px solid var(--border); }
.shop-analysis .report-text .report-block:first-child { padding-top:0; }
.shop-analysis .report-text .report-block:last-of-type { border-bottom:0; }
.shop-analysis .report-text .report-block h3 { margin:0 0 10px; padding:0; border:0; font-size:15px; font-weight:600; color:var(--ink); }
.shop-analysis .report-text .report-block p { margin:0 0 10px; color:var(--ink); line-height:1.75; }
.shop-analysis .report-text .report-block p:last-child { margin-bottom:0; }
.shop-analysis .report-text .report-block b { font-weight:600; }
.shop-analysis .report-text .report-list { margin:8px 0 0; padding-left:20px; line-height:1.8; color:var(--ink); }
.shop-analysis .report-text .report-list li { margin:4px 0; }
.shop-analysis .report-text .report-block .muted { color:var(--muted); font-weight:400; }
.shop-analysis .report-text .report-empty { color:var(--muted); padding:18px 0; }

/* Match Looper cards and controls, including report and product dialogs. */
.shop-analysis .key-card,.shop-analysis .report-chart,
.shop-analysis .history-card,.shop-analysis .profit-form,.shop-analysis .profit-output,
.shop-analysis .profit-kpis>div,.shop-analysis .profit-breakdown,
.shop-analysis .analysis-progress,.shop-analysis .profit-product-tabs button {
    border-radius:var(--radius-md);
}
.shop-analysis .secondary-button,.shop-analysis .link-button,
.shop-analysis .primary-button,.shop-analysis #relatedForm .primary,
.shop-analysis .picker-actions .primary,.shop-analysis .seg,
.shop-analysis .product-filters input,.shop-analysis .product-filters select,
.shop-analysis #relatedForm input,.shop-analysis .profit-field input,
.shop-analysis .scenario-inputs input,.shop-analysis .scenario-inputs select {
    border-radius:var(--radius-sm);
}
.shop-analysis .primary-button:hover:not(:disabled),
.shop-analysis #relatedForm .primary:hover:not(:disabled),
.shop-analysis .picker-actions .primary:hover:not(:disabled) { background:var(--blue-dark); }
.shop-analysis button:disabled { opacity:.65; }
.shop-analysis input[type="checkbox"],.shop-analysis input[type="radio"] { accent-color:var(--blue); }
.shop-analysis :focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
.shop-analysis th { color:var(--ink); background:var(--bg); }
.shop-analysis tbody tr:hover { background:var(--light); }

/* Use the host site's Quicksand typography, not the standalone dashboard scale. */
.shop-analysis { --font-ui:inherit; font-weight:inherit; }
.shop-analysis h1,.shop-analysis h2,.shop-analysis h3,
.shop-analysis .page-heading h1,.shop-analysis .empty-state h2,
.shop-analysis .section-heading h2 { letter-spacing:normal; }
.shop-analysis .search label,.shop-analysis #relatedForm label,
.shop-analysis .profit-field,.shop-analysis .related-toolbar label,
.shop-analysis .panel-title,.shop-analysis .step b {
    font-size:14px; font-weight:600;
}
.shop-analysis .search input,.shop-analysis .search button,
.shop-analysis .secondary-button,.shop-analysis .primary-button,
.shop-analysis .link-button,.shop-analysis .shop-section-nav .nav-link,
.shop-analysis .product-filters input,.shop-analysis .product-filters select,
.shop-analysis .related-toolbar select,.shop-analysis .seg button {
    font-size:14px; font-weight:inherit;
}
.shop-analysis .page-heading p,.shop-analysis .empty-state>p,
.shop-analysis .sc-name { font-size:14px; }
.shop-analysis .hint,.shop-analysis .step p,.shop-analysis .shop-data-note {
    font-size:12px; line-height:1.5;
}
.shop-analysis .card .label { font-size:13px; }

/* Typography reference: the light ShopeeAnalytics page around the embedded tool. */
.shop-analysis .page-heading h1 {
    font-size:24px;
    font-weight:700;
    line-height:1.25;
    margin:12px 0 4px;
}
.shop-analysis .page-heading p { line-height:1.5; }
.shop-analysis .section-heading h2 { font-size:16px; font-weight:600; }
.shop-analysis .search button,.shop-analysis .primary-button { font-weight:600; }

/* Danh sách sản phẩm: vùng lọc và điều khiển rõ ràng, phù hợp màn hình rộng. */
.shop-analysis #products { overflow:hidden; border-color:#dfe7f1; }
.shop-analysis #products .product-list-heading { min-height:78px; padding:16px 18px; background:linear-gradient(100deg,#fff 0%,#f7faff 100%); }
.shop-analysis #products .product-list-heading h2 { color:var(--ink); }
.shop-analysis #products .product-list-heading p { max-width:620px; }
.shop-analysis #products .product-filters { grid-template-columns:minmax(230px,1.75fr) repeat(3,minmax(128px,1fr)) minmax(180px,1.05fr) auto auto; gap:10px; padding:14px 18px; background:#f7f9fc; border-bottom:1px solid #e1e8f1; }
.shop-analysis #products .product-filters input,
.shop-analysis #products .product-filters select { min-height:44px; padding:10px 12px; border-color:#d9e2ed; background:#fff; box-shadow:0 1px 1px rgba(20,31,50,.02); transition:border-color .16s,box-shadow .16s; }
.shop-analysis #products .product-filters input::placeholder { color:#8a97a8; }
.shop-analysis #products .product-filters input:focus,
.shop-analysis #products .product-filters select:focus { border-color:var(--blue); box-shadow:0 0 0 3px var(--focus-ring); outline:0; }
.shop-analysis #products .product-filters button { min-height:44px; padding:10px 15px; border-radius:var(--radius-sm); white-space:nowrap; }
.shop-analysis #products .product-filters button[type="submit"] { color:#fff; background:var(--blue); border-color:var(--blue); box-shadow:0 1px 2px rgba(52,108,176,.25); }
.shop-analysis #products .product-filters button[type="submit"]:hover { color:#fff; background:var(--blue-dark); border-color:var(--blue-dark); }
.shop-analysis #products .product-filters .clear-filters { color:#66768e; background:#fff; border-color:#d9e2ed; }
.shop-analysis #products .product-filters .clear-filters:hover { color:var(--ink); background:#eef3f9; border-color:#becbd9; }
.shop-analysis #products .products-toolbar { min-height:62px; margin:0; padding:11px 18px; gap:14px; border-bottom:1px solid #e7edf4; background:#fff; }
.shop-analysis #products #productViewToggle { padding:3px; border-color:#dbe4ef; border-radius:var(--radius-sm); background:#f4f7fb; }
.shop-analysis #products #productViewToggle button { min-height:34px; padding:6px 13px; border-radius:4px; font-size:13px; }
.shop-analysis #products #productViewToggle button.active { box-shadow:0 1px 3px rgba(35,58,87,.16); }
.shop-analysis #products .products-sort { margin-left:auto; gap:9px; color:#65758a; font-weight:600; }
.shop-analysis #products .products-sort select { min-height:38px; padding:8px 30px 8px 11px; border-color:#d9e2ed; border-radius:var(--radius-sm); color:var(--ink); font-weight:500; }
.shop-analysis #products .shopee-grid { padding:16px 18px 2px; margin:0; }
.shop-analysis #products .table-scroll { margin:0; }
.shop-analysis #products .pager { padding:14px 18px; }
@media(max-width:1350px) {
    .shop-analysis #products .product-filters { grid-template-columns:minmax(210px,2fr) repeat(3,minmax(120px,1fr)) minmax(160px,1fr) auto; }
}
@media(max-width:1050px) and (min-width:768px) {
    .shop-analysis #products .product-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .shop-analysis #products #productSearch { grid-column:span 2; }
}
@media(max-width:767px) {
    .shop-analysis #products .product-list-heading { min-height:0; padding:14px 16px; }
    .shop-analysis #products .product-filters { gap:8px; padding:0 16px 16px; background:#f7f9fc; }
    .shop-analysis #products .filter-toggle { margin:12px 16px; border-color:#d9e2ed; background:#fff; }
    .shop-analysis #products .products-toolbar { min-height:56px; padding:9px 12px; }
    .shop-analysis #products .products-sort { margin-left:0; }
    .shop-analysis #products .products-sort select { min-height:36px; max-width:135px; }
    .shop-analysis #products .shopee-grid { padding:12px 12px 2px; }
    .shop-analysis #products .pager { padding:12px; }
}

/* Lợi nhuận sản phẩm chủ lực: một thang chữ thống nhất với giao diện Looper. */
.shop-analysis #profitCalculator { font-family:inherit; font-size:14px; line-height:1.5; }
.shop-analysis #profitCalculator .section-heading h2 { font-size:18px; font-weight:600; line-height:1.3; }
.shop-analysis #profitCalculator .section-heading p { font-size:13px; line-height:1.5; }
.shop-analysis #profitCalculator .profit-header-actions .secondary-button,
.shop-analysis #profitCalculator .profit-product-tabs span,
.shop-analysis #profitCalculator .profit-form-heading h3,
.shop-analysis #profitCalculator .profit-defaults summary,
.shop-analysis #profitCalculator #profitScenario h4,
.shop-analysis #profitCalculator .profit-suggestions h4 { font-size:14px; font-weight:600; line-height:1.4; }
.shop-analysis #profitCalculator .profit-product-tabs small,
.shop-analysis #profitCalculator .profit-save-status,
.shop-analysis #profitCalculator .profit-field small,
.shop-analysis #profitCalculator .profit-defaults .muted,
.shop-analysis #profitCalculator .profit-caveat { font-size:12px; line-height:1.5; }
.shop-analysis #profitCalculator .eyebrow,
.shop-analysis #profitCalculator .profit-seller-type legend { font-size:11px; font-weight:700; letter-spacing:.04em; }
.shop-analysis #profitCalculator .profit-source-price,
.shop-analysis #profitCalculator .profit-check,
.shop-analysis #profitCalculator .profit-radio,
.shop-analysis #profitCalculator .profit-field,
.shop-analysis #profitCalculator .profit-confirm,
.shop-analysis #profitCalculator .profit-hint,
.shop-analysis #profitCalculator .profit-fee-notice,
.shop-analysis #profitCalculator .profit-breakdown > div,
.shop-analysis #profitCalculator .profit-suggestions p { font-size:13px; line-height:1.5; }
.shop-analysis #profitCalculator .profit-field { font-weight:600; }
.shop-analysis #profitCalculator .profit-field input,
.shop-analysis #profitCalculator .profit-field select,
.shop-analysis #profitCalculator .scenario-inputs input,
.shop-analysis #profitCalculator .scenario-inputs select,
.shop-analysis #profitCalculator .scenario-custom input { font-size:14px; font-weight:400; line-height:1.4; }
.shop-analysis #profitCalculator .profit-source-price b { font-size:15px; }
.shop-analysis #profitCalculator .primary-button,
.shop-analysis #profitCalculator .text-danger,
.shop-analysis #profitCalculator .sale-presets button,
.shop-analysis #profitCalculator .seg button { font-size:13px; font-weight:600; }
.shop-analysis #profitCalculator .profit-kpis span,
.shop-analysis #profitCalculator .scenario-result span,
.shop-analysis #profitCalculator .scenario-inputs label,
.shop-analysis #profitCalculator .scenario-custom { font-size:12px; line-height:1.4; }
.shop-analysis #profitCalculator .profit-kpis b { font-size:20px; line-height:1.2; }
.shop-analysis #profitCalculator .scenario-result b { font-size:14px; line-height:1.35; }
.shop-analysis #profitCalculator .scenario-status { font-size:11px; letter-spacing:0; }
.shop-analysis #profitCalculator .profit-empty b { font-size:15px; }
.shop-analysis #profitCalculator .profit-empty p,
.shop-analysis #profitCalculator .profit-incomplete p { font-size:13px; line-height:1.5; }

@media(max-width:767px) {
    .shop-analysis #profitCalculator .section-heading h2 { font-size:17px; }
    .shop-analysis #profitCalculator .profit-field input,
    .shop-analysis #profitCalculator .profit-field select,
    .shop-analysis #profitCalculator .scenario-inputs input,
    .shop-analysis #profitCalculator .scenario-inputs select,
    .shop-analysis #profitCalculator .scenario-custom input { font-size:16px; }
    .shop-analysis #profitCalculator .profit-kpis b { font-size:18px; }
}

/* Chương trình khuyến mãi: lựa chọn gói theo thẻ để dễ so sánh phí. */
.shop-analysis #profitCalculator .profit-promo {
    margin:14px 0;
    padding:12px;
    border-color:#d9e3ef;
    border-radius:var(--radius-md);
    background:#f8faff;
}
.shop-analysis #profitCalculator .profit-promo legend {
    padding:0 5px;
    color:var(--ink);
    font-size:13px;
    font-weight:600;
    line-height:1.4;
}
.shop-analysis #profitCalculator .profit-promo-options {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}
.shop-analysis #profitCalculator .profit-promo .profit-promo-option {
    min-width:0;
    min-height:64px;
    margin:0;
    padding:10px;
    align-items:flex-start;
    gap:8px;
    border:1px solid #dce5ef;
    border-radius:var(--radius-sm);
    background:#fff;
    color:#52647b;
    cursor:pointer;
    transition:border-color .16s,box-shadow .16s,background-color .16s;
}
.shop-analysis #profitCalculator .profit-promo .profit-promo-option:hover {
    border-color:#aebfd3;
    background:#fbfdff;
}
.shop-analysis #profitCalculator .profit-promo .profit-promo-option:has(input:checked) {
    border-color:var(--blue);
    background:var(--light);
    box-shadow:0 0 0 1px rgba(52,108,176,.1);
}
.shop-analysis #profitCalculator .profit-promo .profit-promo-option input { margin-top:2px; }
.shop-analysis #profitCalculator .profit-promo-copy { display:block; min-width:0; }
.shop-analysis #profitCalculator .profit-promo-copy b,
.shop-analysis #profitCalculator .profit-promo-copy small { display:block; }
.shop-analysis #profitCalculator .profit-promo-copy b {
    color:var(--ink);
    font-size:13px;
    font-weight:600;
    line-height:1.35;
}
.shop-analysis #profitCalculator .profit-promo-copy small {
    margin-top:3px;
    color:var(--muted);
    font-size:11px;
    font-weight:400;
    line-height:1.4;
}
.shop-analysis #profitCalculator .profit-promo .help { margin-left:auto; }
.shop-analysis #profitCalculator .profit-promo .profit-field-grid { margin-top:12px; }

@media(max-width:767px) {
    .shop-analysis #profitCalculator .profit-promo-options { grid-template-columns:1fr; }
    .shop-analysis #profitCalculator .profit-promo .profit-promo-option { min-height:58px; }
}

/* Cân lại không gian form và phần kết quả để khối lợi nhuận dễ quét hơn. */
@media(min-width:1100px) {
    .shop-analysis #profitCalculator .profit-layout {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:16px;
    }
}
.shop-analysis #profitCalculator .profit-form,
.shop-analysis #profitCalculator .profit-output {
    padding:20px;
    border-color:#dce5ef;
    box-shadow:0 1px 2px rgba(20,31,50,.025);
}
.shop-analysis #profitCalculator .profit-form { background:#fbfcff; }
.shop-analysis #profitCalculator .profit-output { background:#fff; }
.shop-analysis #profitCalculator .profit-form-heading {
    min-height:52px;
    margin-bottom:16px;
    padding-bottom:14px;
    border-bottom:1px solid #e6edf5;
}
.shop-analysis #profitCalculator .profit-source-price { margin-bottom:16px; }
.shop-analysis #profitCalculator .profit-kpis { gap:12px; }
.shop-analysis #profitCalculator .profit-kpis > div {
    display:flex;
    min-height:92px;
    flex-direction:column;
    justify-content:center;
    padding:15px;
}
.shop-analysis #profitCalculator .profit-breakdown { margin-top:14px; padding:7px 15px; }
.shop-analysis #profitCalculator .profit-breakdown > div { min-height:35px; align-items:center; }
.shop-analysis #profitCalculator .scenario-box { margin-top:20px; padding-top:18px; }
.shop-analysis #profitCalculator .profit-suggestions { margin-top:16px; padding:14px 15px; }
.shop-analysis #profitCalculator .profit-form-actions {
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid #e6edf5;
}
.shop-analysis #profitCalculator .profit-form-actions .primary-button { min-width:164px; }

@media(max-width:1099px) and (min-width:768px) {
    .shop-analysis #profitCalculator .profit-layout { gap:14px; }
    .shop-analysis #profitCalculator .profit-form,
    .shop-analysis #profitCalculator .profit-output { padding:16px; }
    .shop-analysis #profitCalculator .profit-promo-options { grid-template-columns:1fr; }
}

@media(max-width:767px) {
    .shop-analysis #profitCalculator .profit-form,
    .shop-analysis #profitCalculator .profit-output { padding:14px; }
    .shop-analysis #profitCalculator .profit-form-heading { min-height:0; padding-bottom:12px; }
    .shop-analysis #profitCalculator .profit-kpis > div { min-height:82px; padding:12px; }
    .shop-analysis #profitCalculator .profit-form-actions .primary-button { width:100%; }
}

/* Luồng nhập → tính: form trải ngang, kết quả xuất hiện bên dưới khi người dùng yêu cầu. */
.shop-analysis #profitCalculator .profit-layout { grid-template-columns:minmax(0,1fr); gap:16px; }
.shop-analysis #profitCalculator .profit-form { width:100%; }
.shop-analysis #profitCalculator .profit-output { width:100%; }
.shop-analysis #profitCalculator .profit-output[hidden] { display:none; }
.shop-analysis #profitCalculator .profit-defaults { margin-top:18px; padding-top:16px; }
.shop-analysis #profitCalculator .profit-defaults summary {
    display:flex;
    align-items:center;
    min-height:38px;
    padding:0 2px;
}

@media(min-width:1100px) {
    .shop-analysis #profitCalculator #profitProductFields .profit-field-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .shop-analysis #profitCalculator .profit-defaults .profit-field-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .shop-analysis #profitCalculator .profit-defaults .profit-field-wide { max-width:420px; }
    .shop-analysis #profitCalculator .profit-output { padding:22px; }
    .shop-analysis #profitCalculator .profit-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .shop-analysis #profitCalculator .scenario-result { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media(max-width:767px) {
    .shop-analysis #profitCalculator .profit-defaults summary { min-height:36px; }
}

/* Compact route rhythm: 8px inside groups, 12px around each usable block. */
.shop-analysis .report-insight,
.shop-analysis .report-text .report-block { padding:12px 0; }
.shop-analysis .report-method { margin-top:12px; }
.shop-analysis #staticReport + #reportCharts:not(:empty) { margin-top:12px; }
.shop-analysis #products .product-list-heading { min-height:0; padding:12px; }
.shop-analysis #products .product-filters { gap:8px; padding:12px; }
.shop-analysis #products .product-filters button { padding:8px 12px; }
.shop-analysis #products .products-toolbar { min-height:0; gap:8px; padding:8px 12px; }
.shop-analysis #products .shopee-grid { padding:12px 12px 2px; }
.shop-analysis #products .pager { padding:12px; }
.shop-analysis #profitCalculator .profit-layout { gap:12px; }
.shop-analysis #profitCalculator .profit-form,
.shop-analysis #profitCalculator .profit-output { padding:12px; }
.shop-analysis #profitCalculator .profit-form-heading { min-height:0; margin-bottom:12px; padding-bottom:12px; }
.shop-analysis #profitCalculator .profit-source-price { margin-bottom:12px; }
.shop-analysis #profitCalculator .profit-kpis { gap:8px; }
.shop-analysis #profitCalculator .profit-kpis > div { min-height:82px; padding:12px; }
.shop-analysis #profitCalculator .profit-breakdown { margin-top:12px; padding:4px 12px; }
.shop-analysis #profitCalculator .scenario-box { margin-top:12px; padding-top:12px; }
.shop-analysis #profitCalculator .profit-suggestions { margin-top:12px; padding:12px; }
.shop-analysis #profitCalculator .profit-form-actions { gap:8px; margin-top:12px; padding-top:12px; }
.shop-analysis #profitCalculator .profit-defaults { margin-top:12px; padding-top:12px; }
.shop-analysis #products .product-filters input,
.shop-analysis #products .product-filters select { padding:8px 12px; }
.shop-analysis #products #productViewToggle button { padding:8px 12px; }
.shop-analysis #products .products-sort select { padding:8px 12px; }

@media(max-width:767px) {
    .shop-analysis #products .product-list-heading { padding:12px; }
    .shop-analysis #products .product-filters { padding:0 12px 12px; }
    .shop-analysis #products .filter-toggle { margin:12px; }
    .shop-analysis #profitCalculator .profit-form,
    .shop-analysis #profitCalculator .profit-output { padding:12px; }
}

/* One hierarchy for every dashboard section: title first, explanation second. */
.shop-analysis .section-heading h2,
.shop-analysis #profitCalculator .section-heading h2 {
    color:#346cb0 !important;
    font-size:16px !important;
    font-weight:700 !important;
    line-height:1.35;
}
.shop-analysis .section-heading p,
.shop-analysis #profitCalculator .section-heading p {
    color:#596f89 !important;
    font-size:12px !important;
    font-weight:500;
    line-height:1.5;
}
.shop-analysis .section-title-icon {
    width:14px;
    height:14px;
    margin-right:8px;
    vertical-align:-2px;
    color:var(--blue);
    stroke:currentColor;
    fill:none;
    stroke-width:1.9;
}
