:root{
      --bg:#020d0d;
      --bg-2:#031716;
      --panel:#06201f;
      --panel-2:#082825;
      --panel-3:#0a302c;
      --surface:rgba(7,33,31,.88);
      --surface-strong:rgba(5,27,26,.96);
      --line:rgba(61,222,198,.21);
      --line-strong:rgba(61,222,198,.42);
      --line-soft:rgba(170,255,242,.08);
      --text:#f3fffc;
      --muted:#92aca7;
      --muted-2:#5f7d78;
      --teal:#16d7bd;
      --teal-2:#6df4df;
      --teal-3:#0e9f90;
      --teal-soft:rgba(22,215,189,.12);
      --amber:#f3ad27;
      --amber-2:#ffd36a;
      --amber-soft:rgba(243,173,39,.12);
      --orange:#f48e33;
      --red:#ff7668;
      --red-soft:rgba(255,118,104,.12);
      --blue:#54b8ff;
      --violet:#9d7cf7;
      --good:#37e2bd;
      --shadow:0 18px 50px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.025);
      --shadow-glow:0 0 0 1px rgba(44,238,207,.08),0 14px 42px rgba(0,0,0,.28);
      --radius-xl:20px;
      --radius-lg:16px;
      --radius-md:13px;
      --topbar-h:68px;
      --pad:14px;
    }

    *{box-sizing:border-box}
    html,body{height:100%;margin:0}
    html{scroll-behavior:smooth}
    body{
      min-width:320px;
      overflow:hidden;
      color:var(--text);
      background:
        radial-gradient(circle at 14% -16%,rgba(23,208,183,.16),transparent 35%),
        radial-gradient(circle at 88% 4%,rgba(8,126,114,.12),transparent 28%),
        linear-gradient(160deg,#020b0b 0%,#031514 46%,#020b0c 100%);
      font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
      font-variant-numeric:tabular-nums;
      -webkit-font-smoothing:antialiased;
    }
    button,select{font:inherit;color:inherit}
    button{cursor:pointer}
    button:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--teal-2);outline-offset:2px}
    svg{display:block}

    .icon-defs{position:absolute;width:0;height:0;overflow:hidden}
    .icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
    .icon.sm{width:16px;height:16px}.icon.xs{width:13px;height:13px}.icon.lg{width:28px;height:28px}

    .topbar{
      position:fixed;inset:0 0 auto 0;z-index:1000;height:var(--topbar-h);
      display:grid;grid-template-columns:minmax(250px,.72fr) minmax(520px,1.12fr) minmax(360px,.78fr);
      align-items:center;gap:18px;padding:0 22px;
      background:linear-gradient(180deg,rgba(2,14,14,.98),rgba(2,15,15,.94));
      border-bottom:1px solid rgba(74,233,209,.11);
      box-shadow:0 12px 30px rgba(0,0,0,.18);
      backdrop-filter:blur(20px);
    }
    .brand{display:flex;align-items:center;gap:12px;min-width:0}
    .brand-mark{
      width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;
      color:var(--teal-2);background:radial-gradient(circle at 40% 30%,rgba(34,236,205,.15),rgba(5,35,33,.8) 70%);
      border:1px solid rgba(55,236,207,.42);box-shadow:0 0 30px rgba(16,206,180,.12)
    }
    .brand-mark .icon{width:28px;height:28px}
    .brand-copy{min-width:0}
    .brand-copy strong{display:block;font-size:20px;line-height:1;font-weight:760;letter-spacing:-.035em;white-space:nowrap}
    .brand-copy span{display:block;margin-top:5px;color:#6f918b;font-size:8.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}

    .nav-tabs{
      justify-self:center;display:flex;align-items:center;gap:2px;min-width:0;padding:3px;
      border-radius:15px;background:linear-gradient(180deg,rgba(8,39,36,.74),rgba(5,29,28,.76));
      border:1px solid rgba(52,216,192,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)
    }
    .nav-tab{
      position:relative;height:44px;min-width:112px;padding:0 18px;border:0;border-radius:12px;background:transparent;
      color:#8ba6a1;font-size:13px;font-weight:700;letter-spacing:.01em;transition:.2s ease
    }
    .nav-tab:hover{color:#dffdf6;background:rgba(255,255,255,.025)}
    .nav-tab.active{
      color:#fff;background:linear-gradient(180deg,rgba(18,105,95,.42),rgba(8,54,50,.48));
      box-shadow:inset 0 0 0 1px rgba(42,222,196,.18),0 5px 18px rgba(0,0,0,.18),0 0 20px rgba(16,216,187,.07)
    }
    .nav-tab.active::after{
      content:"";position:absolute;left:20px;right:20px;bottom:-4px;height:2px;border-radius:999px;
      background:linear-gradient(90deg,transparent,var(--teal-2),transparent);box-shadow:0 0 10px var(--teal)
    }

    .toolbar{justify-self:end;display:flex;align-items:center;gap:9px;min-width:0}
    .language-switch{height:40px;display:flex;align-items:center;gap:2px;padding:3px;border:1px solid rgba(56,222,198,.18);border-radius:11px;background:rgba(5,31,29,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
    .language-switch button{width:31px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:#7fa29c;font:800 9px var(--font);letter-spacing:.06em;cursor:pointer;transition:.16s ease}
    .language-switch button:hover{color:#effffb;background:rgba(24,207,181,.09)}
    .language-switch button.active{color:#fff;background:linear-gradient(180deg,rgba(18,136,122,.8),rgba(7,84,77,.9));box-shadow:0 0 15px rgba(26,220,193,.16),inset 0 0 0 1px rgba(76,244,219,.18)}
    .toolbar-date,.export-btn,.icon-btn{
      height:40px;border-radius:11px;border:1px solid rgba(56,222,198,.18);background:rgba(5,31,29,.78);color:#cce6e1
    }
    .toolbar-date{display:grid;grid-template-columns:28px minmax(140px,1fr) 28px auto;align-items:center;gap:3px;padding:3px;min-width:278px}
    .date-field{height:32px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 8px;border-radius:8px;background:rgba(14,66,60,.58);cursor:pointer}.date-field .live{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(22,215,189,.07),0 0 10px rgba(22,215,189,.4)}
    .date-field input{width:112px;border:0;outline:0;background:transparent;color:#e8fbf7;font:700 10px var(--font);color-scheme:dark;cursor:pointer}.date-field input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.75}
    .date-step,.date-today{height:32px;border:0;border-radius:8px;background:transparent;color:#9bc2bb;cursor:pointer;transition:.16s}.date-step{font-size:19px;line-height:1}.date-today{padding:0 9px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.date-step:hover,.date-today:hover{background:rgba(24,207,181,.12);color:#fff}.date-step:disabled,.date-today:disabled{opacity:.22;cursor:not-allowed}
    .export-btn{display:inline-flex;align-items:center;gap:9px;padding:0 18px;border-color:rgba(77,244,218,.32);font-size:12px;font-weight:800;background:linear-gradient(135deg,#0aa995,#087f74);box-shadow:0 9px 24px rgba(5,155,136,.24),inset 0 1px 0 rgba(255,255,255,.12);transition:.18s ease}
    .export-btn:hover,.icon-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
    .icon-btn{width:40px;display:grid;place-items:center;padding:0}

    .workspace{position:fixed;inset:var(--topbar-h) 0 0 0;overflow:hidden}
    .page{position:absolute;inset:0;display:none;padding:var(--pad);animation:pageIn .25s ease both;overflow:hidden}
    .page.active{display:block}
    @keyframes pageIn{from{opacity:.15;transform:translateY(4px)}to{opacity:1;transform:none}}

    .page-grid{height:100%;min-height:0;display:grid;gap:12px}
    .overview-grid,.daily-grid,.monthly-grid,.countries-grid,.regions-grid,.accuracy-grid{
      grid-template-columns:repeat(12,minmax(0,1fr));
      grid-template-rows:clamp(92px,12vh,126px) minmax(280px,1fr) clamp(170px,24vh,248px)
    }

    /* Daily */
    .daily-chart{grid-column:1/10;grid-row:2}.daily-filters{grid-column:10/-1;grid-row:2}
    .daily-bottom-1{grid-column:1/9;grid-row:3}.daily-bottom-2{grid-column:9/-1;grid-row:3}
    .legend-band.amber{background:rgba(243,173,39,.14);border-color:rgba(243,173,39,.2)}
    .horizon-switch{display:grid;grid-template-columns:1fr;gap:8px}
    .horizon-switch button{display:grid;grid-template-columns:54px 1fr;align-items:center;text-align:left;min-height:48px;padding:0 12px;border-radius:10px;border:1px solid rgba(52,218,193,.13);background:rgba(8,43,40,.55);color:#97aca8;transition:.18s ease}
    .horizon-switch button:hover,.horizon-switch button.active{color:#effdfa;border-color:rgba(243,173,39,.34);background:linear-gradient(135deg,rgba(84,57,12,.45),rgba(8,54,49,.62));box-shadow:0 0 18px rgba(243,173,39,.05)}
    .horizon-switch strong{font-size:17px;color:var(--amber-2)}.horizon-switch span{font-size:9px;font-weight:700}
    .daily-source-status{display:grid;gap:6px}.daily-source-line{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);color:#8ea6a1;font-size:8px}.daily-source-line strong{color:#d9ede8;font-size:9px}
    .weekday-profile{display:grid;gap:8px}.weekday-row{display:grid;grid-template-columns:22px 1fr 38px;align-items:center;gap:7px;font-size:8px}.weekday-row span{color:#93aaa5}.weekday-row b{text-align:right;color:#dff5f0}.weekday-track{height:7px;border-radius:99px;background:rgba(255,255,255,.045);overflow:hidden}.weekday-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#0d9e90,#31dfc7)}
    .learning-list{display:grid;gap:7px}.learning-row{display:grid;grid-template-columns:58px 1fr 44px;align-items:center;gap:7px;font-size:7.5px}.learning-row span{color:#809a95}.learning-row .learning-track{height:6px;border-radius:99px;background:rgba(255,255,255,.045);overflow:hidden}.learning-row .learning-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#0da997,#35e2ca)}.learning-row.warn .learning-track i{background:linear-gradient(90deg,#b77718,#f3ad27)}.learning-row b{text-align:right;font-size:8px}
    .coverage-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.coverage-card{padding:9px;border-radius:9px;border:1px solid rgba(31,213,186,.12);background:rgba(9,48,44,.42)}.coverage-card span{display:block;color:#7f9994;font-size:7px}.coverage-card strong{display:block;margin-top:5px;font-size:15px}.coverage-card.wide{grid-column:1/-1}.coverage-card small{display:block;margin-top:4px;color:#75908b;font-size:6.8px;line-height:1.35}

    .panel,.kpi-card{
      min-width:0;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);
      background:
        radial-gradient(circle at 100% 0,rgba(35,197,174,.045),transparent 36%),
        linear-gradient(155deg,rgba(7,36,34,.94),rgba(4,25,24,.96));
      box-shadow:var(--shadow)
    }
    .panel{display:flex;flex-direction:column}
    .panel.accent-amber,.kpi-card.accent-amber{border-color:rgba(244,178,46,.38);background:radial-gradient(circle at 94% -20%,rgba(245,180,49,.15),transparent 50%),linear-gradient(155deg,rgba(43,37,16,.92),rgba(22,29,24,.97))}
    .panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:15px 18px 0;min-height:48px}
    .panel-head.compact{padding-top:12px;min-height:42px}
    .panel-title{margin:0;font-size:17px;line-height:1.12;font-weight:760;letter-spacing:-.025em}
    .panel-sub{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.35}
    .eyebrow{color:var(--teal-2);font-size:8px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
    .panel-body{flex:1;min-height:0;padding:12px 16px 14px}
    .panel-body.tight{padding-top:7px}
    .panel-footer{flex:0 0 auto;min-height:29px;padding:0 15px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:8px}
    .panel-footer .note{display:flex;align-items:center;gap:6px}

    .tag{display:inline-flex;align-items:center;gap:6px;height:23px;padding:0 9px;border-radius:999px;font-size:8px;font-weight:850;white-space:nowrap;border:1px solid transparent}
    .tag.teal{color:var(--teal-2);background:rgba(21,210,183,.08);border-color:rgba(21,210,183,.16)}
    .tag.amber{color:var(--amber-2);background:rgba(244,174,36,.08);border-color:rgba(244,174,36,.18)}
    .tag.gray{color:#9ab0ac;background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.07)}
    .tag.red{color:#ff9d90;background:rgba(255,118,104,.08);border-color:rgba(255,118,104,.18)}
    .tag::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}

    .kpi-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;min-height:0}
    .kpi-card{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;padding:13px 14px;isolation:isolate}
    .kpi-card::after{content:"";position:absolute;right:-16px;bottom:-45px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(18,211,184,.09),transparent 68%);z-index:-1}
    .kpi-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;color:var(--teal-2);border:1px solid rgba(38,229,200,.38);background:radial-gradient(circle at 38% 30%,rgba(17,221,190,.18),rgba(5,34,32,.85));box-shadow:0 0 24px rgba(11,202,176,.1)}
    .accent-amber .kpi-icon{color:var(--amber-2);border-color:rgba(244,180,45,.44);background:radial-gradient(circle at 38% 30%,rgba(245,184,55,.2),rgba(42,33,8,.86));box-shadow:0 0 24px rgba(245,180,49,.1)}
    .kpi-content{min-width:0;padding-left:8px}
    .kpi-label{color:#a2b7b3;font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .kpi-value{margin-top:5px;font-size:28px;line-height:.98;font-weight:800;letter-spacing:-.04em;white-space:nowrap}
    .kpi-value .unit{margin-left:4px;color:#b5ccc7;font-size:10px;font-weight:650;letter-spacing:0}
    .kpi-meta{margin-top:7px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .trend-up{color:var(--good);font-weight:800}.trend-down{color:var(--red);font-weight:800}.trend-warn{color:var(--amber-2);font-weight:800}
    .kpi-spark{position:absolute;right:12px;bottom:12px;width:88px;height:30px;opacity:.92;pointer-events:none}

    .legend{display:flex;align-items:center;gap:13px;flex-wrap:wrap;color:#a1b6b2;font-size:9px}
    .legend-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
    .legend-swatch{width:16px;height:7px;border-radius:2px;background:var(--teal);box-shadow:0 0 10px rgba(22,215,189,.22)}
    .legend-swatch.amber{background:var(--amber);box-shadow:0 0 10px rgba(243,173,39,.24)}
    .legend-line{width:20px;height:0;border-top:2px solid #b7fbef}
    .legend-line.amber{border-top-color:var(--amber);border-top-style:dashed}
    .legend-line.blue{border-top-color:var(--blue)}
    .legend-band{width:19px;height:8px;border-radius:2px;background:rgba(22,215,189,.14);border:1px solid rgba(22,215,189,.16)}

    .chart-wrap{position:relative;flex:1;min-height:0;padding:4px 10px 7px}
    .chart-wrap svg{width:100%;height:100%;overflow:visible}
    .chart-note{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:8px}
    .mini-info{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;color:var(--teal-2);border:1px solid rgba(22,215,189,.27);background:rgba(22,215,189,.06)}

    .hero-panel{grid-column:1/9;grid-row:2}
    .forecast-stack{grid-column:9/-1;grid-row:2}
    .forecast-list{display:grid;gap:9px;height:100%;padding:10px 12px 12px}
    .forecast-item{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) 120px;align-items:center;gap:10px;min-height:0;padding:10px 12px;border-radius:13px;border:1px solid rgba(243,173,39,.37);background:linear-gradient(135deg,rgba(58,45,14,.74),rgba(20,32,29,.86));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
    .forecast-item .fi-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--amber-2);border:1px solid rgba(243,173,39,.42);background:rgba(243,173,39,.07)}
    .forecast-item .fi-month{color:#d8e6e2;font-size:10px;font-weight:650}
    .forecast-item .fi-value{margin-top:4px;font-size:24px;font-weight:790;letter-spacing:-.035em}
    .forecast-item .fi-meta{margin-top:4px;color:#a9bcb8;font-size:8.5px}
    .forecast-item .fi-spark{width:100%;height:45px}

    .overview-mini-1{grid-column:1/4;grid-row:3}.overview-mini-2{grid-column:4/7;grid-row:3}.overview-mini-4{grid-column:7/-1;grid-row:3}
    .rank-list{display:grid;gap:7px}
    .rank-row{display:grid;grid-template-columns:minmax(92px,1.05fr) minmax(70px,1.6fr) 44px;align-items:center;gap:9px;font-size:9px}
    .rank-name{color:#dbe9e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .rank-track{height:7px;border-radius:999px;background:rgba(255,255,255,.045);overflow:hidden}
    .rank-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0da997,#38e6ce);box-shadow:0 0 10px rgba(19,218,188,.18)}
    .rank-value{text-align:right;color:#c8d9d5;font-weight:720}
    .rank-row.other .rank-track span{background:linear-gradient(90deg,#48625f,#7a9993)}

    .donut-layout{height:100%;display:grid;grid-template-columns:minmax(105px,.9fr) minmax(90px,1fr);align-items:center;gap:12px}
    .donut{position:relative;width:min(120px,100%);aspect-ratio:1;margin:auto;border-radius:50%;background:conic-gradient(var(--teal) 0 30.5%,rgba(255,255,255,.07) 30.5% 100%);box-shadow:0 0 30px rgba(12,190,165,.08)}
    .donut::before{content:"";position:absolute;inset:14%;border-radius:50%;background:#061c1b;border:1px solid rgba(55,220,198,.14)}
    .donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:1}
    .donut-center strong{font-size:26px;line-height:1;font-weight:800}.donut-center span{margin-top:4px;color:#adbfbb;font-size:9px;font-weight:700}
    .metric-list{display:grid;gap:9px}
    .metric-line{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.055)}
    .metric-line:last-child{border-bottom:0;padding-bottom:0}
    .metric-line span{color:var(--muted);font-size:9px}.metric-line strong{font-size:16px}

    .data-table{width:100%;border-collapse:collapse;font-size:8.8px}
    .data-table th{padding:0 6px 7px;color:#7e9a94;font-weight:700;text-align:left;border-bottom:1px solid rgba(255,255,255,.07);white-space:nowrap}
    .data-table td{padding:6px;color:#c9d9d5;border-bottom:1px solid rgba(255,255,255,.045);white-space:nowrap}
    .data-table tbody tr:last-child td{border-bottom:0}
    .data-table .num{text-align:right}.data-table .good{color:var(--good);font-weight:750}.data-table .bad{color:var(--red);font-weight:750}.data-table .warn{color:var(--amber-2);font-weight:750}
    .status-pill{display:inline-flex;align-items:center;height:17px;padding:0 6px;border-radius:999px;font-size:7px;font-weight:800}
    .status-pill.fact{color:var(--teal-2);background:rgba(22,215,189,.09);border:1px solid rgba(22,215,189,.14)}
    .status-pill.forecast{color:var(--amber-2);background:rgba(243,173,39,.09);border:1px solid rgba(243,173,39,.15)}

    .matrix-scroll{height:100%;overflow:auto;padding-right:3px;scrollbar-width:thin;scrollbar-color:rgba(31,210,185,.35) transparent}
    .matrix-scroll::-webkit-scrollbar{width:5px}.matrix-scroll::-webkit-scrollbar-thumb{background:rgba(31,210,185,.28);border-radius:99px}

    /* Monthly */
    .monthly-chart{grid-column:1/11;grid-row:2}
    .monthly-filters{grid-column:11/-1;grid-row:2}
    .filter-stack{display:grid;gap:12px;padding:14px}
    .field label{display:block;margin-bottom:6px;color:#8ba39e;font-size:9px;font-weight:700}
    .field select{width:100%;height:39px;padding:0 34px 0 11px;border-radius:9px;border:1px solid rgba(54,221,197,.14);background:#072220;color:#dff7f2;font-size:10px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#71e7d4 50%),linear-gradient(135deg,#71e7d4 50%,transparent 50%);background-position:calc(100% - 16px) 17px,calc(100% - 11px) 17px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
    .filter-note{padding:11px;border-radius:10px;border:1px solid rgba(54,221,197,.12);background:rgba(22,215,189,.045);color:#8fa9a4;font-size:8.5px;line-height:1.45}
    .monthly-bottom-1{grid-column:1/7;grid-row:3}.monthly-bottom-2{grid-column:7/-1;grid-row:3}.monthly-bottom-3{grid-column:1/7;grid-row:4}.monthly-bottom-4{grid-column:7/-1;grid-row:4}
    .month-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
    .month-chip{display:flex;align-items:center;justify-content:space-between;gap:5px;height:24px;padding:0 7px;border-radius:8px;border:1px solid rgba(33,213,187,.15);background:rgba(10,49,45,.52);font-size:8px}
    .month-chip.forecast{border-color:rgba(244,179,40,.2);background:rgba(66,45,10,.35)}
    .month-chip b{font-size:8.5px}.month-chip small{font-size:6.8px}
    .monthly-bottom-1 .data-table{font-size:7.3px}
    .monthly-bottom-1 .data-table th{padding:0 4px 4px}
    .monthly-bottom-1 .data-table td{padding:3px 4px}
    .monthly-bottom-1 .status-pill{height:14px;padding:0 5px;font-size:5.8px}
    .comparison-list{display:grid;gap:8px}
    .compare-row{display:grid;grid-template-columns:52px 1fr 43px;align-items:center;gap:8px;font-size:8.5px}
    .compare-bars{display:grid;gap:3px}.compare-track{height:5px;border-radius:999px;background:rgba(255,255,255,.045);overflow:hidden}.compare-track span{display:block;height:100%;border-radius:999px}.compare-track.actual span{background:linear-gradient(90deg,#0aa696,#39e1c9)}.compare-track.forecast span{background:linear-gradient(90deg,#c7811e,#f5bc43)}

    /* Countries */
    .countries-main-1{grid-column:1/6;grid-row:2}.countries-main-2{grid-column:6/-1;grid-row:2}
    .countries-bottom-1{grid-column:1/4;grid-row:3}.countries-bottom-2{grid-column:4/8;grid-row:3}.countries-bottom-3{grid-column:8/10;grid-row:3}.countries-bottom-4{grid-column:10/-1;grid-row:3}
    .country-ranks{display:grid;gap:8px}
    .country-rank{display:grid;grid-template-columns:20px 112px 1fr 44px;align-items:center;gap:8px;font-size:9px}
    .country-rank .index{color:#8eaaa4}.country-rank .country{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.country-rank .share{text-align:right;font-weight:750}
    .country-table{font-size:7.8px}.country-table td{padding:4.5px 5px}.country-table th{padding:0 5px 5px}.country-table td:last-child{width:58px}
    .country-mini-trend{display:block;width:58px;height:20px}.country-mini-trend .kpi-spark{position:static;right:auto;bottom:auto;width:58px;height:20px}
    #countrySeriesLegend span{display:inline-flex;align-items:center;gap:5px;color:#9fb5b0;font-size:7.5px}#countrySeriesLegend i{width:13px;height:2px;border-radius:999px;box-shadow:0 0 6px currentColor}
    .country-world-body{position:relative;display:flex;flex-direction:column;min-height:0;padding:2px 16px 14px}
    #countryWorldMap{display:block;width:100%;height:100%;min-height:245px;overflow:visible}
    .world-grid line{stroke:#24bba8;stroke-width:.65;stroke-opacity:.055;stroke-dasharray:2 7}.world-land path{fill:#06463f;fill-opacity:.75;stroke:#16bca8;stroke-width:.8;stroke-opacity:.3}.world-routes line{stroke:#27d8c0;stroke-width:.8;stroke-opacity:.18;stroke-dasharray:3 5}.world-points g{cursor:pointer}.world-points g:hover circle:first-child{stroke-width:2.7}
    .country-world-legend{position:absolute;left:18px;right:18px;bottom:10px;display:grid;grid-template-columns:auto minmax(90px,170px) auto;align-items:center;justify-content:start;gap:8px;color:#78938e;font-size:7px}.country-world-legend i{height:7px;border-radius:999px;background:linear-gradient(90deg,#075a52,#20d8bf 58%,#f3ad27);box-shadow:0 0 12px rgba(32,216,191,.2)}
    .country-growth-list{display:grid;gap:8px}.country-growth-row{display:grid;grid-template-columns:20px minmax(0,1fr) 58px;align-items:center;gap:7px;min-height:48px;padding:7px 9px;border:1px solid rgba(43,220,194,.15);border-radius:9px;background:linear-gradient(145deg,rgba(9,55,50,.58),rgba(4,30,28,.7));font-size:9px}.country-growth-row:first-child{border-color:rgba(243,173,39,.35);background:linear-gradient(145deg,rgba(73,52,12,.58),rgba(41,31,10,.68))}.country-growth-index{color:#8fa8a3}.country-growth-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.country-growth-row>b{text-align:right;font-size:11px}.country-growth-spark{grid-column:2/4;width:100%;height:17px;margin-top:-5px}.country-growth-spark .kpi-spark{position:static;right:auto;bottom:auto;display:block;width:100%;height:17px}
    .country-flow-structure{display:grid;gap:15px}.flow-structure-label{display:block;margin-bottom:8px;color:#9bb1ac;font-size:8px}.flow-structure-split{display:flex;height:54px;overflow:hidden;border:1px solid rgba(54,225,200,.18);border-radius:9px}.flow-structure-split strong{display:flex;min-width:84px;flex-direction:column;align-items:flex-start;justify-content:center;padding:0 12px;background:linear-gradient(90deg,#078f82,#2bcfba);color:#eafffb}.flow-structure-split strong.rest{align-items:flex-end;background:linear-gradient(90deg,#936411,#c28a1d);color:#ffe1a0}.flow-structure-split b{font-size:14px}.flow-structure-split small{margin-top:3px;font-size:7px;font-weight:700}.flow-data-card{padding:11px 12px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(6,39,36,.5)}.flow-data-card span{display:block;color:#7f9a94;font-size:7px;text-transform:uppercase;letter-spacing:.08em}.flow-data-card strong{display:block;margin-top:6px;color:#d8ebe7;font-size:10px}.flow-data-card small{display:block;margin-top:5px;color:#6f8b85;font-size:7.5px;line-height:1.4}
    .local-flow-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px}.local-flow-card{padding:8px 9px;border:1px solid rgba(35,219,191,.18);border-radius:8px;background:rgba(12,66,59,.28)}.local-flow-card.qa{border-color:rgba(243,173,39,.18);background:rgba(68,48,10,.22)}.local-flow-card span,.local-flow-card small{display:block}.local-flow-card span{color:#98b4ae;font-size:7px;text-transform:uppercase;letter-spacing:.08em}.local-flow-card strong{display:block;margin:4px 0 2px;color:#55e6d1;font-size:14px}.local-flow-card.qa strong{color:#f4bd4c}.local-flow-card small{color:#718d87;font-size:6.6px;line-height:1.35}
    .route-list{display:grid;gap:8px}.route-row{display:grid;grid-template-columns:100px 1fr 56px;align-items:center;gap:8px;font-size:8px}.route-row .route-meta{color:#6e8b85;font-size:7px;margin-top:2px}.route-row b{text-align:right;font-size:8.5px}
    .forecast-country-list{display:grid;gap:8px}.forecast-country{display:grid;grid-template-columns:1fr 58px;gap:9px;align-items:center;padding:8px;border-radius:9px;border:1px solid rgba(244,177,42,.12);background:rgba(48,37,12,.28)}.forecast-country strong{font-size:9px}.forecast-country span{display:block;margin-top:3px;color:#9db1ad;font-size:7.5px}.forecast-country b{text-align:right;color:var(--amber-2);font-size:10px}
    .split-bars{display:grid;gap:12px}.split-item span{display:flex;justify-content:space-between;margin-bottom:6px;color:#a4b7b3;font-size:8px}.split-track{height:28px;display:flex;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.split-track i{display:flex;align-items:center;justify-content:center;font-style:normal;font-size:8px;font-weight:800}.split-track .a{background:linear-gradient(90deg,#0c9c8d,#2fd8bf)}.split-track .b{background:linear-gradient(90deg,#9e6a19,#e3a72d)}

    /* Regions */
    .regions-main-1{grid-column:1/8;grid-row:2}.regions-main-2{grid-column:8/-1;grid-row:2}
    .regions-bottom-1{grid-column:1/4;grid-row:3}.regions-bottom-2{grid-column:4/7;grid-row:3}.regions-bottom-3{grid-column:7/10;grid-row:3}.regions-bottom-4{grid-column:10/-1;grid-row:3}
    .region-map-panel{position:relative;isolation:isolate;background:radial-gradient(circle at 48% 52%,rgba(13,113,101,.13),transparent 48%),linear-gradient(145deg,rgba(4,32,30,.96),rgba(2,23,22,.98))}
    .map-panel-head{position:relative;z-index:4;align-items:center;gap:18px}
    .map-live-summary{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:7px}
    .map-live-summary>span{display:block;min-width:110px;padding:8px 10px;border:1px solid rgba(55,224,198,.16);border-radius:9px;background:linear-gradient(145deg,rgba(10,54,49,.76),rgba(3,29,27,.88));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
    .map-live-summary small{display:block;color:#789b94;font-size:6.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
    .map-live-summary strong{display:block;margin-top:4px;color:#eafffb;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .map-stage{position:relative;flex:1;min-height:0;margin:8px 12px 12px;padding:0;overflow:hidden;border:1px solid rgba(49,218,193,.18);border-radius:14px;background:#021514;box-shadow:inset 0 0 70px rgba(0,0,0,.32),0 18px 38px rgba(0,0,0,.18)}
    .map-stage::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 52% 48%,transparent 38%,rgba(0,12,12,.16) 74%,rgba(0,10,10,.65) 100%),linear-gradient(180deg,rgba(0,26,24,.08),rgba(0,18,17,.2))}
    .bali-map-photo{pointer-events:none;filter:saturate(1.08) contrast(1.06) brightness(.78)}
    .map-stage svg{position:relative;z-index:2;width:100%;height:100%;overflow:visible}
    .map-ocean-grid path{fill:none;stroke:#1ab7a4;stroke-width:1;stroke-dasharray:3 9;stroke-opacity:.08}
    .island-shadow,.island-base,.terrain-texture,.terrain-contours,.island-outline,.district-lines,.nusa-island,.map-ocean-grid{opacity:0;pointer-events:none}
    .bali-region{cursor:pointer;fill:url(#regionCool);fill-opacity:var(--region-opacity,.08);stroke:#45dcc7;stroke-width:.75;stroke-opacity:.16;transition:fill-opacity .2s ease,filter .2s ease,stroke .2s ease}
    .bali-region:hover{fill-opacity:.24;stroke-opacity:.85;filter:drop-shadow(0 0 9px rgba(25,221,194,.42))}
    .bali-region.active{fill:url(#regionHot);fill-opacity:.38;stroke:#ffd760;stroke-width:1.8;stroke-opacity:1;filter:drop-shadow(0 0 15px rgba(243,173,39,.5))}.bali-region.rain-risk:not(.active){stroke:#61b9ff;stroke-opacity:.62;stroke-dasharray:5 4}
    .region-marker{cursor:pointer;outline:none}.region-marker .marker-hit{fill:transparent;stroke:none}.region-marker .marker-dot{fill:#2ce4ca;stroke:#e8fffb;stroke-width:1.4;filter:url(#markerGlow);transition:fill .18s ease,stroke .18s ease,transform .18s ease}.region-marker .marker-title,.region-marker .marker-value{pointer-events:none;text-anchor:middle;paint-order:stroke fill;stroke:rgba(0,17,16,.96);stroke-linejoin:round;filter:drop-shadow(0 2px 4px rgba(0,0,0,.85));transition:fill .18s ease}.region-marker .marker-title{fill:#f4fffd;stroke-width:4px;font-size:14px;font-weight:900;letter-spacing:.01em}.region-marker .marker-value{fill:#68e4d2;stroke-width:3px;font-size:11px;font-weight:850}.region-marker:hover .marker-dot,.region-marker.active .marker-dot{fill:#ffc33f;stroke:#fff0b6;transform:scale(1.28)}.region-marker:hover .marker-title,.region-marker.active .marker-title{fill:#ffd761}.region-marker:hover .marker-value,.region-marker.active .marker-value{fill:#ffcf63}
    .map-gradient{position:absolute;z-index:3;left:20px;bottom:18px;display:grid;grid-template-columns:auto 140px;align-items:center;gap:7px 10px;padding:9px 11px;border-radius:9px;background:rgba(1,16,15,.82);border:1px solid rgba(68,224,201,.16);color:#a8bcb8;font-size:8px;backdrop-filter:blur(8px)}
    .map-gradient i{width:140px;height:7px;border-radius:999px;background:linear-gradient(90deg,#07564f,#23d7bd 58%,#f2b22e);box-shadow:0 0 10px rgba(27,214,187,.22)}.map-gradient small{grid-column:2;display:flex;justify-content:space-between;color:#718d87;font-size:6.5px}.map-gradient b{font-weight:700}
    .region-rank-list{display:grid;gap:14px}.region-rank{display:grid;grid-template-columns:26px 140px 1fr 52px;align-items:center;gap:10px;padding:5px 6px;border-radius:7px;font-size:11px;cursor:pointer;transition:.16s ease}.region-rank:hover,.region-rank.active{background:rgba(29,211,184,.055)}.region-rank .bar{height:21px;border-radius:3px;background:rgba(255,255,255,.025);overflow:hidden}.region-rank .bar span{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#078d80,#31dfc8);box-shadow:0 0 18px rgba(24,216,186,.22)}.region-rank.active .bar span{background:linear-gradient(90deg,#bd7b18,#f5c14b);box-shadow:0 0 18px rgba(243,173,39,.28)}.region-rank strong{text-align:right;font-size:12px}.region-rank.is-aggregate{grid-template-columns:26px minmax(0,1fr) 52px;margin-top:3px;padding:9px 6px;border-top:1px dashed rgba(120,166,158,.28);border-radius:0;color:#8fa9a4;cursor:default}.region-rank.is-aggregate:hover{background:transparent}.region-rank-copy{min-width:0}.region-rank-copy b,.region-rank-copy small{display:block}.region-rank-copy b{color:#b6c9c5;font-size:10px}.region-rank-copy small{margin-top:3px;color:#708b85;font-size:7px;line-height:1.25}.region-rank.is-aggregate strong{color:#9eb4b0}
    .region-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.region-card{padding:10px 11px;border-radius:9px;border:1px solid rgba(35,214,187,.16);background:linear-gradient(135deg,rgba(10,48,44,.58),rgba(4,31,29,.65));cursor:pointer}.region-card.active{border-color:rgba(243,173,39,.42);background:linear-gradient(135deg,rgba(74,50,9,.52),rgba(43,31,8,.44))}.region-card.rain-risk{box-shadow:inset 3px 0 0 rgba(72,168,255,.75)}.region-card span{display:block;color:#a9bfba;font-size:8px}.region-card strong{display:block;margin-top:6px;font-size:17px}.region-card b{margin-left:6px;color:var(--teal-2);font-size:9px}.region-card.active b{color:var(--amber-2)}.region-card small{display:block;margin-top:5px;color:#748f89;font-size:6.5px;line-height:1.35}.region-card.is-aggregate{grid-column:1/-1;border-style:dashed;border-color:rgba(129,169,162,.24);background:rgba(7,32,30,.48);cursor:default}.region-card.is-aggregate span,.region-card.is-aggregate b{color:#9db4af}.region-card.is-aggregate small{color:#6f8984}
    .heatmap{display:grid;gap:4px}.heatmap-head,.heatmap-row{display:grid;grid-template-columns:68px repeat(12,minmax(9px,1fr));gap:3px;align-items:center}.heatmap-head span{color:#78958f;font-size:5.9px;text-align:center}.heatmap-row label{color:#99afaa;font-size:6.6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.heat-cell{height:20px;border-radius:1px;border:1px solid rgba(255,255,255,.025)}
    .tourist-heatmap{gap:5px}.tourist-heatmap .heatmap-head,.tourist-heatmap .heatmap-row{grid-template-columns:76px repeat(12,minmax(14px,1fr));gap:4px}.tourist-heatmap .heatmap-head span{font-size:6.5px}.tourist-heatmap .heatmap-row label{font-size:7.2px;font-weight:700;color:#b5cbc6}.tourist-season-cell{height:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#fff;border-radius:3px;box-shadow:0 0 12px rgba(20,184,166,.07)}.tourist-season-cell b{font-size:7px;line-height:1}.tourist-season-cell small{font-size:4.8px;line-height:1;text-transform:uppercase;color:rgba(255,255,255,.72)}.tourist-season-cell.forecast{border:1px dashed rgba(255,198,76,.75)}.season-index-cell{height:18px;border-radius:3px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055);display:flex;align-items:center;justify-content:center;gap:1px;color:#b7cdc8}.season-index-cell b{font-size:6.7px}.season-index-cell small{font-size:5px}.season-legend{display:flex;align-items:center;gap:10px;padding-left:80px;color:#78958f;font-size:5.8px;line-height:1.2}.season-legend span{display:inline-flex;align-items:center;gap:4px}.season-legend i{width:7px;height:7px;border-radius:2px;background:#168b77}.season-legend i.forecast{background:#8f771f;border:1px dashed #ffc64c}
    .tourist-history-row label{display:flex!important;flex-direction:column;justify-content:center;gap:2px}.tourist-history-row label b{color:#e7f7f3;font-size:8px}.tourist-history-row label small{color:#6f8d87;font-size:5.5px;font-weight:600}.tourist-season-cell.empty{border:1px dashed rgba(255,255,255,.07);background:rgba(255,255,255,.018)!important;color:#4e6d67;box-shadow:none}.tourist-history-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:3px}.tourist-history-summary>span{display:block;padding:7px 8px;border:1px solid rgba(42,210,185,.13);border-radius:7px;background:rgba(8,48,44,.42)}.tourist-history-summary>span.forecast{border-color:rgba(243,173,39,.22);background:rgba(73,51,10,.32)}.tourist-history-summary small,.tourist-history-summary em{display:block}.tourist-history-summary small{color:#78958f;font-size:5.5px;text-transform:uppercase;letter-spacing:.06em}.tourist-history-summary strong{display:block;margin-top:3px;color:#eafffb;font-size:8.5px}.tourist-history-summary em{margin-top:2px;color:#6f8b85;font-size:5.3px;font-style:normal}.tourist-history-summary .positive strong{color:#37d8bc}.tourist-history-summary .negative strong{color:#ff786b}
    .signal-list{display:grid;gap:8px}.signal-item{display:grid;grid-template-columns:35px 1fr 70px;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05)}.signal-item:last-child{border-bottom:0}.signal-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;color:var(--teal-2);border:1px solid rgba(27,219,191,.26);background:rgba(18,215,184,.07)}.signal-copy strong{display:block;font-size:8.5px}.signal-copy span{display:block;margin-top:3px;color:#809a95;font-size:7px}.signal-value{text-align:right}.signal-value strong{display:block;color:var(--teal-2);font-size:13px}.signal-value span{font-size:7px;color:#78928d}

    /* Accuracy */
    .accuracy-main-1{grid-column:1/8;grid-row:2}.accuracy-main-2{grid-column:8/-1;grid-row:2}
    .accuracy-bottom-1{grid-column:1/4;grid-row:3}.accuracy-bottom-2{grid-column:4/7;grid-row:3}.accuracy-bottom-3{grid-column:7/10;grid-row:3}.accuracy-bottom-4{grid-column:10/-1;grid-row:3}
    .insights{display:grid;gap:8px}.insight{display:grid;grid-template-columns:31px 1fr;gap:9px;align-items:start}.insight-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:var(--teal-2);border:1px solid rgba(23,216,188,.26);background:rgba(23,216,188,.06)}.insight.warn .insight-icon{color:var(--amber-2);border-color:rgba(243,173,39,.28);background:rgba(243,173,39,.07)}.insight strong{display:block;font-size:9px}.insight span{display:block;margin-top:3px;color:#839b96;font-size:7.5px;line-height:1.35}
    .accuracy-verdict{border-color:rgba(54,224,198,.24);background:radial-gradient(circle at 100% 0,rgba(32,220,191,.10),transparent 45%),linear-gradient(155deg,rgba(7,45,41,.96),rgba(4,25,24,.98))}.accuracy-panel-note{border-top:1px solid rgba(255,255,255,.045);padding-top:10px}.accuracy-mini-panel .panel-title,.accuracy-verdict .panel-title{font-size:15px}

    .tooltip{position:fixed;z-index:3000;pointer-events:none;opacity:0;transform:translate(-50%,-105%);min-width:155px;padding:10px 11px;border-radius:10px;border:1px solid rgba(77,235,212,.22);background:rgba(1,15,14,.95);box-shadow:0 14px 36px rgba(0,0,0,.38);color:#effcf9;font-size:9px;transition:opacity .12s ease;backdrop-filter:blur(12px)}
    .tooltip.show{opacity:1}.tooltip strong{display:block;margin-bottom:6px;font-size:10px}.tooltip-row{display:flex;justify-content:space-between;gap:14px;margin-top:4px;color:#91aaa5}.tooltip-row b{color:#eafffb}
    .toast{position:fixed;right:20px;bottom:20px;z-index:3500;display:flex;align-items:center;gap:9px;min-width:250px;padding:12px 14px;border-radius:12px;border:1px solid rgba(41,227,199,.24);background:rgba(4,30,28,.94);box-shadow:0 16px 38px rgba(0,0,0,.3);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s ease;font-size:10px}.toast.show{opacity:1;transform:none}
    @media (max-height:780px) and (min-width:1101px){
      :root{--topbar-h:62px;--pad:10px}
      .topbar{padding:0 16px}.brand-mark{width:39px;height:39px}.brand-copy strong{font-size:17px}.brand-copy span{font-size:7.5px}.nav-tab{height:40px;min-width:98px;font-size:11px}.toolbar-date,.export-btn,.icon-btn{height:36px}.toolbar-date{min-width:264px}.date-field,.date-step,.date-today{height:28px}.kpi-card{padding:9px 11px;grid-template-columns:47px minmax(0,1fr)}.kpi-icon{width:40px;height:40px}.kpi-value{font-size:24px}.kpi-meta{font-size:8px;margin-top:5px}.panel-head{padding:11px 13px 0;min-height:40px}.panel-title{font-size:15px}.panel-sub{font-size:8px}.panel-body{padding:8px 12px 10px}.forecast-list{gap:6px;padding:7px 9px 9px}.forecast-item{padding:7px 9px;grid-template-columns:42px minmax(0,1fr) 95px}.forecast-item .fi-icon{width:36px;height:36px}.forecast-item .fi-value{font-size:20px}.rank-list{gap:5px}.rank-row{font-size:8px;gap:6px}.region-rank-list{gap:8px}.region-rank{font-size:8.5px;grid-template-columns:22px 104px 1fr 42px}.data-table{font-size:7.5px}.data-table td{padding:4.2px}.panel-footer{padding-bottom:7px}.overview-grid,.daily-grid,.monthly-grid,.countries-grid,.regions-grid,.accuracy-grid{grid-template-rows:86px minmax(250px,1fr) 166px;gap:9px}.monthly-grid{grid-template-rows:86px minmax(250px,1fr) 230px}.kpi-row{gap:9px}.page-grid{gap:9px}.monthly-bottom-1 .data-table{font-size:5.9px;line-height:1}.monthly-bottom-1 .data-table th{padding:0 3px 1px}.monthly-bottom-1 .data-table td{padding:.8px 3px}.monthly-bottom-1 .status-pill{height:9px;padding:0 3px;font-size:4.5px}.month-chip-grid{gap:3px}.month-chip{height:18px;padding:0 5px;font-size:6.3px}.month-chip b{font-size:6.8px}.month-chip small{font-size:5.6px}
    }
    @media (max-width:1200px){
      .topbar{grid-template-columns:minmax(180px,.6fr) minmax(430px,1.2fr) minmax(390px,.9fr);gap:10px;padding:0 12px}.brand-copy span{display:none}.nav-tab{min-width:76px;padding:0 9px}.date-today{display:none}.toolbar-date{min-width:205px;grid-template-columns:26px minmax(120px,1fr) 26px}.language-switch button{width:28px}.kpi-label{font-size:9px}.kpi-value{font-size:24px}.forecast-item{grid-template-columns:42px minmax(0,1fr) 88px}.region-rank{grid-template-columns:22px 104px 1fr 40px}.map-live-summary{grid-template-columns:repeat(3,minmax(90px,1fr))}.map-live-summary>span{min-width:90px}
    }
    @media (max-width:1100px){
      body{overflow:auto}.topbar{position:sticky;top:0;grid-template-columns:1fr auto;height:auto;min-height:62px;padding:8px 10px}.brand{grid-column:1}.toolbar{grid-column:2}.nav-tabs{grid-column:1/-1;grid-row:2;width:100%;overflow:auto;justify-self:stretch}.nav-tab{flex:1;min-width:105px}.workspace{position:relative;inset:auto;overflow:visible}.page{position:relative;display:none;padding:10px;overflow:visible}.page.active{display:block}.page-grid{height:auto;display:flex;flex-direction:column}.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card:last-child{grid-column:1/-1}.panel{min-height:260px}.hero-panel,.forecast-stack,.overview-mini-1,.overview-mini-2,.overview-mini-3,.overview-mini-4,.daily-chart,.daily-filters,.daily-bottom-1,.daily-bottom-2,.daily-bottom-3,.daily-bottom-4,.monthly-chart,.monthly-filters,.monthly-bottom-1,.monthly-bottom-2,.monthly-bottom-3,.monthly-bottom-4,.countries-main-1,.countries-main-2,.countries-bottom-1,.countries-bottom-2,.countries-bottom-3,.countries-bottom-4,.regions-main-1,.regions-main-2,.regions-bottom-1,.regions-bottom-2,.regions-bottom-3,.regions-bottom-4,.accuracy-main-1,.accuracy-main-2,.accuracy-bottom-1,.accuracy-bottom-2,.accuracy-bottom-3,.accuracy-bottom-4{grid-column:auto;grid-row:auto}.chart-wrap{min-height:290px}.map-stage{min-height:480px}.map-panel-head{align-items:flex-start}.map-live-summary{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}
    }
    @media (max-width:640px){
      .brand-copy strong{font-size:16px}.date-step,.date-today{display:none}.toolbar{gap:5px}.toolbar-date{min-width:136px;grid-template-columns:1fr}.language-switch{height:38px}.language-switch button{width:25px;height:30px;font-size:8px}.export-btn span{display:none}.export-btn{width:38px;padding:0;justify-content:center}.kpi-row{grid-template-columns:1fr}.kpi-card:last-child{grid-column:auto}.forecast-item{grid-template-columns:40px minmax(0,1fr);}.forecast-item .fi-spark{display:none}.overview-grid,.daily-grid,.monthly-grid,.countries-grid,.regions-grid,.accuracy-grid{grid-template-columns:1fr}.countries-main-1,.countries-main-2{min-height:360px}.panel-head{flex-direction:column}.legend{gap:8px}.data-table{min-width:620px}.matrix-scroll{overflow:auto}.region-cards{grid-template-columns:1fr}.heatmap{overflow-x:auto}.heatmap-head,.heatmap-row{grid-template-columns:74px repeat(12,28px);width:max-content}.tourist-heatmap .heatmap-head,.tourist-heatmap .heatmap-row{grid-template-columns:88px repeat(12,42px)}.tourist-season-cell{height:38px}.season-legend{padding-left:92px;width:max-content}.map-stage{min-height:360px;margin:8px}.map-live-summary{grid-template-columns:1fr}.map-live-summary>span{min-width:0}.region-marker .marker-title{font-size:10.5px}.region-marker .marker-value{font-size:9px}
    }

    /* Standalone /bali-fly: readable vertical dashboard */
    body{overflow-x:hidden;overflow-y:auto}
    .brand{color:inherit;text-decoration:none}
    .brand-logo{width:118px;height:66px;object-fit:contain;filter:invert(1);mix-blend-mode:screen;flex:0 0 auto}
    .dashboard-intro{display:none}
    .dashboard-intro h1{margin:7px 0 0;font-size:clamp(34px,3vw,54px);line-height:1;letter-spacing:-.045em}
    .dashboard-intro p{max-width:820px;margin:13px 0 0;color:#a7bdb8;font-size:14px;line-height:1.55}
    .intro-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
    .intro-badges span{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid rgba(54,222,197,.16);border-radius:999px;background:rgba(8,47,43,.55);color:#a9c0bb;font-size:10px;font-weight:750;white-space:nowrap}
    .intro-badges .live{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 10px rgba(22,215,189,.65)}
    .methodology-footer{max-width:1720px;margin:18px auto 0;padding:34px 22px 46px;border-top:1px solid rgba(72,225,201,.14)}
    .methodology-heading{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);align-items:end;gap:40px;margin-bottom:22px}
    .methodology-heading h2{margin:7px 0 0;font-size:30px;letter-spacing:-.035em}
    .methodology-heading p{margin:0;color:#91aaa5;font-size:13px;line-height:1.6}
    .methodology-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
    .methodology-grid article{position:relative;min-height:230px;padding:22px;border:1px solid rgba(59,222,198,.16);border-radius:16px;background:linear-gradient(155deg,rgba(8,42,39,.88),rgba(4,25,24,.95));box-shadow:var(--shadow)}
    .method-index{display:block;color:var(--teal-2);font-size:10px;font-weight:900;letter-spacing:.14em}
    .methodology-grid h3{margin:14px 0 0;font-size:18px}
    .methodology-grid p{margin:10px 0 40px;color:#96ada8;font-size:12px;line-height:1.55}
    .method-status{position:absolute;left:22px;bottom:20px;display:inline-flex;height:25px;align-items:center;padding:0 9px;border-radius:999px;font-size:8px;font-weight:850;font-style:normal}
    .method-status.fact,.method-status.signal{color:var(--teal-2);background:rgba(22,215,189,.09);border:1px solid rgba(22,215,189,.18)}
    .method-status.forecast{color:var(--amber-2);background:rgba(243,173,39,.09);border:1px solid rgba(243,173,39,.2)}
    .method-status.model{color:#9ecfff;background:rgba(84,184,255,.08);border:1px solid rgba(84,184,255,.18)}
    .methodology-note{margin-top:14px;padding:17px 20px;border-left:3px solid var(--amber);border-radius:0 12px 12px 0;background:rgba(243,173,39,.07);color:#9fb4af;font-size:12px;line-height:1.6}.methodology-note strong{color:#ffe0a0}
    .footer-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}
    .footer-brand span{font-size:17px;font-weight:900;letter-spacing:.18em}.footer-brand small{color:#6f8a85;font-size:10px}

    @media (min-width:1101px){
      :root{--topbar-h:84px;--pad:22px}
      .topbar{position:sticky;top:0;height:84px;grid-template-columns:minmax(210px,.7fr) minmax(500px,1.3fr) minmax(270px,.8fr);padding:0 24px}
      .brand-copy strong{font-size:18px}.brand-copy span{font-size:8px}
      .workspace{position:relative;inset:auto;overflow:visible}
      .page{position:relative;inset:auto;padding:22px;overflow:visible}
      .page-grid{height:auto;max-width:1720px;margin:0 auto;gap:18px}
      .overview-grid,.daily-grid,.monthly-grid,.countries-grid,.regions-grid,.accuracy-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:140px minmax(570px,auto) minmax(420px,auto)}
      .regions-grid{grid-template-rows:140px minmax(640px,auto) minmax(430px,auto)}
      .countries-grid{grid-template-rows:140px minmax(370px,auto) minmax(330px,auto)}
      .accuracy-grid{grid-template-rows:140px minmax(590px,auto) minmax(430px,auto)}
      .monthly-grid{grid-template-rows:140px minmax(590px,auto) minmax(430px,auto) minmax(390px,auto)}
      .kpi-row{gap:18px}
      .kpi-card{padding:18px;grid-template-columns:62px minmax(0,1fr)}.kpi-icon{width:54px;height:54px}.kpi-label{font-size:11px}.kpi-value{font-size:31px}.kpi-meta{font-size:10px}.kpi-spark{width:105px;height:38px}
      .panel-head{min-height:64px;padding:20px 22px 0}.panel-head.compact{min-height:56px;padding-top:17px}.panel-title{font-size:20px}.panel-sub{font-size:11px;line-height:1.5}.panel-body{padding:16px 22px 20px}.panel-footer{min-height:40px;padding:0 20px 16px;font-size:10px}
      .legend{font-size:10px;gap:16px}.tag{height:27px;font-size:9px}.chart-wrap{padding:10px 14px 14px}
      .data-table{font-size:11px}.data-table th{padding:0 9px 11px}.data-table td{padding:9px}.matrix-scroll{overflow:visible}
      .monthly-bottom-1 .data-table{font-size:12px}.monthly-bottom-1 .data-table th{padding:0 10px 12px}.monthly-bottom-1 .data-table td{padding:10px}.monthly-bottom-1 .status-pill{height:22px;padding:0 8px;font-size:8px}
      .country-table{font-size:9.5px}.country-table td{padding:7px}
      .monthly-bottom-2 .panel-body{padding-top:18px}
      .month-chip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
      .month-chip{height:68px;padding:0 16px;border-radius:12px;font-size:14px;background:linear-gradient(145deg,rgba(11,61,56,.72),rgba(7,39,36,.82));box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:transform .18s ease,border-color .18s ease,background .18s ease}
      .month-chip:hover{transform:translateY(-2px);border-color:rgba(54,232,203,.36);background:linear-gradient(145deg,rgba(13,77,69,.78),rgba(8,47,43,.9))}
      .month-chip.forecast{background:linear-gradient(145deg,rgba(77,55,14,.55),rgba(43,35,13,.62))}
      .month-chip b{font-size:13px}.month-chip span{font-size:17px;font-weight:800;color:#f2fffc}.month-chip small{font-size:10px}
      .monthly-bottom-3 .chart-wrap{min-height:290px;padding:18px 24px 20px}
      .monthly-bottom-4 .panel-body{display:flex;align-items:center;padding:18px 26px 28px}
      .monthly-bottom-4 .comparison-list{width:100%;gap:20px}
      .monthly-bottom-4 .compare-row{grid-template-columns:70px minmax(0,1fr) 62px;gap:16px;font-size:13px}
      .monthly-bottom-4 .compare-bars{gap:7px}.monthly-bottom-4 .compare-track{height:9px}
      .monthly-bottom-4 .compare-row b{font-size:13px;text-align:right}
      .rank-row{font-size:11px;gap:11px}.rank-list{gap:11px}.region-rank{font-size:11px}.country-rank{font-size:11px;grid-template-columns:24px 150px 1fr 52px}.country-growth-row{font-size:11px;grid-template-columns:22px minmax(0,1fr) 60px}.flow-data-card strong{font-size:11px}.flow-data-card small{font-size:8px}.route-row{font-size:10px;grid-template-columns:130px 1fr 70px}.route-row .route-meta{font-size:9px}.route-row b{font-size:10px}
      .forecast-item .fi-month{font-size:12px}.forecast-item .fi-meta{font-size:10px}.metric-line span{font-size:11px}.signal-copy strong{font-size:10px}.signal-copy span{font-size:9px}.insight strong{font-size:11px}.insight span{font-size:9.5px}
      .map-label{font-size:15px}.map-value{font-size:11px}.filter-stack{gap:14px;padding:18px}.field label{font-size:11px}.field select{height:44px;font-size:11px}.filter-note{font-size:10px}
      .weekday-row,.learning-row{font-size:10px}.coverage-card span{font-size:9px}.coverage-card strong{font-size:17px}.coverage-card small{font-size:8px}
      .accuracy-grid{grid-template-rows:104px 330px 188px;gap:12px}.accuracy-kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.accuracy-grid .kpi-card{padding:11px 14px;grid-template-columns:46px minmax(0,1fr)}.accuracy-grid .kpi-icon{width:40px;height:40px}.accuracy-grid .kpi-label{font-size:8.5px}.accuracy-grid .kpi-value{font-size:24px}.accuracy-grid .kpi-meta{font-size:7.5px;margin-top:5px}.accuracy-grid .kpi-spark{width:74px;height:24px;right:10px;bottom:9px}.accuracy-main-1{grid-column:1/9}.accuracy-main-2{grid-column:9/-1}.accuracy-bottom-1{grid-column:1/4}.accuracy-bottom-2{grid-column:4/7}.accuracy-bottom-3{grid-column:7/9}.accuracy-bottom-4{grid-column:9/-1}.accuracy-grid .panel-head{min-height:49px;padding:12px 15px 0}.accuracy-grid .panel-head.compact{min-height:38px;padding:9px 12px 0}.accuracy-grid .panel-title{font-size:16px}.accuracy-grid .panel-sub{font-size:8px;margin-top:3px}.accuracy-grid .panel-body{padding:6px 12px 8px}.accuracy-grid .chart-wrap{min-height:0;padding:0 5px 4px}.accuracy-grid .panel-footer{min-height:24px;padding:0 12px 6px;font-size:7.5px}.accuracy-grid .data-table{font-size:7.5px}.accuracy-grid .data-table th{padding:0 4px 4px}.accuracy-grid .data-table td{padding:3px 4px}.accuracy-grid .insights{gap:6px}.accuracy-grid .insight{grid-template-columns:25px 1fr;gap:7px}.accuracy-grid .insight-icon{width:24px;height:24px}.accuracy-grid .insight strong{font-size:8.5px}.accuracy-grid .insight span{font-size:7px;margin-top:2px}.accuracy-grid .accuracy-mini-panel,.accuracy-grid .accuracy-verdict{border-radius:14px;box-shadow:0 12px 28px rgba(0,0,0,.16)}.accuracy-grid .accuracy-mini-panel{background:linear-gradient(155deg,rgba(7,39,36,.95),rgba(4,24,23,.97))}.accuracy-grid .accuracy-mini-panel .panel-title,.accuracy-grid .accuracy-verdict .panel-title{font-size:14px}
    }

    @media (max-height:850px) and (min-width:1101px){.accuracy-grid{grid-template-rows:88px 282px 164px}.accuracy-grid .kpi-card{padding:8px 11px}.accuracy-grid .kpi-icon{width:36px;height:36px}.accuracy-grid .kpi-value{font-size:21px}.accuracy-grid .panel-head{min-height:43px;padding-top:9px}.accuracy-grid .panel-head.compact{min-height:34px;padding-top:7px}.accuracy-grid .panel-body{padding-top:4px}.accuracy-grid .data-table td{padding:2px 4px}.accuracy-grid .insights{gap:4px}}

    @media (max-width:1100px){
      .brand-logo{width:86px;height:48px}.dashboard-intro{padding:24px 14px 20px;display:block}.dashboard-intro h1{font-size:34px}.dashboard-intro p{font-size:12px}.intro-badges{justify-content:flex-start;margin-top:16px}
      .methodology-footer{padding:28px 14px 38px}.methodology-heading{grid-template-columns:1fr;gap:12px}.methodology-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .accuracy-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.accuracy-kpi-row .kpi-card:last-child{grid-column:auto}.accuracy-page .accuracy-main-1,.accuracy-page .accuracy-main-2{min-height:320px}.accuracy-page .accuracy-mini-panel,.accuracy-page .accuracy-verdict{min-height:190px}.accuracy-page .accuracy-mini-panel .chart-wrap{min-height:118px}
    }
    @media (max-width:640px){
      .brand-copy{display:none}.brand-logo{width:104px;height:58px}.dashboard-intro h1{font-size:30px}.intro-badges span{font-size:8px;height:30px}.methodology-grid{grid-template-columns:1fr}.methodology-heading h2{font-size:25px}.footer-brand{align-items:flex-start;flex-direction:column}.country-growth-row{grid-template-columns:22px minmax(0,1fr) 58px}.country-growth-spark{display:none}.flow-structure-split strong{min-width:0;padding:0 8px}
    }

/* One-page Bali Fly: every section is visible; tabs are scroll anchors. */
.topbar{position:sticky;inset:auto;top:0}
.workspace{position:relative;inset:auto;overflow:visible}
.page,.page.active{position:relative;inset:auto;display:block;overflow:visible;scroll-margin-top:calc(var(--topbar-h) + 16px);animation:none}
.page:not(#page-overview){padding-top:30px;border-top:1px solid rgba(72,225,201,.12)}
.page:not(#page-overview)::before{content:attr(data-title);display:block;max-width:1720px;margin:0 auto 16px;color:#f2fffc;font-size:clamp(24px,2.2vw,36px);font-weight:820;letter-spacing:-.04em}
.page-grid{height:auto}
#monthlyKpis,#countryKpis,#regionKpis,#accuracyKpis{display:none}
body.date-loading{cursor:progress}
body.date-loading .toolbar-date{opacity:.55;pointer-events:none}
body.date-loading::after{content:var(--date-loading-text,'Обновляем срез данных…');position:fixed;right:24px;bottom:24px;z-index:4000;padding:12px 16px;border:1px solid rgba(38,229,200,.35);border-radius:12px;background:rgba(3,28,26,.96);color:#eafffb;font-size:11px;font-weight:800;box-shadow:0 14px 36px rgba(0,0,0,.36)}

@media (min-width:1101px){
  .page{padding:28px 22px 48px}
  .overview-grid{grid-template-rows:140px minmax(570px,auto) minmax(420px,auto)}
  .daily-grid{grid-template-rows:minmax(620px,auto) minmax(390px,auto)}
  .daily-chart{grid-column:1/10;grid-row:1}.daily-filters{grid-column:10/-1;grid-row:1}
  .daily-bottom-1{grid-column:1/9;grid-row:2}.daily-bottom-2{grid-column:9/-1;grid-row:2}
  .monthly-grid{grid-template-rows:minmax(620px,auto) minmax(430px,auto)}
  .monthly-chart{grid-column:1/11;grid-row:1}.monthly-filters{grid-column:11/-1;grid-row:1}
  .monthly-bottom-1{grid-column:1/-1;grid-row:2}
  .countries-grid{grid-template-rows:minmax(430px,auto) auto minmax(370px,auto)}
  .countries-main-1{grid-column:1/6;grid-row:1}.countries-main-2{grid-column:6/-1;grid-row:1}
  .countries-bottom-1{grid-column:1/-1;grid-row:2}.countries-bottom-2{grid-column:1/7;grid-row:3}.countries-bottom-3{grid-column:7/10;grid-row:3}.countries-bottom-4{grid-column:10/-1;grid-row:3}
  .countries-bottom-1 .matrix-scroll{overflow:visible}.countries-bottom-1 .country-table{font-size:11px}.countries-bottom-1 .country-table td{padding:8px 10px}
  .regions-grid{grid-template-rows:minmax(650px,auto) minmax(430px,auto)}
  .regions-main-1{grid-column:1/8;grid-row:1}.regions-main-2{grid-column:8/-1;grid-row:1}
  .regions-bottom-1{grid-column:1/4;grid-row:2}.regions-bottom-2{grid-column:4/7;grid-row:2}.regions-bottom-3{grid-column:7/10;grid-row:2}.regions-bottom-4{grid-column:10/-1;grid-row:2}
  .accuracy-grid{grid-template-rows:minmax(430px,auto) minmax(250px,auto)}
  .accuracy-main-1{grid-column:1/9;grid-row:1}.accuracy-main-2{grid-column:9/-1;grid-row:1}
  .accuracy-bottom-1{grid-column:1/4;grid-row:2}.accuracy-bottom-2{grid-column:4/7;grid-row:2}.accuracy-bottom-3{grid-column:7/9;grid-row:2}.accuracy-bottom-4{grid-column:9/-1;grid-row:2}
}

@media (max-width:1100px){
  .page,.page.active{display:block;padding:18px 10px 34px}
  .page:not(#page-overview)::before{margin-bottom:14px;padding:0 4px}
  #monthlyKpis,#countryKpis,#regionKpis,#accuracyKpis{display:none}
}
/* Geographic raster base with interactive HTML/SVG demand overlays. */
.country-map-raster{opacity:.98;filter:saturate(1.02) contrast(1.03)}.world-graticule line{stroke:#57d9ca;stroke-width:.45;stroke-opacity:.09;vector-effect:non-scaling-stroke}.world-routes line{stroke:#38e6d0;stroke-width:.75;stroke-opacity:.3;stroke-dasharray:3 5}.world-points g{cursor:pointer}
