/* Kalora 1.1 — consistent spacing, anchored map previews and touch layouts. */
:root{--line:#e4e3df;--paper:#f6f5f2;--muted:#6b6a66;--radius:14px}
body{line-height:1.5}h1,h2,h3{color:var(--ink)}h1{letter-spacing:-.035em}button,.button{min-height:42px;font-weight:550}
.page{padding-top:32px}.page-head{margin-bottom:28px}.card{border-radius:var(--radius);box-shadow:0 4px 18px #24201505}
.nav{box-shadow:0 2px 12px #24201506}.nav-links a{border-radius:8px}.eyebrow{font-size:10px;letter-spacing:.17em}.pill{border-radius:6px}
button:hover,.button:hover,.nav-links a:hover{transform:none}.card:hover{box-shadow:0 4px 18px #24201505}
input,select{min-height:44px;box-shadow:0 1px 2px #24201503}label{font-size:12px;font-weight:550;color:#585954}
input:focus,select:focus{border-color:#b27931;outline-offset:2px}input::placeholder{color:#858780}
.kpi{border-radius:14px;padding:22px;min-width:0}.kpi .value{font-size:clamp(23px,2.4vw,34px);line-height:1.2}.kpi .muted{line-height:1.55}
.kpi:hover{border-color:#c8b598;box-shadow:0 6px 20px #24201508}.chart-row{min-height:48px;border-radius:8px}
.chart-label{font-weight:550}.chart-row:hover{background:#faf6ef}.bar-track{background:#eeece6;height:14px}.bar-fill{border-radius:4px}.bar-fill.previous{background:#a8a8a1}
.tabs{gap:8px}.tabs button{border-radius:8px}.chips{gap:8px}.table-wrap{border-radius:10px}thead{background:#faf9f6}td{padding-block:16px}
.map-page>.split-heading{margin-bottom:22px}.map-filter-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-bottom:16px;box-shadow:0 3px 14px #24201504}
.map-primary-filters{display:grid;grid-template-columns:minmax(240px,2.4fr) minmax(180px,1fr) minmax(150px,.8fr) auto;gap:14px;align-items:end}
.map-primary-filters>label,.map-secondary-filters>label{min-width:0}.map-primary-filters input,.map-primary-filters select,.map-secondary-filters select{width:100%}
.map-more-filters{margin-top:12px}.map-more-filters>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;width:max-content;list-style:none;border:0;padding:6px 0;color:#715024;font-size:12px;font-weight:650;background:transparent}
.map-more-filters>summary::-webkit-details-marker{display:none}.map-more-filters>summary span{transition:transform .18s}.map-more-filters[open]>summary span{transform:rotate(180deg)}
.map-secondary-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:14px;margin-top:8px;border-top:1px solid var(--line)}
.map-provider-toggle{box-shadow:none;margin-bottom:12px}.states{gap:6px;flex-wrap:wrap}.map-layout{border:1px solid var(--line);border-radius:14px;overflow:hidden}.map-canvas{isolation:isolate;overflow:hidden}
.map-list{background:#fff}.dealer{padding:18px 16px;border-bottom:1px solid #eeede9}.dealer-title{font-size:13px;font-weight:650;line-height:1.5}.dealer .actions{margin-top:12px}.dealer .actions .button,.dealer .actions button{font-size:11px;padding:7px 10px;min-height:38px}.dealer .hint{margin:5px 0 10px}
.map-hover-panel{top:auto;right:auto;bottom:auto;left:0;width:min(344px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100% - 54px);overflow:visible;padding:0;border-radius:14px;background:#fff;box-shadow:0 10px 36px #23231e26;border:1px solid #d9d7d1;animation:preview-in .14s ease-out;transition:none;z-index:1200}
.map-hover-panel::after{content:'';position:absolute;left:var(--preview-arrow,50%);bottom:-7px;width:12px;height:12px;transform:translateX(-50%) rotate(45deg);background:#fff;border-right:1px solid #d9d7d1;border-bottom:1px solid #d9d7d1;pointer-events:none}
.map-hover-panel[data-side=below]::after{bottom:auto;top:-7px;transform:translateX(-50%) rotate(225deg)}
.map-hover-panel .map-hover{padding:17px;max-height:inherit;overflow:auto;overscroll-behavior:contain;font-size:12px;line-height:1.45;border-radius:14px}
.map-hover-panel .map-hover>strong{font-size:14px;line-height:1.35;padding-right:32px;margin-bottom:7px}.map-hover-panel .hint{font-size:11px;line-height:1.4;margin-bottom:8px}.map-hover-panel .pill{font-size:10px}
.map-hover-panel .mini-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0;padding-top:10px;border-top:1px solid var(--line)}.map-hover-panel .mini-compare span{font-size:10px;color:var(--muted);display:block;margin-bottom:3px}.map-hover-panel .mini-compare b{font-size:11px;font-weight:650;font-variant-numeric:tabular-nums}.map-hover-panel p{margin-bottom:10px}
.map-hover-panel .hover-close{top:8px;right:8px;width:32px;height:32px;min-height:32px;background:#f4f3ef;border-radius:50%;font-size:20px;z-index:1}
.preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.map-hover-panel .preview-actions a,.map-hover-panel .preview-actions button{display:flex;margin:0;min-height:42px;padding:7px 8px;font-size:11px;font-weight:650;white-space:normal;line-height:1.3}
@keyframes preview-in{from{opacity:0}to{opacity:1}}
.items-view #dashboard-view{margin-bottom:20px}.items-view #rank-chart .chart-label{white-space:normal;line-height:1.4}.item-link{min-height:0;padding:0;text-align:left;justify-content:flex-start;border:0;background:none;color:#80511a;font-weight:650;line-height:1.45}.item-link:hover{background:none;text-decoration:underline;box-shadow:none}.item-code{display:block;font-size:10px;letter-spacing:.035em;color:var(--muted);margin-top:4px}.items-view #attention .dealer{padding:18px 0}.items-view #attention .split-heading{gap:8px}.items-view #attention .item-link{flex:1}
.item-dialog{width:min(600px,calc(100vw - 28px));padding:28px;border:0;border-radius:18px}.item-dialog h2{font-size:23px;line-height:1.35;margin-top:12px}.item-close{min-height:36px;width:36px;padding:0;font-size:22px;border-radius:50%}.item-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.item-metrics>div{background:#f6f5f1;border:1px solid var(--line);border-radius:12px;padding:18px}.item-metrics span,.item-metrics small{display:block;color:var(--muted);font-size:12px}.item-metrics strong{display:block;font-size:28px;margin:8px 0}.item-change{padding-top:12px;border-top:1px solid var(--line);font-weight:600}
.account-summary{gap:12px}.account-summary>div{padding:12px 8px;background:#faf9f6;border:1px solid var(--line);border-radius:10px}.customer-mode-control{border-radius:9px}.customer-mode-form{padding:28px}.customer-mode-mark{border-radius:12px}.store-card{border-radius:12px}.fact-grid{gap:20px}
@media(min-width:701px) and (max-width:1100px){.map-primary-filters{grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) minmax(130px,.8fr) auto;gap:10px}.map-secondary-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.map-layout{grid-template-columns:260px minmax(0,1fr)}.map-hover-panel{width:min(324px,calc(100% - 24px))}.grid2{grid-template-columns:1fr}.kpi{padding:18px}.page,.map-page{padding-inline:22px}}
@media(max-width:700px){.map-primary-filters{grid-template-columns:1fr 1fr;gap:12px}.map-primary-filters .search{grid-column:1/-1}.map-primary-filters #reset{grid-column:2;justify-self:end;min-height:36px;padding:6px 12px}.map-filter-card{padding:16px;margin-bottom:12px}.map-more-filters{margin-top:-36px;width:100%}.map-more-filters>summary{min-height:36px;width:max-content}.map-secondary-filters{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.map-canvas{height:62svh;min-height:400px;max-height:640px}.map-hover-panel{width:min(328px,calc(100% - 24px));top:auto;right:auto;padding:0;max-height:calc(100% - 54px)}.map-hover-panel .map-hover{padding:14px}.map-hover-panel .mini-compare{grid-template-columns:1fr 1fr}.map-hover-panel .preview-actions a,.map-hover-panel .preview-actions button{min-height:44px}.map-list{max-height:420px}.page,.map-page{padding:18px 14px}.grid2,.grid3{grid-template-columns:1fr}.kpi{padding:15px}.kpi .value{font-size:clamp(20px,5.3vw,28px)}.fact-grid{grid-template-columns:1fr 1fr;gap:16px}.items-view #attention .split-heading{align-items:flex-start}.item-dialog{padding:22px}.item-dialog h2{font-size:20px}.item-metrics{gap:8px}.item-metrics>div{padding:13px}.item-metrics strong{font-size:24px}.card{padding:18px}.toast{left:14px;right:14px;bottom:20px;text-align:center}.customer-mode-form{padding:24px}.map-legend{line-height:1.7}}
@media(hover:none){.map-dot{touch-action:manipulation}.chart-row:hover,.dealer:hover{background:inherit}.kpi:hover{box-shadow:none;border-color:var(--line)}button:active,.button:active{background:#f8eddd}select,input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.map-hover-panel,.map-dot{animation:none!important}}
