:root{--bg:#e9f1ff;--panel:#f6f9ff;--card:#eef4ff;--card2:#fff;--bd:#d6e4fb;--tx:#0e2a5b;--mut:#6a82a9;--pri:#1565d8;--pri2:#2b8cff;--good:#12a36b;--bad:#e5484d}
html.dark{--bg:#071126;--panel:#0d1b36;--card:#112245;--card2:#0a1730;--bd:#1f365f;--tx:#e6eeff;--mut:#8fa6cf}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--tx);-webkit-font-smoothing:antialiased;margin:0}
.muted{color:var(--mut)}

/* Hero */
.hero{background:radial-gradient(60% 120% at 62% 10%,rgba(176,110,255,.75),transparent 60%),radial-gradient(40% 90% at 35% 30%,rgba(70,160,255,.6),transparent 70%),linear-gradient(110deg,#0a3a92 0%,#1a5fd8 40%,#5a58e6 62%,#1d62d6 80%,#0a47a8 100%)}
html.dark .hero{filter:brightness(.8)}
.panel{background:var(--panel);border:1px solid var(--bd);border-radius:28px 28px 24px 24px;box-shadow:0 20px 50px -20px rgba(21,101,216,.28)}

/* Theme toggle */
.theme{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:4px 4px 4px 10px;color:#fff;cursor:pointer}
.theme .knob{width:34px;height:20px;border-radius:999px;background:#eaf1ff;position:relative;transition:.2s}
.theme .knob::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#2b8cff;transition:.2s}
html.dark .theme .knob::after{left:16px}

/* Sidebar */
#sidebar{background:var(--card2);border:1px solid var(--bd);border-radius:18px;padding:6px;box-shadow:0 8px 24px -16px rgba(21,101,216,.4)}
.nav-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:9px 12px;border-radius:12px;border:0;background:transparent;color:var(--tx);cursor:pointer;border-left:3px solid transparent;transition:background .15s}
.nav-item:hover,.nav-item.active{background:var(--card)}
.nav-item.active{border-left-color:var(--pri)}
.nav-item .ico{flex:none}
.nav-item b{display:block;font-size:12.5px;font-weight:600}
.nav-item small{display:block;font-size:10.5px;color:var(--mut);line-height:1.3}
.nav-item .fa-chevron-right{font-size:10px;color:var(--mut);margin-left:auto}
.ico{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#dbe9ff;color:var(--pri);font-size:14px;flex:none}
html.dark .ico{background:#183463;color:#7db4ff}
.ico.lg{width:40px;height:40px}

/* Cards */
.card{background:var(--card);border:1px solid var(--bd);border-radius:12px}
.card2{background:var(--card2);border:1px solid var(--bd);border-radius:18px}
.lbl{font-size:11.5px;color:var(--mut)}
.sub{font-size:11px;color:var(--mut);margin-top:2px}
.big{font-size:clamp(22px,2vw,30px);font-weight:700;color:var(--pri);line-height:1.2;margin-top:4px}
html.dark .big{color:#6fb0ff}
.mid{font-size:clamp(15px,1.3vw,19px);font-weight:600;color:var(--pri);margin-top:2px}
html.dark .mid{color:#6fb0ff}
.kcol{padding-left:14px;min-width:0;border-left:1px solid var(--bd)}
.ct{font-size:12.5px;font-weight:600;margin:0 0 8px}

/* Tabs / select */
.tab,.sel{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;font-size:12.5px;font-weight:500;border-radius:8px;border:1px solid var(--bd);background:var(--card);color:var(--pri);cursor:pointer;transition:.15s}
.tab:hover{background:var(--card2)}
.tab.active{background:linear-gradient(180deg,#2b8cff,#1565d8);color:#fff;border-color:transparent;box-shadow:0 6px 14px -6px rgba(21,101,216,.7)}
.sel{padding:0 12px;color:var(--tx);position:relative;width:100%}
.sel select{appearance:none;background:transparent;border:0;outline:0;flex:1;color:inherit;font:inherit;cursor:pointer}
.sel::after{content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;font-size:9px;pointer-events:none}
.sel option,.inp option{color:#0e2a5b}

/* Accordions */
.acc{background:var(--card);border:1px solid var(--bd);border-radius:12px;overflow:hidden}
.acc-h{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:transparent;border:0;color:var(--tx);cursor:pointer}
.acc-h b{display:block;font-size:13.5px;font-weight:600}
.acc-h small{display:block;font-size:11px;color:var(--mut);margin-top:2px}
.acc-h.more{background:var(--card2);border:1px solid var(--bd);border-radius:12px;color:var(--pri)}
.chev{font-size:11px;color:var(--mut);transition:transform .2s}
.acc.open>.acc-h .chev{transform:rotate(-90deg)}
.acc-b{display:none;padding:4px 16px 16px}
.acc.open>.acc-b{display:block;animation:fade .18s ease}
@keyframes fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* Fields */
.fld label{display:block;font-size:12px;font-weight:500;margin-bottom:6px}
.inp{display:flex;align-items:center;height:44px;background:var(--card2);border:1px solid var(--bd);border-radius:8px;overflow:hidden;transition:.15s}
.inp:focus-within{border-color:var(--pri2);box-shadow:0 0 0 3px rgba(43,140,255,.2)}
.inp input,.inp select{flex:1;min-width:0;height:100%;padding:0 12px;border:0;outline:0;background:transparent;color:var(--tx);font:500 14px 'Inter',sans-serif}
.inp .cur{padding-left:14px;font-weight:500;color:var(--pri)}
.inp .cur+input{padding-left:12px}
.inp .suf{padding:0 14px;height:100%;display:grid;place-items:center;background:var(--card);border-left:1px solid var(--bd);color:var(--pri);font-size:13px}
.inp .suf.wide{background:transparent;border:0;color:var(--mut);font-size:12.5px}
.badge{font-style:normal;font-size:10px;font-weight:500;color:var(--pri);background:var(--card);padding:4px 8px;border-radius:6px;margin-right:8px;white-space:nowrap}
input[type=number]::-webkit-inner-spin-button{opacity:.4}

/* Charts */
.donut{position:relative;width:128px;height:128px;flex:none}
.dc{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}
.dc b{font-size:12.5px}.dc span{font-size:9px;color:var(--mut)}
.legend div{display:flex;align-items:center;gap:8px;font-size:11.5px;padding:3px 0}
.legend i{width:9px;height:9px;border-radius:50%}
.legend span:nth-child(3){margin-left:auto;font-weight:500}
.legend span:nth-child(4){width:42px;text-align:right;color:var(--mut)}

/* Buttons */
.btn-dark,.btn-lt{display:flex;align-items:center;gap:8px;width:100%;height:40px;padding:0 14px;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;transition:.15s}
.btn-dark{background:linear-gradient(90deg,#123f8f,#1a56c0);color:#fff;border:0}
.btn-dark:hover{filter:brightness(1.12)}
.btn-lt{justify-content:center;background:var(--card);border:1px solid var(--bd);color:var(--tx)}
.btn-lt:hover{background:var(--card2)}


/* Toast */
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#0e2a5b;color:#fff;padding:10px 18px;border-radius:10px;font-size:13px;opacity:0;pointer-events:none;transition:.25s;z-index:60}
#toast.show{opacity:1;transform:translate(-50%,0)}

/* Mobile */
#burger{position:fixed;top:12px;left:12px;z-index:50;width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.35);background:rgba(10,58,146,.85);backdrop-filter:blur(8px);color:#fff;font-size:17px;box-shadow:0 6px 16px rgba(0,0,0,.25)}
#scrim{display:none;position:fixed;inset:0;background:rgba(5,15,40,.5);z-index:40}
@media (max-width:1023px){
  #sidebar{position:fixed;top:0;left:0;bottom:0;width:min(86vw,320px);z-index:45;border-radius:0 18px 18px 0;overflow-y:auto;transform:translateX(-105%);transition:transform .25s ease;padding-top:64px}
  #sidebar.open{transform:none}
  #scrim.show{display:block}
  .donut{width:116px;height:116px}
}
@media (min-width:1024px){
  #sidebar{position:sticky;top:12px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
@media print{#burger,#scrim,#sidebar,.ad-rail,header nav,.theme,#toast,.btn-dark,.btn-lt{display:none!important}.hero{background:#1a5fd8!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.panel{display:block}}

/* Page shell + ad rails */
.page-wrap{display:flex;justify-content:center;align-items:flex-start;gap:16px;padding:0 8px 40px}
.shell{flex:1 1 auto;min-width:0;max-width:1720px;margin-top:-18px;position:relative}
.dash-grid{grid-template-columns:minmax(0,1fr)}
@media (min-width:1024px){.dash-grid{grid-template-columns:270px minmax(0,1fr) 310px}}
@media (min-width:1280px){.dash-grid{grid-template-columns:335px minmax(0,1fr) 372px}}
.ad-rail{display:none}
/* Fixed 300x600 slots: size is locked so refreshing ads never shift the layout (no CLS) */
.ad-slot{width:300px;height:600px;min-width:300px;min-height:600px;max-width:300px;max-height:600px;flex:none;overflow:hidden;contain:strict;background:transparent;border:0;border-radius:0;box-shadow:none;outline:0}
@media (min-width:1880px){
  .dash-grid{grid-template-columns:290px minmax(0,1fr) 340px}
  /* Three lanes: left | dashboard | right. Any spare width is shared equally by the
     two side lanes, and each ad column is centred inside its own lane. */
  .page-wrap{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,1720px) minmax(300px,1fr);column-gap:16px}
  .ad-rail{display:flex;flex-direction:column;gap:16px;width:300px;margin-top:16px;justify-self:center}
}
@media (min-width:2200px){.dash-grid{grid-template-columns:335px minmax(0,1fr) 372px}}

/* Currency dropdown */
.cur-dd{position:relative;width:200px}
.cur-btn{display:flex;align-items:center;gap:10px;width:100%;height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--bd);background:linear-gradient(180deg,var(--card2),var(--card));box-shadow:0 6px 16px -10px rgba(21,101,216,.55);color:var(--tx);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.cur-btn:hover,.cur-btn[aria-expanded=true]{border-color:var(--pri2)}
.cur-btn[aria-expanded=true]{box-shadow:0 0 0 3px rgba(43,140,255,.2)}
.cur-btn:focus-visible{outline:2px solid var(--pri2);outline-offset:2px}
.cur-chev{font-size:10px;color:var(--mut);transition:transform .2s}
.cur-btn[aria-expanded=true] .cur-chev{transform:rotate(180deg)}
.flag{width:28px;height:20px;border-radius:4px;object-fit:cover;flex:none;background:var(--card);box-shadow:0 0 0 1px rgba(14,42,91,.15),0 2px 5px rgba(14,42,91,.2)}
.cur-txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;flex:1;min-width:0;text-align:left}
.cur-txt b{font-size:13px;font-weight:600}
.cur-txt small{font-size:10.5px;color:var(--mut);font-weight:400}
.cur-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:270px;max-height:340px;overflow:auto;margin:0;padding:6px;list-style:none;background:var(--card2);border:1px solid var(--bd);border-radius:16px;box-shadow:0 24px 48px -16px rgba(14,42,91,.4);z-index:40;transform-origin:top left;animation:pop .16s ease}
.cur-menu.align-right{left:auto;right:0}
.cur-opt{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;cursor:pointer}
.cur-opt:hover,.cur-opt.kb{background:var(--card)}
.cur-opt[aria-selected=true]{background:linear-gradient(90deg,rgba(43,140,255,.16),rgba(43,140,255,.04))}
.cur-sym{font-style:normal;font-size:12px;font-weight:600;color:var(--pri);background:var(--card);border-radius:6px;padding:2px 8px}
.cur-opt .ck{width:14px;font-size:11px;color:var(--pri);opacity:0}
.cur-opt[aria-selected=true] .ck{opacity:1}
@keyframes pop{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}

/* Settings panels: result cards */
.acc-b .outs{margin-top:16px;padding-top:14px;border-top:1px solid var(--bd)}
.ocard{background:var(--card2);border:1px solid var(--bd);border-radius:10px;padding:10px 12px}
.acc-h.more[aria-expanded=true] .chev{transform:rotate(180deg)}

/* Adaptive panel grids (region-only fields are hidden for other regions) */
.fgrid{display:grid;grid-template-columns:minmax(0,1fr)}
.ogrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
@media (min-width:640px){
  .fgrid[data-c="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fgrid[data-c="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ogrid[data-c="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ogrid[data-c="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
}
/* Region menu heading */
.cur-head{padding:6px 10px 4px;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--mut)}
.cur-txt small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Cookie consent banner (Vanilla CookieConsent v3) */
html #cc-main{
  --cc-font-family:'Inter',system-ui,sans-serif;
  --cc-bg:var(--card2);--cc-primary-color:var(--tx);--cc-secondary-color:var(--mut);
  --cc-separator-border-color:var(--bd);
  --cc-btn-primary-bg:var(--pri);--cc-btn-primary-color:#fff;--cc-btn-primary-border-color:var(--pri);
  --cc-btn-primary-hover-bg:#0f56bd;--cc-btn-primary-hover-color:#fff;--cc-btn-primary-hover-border-color:#0f56bd;
  --cc-btn-secondary-bg:transparent;--cc-btn-secondary-color:var(--mut);--cc-btn-secondary-border-color:var(--bd);
  --cc-btn-secondary-hover-bg:var(--card);--cc-btn-secondary-hover-color:var(--tx);--cc-btn-secondary-hover-border-color:var(--bd);
  --cc-toggle-on-bg:var(--pri);
  --cc-cookie-category-block-bg:var(--card);--cc-cookie-category-block-border:var(--bd);
  --cc-cookie-category-block-hover-bg:var(--card);--cc-cookie-category-expanded-block-bg:var(--card);
  --cc-modal-border-radius:14px;--cc-btn-border-radius:10px;--cc-modal-margin:.75rem;
}
/* Compact banner: centred, one third of the viewport width (never narrower than 340px) */
#cc-main .cm{
  width:clamp(340px,33.333vw,calc(100vw - 1.5rem))!important;max-width:none!important;
  left:0!important;right:0!important;bottom:0!important;margin:0 auto!important;  /* flush with the bottom of the page; the library's own slide-in animation is kept */
  border-radius:var(--cc-modal-border-radius) var(--cc-modal-border-radius) 0 0!important;
  padding-bottom:env(safe-area-inset-bottom,0px);
}
#cc-main .cm__body{display:flex!important;flex-direction:row!important;align-items:center!important}
#cc-main .cm__texts{flex:1 1 auto!important;min-width:0;padding:.6rem .5rem .6rem 1rem!important}
#cc-main .cm__desc{font-size:.78rem!important;line-height:1.4!important;margin:0!important}
#cc-main .cm__btns{flex:0 0 auto!important;padding:.6rem 1rem .6rem 0!important}
#cc-main .cm__btn-group{display:flex!important;flex-direction:row!important;align-items:center;gap:.4rem;margin:0!important}
#cc-main .cm__btn-group .cm__btn{margin:0!important}
/* Accept All: larger and more prominent. Reject All: small. */
#cc-main .cm__btn[data-role="all"]{font-size:1.12rem;font-weight:700;padding:.85em 2.2em;min-width:170px;letter-spacing:.01em;box-shadow:0 10px 24px -8px rgba(21,101,216,.8)}
#cc-main .cm__btn[data-role="necessary"]{font-size:.62rem;font-weight:500;padding:.35em .7em}
/* Narrower screens: text on top, buttons underneath */
@media (max-width:1499px){
  #cc-main .cm__body{flex-direction:column!important;align-items:stretch!important}
  #cc-main .cm__texts{padding:.7rem 1rem .2rem!important}
  #cc-main .cm__btns{padding:.4rem 1rem .8rem!important}
  #cc-main .cm__btn-group{justify-content:flex-end}
  #cc-main .cm__btn[data-role="all"]{flex:1 1 auto;min-width:0}
}
[data-cc-open]{cursor:pointer}
@media print{#cc-main{display:none!important}}
