/* Refined dark SaaS theme layer.
   This file intentionally changes presentation only. Existing ids, data-action
   hooks, and behavior classes such as .on/.open/.show stay owned by app.js. */

:root{
  --bg:#0a0d12;
  --bg2:#10141b;
  --bg3:#161b24;
  --bg4:#1d2330;
  --border:#222a38;
  --border2:#2c3648;
  --text:#b6c0d0;
  --muted:#7d8aa0;
  --muted2:#56627a;
  --accent:#f5b342;
  --accent2:#e89821;
  --blue:#5aa9ff;
  --green:#3ddc97;
  --red:#ff6b6b;
  --orange:#ff9a55;
  --radius:12px;
  --radius-lg:22px;
  --panel-shadow:0 1px 0 #ffffff08 inset,0 20px 54px -24px #000000d0;
  --refined-surface:linear-gradient(180deg,#161b24,#10141b);
  --refined-surface-soft:linear-gradient(180deg,#141923,#0f141c);
  --refined-chip:#1d2330;
  --refined-glow:0 0 0 4px #f5b34218;
}

body.v2-shell{
  background:
    radial-gradient(1200px 620px at 84% -10%,#f5b34210,transparent 62%),
    radial-gradient(900px 520px at -10% 32%,#5aa9ff08,transparent 62%),
    #0a0d12;
  color:var(--text);
  font-family:'IBM Plex Sans',sans-serif;
}

body.v2-shell button,
body.v2-shell input,
body.v2-shell select,
body.v2-shell textarea{
  font-family:'IBM Plex Sans',sans-serif;
}

body.v2-shell input:focus,
body.v2-shell select:focus,
body.v2-shell textarea:focus{
  border-color:var(--accent) !important;
  box-shadow:var(--refined-glow);
  outline:none;
}

body.v2-shell .topbar{
  max-width:1560px;
  margin:16px auto 0;
  padding:14px 18px;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(16,20,27,.86);
  box-shadow:0 1px 0 #ffffff08 inset,0 18px 48px -26px #000;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  top:12px;
}

body.v2-shell .tbrand{
  gap:3px;
}

body.v2-shell .tlogo{
  font-size:18px;
  font-weight:700;
  letter-spacing:-.02em;
  color:#eef2f8;
}

body.v2-shell .tlogo span{
  color:var(--accent);
}

body.v2-shell .tmeta-line{
  color:var(--muted);
  font-size:11px;
  letter-spacing:.08em;
}

body.v2-shell .urow{
  padding:6px;
  gap:8px;
  border:1px solid var(--border2);
  border-radius:999px;
  background:var(--bg4);
  box-shadow:0 1px 0 #ffffff08 inset;
}

body.v2-shell .orgsel,
body.v2-shell .sitebar-btn,
body.v2-shell .sobtn,
body.v2-shell .program-date-input,
body.v2-shell .program-date-reset,
body.v2-shell .toolbtn,
body.v2-shell .toolselect,
body.v2-shell .mini-btn,
body.v2-shell .chip-btn,
body.v2-shell .entry-preview-link{
  border-color:var(--border2);
  background:var(--bg3);
  color:#eef2f8;
  border-radius:10px;
  box-shadow:0 1px 0 #ffffff06 inset;
}

body.v2-shell .sitebar-btn:hover,
body.v2-shell .sobtn:hover,
body.v2-shell .toolbtn:hover,
body.v2-shell .chip-btn:hover,
body.v2-shell .mini-btn:hover{
  border-color:var(--border2);
  background:#1a212d;
  color:#eef2f8;
}

body.v2-shell .plan-strip{
  max-width:1560px;
  margin:14px auto 0;
  padding:0 18px;
}

body.v2-shell .plan-shell{
  padding:0;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--refined-surface);
  box-shadow:var(--panel-shadow);
}

body.v2-shell .plan-shell-head{
  padding:16px 20px;
  margin:0;
  gap:16px;
}

body.v2-shell .plan-shell:not(.collapsed) .plan-shell-head{
  border-bottom:1px solid var(--border);
}

body.v2-shell .plan-toggle{
  color:#eef2f8;
}

body.v2-shell .plan-toggle-icon{
  width:22px;
  height:22px;
  border-radius:7px;
  border-color:var(--border2);
  background:var(--bg4);
  color:var(--muted);
  font-size:16px;
}

body.v2-shell .plan-shell-title{
  color:#eef2f8;
  font-size:13px;
  font-weight:700;
}

body.v2-shell .plan-shell-copy,
body.v2-shell .program-date-copy span,
body.v2-shell .plan-usage-sub{
  color:var(--muted);
}

body.v2-shell .program-date-box{
  gap:12px;
}

body.v2-shell .program-date-copy strong{
  color:var(--muted);
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.06em;
}

body.v2-shell .program-date-input{
  height:38px;
  min-width:150px;
  background:#0a0d12;
  color:#eef2f8;
  color-scheme:dark;
}

body.v2-shell .program-date-reset{
  height:38px;
  border-style:dashed;
  color:var(--muted);
}

body.v2-shell .plan-pill{
  border-color:#2a7659;
  background:#3ddc9714;
  color:#bff7df;
}

body.v2-shell .plan-details{
  padding:16px 20px 18px;
}

body.v2-shell .plan-usage{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
}

body.v2-shell .plan-usage-card{
  border:0;
  border-radius:0;
  background:#10141b;
  padding:18px 20px;
}

body.v2-shell .plan-usage-label,
body.v2-shell .entry-kicker,
body.v2-shell .slabel,
body.v2-shell .entry-stat-label,
body.v2-shell .quick-panel-title,
body.v2-shell .chart-section-title,
body.v2-shell .ttitle2,
body.v2-shell .report-title{
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
}

body.v2-shell .plan-usage-value{
  color:#eef2f8;
  font-family:'IBM Plex Mono',monospace;
  font-size:22px;
  font-weight:600;
}

body.v2-shell .plan-usage-bar{
  height:5px;
  background:#0a0d12;
}

body.v2-shell .plan-usage-bar > span{
  background:linear-gradient(90deg,var(--blue),var(--accent));
}

body.v2-shell .plan-manage{
  margin-top:14px;
}

body.v2-shell .plan-manage a,
body.v2-shell .plan-manage button{
  border:1px solid var(--border2);
  border-radius:10px;
  background:var(--bg3);
  color:#eef2f8;
}

body.v2-shell .main{
  max-width:1560px;
  margin:0 auto;
  padding:22px 18px 44px;
}

body.v2-shell .v2-layout{
  display:grid;
  grid-template-columns:248px minmax(0,1fr);
  gap:18px;
  align-items:start;
}

body.v2-shell .v2-rail{
  position:sticky;
  top:108px;
  display:grid;
  gap:14px;
}

body.v2-shell .v2-rail-card,
body.v2-shell .v2-rail-nav,
body.v2-shell .workspace-hero,
body.v2-shell .entry-sec,
body.v2-shell .report-sec,
body.v2-shell .tsec,
body.v2-shell .calc-hero,
body.v2-shell .calc-block,
body.v2-shell .calc-section,
body.v2-shell .calc-meta-card,
body.v2-shell .calc-preview-card,
body.v2-shell .calc-group-card,
body.v2-shell .calc-insight-card,
body.v2-shell .calc-alert,
body.v2-shell .calc-confidence-bar,
body.v2-shell .quick-panel,
body.v2-shell .entry-preview,
body.v2-shell .entry-stat,
body.v2-shell .mini-stat,
body.v2-shell .dash-card,
body.v2-shell .plan-card,
body.v2-shell .risk-card,
body.v2-shell .chart-section,
body.v2-shell .records-toolbar-shell,
body.v2-shell .records-table-shell,
body.v2-shell .supplier-card,
body.v2-shell .supplier-detail-card,
body.v2-shell .supplier-metric,
body.v2-shell .supplier-overview-card,
body.v2-shell .supplier-formula,
body.v2-shell .supplier-accordion,
body.v2-shell .supplier-note-card{
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--refined-surface);
  box-shadow:var(--panel-shadow);
}

body.v2-shell .v2-rail-card{
  padding:18px;
}

body.v2-shell .v2-rail-kicker{
  color:var(--muted);
  font-size:11px;
  letter-spacing:.1em;
}

body.v2-shell .v2-rail-title{
  color:#eef2f8;
  font-size:31px;
  line-height:.95;
  letter-spacing:-.045em;
}

body.v2-shell .v2-rail-title span{
  color:var(--accent);
}

body.v2-shell .v2-rail-nav{
  padding:8px;
}

body.v2-shell .v2-nav-btn{
  border-radius:12px;
  color:#eef2f8;
}

body.v2-shell .v2-nav-btn:hover{
  border-color:var(--border2);
  background:#1a212d;
}

body.v2-shell .v2-nav-btn .v2-nav-meta{
  color:var(--muted);
}

body.v2-shell .workspace-hero{
  padding:20px;
  overflow:hidden;
}

body.v2-shell .stats{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}

body.v2-shell .sc{
  min-height:130px;
  padding:18px 20px;
  border-radius:16px;
  border-color:var(--border);
  background:#10141b;
  box-shadow:0 1px 0 #ffffff06 inset;
}

body.v2-shell .sc::before{
  width:2px;
  opacity:1;
}

body.v2-shell .sc.sc-primary,
body.v2-shell .sc.sc-usd,
body.v2-shell .sc.sc-count,
body.v2-shell .sc.sc-rate{
  background:
    radial-gradient(220px 120px at 90% 0%,#ffffff08,transparent 62%),
    #10141b;
}

body.v2-shell .sc.sc-primary::before{background:var(--accent);}
body.v2-shell .sc.sc-usd::before{background:var(--blue);}
body.v2-shell .sc.sc-count::before{background:var(--green);}
body.v2-shell .sc.sc-rate::before{background:var(--orange);}

body.v2-shell .sval,
body.v2-shell .sval.blue,
body.v2-shell .sval.green{
  color:#eef2f8;
  font-size:24px;
  font-weight:600;
  letter-spacing:-.035em;
}

body.v2-shell .sc.sc-primary .sval,
body.v2-shell .total-usd,
body.v2-shell .month-total,
body.v2-shell .month-detail-amount,
body.v2-shell .entry-preview-amount,
body.v2-shell .top-amount,
body.v2-shell .vendor-amount,
body.v2-shell .plan-amount{
  color:var(--accent);
}

body.v2-shell .ssub{
  color:var(--muted);
}

body.v2-shell .workspace-tabs,
body.v2-shell .analysis-tabs,
body.v2-shell .ftabs{
  gap:8px;
}

body.v2-shell .workspace-tab,
body.v2-shell .analysis-tab,
body.v2-shell .ftab,
body.v2-shell .supplier-detail-tab{
  border:1px solid var(--border2);
  border-radius:999px;
  background:var(--bg3);
  color:var(--muted);
  box-shadow:0 1px 0 #ffffff06 inset;
  transition:background .15s,border-color .15s,color .15s,transform .15s;
}

body.v2-shell .workspace-tab:hover,
body.v2-shell .analysis-tab:hover,
body.v2-shell .ftab:hover,
body.v2-shell .supplier-detail-tab:hover{
  transform:translateY(-1px);
  border-color:var(--border2);
  color:#eef2f8;
  background:#1a212d;
}

body.v2-shell .workspace-tab.on,
body.v2-shell .analysis-tab.on,
body.v2-shell .supplier-detail-tab.on,
body.v2-shell .ftab.on,
body.v2-shell .ftab.f-all.on,
body.v2-shell .ftab.f-nakit.on,
body.v2-shell .ftab.f-kk.on,
body.v2-shell .ftab.f-cek.on,
body.v2-shell .ftab.f-future.on{
  border-color:#d79835;
  background:linear-gradient(180deg,var(--accent),var(--accent2));
  color:#0a0d12;
  box-shadow:0 8px 24px -14px #f5b342;
}

body.v2-shell .entry-title,
body.v2-shell .overview-title,
body.v2-shell .calc-title,
body.v2-shell .records-toolbar-title,
body.v2-shell .records-table-title{
  color:#eef2f8;
  letter-spacing:-.045em;
}

body.v2-shell .entry-title{
  font-size:42px;
  line-height:.98;
  max-width:13ch;
}

body.v2-shell .entry-copy,
body.v2-shell .overview-copy,
body.v2-shell .calc-copy,
body.v2-shell .records-toolbar-copy,
body.v2-shell .records-table-copy,
body.v2-shell .calc-block-copy,
body.v2-shell .chart-section-sub{
  color:var(--muted);
}

body.v2-shell .entry-badge,
body.v2-shell .records-mini-pill,
body.v2-shell .overview-meta-pill,
body.v2-shell .param-chip,
body.v2-shell .calc-preview-badge{
  border:1px solid var(--border2);
  background:var(--bg3);
  color:#eef2f8;
  border-radius:999px;
}

body.v2-shell .fl input,
body.v2-shell .fl select,
body.v2-shell .search-box,
body.v2-shell .dcard-input input,
body.v2-shell .dcard-input select,
body.v2-shell .calc-helper-row input,
body.v2-shell .calc-cat-input{
  border-color:var(--border2);
  background:#0a0d12;
  color:#eef2f8;
  border-radius:10px;
}

body.v2-shell .fl label{
  color:var(--muted);
  letter-spacing:.08em;
}

body.v2-shell .abtn,
body.v2-shell .mini-btn.primary,
body.v2-shell .toolbtn.accent{
  border:1px solid #d79835;
  background:linear-gradient(180deg,var(--accent),var(--accent2));
  color:#0a0d12;
  box-shadow:0 14px 32px -24px #f5b342;
}

body.v2-shell .entry-preview-row,
body.v2-shell .month-row,
body.v2-shell .compare-month-row,
body.v2-shell .cheque-row,
body.v2-shell .timeline-row,
body.v2-shell .supplier-ledger-row,
body.v2-shell .supplier-agreement-row{
  border-color:var(--border);
  background:#0f141c;
  border-radius:12px;
}

body.v2-shell .entry-preview-avatar{
  border-radius:10px;
  border-color:var(--border2);
  background:#1d2330;
}

body.v2-shell .desktop-table,
body.v2-shell .calc-cat-table-wrap{
  border-color:var(--border);
  background:#0f141c;
  border-radius:14px;
}

body.v2-shell thead tr,
body.v2-shell tfoot tr,
body.v2-shell .calc-cat-table .group-row td{
  background:#161b24;
}

body.v2-shell th,
body.v2-shell .calc-cat-table th{
  color:var(--muted);
  border-bottom-color:var(--border);
}

body.v2-shell td,
body.v2-shell .calc-cat-table td{
  color:#dce4ee;
  border-bottom-color:var(--border);
}

body.v2-shell tbody tr:hover,
body.v2-shell .calc-cat-table tr:hover td{
  background:#161b24;
}

body.v2-shell .chart-section canvas{
  filter:saturate(.92);
}

@media(max-width:1180px){
  body.v2-shell .topbar{
    margin:0;
    border-radius:0;
    border-left:0;
    border-right:0;
    top:0;
  }
  body.v2-shell .v2-layout{
    grid-template-columns:1fr;
  }
  body.v2-shell .v2-rail{
    position:static;
  }
  body.v2-shell .v2-rail-nav{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
  }
  body.v2-shell .v2-nav-btn{
    min-height:54px;
  }
}

@media(max-width:767px){
  body.v2-shell .topbar{
    padding:14px 16px;
  }
  body.v2-shell .urow{
    border-radius:16px;
  }
  body.v2-shell .plan-strip{
    margin:12px 14px 0;
    padding:0;
  }
  body.v2-shell .plan-shell-head{
    display:grid;
    grid-template-columns:1fr;
    padding:14px;
  }
  body.v2-shell .program-date-box{
    justify-content:flex-start;
  }
  body.v2-shell .program-date-copy,
  body.v2-shell .plan-shell-copy{
    display:none;
  }
  body.v2-shell .plan-details{
    padding:14px;
  }
  body.v2-shell .plan-usage{
    grid-template-columns:1fr;
  }
  body.v2-shell .main{
    padding:14px 14px calc(28px + env(safe-area-inset-bottom));
  }
  body.v2-shell .v2-rail{
    display:none !important;
  }
  body.v2-shell .workspace-hero,
  body.v2-shell .entry-sec,
  body.v2-shell .report-sec,
  body.v2-shell .tsec,
  body.v2-shell .calc-hero{
    padding:14px;
    border-radius:16px;
  }
  body.v2-shell .stats{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px;
  }
  body.v2-shell .sc{
    min-height:118px;
    padding:15px;
  }
  body.v2-shell .sval{
    font-size:22px;
    overflow-wrap:anywhere;
  }
  body.v2-shell .workspace-tabs,
  body.v2-shell .analysis-tabs,
  body.v2-shell .ftabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  body.v2-shell .workspace-tabs::-webkit-scrollbar,
  body.v2-shell .analysis-tabs::-webkit-scrollbar,
  body.v2-shell .ftabs::-webkit-scrollbar{
    display:none;
  }
  body.v2-shell .workspace-tab,
  body.v2-shell .analysis-tab,
  body.v2-shell .ftab,
  body.v2-shell .supplier-detail-tab{
    flex:0 0 auto;
    white-space:nowrap;
  }
  body.v2-shell .entry-title,
  body.v2-shell .overview-title,
  body.v2-shell .calc-title{
    font-size:30px;
    max-width:none;
  }
}

@media(max-width:360px){
  body.v2-shell .stats{
    grid-template-columns:1fr !important;
  }
}

/* Prototype-aligned shell pass */
body.v2-shell .topbar{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}

body.v2-shell .tbrand{
  position:relative;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  column-gap:12px;
  align-items:center;
}

body.v2-shell .tbrand::before{
  content:"S";
  width:36px;
  height:36px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0a0d12;
  font-weight:800;
  font-size:15px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  box-shadow:0 6px 16px -6px #f5b34280,inset 0 1px 0 #ffffff55;
}

body.v2-shell .tlogo,
body.v2-shell .tmeta-line{
  grid-column:2;
}

body.v2-shell .urow{
  margin-left:auto;
}

body.v2-shell #site-select-top{
  max-width:260px;
  border:0;
  background-color:transparent;
  color:#eef2f8;
  box-shadow:none;
}

body.v2-shell #manual-sync-btn{
  width:36px;
  min-width:36px;
  height:36px;
  padding:0;
  overflow:hidden;
  text-indent:-999px;
  border-radius:10px;
  position:relative;
}

body.v2-shell #manual-sync-btn::before{
  content:"↻";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-indent:0;
  font-size:18px;
  color:#dce4ee;
}

body.v2-shell .sitebar-btn[data-action="add-site-prompt"]{
  border-radius:999px;
  padding-inline:13px;
}

body.v2-shell .sobtn{
  width:36px;
  height:36px;
  padding:0;
  overflow:hidden;
  text-indent:-999px;
  border-radius:10px;
  position:relative;
}

body.v2-shell .sobtn::before{
  content:"↗";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-indent:0;
  transform:rotate(45deg);
  font-size:18px;
  color:#dce4ee;
}

body.v2-shell .v2-layout{
  grid-template-columns:1fr !important;
}

body.v2-shell .v2-rail{
  display:none !important;
}

body.v2-shell .workspace-hero{
  padding:0;
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  background:var(--refined-surface);
}

body.v2-shell .update-banner{
  margin:16px 20px 0;
}

body.v2-shell .workspace-hero .stats{
  display:grid;
  gap:1px;
  margin:0;
  background:var(--border);
  border-bottom:1px solid var(--border);
}

body.v2-shell .workspace-hero .sc{
  min-height:132px;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:#10141b;
  padding:18px 20px;
}

body.v2-shell .workspace-hero .sc::before{
  display:none;
}

body.v2-shell .workspace-hero .sc::after{
  content:"";
  position:absolute;
  right:16px;
  top:18px;
  width:64px;
  height:24px;
  opacity:.42;
  background:
    linear-gradient(135deg,transparent 0 18%,currentColor 18% 21%,transparent 21% 38%,currentColor 38% 41%,transparent 41% 58%,currentColor 58% 61%,transparent 61%);
}

body.v2-shell .workspace-hero .sc-primary{color:var(--accent);}
body.v2-shell .workspace-hero .sc-usd{color:var(--blue);}
body.v2-shell .workspace-hero .sc-count{color:var(--green);}
body.v2-shell .workspace-hero .sc-rate{color:var(--orange);}

body.v2-shell .workspace-hero .workspace-tabs{
  margin:0;
  padding:14px 16px;
  background:#10141b;
  border-top:0;
}

body.v2-shell .workspace-tab{
  min-height:36px;
  padding:7px 13px;
  font-size:12px;
}

body.v2-shell .entry-sec,
body.v2-shell .report-sec,
body.v2-shell .tsec,
body.v2-shell .calc-hero{
  margin-top:16px;
}

/* Prototype-like transaction/card density */
body.v2-shell .entry-layout{
  gap:16px;
}

body.v2-shell .quick-panel,
body.v2-shell .entry-preview,
body.v2-shell .entry-stat,
body.v2-shell .records-toolbar-shell,
body.v2-shell .records-table-shell{
  border-radius:16px;
}

body.v2-shell .hmonth-card,
body.v2-shell .month-card,
body.v2-shell .supplier-accordion{
  border-color:var(--border);
  background:#10141b;
  border-radius:14px;
}

/* TradingView-ish chart pass for Analysis Center */
body.v2-shell #analysis-panel-dashboard .chart-duo{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,.8fr);
  gap:14px;
  align-items:stretch;
  margin-bottom:14px;
}

body.v2-shell #analysis-panel-dashboard .chart-section{
  overflow:hidden;
  padding:0;
  background:linear-gradient(180deg,#10141b,#161b24);
  border-color:var(--border);
}

body.v2-shell #analysis-panel-dashboard .chart-section-head{
  padding:16px 20px;
  margin:0;
  border-bottom:1px solid var(--border);
  align-items:center;
}

body.v2-shell #analysis-panel-dashboard .chart-section-title{
  color:#eef2f8;
  font-size:13px;
  letter-spacing:.02em;
  text-transform:none;
}

body.v2-shell #analysis-panel-dashboard .chart-section-sub{
  font-size:12px;
  color:var(--muted);
}

body.v2-shell #analysis-panel-dashboard canvas{
  padding:8px 4px 0;
  background:
    linear-gradient(#222a3816 1px,transparent 1px),
    linear-gradient(90deg,#222a3816 1px,transparent 1px);
  background-size:80px 52px;
}

body.v2-shell #analysis-panel-dashboard .chart-body{
  padding:8px 4px 0;
  background:#0f141c;
}

body.v2-shell #analysis-panel-dashboard .chart-body svg{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:800 / 260;
}

body.v2-shell #analysis-panel-dashboard .chart-section:first-child{
  min-height:430px;
}

body.v2-shell #analysis-panel-dashboard .chart-section:first-child canvas,
body.v2-shell #analysis-panel-dashboard .chart-section:first-child .chart-svg-host{
  min-height:0;
}

body.v2-shell #analysis-panel-dashboard .chart-section:first-child .chart-svg-host svg{
  min-height:0;
}

body.v2-shell #analysis-panel-dashboard .chart-section:first-child .chart-section-title::after{
  content:"  ·  canlı harcama trendi";
  color:var(--muted);
  font-weight:500;
  font-size:12px;
}

body.v2-shell #analysis-panel-dashboard .chart-section:first-child .chart-section-head::after{
  content:none;
  display:none;
}

body.v2-shell #analysis-panel-dashboard .dashboard-support{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:14px;
}

@media(max-width:980px){
  body.v2-shell #analysis-panel-dashboard .chart-duo,
  body.v2-shell #analysis-panel-dashboard .dashboard-support{
    grid-template-columns:1fr;
  }
}

@media(max-width:767px){
  body.v2-shell .tbrand{
    grid-template-columns:32px minmax(0,1fr);
  }
  body.v2-shell .tbrand::before{
    width:32px;
    height:32px;
  }
  body.v2-shell .urow{
    width:100%;
    margin-left:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    border-radius:16px;
  }
  body.v2-shell #site-select-top{
    max-width:none;
  }
  body.v2-shell .workspace-hero .stats{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.v2-shell .workspace-hero .workspace-tabs{
    overflow-x:auto;
    flex-wrap:nowrap;
  }
  body.v2-shell #analysis-panel-dashboard .chart-section:first-child .chart-section-head::after{
    display:none;
  }
}

/* Audit refinements: keep selected controls quiet, semantic, and genuinely interactive. */
body.v2-shell .workspace-tab.on,
body.v2-shell .analysis-tab.on,
body.v2-shell .supplier-detail-tab.on{
  border-color:#3a4659;
  background:linear-gradient(180deg,#202838,#151b26);
  color:#eef2f8;
  box-shadow:
    0 0 0 1px rgba(245,179,66,.22) inset,
    0 10px 28px -24px rgba(245,179,66,.9);
}

body.v2-shell .ftab.on,
body.v2-shell .ftab.f-all.on{
  border-color:#3a4659;
  background:#1d2330;
  color:#eef2f8;
  box-shadow:0 0 0 1px rgba(245,179,66,.18) inset;
}

body.v2-shell .ftab.f-nakit.on{
  border-color:rgba(61,220,151,.48);
  background:rgba(61,220,151,.13);
  color:#8ef0c4;
  box-shadow:0 0 0 1px rgba(61,220,151,.16) inset;
}

body.v2-shell .ftab.f-kk.on{
  border-color:rgba(90,169,255,.5);
  background:rgba(90,169,255,.13);
  color:#9bc9ff;
  box-shadow:0 0 0 1px rgba(90,169,255,.16) inset;
}

body.v2-shell .ftab.f-cek.on{
  border-color:rgba(245,179,66,.55);
  background:rgba(245,179,66,.14);
  color:#ffd48a;
  box-shadow:0 0 0 1px rgba(245,179,66,.16) inset;
}

body.v2-shell .ftab.f-past.on{
  border-color:rgba(90,169,255,.5);
  background:rgba(90,169,255,.13);
  color:#9bc9ff;
  box-shadow:0 0 0 1px rgba(90,169,255,.16) inset;
}

body.v2-shell .ftab.f-future.on{
  border-color:rgba(255,111,97,.5);
  background:rgba(255,111,97,.13);
  color:#ffb1a8;
  box-shadow:0 0 0 1px rgba(255,111,97,.16) inset;
}

body.v2-shell .entry-preview-avatar.type-cash{
  border-color:rgba(61,220,151,.38);
  background:linear-gradient(180deg,rgba(61,220,151,.18),rgba(61,220,151,.08));
  color:#8ef0c4;
}

body.v2-shell .entry-preview-avatar.type-card{
  border-color:rgba(90,169,255,.4);
  background:linear-gradient(180deg,rgba(90,169,255,.18),rgba(90,169,255,.08));
  color:#9bc9ff;
}

body.v2-shell .entry-preview-avatar.type-cheque{
  border-color:rgba(245,179,66,.44);
  background:linear-gradient(180deg,rgba(245,179,66,.2),rgba(245,179,66,.08));
  color:#ffd48a;
}

body.v2-shell .ticker-strip{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:1px;
  margin:14px 0 0;
  border:1px solid var(--border);
  border-radius:18px;
  overflow:hidden;
  background:var(--border);
  box-shadow:0 24px 70px -58px rgba(90,169,255,.9);
}

body.v2-shell .ticker-item{
  min-height:78px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 92px;
  align-items:center;
  gap:10px;
  padding:14px 16px;
  background:linear-gradient(180deg,#121926,#0e141d);
}

body.v2-shell .ticker-item:nth-child(1){
  grid-column:1 / span 4;
  grid-row:1;
}

body.v2-shell .ticker-item:nth-child(2){
  grid-column:5 / span 4;
  grid-row:1;
}

body.v2-shell .ticker-item:nth-child(3){
  grid-column:9 / span 4;
  grid-row:1;
}

body.v2-shell .ticker-item:nth-child(4){
  grid-column:1 / span 4;
  grid-row:2;
}

body.v2-shell .ticker-item:nth-child(5){
  grid-column:5 / span 4;
  grid-row:2;
}

body.v2-shell .ticker-item:nth-child(6){
  grid-column:9 / span 4;
  grid-row:2;
}

body.v2-shell .ticker-label{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

body.v2-shell .ticker-value{
  margin-top:7px;
  color:#eef2f8;
  font:800 clamp(18px,1.25vw,21px)/1.05 'IBM Plex Mono',monospace;
  letter-spacing:-.02em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.v2-shell .ticker-side{
  min-width:0;
  display:grid;
  gap:6px;
  justify-items:end;
}

body.v2-shell .ticker-delta{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  max-width:100%;
  padding:4px 8px;
  border:1px solid rgba(90,169,255,.25);
  border-radius:999px;
  color:#9bc9ff;
  background:rgba(90,169,255,.1);
  font:800 10px/1 'IBM Plex Mono',monospace;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.v2-shell .ticker-delta.up{
  border-color:rgba(61,220,151,.32);
  color:#8ef0c4;
  background:rgba(61,220,151,.1);
}

body.v2-shell .ticker-delta.warn{
  border-color:rgba(245,179,66,.34);
  color:#ffd48a;
  background:rgba(245,179,66,.1);
}

body.v2-shell .ticker-spark{
  width:88px;
  height:28px;
  display:block;
}

body.v2-shell .ticker-spark path,
body.v2-shell .ticker-spark polyline{
  vector-effect:non-scaling-stroke;
}

body.v2-shell .chart-section-head{
  align-items:flex-start;
  gap:16px;
}

body.v2-shell .chart-title-stack{
  min-width:0;
  display:grid;
  gap:6px;
}

body.v2-shell .chart-hero-line{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

body.v2-shell .ch-price{
  color:#eef2f8;
  font:800 26px/1 'IBM Plex Mono',monospace;
  letter-spacing:-.02em;
}

body.v2-shell .ch-delta{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:5px 9px;
  border-radius:999px;
  border:1px solid rgba(61,220,151,.32);
  background:rgba(61,220,151,.1);
  color:#8ef0c4;
  font:800 11px/1 'IBM Plex Mono',monospace;
}

body.v2-shell .ch-delta.down{
  border-color:rgba(255,111,97,.32);
  background:rgba(255,111,97,.1);
  color:#ffb1a8;
}

body.v2-shell .chart-range{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

body.v2-shell .range-chip{
  border:1px solid var(--border2);
  border-radius:999px;
  background:#101722;
  color:var(--muted);
  padding:7px 10px;
  font:800 11px/1 'IBM Plex Mono',monospace;
  cursor:pointer;
  transition:background .15s,border-color .15s,color .15s,transform .15s;
}

body.v2-shell .range-chip:hover{
  transform:translateY(-1px);
  border-color:#3a4659;
  color:#eef2f8;
}

body.v2-shell .range-chip.on{
  border-color:rgba(245,179,66,.48);
  background:rgba(245,179,66,.13);
  color:#ffd48a;
  box-shadow:0 0 0 1px rgba(245,179,66,.16) inset;
}

body.v2-shell .chart-foot{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--border);
  margin:4px 0 0;
  background:#0d131c;
}

body.v2-shell .chart-foot > div{
  min-width:0;
  padding:12px 14px;
  border-right:1px solid var(--border);
}

body.v2-shell .chart-foot > div:last-child{
  border-right:0;
}

body.v2-shell .chart-foot span{
  display:block;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.v2-shell .chart-foot strong{
  display:block;
  margin-top:5px;
  color:#eef2f8;
  font:800 15px/1.1 'IBM Plex Mono',monospace;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.v2-shell #analysis-panel-dashboard .overview-spotlight,
body.v2-shell #analysis-panel-dashboard .dashboard-kpis,
body.v2-shell #analysis-panel-dashboard > .dashboard-grid,
body.v2-shell #analysis-panel-dashboard > .dashboard-support{
  display:none;
}

body.v2-shell .proto-panels{
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  gap:14px;
  margin-top:14px;
}

body.v2-shell .proto-bottom-panels{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:14px;
  margin-top:14px;
}

body.v2-shell .proto-metric-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}

body.v2-shell .proto-readout{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  margin-top:14px;
  border:1px solid var(--border);
  border-radius:10px;
  overflow:hidden;
  background:var(--border);
}

body.v2-shell .proto-readout-card{
  min-width:0;
  padding:14px 16px;
  background:linear-gradient(180deg,#111823,#0f141c);
  border-left:2px solid #5aa9ff;
}

body.v2-shell .proto-readout-card.warn{
  border-left-color:#f5b342;
}

body.v2-shell .proto-readout-card.danger{
  border-left-color:#ff6b7a;
}

body.v2-shell .proto-readout-card.action{
  border-left-color:#3ddc97;
}

body.v2-shell .proto-readout-card span{
  display:block;
  color:#7d8aa0;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.v2-shell .proto-readout-card strong{
  display:block;
  margin-top:8px;
  color:#eef2f8;
  font:800 18px/1.1 'IBM Plex Mono',monospace;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.v2-shell .proto-readout-card p{
  margin:8px 0 0;
  color:#9fb0c6;
  font-size:12px;
  line-height:1.45;
}

body.v2-shell .proto-panel,
body.v2-shell .proto-mini-card{
  background:#0f141c;
  border:1px solid var(--border);
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 16px 55px -48px rgba(90,169,255,.9);
}

body.v2-shell .proto-panel-head{
  min-height:46px;
  padding:13px 15px;
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

body.v2-shell .proto-panel-head .t{
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.v2-shell .proto-panel-head .s{
  color:#56627a;
  font:600 11px 'IBM Plex Mono',monospace;
}

body.v2-shell .proto-panel-body{
  padding:16px;
}

body.v2-shell .proto-panel-body.flush{
  padding:0;
}

body.v2-shell .proto-donut-wrap{
  display:flex;
  align-items:center;
  gap:16px;
}

body.v2-shell .proto-donut-wrap svg{
  width:140px;
  height:140px;
  flex:0 0 auto;
}

body.v2-shell .proto-donut-legend{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
  flex:1;
}

body.v2-shell .proto-lg-row{
  display:grid;
  grid-template-columns:8px minmax(0,1fr) auto 38px;
  align-items:center;
  gap:8px;
  font-size:12px;
}

body.v2-shell .proto-lg-dot{
  width:8px;
  height:8px;
  border-radius:2px;
}

body.v2-shell .proto-lg-name{
  color:#cbd3df;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.v2-shell .proto-lg-val,
body.v2-shell .proto-lg-pct{
  color:#eef2f8;
  font:700 11px 'IBM Plex Mono',monospace;
  white-space:nowrap;
}

body.v2-shell .proto-lg-pct{
  color:#56627a;
  text-align:right;
}

body.v2-shell .proto-bar-list{
  display:flex;
  flex-direction:column;
}

body.v2-shell .proto-bar-row{
  padding:10px 16px;
  border-bottom:1px solid var(--border);
}

body.v2-shell .proto-bar-row:last-child{
  border-bottom:0;
}

body.v2-shell .proto-bar-top{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}

body.v2-shell .proto-bar-name{
  color:#eef2f8;
  font-size:12px;
  font-weight:600;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.v2-shell .proto-bar-val{
  color:#eef2f8;
  font:700 12px 'IBM Plex Mono',monospace;
  white-space:nowrap;
}

body.v2-shell .proto-bar-track{
  height:4px;
  background:#1d2330;
  border-radius:999px;
  overflow:hidden;
}

body.v2-shell .proto-bar-fill{
  height:100%;
  border-radius:999px;
}

body.v2-shell .proto-mini-card{
  position:relative;
  min-height:122px;
  padding:14px 16px;
}

body.v2-shell .proto-mini-card .l{
  display:block;
  color:#7d8aa0;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.v2-shell .proto-mini-card .v{
  display:block;
  margin-top:7px;
  color:#eef2f8;
  font:800 22px/1.05 'IBM Plex Mono',monospace;
}

body.v2-shell .proto-mini-card .d{
  display:block;
  margin-top:8px;
  color:#ffb1a8;
  font:800 11px 'IBM Plex Mono',monospace;
}

body.v2-shell .proto-mini-card .d.up{
  color:#8ef0c4;
}

body.v2-shell .proto-mini-card .bg-spark{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  height:50px;
  opacity:.55;
  pointer-events:none;
}

body.v2-shell .proto-cf-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
}

body.v2-shell .proto-cf-col{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
}

body.v2-shell .proto-cf-bar{
  width:100%;
  height:120px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

body.v2-shell .proto-cf-pos{
  width:100%;
  min-height:2px;
  border-radius:3px 3px 0 0;
  background:linear-gradient(180deg,#3ddc97,#2bb87c);
}

body.v2-shell .proto-cf-day{
  color:#7d8aa0;
  font:700 10px 'IBM Plex Mono',monospace;
}

body.v2-shell .proto-panel-foot{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--border);
  color:#7d8aa0;
  font-size:11px;
}

body.v2-shell .proto-panel-foot strong{
  color:#f5b342;
  font:800 11px 'IBM Plex Mono',monospace;
}

body.v2-shell .proto-insight{
  margin-top:14px;
  padding:10px 12px;
  border:1px solid rgba(90,169,255,.18);
  border-radius:8px;
  background:rgba(90,169,255,.07);
  color:#9fb0c6;
  font-size:12px;
  line-height:1.45;
}

body.v2-shell .proto-insight.inset{
  margin:12px 16px 16px;
}

body.v2-shell .proto-insight strong{
  color:#eef2f8;
  font-weight:800;
}

body.v2-shell .proto-heatmap{
  display:grid;
  grid-template-columns:auto repeat(12,minmax(0,1fr));
  gap:3px;
  color:#7d8aa0;
  font:700 10px 'IBM Plex Mono',monospace;
}

body.v2-shell .proto-hm-h{
  padding:2px 4px;
  text-align:center;
}

body.v2-shell .proto-hm-row{
  display:contents;
}

body.v2-shell .proto-hm-cell{
  aspect-ratio:1.4/1;
  border-radius:3px;
  background:#1d2330;
}

body.v2-shell .proto-hm-cell.l1{background:#f5b34220;}
body.v2-shell .proto-hm-cell.l2{background:#f5b34245;}
body.v2-shell .proto-hm-cell.l3{background:#f5b34270;}
body.v2-shell .proto-hm-cell.l4{background:#f5b342;}

body.v2-shell .proto-heatmap-legend{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:14px;
  color:#7d8aa0;
  font-size:10px;
}

body.v2-shell .proto-heatmap-legend .proto-hm-cell{
  width:14px;
  height:10px;
  aspect-ratio:auto;
}

body.v2-shell .proto-heatmap-legend strong{
  margin-left:auto;
  color:#f5b342;
  font:800 10px 'IBM Plex Mono',monospace;
}

@media(max-width:1100px){
  body.v2-shell .proto-panels,
  body.v2-shell .proto-bottom-panels{
    grid-template-columns:1fr;
  }
}

@media(max-width:767px){
  body.v2-shell .proto-metric-row{
    grid-template-columns:1fr;
  }
  body.v2-shell .proto-readout{
    grid-template-columns:1fr;
  }
  body.v2-shell .proto-donut-wrap{
    flex-direction:column;
    align-items:flex-start;
  }
  body.v2-shell .proto-panel-body{
    padding:14px;
  }
  body.v2-shell .proto-cf-bar{
    height:92px;
  }
  body.v2-shell .proto-readout-card strong,
  body.v2-shell .proto-mini-card .v{
    font-size:18px;
  }
}

@media(max-width:1180px){
  body.v2-shell .ticker-strip{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  body.v2-shell .ticker-item,
  body.v2-shell .ticker-item-total,
  body.v2-shell .ticker-item-cheque{
    grid-column:auto;
    grid-row:auto;
  }
  body.v2-shell .proto-readout{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:767px){
  body.v2-shell #analysis-panel-dashboard .chart-section:first-child{
    min-height:0;
  }
  body.v2-shell #analysis-panel-dashboard .chart-section:first-child .chart-svg-host,
  body.v2-shell #analysis-panel-dashboard .chart-section:first-child .chart-svg-host svg{
    min-height:0;
  }
  body.v2-shell #analysis-panel-dashboard .chart-body svg{
    max-height:none;
  }
  body.v2-shell .ticker-strip{
    grid-template-columns:1fr;
    margin-top:10px;
    border-radius:16px;
  }
  body.v2-shell .ticker-item,
  body.v2-shell .ticker-item-total,
  body.v2-shell .ticker-item-cheque{
    grid-column:auto;
    grid-row:auto;
  }
  body.v2-shell .proto-readout{
    grid-template-columns:1fr;
  }
  body.v2-shell .ticker-item{
    min-height:76px;
  }
  body.v2-shell .chart-section-head{
    flex-direction:column;
  }
  body.v2-shell .chart-range{
    width:100%;
    justify-content:flex-start;
  }
  body.v2-shell .chart-foot{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.v2-shell .chart-foot > div:nth-child(2){
    border-right:0;
  }
}

@media(max-width:420px){
  body.v2-shell .ticker-item{
    grid-template-columns:1fr;
  }
  body.v2-shell .ticker-side{
    justify-items:start;
  }
  body.v2-shell .ticker-value{
    font-size:19px;
  }
}
