.theme-picker{margin:22px 0}.theme-picker h3{font-size:18px;margin:0 0 12px}.theme-choices{display:flex;gap:12px;flex-wrap:wrap}.theme-choices button{display:flex;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--surface);min-width:210px}.theme-choices button[aria-pressed=true]{border-color:var(--blue);background:var(--blue-soft)}.theme-choices strong,.theme-choices small{display:block}.theme-choices small{font-size:13px;color:var(--muted);margin-top:4px}.theme-choices b{margin-left:auto;color:var(--blue)}.theme-sample{width:32px;height:36px;border-radius:8px;border:1px solid #0000000b;background:linear-gradient(135deg,#f6f4ed 50%,#a5c3ae 50%)}.theme-sample.blue{background:linear-gradient(135deg,#f3f6fa 50%,#9bbcd9 50%)}
.card-catalog{display:flex;gap:10px;flex-wrap:wrap;padding:10px 0}.card-catalog button{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 16px;color:var(--blue)}
/* Compact KPI rhythm; calendar rings have no translucent track or shadow. */
.overview-metrics .dashboard-slot>.metric{padding:16px 18px!important;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;gap:7px}.overview-metrics .metric-label{margin:0;font-size:calc(13px * var(--ui-font-scale,1));line-height:1.3}.overview-metrics .metric-value{margin:0;font-size:clamp(23px,14cqi,34px);line-height:1.15}.overview-metrics .metric-foot{margin:0;min-height:0;font-size:calc(10px * var(--ui-font-scale,1));line-height:1.4}.overview-metrics .change-categories{font-size:14px;margin:0}.overview-metrics .metric::after{width:70px!important;height:70px!important;right:-20px!important;bottom:-24px!important}.overview-metrics .metric-label svg{display:none}.overview-calendar .month-share-ring{width:86px!important;height:86px!important;max-height:86px!important;opacity:1;filter:none;box-shadow:none}.overview-calendar .calendar-month-tile,.overview-calendar .calendar-month-tile:hover{box-shadow:none!important;filter:none}.rolling-mini{margin:0 20px 16px}.rolling-mini h4{font-size:14px;margin:0 0 6px}.rolling-mini svg{display:block;width:100%;height:auto;overflow:visible}.rolling-mini text{fill:var(--muted);font-family:var(--ui-font-family);font-size:11px}.rolling-mini>div{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.rolling-mini .rolling-current{display:block;text-align:right;color:var(--ink);font-size:16px;margin-bottom:6px}
@media(max-width:600px){.overview-calendar .month-share-ring{width:76px!important;height:76px!important;max-height:76px!important}.overview-metrics .dashboard-slot>.metric{padding:13px!important}}
.dashboard-slot:has(>.card-period-controls){display:flex;flex-direction:column;gap:7px}.dashboard-slot:has(>.card-period-controls)>.metric{height:auto;flex:1}.card-period-controls{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.card-period-controls select{height:32px;min-height:32px;padding:3px 24px 3px 10px;font-size:13px;max-width:150px;border-radius:9px}.card-date-range{display:flex;gap:6px;align-items:center;max-width:100%;font-size:12px}.card-date-range input{width:calc((100% - 20px)/2);min-width:0;height:36px!important;min-height:36px!important;padding:3px;font-size:12px}.library-metric .metric-value{border:0;padding:0;text-align:left;background:none;color:inherit;font-family:inherit;display:block;min-height:0}.dashboard-slot.is-editing:has(>.card-period-controls) .card-edit-tools{top:46px}.home-analysis .panel-head{padding:20px}.home-note{margin:0 20px 15px;color:var(--muted);font-size:14px;line-height:1.6}.home-open{margin:16px 20px 20px;padding:0;border:0;background:none;color:var(--blue);font-size:14px}.home-bars{display:grid;gap:14px;padding:0 20px}.home-bars button{display:grid;grid-template-columns:1fr auto;gap:8px;border:0;padding:0;text-align:left;background:none;font-size:15px}.home-bars i{grid-column:1/-1;display:block;height:9px;border-radius:6px;background:linear-gradient(to right,var(--fill) var(--width),var(--surface-soft) var(--width))}.home-repeats{padding:0 20px;display:grid;gap:12px}.home-repeats button{display:grid;grid-template-columns:1fr auto;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:10px 0;gap:6px}.home-repeats span{grid-column:1;font-size:13px;color:var(--muted)}.home-repeats small{grid-column:2;grid-row:1/3}.home-contributions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 20px 15px}.home-contributions>div{padding:12px;border-radius:10px;background:var(--surface-soft);display:grid;gap:9px}.home-contributions strong{font-size:24px}.home-contributions span{font-size:13px;color:var(--muted)}.home-roll{padding:0 20px}.home-roll svg{width:100%;height:auto}.home-roll>div{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.home-heat-scroll{overflow:auto;margin:0 20px 14px}.home-heat{display:grid;grid-template-columns:78px repeat(var(--cols),44px);gap:6px;width:max-content;align-items:center}.home-heat button{height:44px;width:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:5px}.home-heat small{font-size:11px;white-space:normal;text-align:center}.home-heat strong{font-size:13px}.home_distribution .distribution-layout{display:block}.home_distribution .distribution-summary{display:none}
.overview-calendar .calendar-month-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;justify-content:initial!important}.overview-calendar .calendar-month-tile{width:100%;max-width:none;aspect-ratio:1;height:auto!important;min-height:0;box-sizing:border-box}.overview-calendar .month-share-ring{width:68px!important;height:68px!important;max-height:68px!important;right:10px!important;top:34px!important}.overview-calendar .calendar-month-tile strong{font-size:clamp(17px,15cqi,26px)}
input[type=date],input[type=month],input[type=number][data-x-overview-year]{height:44px;min-height:44px;box-sizing:border-box;line-height:normal;padding-top:8px;padding-bottom:8px}.x-calendar-nav{display:flex;align-items:center;gap:8px}.x-calendar-nav button{height:44px!important;min-height:44px!important;width:40px;min-width:40px;padding:0;box-sizing:border-box;align-items:center;justify-content:center}.x-calendar-nav input{height:44px!important;min-height:44px!important;margin:0;box-sizing:border-box}.x-calendar-nav input::-webkit-datetime-edit{padding:0}.x-ranges input,.ledger-filters input,.trend-controls input{height:44px;min-height:44px}
@media(max-width:600px){.overview-calendar .calendar-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.overview-calendar .month-share-ring{width:62px!important;height:62px!important;max-height:62px!important;right:8px!important;top:32px!important}.home-contributions{grid-template-columns:1fr}.home-heat{grid-template-columns:72px repeat(var(--cols),38px)}.home-heat button{width:38px;height:38px;min-height:38px}.card-date-range{width:100%}}
.tone-picker{display:flex;align-items:center;gap:6px;margin:18px 0;flex-wrap:wrap}.tone-picker>span{margin-right:10px;color:var(--muted)}.tone-picker button{padding:8px 16px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}.tone-picker button.active{background:var(--blue-soft);color:var(--blue);border-color:var(--blue)}.palette-picker summary{outline:none;border-radius:12px}.palette-picker summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important}.dashboard-board{gap:22px}.dashboard-slot>.change-module{padding:18px}.change-module .panel-head{padding:0 0 14px}.change-module .change-controls{padding:0 0 14px;gap:10px}.change-module .change-controls label{font-size:14px}.change-module .change-controls input{width:154px}.change-module .change-periods{padding:0;gap:10px}.change-module .change-period{padding:12px}.change-module .change-period strong{font-size:24px}.change-module .change-period small{font-size:12px}.change-module .change-conclusion{padding:14px 0 0;font-size:17px}.change-module>.section-note{padding:0;font-size:12px;line-height:1.5}.change-module .change-body{grid-template-columns:1fr;padding:0;gap:8px}.change-module .change-body>section>small{font-size:12px}.change-module .change-row{padding:8px 0;font-size:14px;grid-template-columns:80px 1fr auto}.change-module .change-row>div{font-size:12px}.change-module .change-order{padding:8px 0;font-size:14px}.change-module .change-order small{font-size:12px}.change-more{display:flex;gap:14px;padding-top:14px}.change-more button{background:none;border:0;padding:0;color:var(--blue);font-size:14px}.dashboard-board>.dashboard-slot.wide{width:100%;max-width:none}.recent-panel{max-width:none}
.dashboard-slot.is-editing{padding-top:0!important;cursor:grab;touch-action:none;user-select:none;border-radius:15px;outline:1px dashed var(--line);outline-offset:4px}.dashboard-slot.is-editing:focus-visible{outline:2px solid var(--blue)}.dashboard-slot.is-editing>.metric,.dashboard-slot.is-editing>.panel{pointer-events:none}.dashboard-slot.is-editing .card-edit-tools{inset:9px 9px auto auto;height:30px;width:30px;pointer-events:auto}.card-edit-tools button{width:30px;height:30px;padding:0;border-radius:50%;color:var(--muted);background:var(--surface);border-color:var(--line);box-shadow:0 2px 8px #00000008}.dashboard-slot.is-editing .metric-label{padding-right:30px}.dashboard-customize-head>span{font-size:13px}.card-library summary{font-size:14px}.dashboard-editor-row button{display:none}.drag-ghost{transform-origin:top left;cursor:grabbing}.dashboard-board .overview-calendar{max-width:100%}.merchant-concentration{padding:0 24px 22px;display:grid;gap:16px}.merchant-concentration>div{display:grid;grid-template-columns:minmax(100px,1fr) 2fr auto;gap:10px;align-items:center}.merchant-concentration i{height:9px;border-radius:5px;background:linear-gradient(to right,var(--fill) var(--share),var(--surface-soft) var(--share))}.merchant-concentration small{grid-column:2/-1;color:var(--muted)}.deeper-links{display:flex;gap:28px;padding:0 24px 24px}.x-submodes{flex-wrap:wrap}
@media(max-width:900px){.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.change-period strong{font-size:21px}}
@media(max-width:600px){.theme-choices{display:grid;grid-template-columns:1fr 1fr}.theme-choices button{min-width:0;padding:12px;gap:8px}.theme-choices small{font-size:11px}.theme-sample{width:20px;flex-shrink:0}.theme-choices strong{font-size:15px}.dashboard-board{grid-template-columns:1fr}.dashboard-board>.dashboard-slot.wide{grid-column:auto}.merchant-concentration>div{grid-template-columns:1fr auto}.merchant-concentration i{grid-row:2;grid-column:1/-1}.merchant-concentration small{grid-column:1/-1}.change-controls label{width:100%;justify-content:space-between}.change-more{flex-wrap:wrap}}

:root .overview-calendar .month-share-ring{width:86px!important;height:86px!important;max-height:86px!important;opacity:1;filter:none;box-shadow:none}@media(max-width:600px){:root .overview-calendar .month-share-ring{width:76px!important;height:76px!important;max-height:76px!important}}
/* Composition uses one filtered dataset: share above, net amounts below. */
.category-panel{display:block!important}
.composition-top{display:grid;grid-template-columns:minmax(130px,1fr) minmax(155px,1fr);align-items:center;gap:12px;padding:0 22px 18px}
.category-panel .composition-top .category-chart{height:200px;width:100%;padding:0;min-width:0}
.category-panel .composition-top .category-legend{padding:0;min-width:0}
.category-panel .composition-top .category-legend-row{grid-template-columns:8px minmax(0,1fr) auto;gap:7px;padding:5px 0;font-size:14px;min-height:28px}
.category-panel .composition-top .category-legend-row small{font-size:12px;color:var(--ui-muted)}
.composition-ranking{padding:0 22px 22px}
.composition-ranking h4{font-size:15px;margin:0 0 16px;padding-top:16px;border-top:1px solid var(--ui-border)}
.composition-ranking .home-bars{padding:0;gap:14px}
.composition-ranking .home-bars button{color:var(--ui-text)}
.overview-metrics .dashboard-slot>.metric{height:174px!important;min-height:174px;max-height:174px;align-items:stretch;text-align:left!important;overflow:hidden;box-sizing:border-box}
.overview-metrics .dashboard-slot>.metric>*{text-align:left;flex-shrink:0}
.overview-metrics .metric-foot{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:2.8em}
.overview-metrics .metric-value{white-space:nowrap}
@media(max-width:600px){.composition-top{grid-template-columns:minmax(110px,1fr) minmax(145px,1fr);gap:6px;padding:0 14px 14px}.category-panel .composition-top .category-chart{height:170px}.composition-ranking{padding:0 14px 18px}.overview-metrics .dashboard-slot>.metric{height:174px!important}}
.filter-bar .layout-inline-toggle{margin-left:auto;white-space:nowrap;min-height:40px;padding:8px 13px;border-radius:9px;font-size:14px}
@media(max-width:767px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 :root body{font-size:14px}
 .shell{padding:18px 12px}
 .topbar{padding:12px 14px;gap:10px}.brand h1{font-size:20px}.brand-symbol{width:34px;height:34px}.top-actions{gap:7px}.top-actions button{font-size:13px;padding:8px 10px;min-height:38px}
 .nav{flex-wrap:nowrap;overflow-x:auto;padding:5px 10px;gap:3px}.nav button{flex:0 0 auto;font-size:14px;padding:9px 12px;white-space:nowrap}.nav-note{display:none}
 .page-head{margin-bottom:14px;gap:10px}.page-head h2{font-size:25px}.page-head p{font-size:13px}.eyebrow{font-size:10px}.tabs button{font-size:13px;padding:8px 12px}
 .demo-strip{padding:10px;font-size:12px;gap:8px}.filter-bar{gap:7px;margin-bottom:12px}.filter-bar input,.filter-bar select{font-size:14px;min-height:40px;height:40px}.filter-bar .search-field{flex-basis:100%}.filter-bar .layout-inline-toggle{font-size:12px;min-height:34px;padding:6px 9px}.analysis-scope{font-size:11px;gap:8px}.analysis-scope small{display:none}
 .overview-metrics{gap:10px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start}.overview-metrics>.featured{grid-column:auto!important}
 .overview-metrics .dashboard-slot>.metric{height:auto!important;min-height:130px;max-height:none;padding:13px!important;gap:8px}.overview-metrics .metric-label{font-size:14px!important;line-height:1.4;padding-right:0!important}.overview-metrics .dashboard-slot>.metric .metric-value{font-size:26px!important;line-height:1.2}.overview-metrics .metric-foot{font-size:11px!important}.overview-metrics .change-categories>span{font-size:12px}.overview-metrics .metric::after{width:48px!important;height:48px!important}
 .panel-head{padding:16px}.panel-head h3{font-size:18px}.panel-head small{font-size:12px}.dashboard-board{gap:14px}.trend-controls{font-size:12px;flex-wrap:wrap;gap:8px}.trend-controls input{max-width:150px}.chart-mode button,.trend-legend{font-size:12px}.trend-chart{height:260px}
}

/* Equal KPI height on desktop and mobile, including category-change summaries. */
.overview-metrics .dashboard-slot{min-width:0}
.overview-metrics .dashboard-slot>.metric{height:174px!important;min-height:174px!important;max-height:174px!important;flex:none;gap:6px}
.overview-metrics .change-categories{max-height:22px;overflow:hidden;display:flex;gap:5px;flex-wrap:nowrap;white-space:nowrap}
.overview-metrics .change-categories>span{overflow:hidden;text-overflow:ellipsis;min-width:0}
.overview-metrics .metric-label{overflow-wrap:anywhere}
@media(max-width:767px){
 .overview-metrics .dashboard-slot>.metric{padding:12px!important;gap:5px}
 .overview-metrics .metric-label{min-height:39.2px;max-height:39.2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .overview-metrics .dashboard-slot>.metric .metric-value{font-size:clamp(20px,6vw,26px)!important;max-width:100%;overflow:hidden;text-overflow:ellipsis}
 .overview-metrics .metric-foot{font-size:10px!important;line-height:1.4}
 .overview-metrics .change-categories{font-size:12px;line-height:18px}
 .overview-metrics .card-period-controls{min-height:36px}
 .overview-metrics .dashboard-slot.is-editing:not(:has(.card-period-controls)){padding-top:43px}
 .filter-bar select{min-width:0;max-width:100%}
 .dialog{max-width:calc(100vw - 20px)}
}

.merchant-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}.merchant-options label{display:flex;align-items:center;gap:8px}.merchant-options input{width:18px;min-height:18px;height:18px}#merchant-form input[name=canonical]{display:block;width:100%;margin-top:8px}#merchant-rules p{overflow-wrap:anywhere}
