/* =========================================================
   CUEVA — SaaS Analytics / period-based revenue views
========================================================= */

.saas-analytics{
  --an-ink:#111216;
  --an-muted:#8d9199;
  --an-gold:#b88616;
  --an-gold-soft:#fff7df;
  --an-line:#e7e8eb;
  --an-soft:#f6f6f7;
  display:grid;
  gap:14px;
  width:100%;
  max-width:760px;
  margin:0 auto;
  padding:4px 0 28px;
  color:var(--an-ink);
}

.analytics-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:3px 2px 0;
}

.analytics-kicker,
.analytics-card-kicker{
  display:block;
  margin-bottom:4px;
  color:var(--an-gold);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}

.analytics-head h2{
  margin:0;
  font-size:28px;
  line-height:1;
  letter-spacing:-.045em;
}

.analytics-head p{
  margin:7px 0 0;
  color:var(--an-muted);
  font-size:12px;
}

.analytics-icon-btn{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  padding:0;
  border:1px solid var(--an-line);
  border-radius:13px;
  background:#fff;
  color:#34363b;
}

.analytics-range-card,
.analytics-card,
.analytics-mini-grid article,
.analytics-kpis article{
  border:1px solid var(--an-line);
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.035);
}

.analytics-range-card{
  padding:9px;
  border-radius:18px;
  background:#f7f7f8;
}

.analytics-filter-head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 9px}
.analytics-filter-head span{color:#858991;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.analytics-filter-head span i{margin-right:5px;color:var(--an-gold)}
.analytics-filter-head strong{color:#4f535a;font-size:10px}

.analytics-periods{
  display:grid;
  grid-template-columns:1fr 1.2fr .9fr .95fr .9fr;
  gap:5px;
  scrollbar-width:none;
}
.analytics-periods::-webkit-scrollbar{display:none}

.analytics-periods button{
  min-width:0;
  min-height:40px;
  padding:0 5px;
  border:0;
  border-radius:10px;
  background:#f2f2f4;
  color:#6f737b;
  font-size:9px;
  font-weight:800;
}

.analytics-periods button.active{
  background:#111216;
  color:#fff;
}

.analytics-periods button i{margin-left:3px;font-size:8px}

.analytics-period-overlay{
  position:fixed;
  inset:0;
  z-index:1190;
  background:rgba(10,11,13,.38);
  backdrop-filter:blur(2px);
}
.analytics-period-overlay[hidden],.analytics-period-sheet[hidden]{display:none!important}
.analytics-period-sheet{
  position:fixed;
  right:0;
  bottom:0;
  left:0;
  z-index:1200;
  width:min(100%,760px);
  margin:0 auto;
  padding:8px 16px calc(18px + env(safe-area-inset-bottom));
  border-radius:24px 24px 0 0;
  background:#fff;
  box-shadow:0 -18px 50px rgba(0,0,0,.18);
}
.analytics-sheet-handle{width:38px;height:4px;margin:0 auto 14px;border-radius:99px;background:#d7d8db}
.analytics-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.analytics-sheet-head strong{display:block;font-size:17px;letter-spacing:-.02em}
.analytics-sheet-head span{display:block;margin-top:4px;color:var(--an-muted);font-size:10px}
.analytics-sheet-head button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:11px;background:#f3f3f4;color:#51545a}
.analytics-more-periods{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}
.analytics-more-periods button{min-height:44px;border:1px solid var(--an-line);border-radius:13px;background:#fafafa;color:#50535a;font-size:11px;font-weight:850}
.analytics-more-periods button:last-child{grid-column:1/-1}
.analytics-more-periods button.active{border-color:#c99a28;background:var(--an-gold-soft);color:#6d4c00}
.analytics-month-picker{margin-top:12px;padding:12px;border:1px solid var(--an-line);border-radius:15px;background:#fafafa}
.analytics-month-picker[hidden]{display:none!important}
.analytics-year-nav{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;margin-bottom:10px;text-align:center}
.analytics-year-nav button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--an-line);border-radius:10px;background:#fff;color:#555}
.analytics-year-nav button:disabled{opacity:.3}
.analytics-year-nav strong{font-size:13px}
.analytics-month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.analytics-month-grid button{min-height:36px;border:1px solid var(--an-line);border-radius:10px;background:#fff;color:#5d6168;font-size:10px;font-weight:850}
.analytics-month-grid button.active{border-color:#c99a28;background:#111216;color:#fff}
.analytics-month-grid button:disabled{opacity:.28}
body.analytics-period-open{overflow:hidden}

.analytics-custom-range{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:7px;
  align-items:end;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #ededee;
}

.analytics-custom-range label{
  display:grid;
  gap:5px;
}
.analytics-custom-range label span{
  color:var(--an-muted);
  font-size:9px;
  font-weight:800;
}
.analytics-custom-range input{
  width:100%;
  min-width:0;
  height:38px;
  padding:0 8px;
  border:1px solid var(--an-line);
  border-radius:10px;
  background:#fafafa;
  font:inherit;
  font-size:10px;
}
.analytics-custom-range button{
  height:38px;
  padding:0 13px;
  border:0;
  border-radius:10px;
  background:#c99a28;
  color:#17130a;
  font-size:10px;
  font-weight:900;
}

.analytics-period-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:10px;
  color:#8e9299;
  font-size:9px;
}
#analyticsPeriodLabel{font-weight:800;color:#555961}

.analytics-hero-card{
  padding:18px;
  border-radius:22px;
  background:linear-gradient(145deg,#17181b,#090a0b);
  color:#fff;
  box-shadow:0 18px 36px rgba(0,0,0,.14);
}

.analytics-hero-top{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}
.analytics-hero-top>div:first-child>span{
  display:block;
  color:#d4aa48;
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
}
.analytics-hero-top strong{
  display:block;
  margin-top:8px;
  font-size:31px;
  letter-spacing:-.045em;
}
.analytics-change{
  display:grid;
  justify-items:end;
  gap:3px;
  padding:7px 10px;
  border-radius:13px;
  font-size:10px;
  font-weight:900;
}
.analytics-change>div{display:flex;align-items:center;gap:5px}
.analytics-change small{font-size:7.5px;font-weight:750;white-space:nowrap;opacity:.78}
.analytics-change.up{background:rgba(42,177,101,.14);color:#74d59c}
.analytics-change.down{background:rgba(232,89,89,.14);color:#ef8b8b}
.analytics-change.neutral{background:rgba(255,255,255,.08);color:#b8bac0}

.analytics-hero-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:15px;
}
.analytics-hero-split>div{
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:13px;
  background:rgba(255,255,255,.06);
}
.analytics-hero-split span{
  display:block;
  color:#a7a9ae;
  font-size:9px;
}
.analytics-hero-split strong{
  display:block;
  margin-top:5px;
  font-size:13px;
}

.analytics-kpis,
.analytics-mini-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.analytics-kpis article,
.analytics-mini-grid article{
  min-width:0;
  padding:13px;
  border-radius:16px;
}
.analytics-kpis span,
.analytics-mini-grid span{
  display:block;
  color:var(--an-muted);
  font-size:9px;
  font-weight:800;
}
.analytics-kpis strong,
.analytics-mini-grid strong{
  display:block;
  margin:7px 0 4px;
  overflow:hidden;
  font-size:18px;
  letter-spacing:-.025em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-kpis small,
.analytics-mini-grid small{
  display:block;
  color:#a0a4ab;
  font-size:8.5px;
  line-height:1.35;
}

.analytics-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:4px;
  padding:4px;
  border-radius:14px;
  background:#ebebed;
}
.analytics-tabs button{
  min-width:0;
  height:36px;
  padding:0 4px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#777b82;
  font-size:9px;
  font-weight:850;
}
.analytics-tabs button.active{
  background:#fff;
  color:#111216;
  box-shadow:0 2px 7px rgba(0,0,0,.07);
}

.analytics-tab-panel{
  display:grid;
  gap:10px;
}
.analytics-tab-panel[hidden]{display:none!important}

.analytics-card{
  overflow:hidden;
  border-radius:19px;
}

.analytics-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:15px;
  border-bottom:1px solid #ededee;
}
.analytics-card-head h3{
  margin:0;
  font-size:15px;
  letter-spacing:-.025em;
}
.analytics-card-head p{
  margin:4px 0 0;
  color:var(--an-muted);
  font-size:9px;
  line-height:1.4;
}

.analytics-card-head--with-side{
  align-items:flex-end;
}

.analytics-side-metric{
  flex:0 0 auto;
  text-align:right;
}
.analytics-side-metric strong{
  display:block;
  font-size:20px;
  letter-spacing:-.03em;
}
.analytics-side-metric small{
  display:block;
  margin-top:2px;
  color:var(--an-muted);
  font-size:8.5px;
}

.analytics-chart-wrap{
  position:relative;
  min-height:235px;
  padding:14px;
}
.analytics-chart-wrap--tall{min-height:260px}
.analytics-chart-wrap--compact{min-height:220px}

.analytics-empty-chart{
  position:absolute;
  inset:14px;
  display:grid;
  place-items:center;
  color:#9a9da4;
  font-size:10px;
  text-align:center;
}

.analytics-native-chart{
  width:100%;
  height:100%;
  min-height:205px;
}

.analytics-native-chart svg{
  display:block;
  width:100%;
  height:100%;
  min-height:205px;
  overflow:visible;
}

.analytics-native-chart .an-grid{
  stroke:#ececef;
  stroke-width:1;
}

.analytics-native-chart .an-axis-label{
  fill:#9a9da4;
  font-size:9px;
  font-family:inherit;
}

.analytics-native-chart .an-line{
  fill:none;
  stroke:#b78920;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.analytics-native-chart .an-area{
  fill:rgba(183,137,32,.09);
}

.analytics-native-chart .an-point{
  fill:#fff;
  stroke:#b78920;
  stroke-width:2.5;
}

.analytics-native-chart .an-bar{
  fill:#b78920;
}

.analytics-insights,
.analytics-performance-list{
  display:grid;
  gap:0;
  padding:4px 14px 8px;
}
.analytics-insight-row,
.analytics-performance-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid #efeff0;
}
.analytics-insight-row:last-child,
.analytics-performance-row:last-child{border-bottom:0}
.analytics-insight-row i,
.analytics-performance-row i{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:11px;
  background:var(--an-gold-soft);
  color:#a7770d;
  font-size:12px;
}
.analytics-insight-row span,
.analytics-performance-row span{
  color:#45484e;
  font-size:10.5px;
  line-height:1.45;
}
.analytics-performance-row strong{
  display:block;
  margin-bottom:2px;
  font-size:10.5px;
}
.analytics-performance-row small{
  color:var(--an-muted);
  font-size:9px;
}

.analytics-payment-list{padding:5px 15px 12px}
.analytics-payment-row{
  display:grid;
  grid-template-columns:105px minmax(0,1fr) 35px;
  gap:10px;
  align-items:center;
  padding:11px 0;
  border-bottom:1px solid #efeff0;
}
.analytics-payment-row:last-child{border-bottom:0}
.analytics-payment-row>div:first-child span{
  display:block;
  color:#747880;
  font-size:9px;
}
.analytics-payment-row>div:first-child strong{
  display:block;
  margin-top:3px;
  font-size:11px;
}
.analytics-bar{
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#eeeef0;
}
.analytics-bar i{
  display:block;
  width:0%;
  height:100%;
  border-radius:inherit;
  background:#b78920;
  transition:width .25s ease;
}
.analytics-payment-row>small{
  color:#777b82;
  font-size:9px;
  font-weight:800;
  text-align:right;
}

.analytics-small-btn{
  flex:0 0 auto;
  min-height:34px;
  padding:0 11px;
  border:0;
  border-radius:10px;
  background:#111216;
  color:#fff;
  font-size:9px;
  font-weight:850;
}

.analytics-team-list{padding:6px 14px 12px}
.analytics-team-placeholder{
  display:grid;
  place-items:center;
  gap:6px;
  padding:25px 12px;
  color:#92969e;
  text-align:center;
}
.analytics-team-placeholder i{font-size:22px;color:#c29429}
.analytics-team-placeholder strong{color:#45484f;font-size:11px}
.analytics-team-placeholder span{font-size:9px}

.analytics-team-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  padding:12px 0;
  border-bottom:1px solid #efeff0;
}
.analytics-team-row:last-child{border-bottom:0}
.analytics-team-row h4{
  margin:0;
  font-size:11px;
}
.analytics-team-row p{
  margin:4px 0 0;
  color:#90949c;
  font-size:8.5px;
}
.analytics-team-amount{text-align:right}
.analytics-team-amount strong{display:block;font-size:11px}
.analytics-team-amount small{color:#91959d;font-size:8px}

.analytics-heatmap-wrap{
  display:grid;
  gap:10px;
  padding:14px;
}

.analytics-heatmap-days,
.analytics-heatmap-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px;
}

.analytics-heatmap-days span{
  color:#8f939a;
  font-size:8.5px;
  font-weight:800;
  text-align:center;
}

.analytics-heatmap-cell{
  min-height:52px;
  padding:6px 4px;
  border-radius:12px;
  border:1px solid var(--an-line);
  display:grid;
  align-content:space-between;
  background:#fafafa;
}
.analytics-heatmap-cell span{
  font-size:10px;
  font-weight:900;
  color:#1f2228;
}
.analytics-heatmap-cell small{
  display:block;
  color:#636871;
  font-size:7.5px;
  line-height:1.15;
}
.analytics-heatmap-cell.empty{
  border-style:dashed;
  background:transparent;
}
.analytics-heatmap-cell.empty span,
.analytics-heatmap-cell.empty small{display:none}
.analytics-heatmap-cell.lvl-0{background:#f8f8f9}
.analytics-heatmap-cell.lvl-1{background:#fff7df}
.analytics-heatmap-cell.lvl-2{background:#f6e7b7}
.analytics-heatmap-cell.lvl-3{background:#e7c770}
.analytics-heatmap-cell.lvl-4{background:#c99a28;color:#fff;border-color:#c99a28}
.analytics-heatmap-cell.lvl-4 span,
.analytics-heatmap-cell.lvl-4 small{color:#fff}

.analytics-heatmap-legend{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  color:#8f939a;
  font-size:8px;
  font-weight:800;
}
.analytics-heatmap-scale{
  display:flex;
  gap:4px;
}
.analytics-heatmap-scale i{
  display:block;
  width:16px;
  height:8px;
  border-radius:999px;
  background:#f8f8f9;
  border:1px solid var(--an-line);
}
.analytics-heatmap-scale .lvl-1{background:#fff7df}
.analytics-heatmap-scale .lvl-2{background:#f6e7b7}
.analytics-heatmap-scale .lvl-3{background:#e7c770}
.analytics-heatmap-scale .lvl-4{background:#c99a28;border-color:#c99a28}

.analytics-loading{
  position:fixed;
  right:15px;
  bottom:92px;
  z-index:800;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  background:#111216;
  color:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,.2);
  font-size:9px;
  font-weight:800;
}
.analytics-loading[hidden]{display:none!important}

@media(max-width:430px){
  .analytics-native-chart,
  .analytics-native-chart svg{
    min-height:190px;
  }
}

@media(max-width:370px){
  .analytics-head h2{font-size:25px}
  .analytics-hero-top strong{font-size:27px}
  .analytics-custom-range{grid-template-columns:1fr 1fr}
  .analytics-custom-range button{grid-column:1/-1}
  .analytics-payment-row{grid-template-columns:88px minmax(0,1fr) 30px}
  .analytics-side-metric strong{font-size:17px}
}

@media(min-width:640px){
  .analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
  .analytics-mini-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .analytics-chart-wrap{min-height:300px}
  .analytics-chart-wrap--compact{min-height:250px}
}


/* =========================================================
   V415 — Overview Revenue Mix
========================================================= */
.analytics-revenue-mix{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:16px;
}

.analytics-mix-donut{
  position:relative;
  width:124px;
  height:124px;
  border-radius:50%;
  background:#efeff1;
  box-shadow:inset 0 0 0 1px rgba(17,18,22,.03);
}

.analytics-mix-donut::after{
  content:"";
  position:absolute;
  inset:22px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 1px rgba(17,18,22,.04);
}

.analytics-mix-center{
  position:absolute;
  inset:29px;
  z-index:1;
  display:grid;
  place-items:center;
  align-content:center;
  text-align:center;
}
.analytics-mix-center strong{
  display:block;
  max-width:70px;
  overflow:hidden;
  color:#111216;
  font-size:12px;
  line-height:1.1;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-mix-center span{
  display:block;
  margin-top:3px;
  color:#92969d;
  font-size:8px;
  font-weight:800;
}

.analytics-mix-list{
  display:grid;
  gap:0;
  min-width:0;
}

.analytics-mix-row{
  display:grid;
  grid-template-columns:10px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid #efeff0;
}
.analytics-mix-row:last-child{border-bottom:0}
.analytics-mix-row>i{
  display:block;
  width:9px;
  height:9px;
  border-radius:50%;
}
.analytics-mix-row>i.mix-gaming{background:#b78920}
.analytics-mix-row>i.mix-sales{background:#17181b}
.analytics-mix-row>i.mix-other{background:#c9cbd0}
.analytics-mix-row span{
  display:block;
  color:#858991;
  font-size:9px;
}
.analytics-mix-row strong{
  display:block;
  margin-top:2px;
  color:#111216;
  font-size:11px;
}
.analytics-mix-row small{
  color:#676b72;
  font-size:10px;
  font-weight:900;
}

@media(max-width:370px){
  .analytics-revenue-mix{
    grid-template-columns:105px minmax(0,1fr);
    gap:13px;
  }
  .analytics-mix-donut{
    width:100px;
    height:100px;
  }
  .analytics-mix-donut::after{inset:18px}
  .analytics-mix-center{inset:24px}
}

/* =========================================================
   V641 — Activity Logs design language for Analytics
========================================================= */
.saas-analytics{
  gap:16px;
  padding:12px 0 32px;
}

.analytics-head{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  align-items:center;
  gap:12px;
  padding:0 2px 4px;
}

.analytics-head-copy{min-width:0}
.analytics-head .analytics-kicker{
  margin:0;
  font-size:10px;
  letter-spacing:.16em;
}
.analytics-head h2{
  margin:3px 0 0;
  font-size:26px;
  line-height:1.12;
}
.analytics-head p{
  margin:4px 0 0;
  overflow:hidden;
  font-size:12px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.analytics-back,
.analytics-icon-btn{
  display:grid;
  width:44px;
  height:44px;
  padding:0;
  place-items:center;
  border:1px solid #e8e8eb;
  border-radius:14px;
  background:#fff;
  color:#65676d;
  font-size:16px;
  box-shadow:none;
}
.analytics-back:active,
.analytics-icon-btn:active{background:#f4f4f5}

.analytics-control-bar{display:grid;min-width:0}
.analytics-period-button{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 24px;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:58px;
  padding:8px 12px;
  border:1px solid #e5e6e8;
  border-radius:16px;
  background:#fff;
  color:#24252a;
  text-align:left;
  box-shadow:0 8px 24px rgba(24,25,28,.035);
}
.analytics-period-button-icon{
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  border-radius:12px;
  background:#f5eddc;
  color:#ad7c12;
  font-size:14px;
}
.analytics-period-button-copy{display:grid;gap:3px;min-width:0}
.analytics-period-button-copy small{
  color:#a87909;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
}
.analytics-period-button-copy strong{
  overflow:hidden;
  color:#25262a;
  font-size:13px;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-period-button-arrow{justify-self:end;color:#8e9095;font-size:10px}

.analytics-period-overlay{
  z-index:10010;
  background:rgba(13,14,17,.32);
  backdrop-filter:blur(3px);
}
.analytics-period-sheet{
  z-index:10020;
  max-height:min(83vh,700px);
  overflow:auto;
  padding:8px 14px calc(14px + env(safe-area-inset-bottom));
  border-radius:23px 23px 0 0;
  background:#f7f7f8;
  box-shadow:0 -15px 45px rgba(0,0,0,.13);
}
.analytics-sheet-handle{margin:1px auto 10px}
.analytics-sheet-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 38px;
  align-items:start;
  gap:10px;
  padding:2px 2px 12px;
  border-bottom:0;
}
.analytics-sheet-head>div>span{
  display:block;
  margin:0;
  color:#a87909;
  font-size:9px;
  font-weight:900;
  letter-spacing:.15em;
}
.analytics-sheet-head h3{
  margin:3px 0 0;
  color:#202126;
  font-size:20px;
  line-height:1.1;
  letter-spacing:-.025em;
}
.analytics-sheet-head p{
  margin:4px 0 0;
  color:#999ba0;
  font-size:10px;
}
.analytics-sheet-head>button{
  width:38px;
  height:38px;
  border:1px solid #e6e6e8;
  border-radius:12px;
  background:#fff;
  font-size:12px;
}

.analytics-period-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.analytics-period-options>button{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 16px;
  align-items:center;
  gap:8px;
  min-width:0;
  min-height:62px;
  padding:9px 10px;
  border:1px solid #e5e6e8;
  border-radius:14px;
  background:#fff;
  color:#414348;
  text-align:left;
}
.analytics-period-options>button>i{
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:9px;
  background:#f5eddc;
  color:#ae7d13;
  font-size:10px;
}
.analytics-period-options>button>span{display:grid;gap:3px;min-width:0}
.analytics-period-options>button strong{
  overflow:hidden;
  font-size:10px;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-period-options>button small{
  overflow:hidden;
  color:#9b9da2;
  font-size:7.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-period-options>button>b{
  display:grid;
  place-items:center;
  color:#b1b3b8;
  font-size:8px;
}
.analytics-period-options>button.active{
  border-color:#17181c;
  background:#17181c;
  color:#fff;
  box-shadow:0 7px 16px rgba(23,24,28,.12);
}
.analytics-period-options>button.active>i{background:#2d2e32;color:#d5ab4a}
.analytics-period-options>button.active small{color:#b8b9bd}
.analytics-period-options>button.active>b{color:#d5ab4a}
.analytics-period-options>button:last-child{grid-column:1/-1}

.analytics-month-picker,
.analytics-custom-range{
  margin-top:10px;
  padding:12px;
  border:1px solid #e4e5e8;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(24,25,28,.03);
}
.analytics-custom-range{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8px;
  align-items:end;
  border-top:1px solid #e4e5e8;
}
.analytics-custom-range label{
  gap:6px;
  padding:9px 10px;
  border:1px solid #e5e6e9;
  border-radius:12px;
  background:#f8f8f9;
}
.analytics-custom-range label span{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.analytics-custom-range input{height:30px;padding:0;border:0;background:transparent;color:#25262b;font-size:10px;font-weight:750}
.analytics-custom-range button{
  grid-column:1/-1;
  height:42px;
  border-radius:12px;
  background:#17181c;
  color:#fff;
  font-size:11px;
}
.analytics-month-picker{background:#fff}
.analytics-year-nav button{border-radius:11px;background:#f8f8f9}
.analytics-month-grid button{min-height:38px;border-radius:10px;background:#f8f8f9}
.analytics-month-grid button.active{border-color:#17181c;background:#17181c;color:#fff}

.analytics-date-alert{
  position:fixed;
  top:calc(12px + env(safe-area-inset-top));
  left:50%;
  z-index:10100;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:9px;
  width:min(calc(100% - 28px),430px);
  min-height:52px;
  padding:8px 12px;
  border:1px solid #edc9c5;
  border-radius:15px;
  background:#fff;
  color:#2b2c30;
  box-shadow:0 14px 34px rgba(22,23,26,.18);
  opacity:0;
  transform:translate(-50%,-16px);
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
}
.analytics-date-alert.show{opacity:1;transform:translate(-50%,0)}
.analytics-date-alert i{display:grid;width:30px;height:30px;place-items:center;border-radius:10px;background:#fff0ef;color:#bd4a42;font-size:11px}
.analytics-date-alert strong{font-size:11px;line-height:1.35}

.analytics-hero-card{border-radius:19px}
.analytics-kpis,
.analytics-mini-grid{gap:10px}
.analytics-kpis article,
.analytics-mini-grid article{border-radius:15px;box-shadow:0 8px 24px rgba(24,25,28,.03)}
.analytics-tabs{padding:5px;border:1px solid #e5e6e8;border-radius:15px;background:#f3f3f4}
.analytics-tabs button{height:40px;border-radius:11px;font-size:10px}
.analytics-card{border-radius:19px;box-shadow:0 8px 24px rgba(24,25,28,.03)}
.analytics-tab-panel{gap:12px}

@media(max-width:370px){
  .analytics-head{grid-template-columns:40px minmax(0,1fr) 40px;gap:9px}
  .analytics-back,.analytics-icon-btn{width:40px;height:40px}
  .analytics-head h2{font-size:23px}
  .analytics-head p{font-size:10px}
  .analytics-period-options{grid-template-columns:1fr}
  .analytics-period-options>button:last-child{grid-column:auto}
}

/* v642: keep an old cached Analytics fragment readable until the new fragment arrives. */
.analytics-head:not(:has(.analytics-back)){
  grid-template-columns:minmax(0,1fr) 44px;
}
.analytics-head:not(:has(.analytics-back))>div:first-child{
  min-width:0;
}
.analytics-head:not(:has(.analytics-back)) .analytics-kicker{
  white-space:normal;
}
