/* Insight UI: tokens, shell and components. Ported from docs/mockups/round-7.5 (base.css, a.css, fb.css). Colour only through the tokens. */
/* Round 6 shared tokens and components. Variants add layout only. The look changes in the :root block. */
:root{
  --bg:#f5f6f8;--surface:#fff;--sunken:#eef0f3;--line:#e3e6ea;--line-strong:#cfd4da;
  --ink:#16191d;--mut:#667078;--faint:#98a1a9;
  --accent:#1561d6;--accent-soft:#e8f0fd;
  --rise:#15803d;--fall:#c42b2b;--warn:#b45309;--warn-soft:#fdf1e1;--fall-soft:#fbe9e9;--rise-soft:#e5f4ea;
  --c1:#16191d;--c2:#1561d6;--c3:#15803d;--c4:#98a1a9;
  --r:8px;--r-sm:6px;--sh:0 8px 24px rgba(16,24,40,.12),0 2px 6px rgba(16,24,40,.08);
  --hover:#f8f9fb;--accent-strong:#0f52b8;--tipbg:#16191d;--tipink:#fff;--scrim:rgba(22,25,29,.4);
  color-scheme:light;
  --f:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif;
}

/* Dark tokens: follow the system unless data-theme is set. */
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  --bg:#101214;--surface:#181b1f;--sunken:#20242a;--line:#2a2f36;--line-strong:#3a4049;
  --ink:#eceef0;--mut:#9aa3ab;--faint:#6d767e;
  --accent:#5b9bff;--accent-soft:#16283f;--accent-strong:#7eb0ff;
  --rise:#4cc275;--fall:#f07178;--warn:#e0a04a;--warn-soft:#33260f;--fall-soft:#3a1c1e;--rise-soft:#12301d;
  --c1:#eceef0;--c2:#5b9bff;--c3:#4cc275;--c4:#6d767e;--hover:#1c2025;--tipbg:#eceef0;--tipink:#16191d;--scrim:rgba(0,0,0,.6);
  --sh:0 8px 24px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.4);color-scheme:dark}}
:root[data-theme=dark]{
  --bg:#101214;--surface:#181b1f;--sunken:#20242a;--line:#2a2f36;--line-strong:#3a4049;
  --ink:#eceef0;--mut:#9aa3ab;--faint:#6d767e;
  --accent:#5b9bff;--accent-soft:#16283f;--accent-strong:#7eb0ff;
  --rise:#4cc275;--fall:#f07178;--warn:#e0a04a;--warn-soft:#33260f;--fall-soft:#3a1c1e;--rise-soft:#12301d;
  --c1:#eceef0;--c2:#5b9bff;--c3:#4cc275;--c4:#6d767e;--hover:#1c2025;--tipbg:#eceef0;--tipink:#16191d;--scrim:rgba(0,0,0,.6);
  --sh:0 8px 24px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.4);color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:13px/1.45 var(--f);font-variant-numeric:tabular-nums}
::selection{background:var(--accent);color:#fff}
a{color:inherit;text-decoration:none}
a.link,.link{color:var(--accent)}a.link:hover{text-decoration:underline;text-underline-offset:2px}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
h1,h2,h3{margin:0;font-weight:600;line-height:1.25}
h1{font-size:20px;letter-spacing:-.01em}h2{font-size:14px}h3{font-size:13px}
.mut{color:var(--mut)}.faint{color:var(--faint)}.rise{color:var(--rise)}.fall{color:var(--fall)}.flat{color:var(--mut)}.warn{color:var(--warn)}
.num{text-align:right;white-space:nowrap}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
/* controls */
.btn{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-sm);padding:6px 12px;cursor:pointer;transition:background .15s,border-color .15s}
.btn:hover{background:var(--sunken)}
.btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}.btn.pri:hover{background:var(--accent-strong)}
.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--sunken)}
input[type=text],input[type=search],select{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-sm);padding:6px 10px;min-width:0}
input::placeholder{color:var(--faint)}
input:hover,select:hover{border-color:var(--faint)}
input:focus{border-color:var(--accent)}
.seg{display:inline-flex;background:var(--sunken);border-radius:var(--r-sm);padding:2px;gap:2px}
.seg a,.seg button{border:0;background:transparent;padding:4px 10px;border-radius:5px;cursor:pointer;color:var(--mut);transition:background .15s,color .15s}
.seg a:hover,.seg button:hover{color:var(--ink)}
.seg .on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(16,24,40,.12)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:3px 11px;color:var(--mut);cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}
.chip:hover{border-color:var(--faint);color:var(--ink)}
.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.switch{position:relative;width:34px;height:20px;border-radius:999px;background:var(--line-strong);border:0;cursor:pointer;transition:background .2s;flex:none;padding:0}
.switch::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]::after{transform:translateX(14px)}
/* thumbnails */
.thumb{display:inline-block;flex:none;border-radius:6px;overflow:hidden;background:var(--sunken);vertical-align:middle;border:1px solid var(--line)}
.thumb img{display:block;width:100%;height:100%;object-fit:cover}
.thumb .ph{display:flex;align-items:center;justify-content:center;color:var(--faint);font-size:11px;font-weight:600}
/* badges and states */
.mkt{display:inline-block;border-radius:4px;padding:0 6px;font-size:11px;line-height:18px;background:var(--sunken);color:var(--mut);white-space:nowrap}
.state{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.state::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.state.s-ok{color:var(--rise)}.state.s-low{color:var(--warn)}.state.s-out{color:var(--fall)}.state.s-na{color:var(--faint)}.state.s-na::before{display:none}
/* value + delta + sparkline */
.vd{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.vd .v{font-weight:600}.vd .d{font-size:12px;min-width:48px}
.spark{display:inline-block;vertical-align:middle;color:var(--mut)}.spark.rise{color:var(--rise)}.spark.fall{color:var(--fall)}.spark.none{color:var(--faint);text-align:center}
/* tables */
table.t{border-collapse:collapse;width:100%}
.t th{font-weight:500;color:var(--mut);text-align:left;padding:8px 12px;white-space:nowrap;border-bottom:1px solid var(--line);background:var(--surface)}
.t td{padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}
.t tbody tr{transition:background .15s;cursor:pointer}.t tbody tr:hover{background:var(--hover)}.t tbody tr.on{background:var(--accent-soft)}
.t th.num,.t td.num{text-align:right}
.t td.nm{white-space:normal;min-width:220px;max-width:360px}
.pr{display:flex;align-items:center;gap:10px;min-width:0}
.pr .tx{min-width:0}.pr .nm1{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}
.pr .sub{color:var(--mut);font-size:12px;margin-top:1px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
/* kpi */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kpi{padding:14px 16px;min-width:0}
.kpi .l{color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi .v{font-size:24px;font-weight:600;letter-spacing:-.02em;margin-top:4px}
.kpi .d{font-size:12px;margin-top:2px;min-height:17px}
/* charts */
.chartbox{position:relative}
svg.stack{display:block;overflow:visible;max-width:100%}
svg.stack text{font:11px var(--f);fill:var(--mut)}
svg.stack .plabel{fill:var(--ink);font-weight:600}
svg.stack .pkind{fill:var(--faint)}svg.stack .pkind.est{fill:var(--warn)}
svg.stack .grid{stroke:var(--line);stroke-width:1}
svg.stack .line{stroke-width:1.75;stroke-linejoin:round}
svg.stack .line.c1{stroke:var(--c1)}svg.stack .line.c2{stroke:var(--c2)}svg.stack .line.c3{stroke:var(--c3)}svg.stack .line.c4{stroke:var(--c4);stroke-dasharray:3 3}
svg.stack .bar.c1{fill:var(--c1)}svg.stack .bar.c2{fill:var(--c2);opacity:.75}svg.stack .bar.c3{fill:var(--c3)}
svg.stack .end.c1{fill:var(--c1)}svg.stack .end.c2{fill:var(--c2)}svg.stack .end.c3{fill:var(--c3)}svg.stack .end.c4{fill:var(--c4)}
svg.stack .cross{stroke:var(--faint);stroke-width:1}
svg.stack .ev line{stroke:var(--faint);stroke-dasharray:2 3}
svg.stack .ev text{fill:var(--mut)}
svg.stack .ev-stockout line{stroke:var(--fall)}svg.stack .ev-stockout text{fill:var(--fall)}
svg.stack .ev-restock line{stroke:var(--rise)}svg.stack .ev-restock text{fill:var(--rise)}
.tip{position:absolute;pointer-events:none;background:var(--tipbg);color:var(--tipink);border-radius:var(--r-sm);padding:6px 10px;font-size:12px;box-shadow:var(--sh);white-space:nowrap;z-index:5}
.tip b{display:block;margin-bottom:2px}.tip .tr{display:flex;align-items:center;gap:6px}.tip .tr em{font-style:normal;margin-left:auto;padding-left:14px;font-weight:600}
.tip .sw{width:8px;height:8px;border-radius:2px;background:#fff}.tip .sw.c2{background:#7fb0ff}.tip .sw.c3{background:#6fd08c}.tip .sw.c4{background:#aab2b9}
.trust{color:var(--faint);font-size:12px}
.quick{position:fixed;z-index:20;width:280px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:12px;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s}
.quick.show{opacity:1;transform:none}
.sw-link{display:none}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.single{display:flex;flex-direction:column}
.single .sr{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.single .sr span{color:var(--mut);flex:1}.single .sr b{font-weight:600}.single .sr em{font-style:normal;font-size:11px;color:var(--faint);min-width:56px;text-align:right}.single .sr em.est{color:var(--warn)}
.vd .d.susp{color:var(--faint);font-size:11px;white-space:nowrap}
svg.stack .lg{font-weight:400;fill:var(--mut)}svg.stack .lg.c2{fill:var(--c2)}svg.stack .lg.c3{fill:var(--c3)}
.dayh{padding:10px 14px 4px;color:var(--mut);font-weight:600;font-size:12px}
.fmore[hidden]{display:none}
.btn.more{display:block;margin:10px auto}
/* Round 7.1, variant a: sidebar, page header with actions, tables everywhere. Colours only through the tokens in base.css. */
:root{--side:196px}
.shell{min-height:100vh}
.side{position:fixed;inset:0 auto 0 0;width:var(--side);background:var(--bg);border-right:1px solid var(--line);padding:16px 10px;display:flex;flex-direction:column;gap:14px;z-index:30}
.brand{font-weight:600;font-size:14px;padding:4px 10px;letter-spacing:-.01em}
.side .links{display:flex;flex-direction:column;gap:2px}
.side .links a{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:var(--r-sm);color:var(--mut);transition:background .15s,color .15s}
.side .links a:hover{background:var(--sunken);color:var(--ink)}
.side .links a.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 0 0 1px var(--line)}
.topbar{display:none}
.main{margin-left:var(--side);padding:24px 24px 56px}
.page{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.pagehead .acts{display:flex;gap:8px;flex:none;position:relative;align-items:center}
.btn{display:inline-block;white-space:nowrap}
.btn[disabled]{opacity:.5;cursor:default}
.ttl{display:flex;flex-direction:column;gap:6px;min-width:0}
.sub{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.backlink{display:inline-flex;align-items:center;gap:4px;color:var(--mut);align-self:flex-start}
.backlink:hover{color:var(--accent)}
.card{overflow:visible}
.chead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);min-height:48px}
.chead .cright{display:flex;align-items:center;gap:8px;min-width:0}
.trustline{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 16px;border-top:1px solid var(--line)}
.trustline .samp{color:var(--faint)}
.trustline i{width:1px;height:10px;background:var(--line-strong)}
.tablewrap{overflow-x:auto}
.t th,.t td{padding:8px 10px}
.t th:first-child,.t td:first-child{padding-left:16px}.t th:last-child,.t td:last-child{padding-right:16px}
.t tbody tr:last-child td{border-bottom:0}
.t tr.empty{cursor:default}.t tr.empty td{text-align:center;color:var(--faint);padding:24px}
.t tr.empty:hover{background:transparent}
.t tr.depo td{background:var(--sunken)}
.t td.nm{min-width:230px;max-width:280px}
.t tbody tr.plain{cursor:default}
.sortable button{border:0;background:transparent;padding:0;color:inherit;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.sortable button:hover{color:var(--ink)}
th.num button{margin-left:auto}
[aria-sort=ascending] button,[aria-sort=descending] button{color:var(--ink)}
.chev{transition:transform .15s}.chev.up{transform:rotate(180deg)}
.estl{color:var(--warn)}
.rowlink{display:block}
.sm{font-size:12px}
.t .two{display:flex;flex-direction:column;line-height:1.3}
.t .two .sm{color:var(--mut)}
.ev-stockout{color:var(--fall)}.ev-restock{color:var(--rise)}.ev-price{color:var(--ink)}.ev-listing{color:var(--mut)}.ev-days{color:var(--warn)}
.vd .d{min-width:44px}
.vd s{font-size:12px;color:var(--faint)}
/* status chips (spans, not filters) */
span.chip{cursor:default;padding:1px 9px;font-size:12px;margin-right:4px}
span.chip:hover{border-color:var(--line-strong);color:var(--mut)}
span.chip.c-out{background:var(--fall-soft);border-color:transparent;color:var(--fall)}
span.chip.c-low{background:var(--warn-soft);border-color:transparent;color:var(--warn)}
span.chip.c-drop{background:var(--accent-soft);border-color:transparent;color:var(--accent)}
span.chip.c-depot{background:var(--sunken);border-color:transparent;color:var(--warn)}
span.chip.c-disc{background:var(--sunken);border-color:transparent;color:var(--mut)}
span.chip.c-susp{background:transparent;border-style:dashed;color:var(--faint)}
span.chip.c-new{background:var(--accent-soft);border-color:transparent;color:var(--accent)}
span.chip.c-seen{background:transparent;border-color:transparent;color:var(--faint)}
span.chip.c-run{background:var(--rise-soft);border-color:transparent;color:var(--rise)}
span.chip.c-err{background:var(--fall-soft);border-color:transparent;color:var(--fall)}
span.chip.c-pause{background:var(--sunken);border-color:transparent;color:var(--mut)}
span.chip.c-wait{background:var(--warn-soft);border-color:transparent;color:var(--warn)}
span.chip.c-buy{background:var(--rise-soft);border-color:transparent;color:var(--rise)}
.chipcell{display:flex;gap:2px;flex-wrap:nowrap}
/* tabs */
.tabsbar{border:0;background:transparent;border-radius:0}
.tabs{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--line)}
.tab{border:0;background:transparent;padding:8px 12px;color:var(--mut);cursor:pointer;white-space:nowrap;border-radius:var(--r-sm) var(--r-sm) 0 0;transition:background .15s,color .15s,border-color .15s;margin-bottom:-1px;border-bottom:2px solid transparent}
.tab:hover{color:var(--ink);background:var(--sunken)}
.tab.on{color:var(--accent);font-weight:600;border-bottom-color:var(--accent)}
.cnt{margin-left:6px;color:var(--faint);font-weight:400}
.tab.on .cnt{color:var(--accent)}
.chip .cnt{margin-left:2px}
/* toolbar */
.more{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--line)}
/* menu */
@keyframes pop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.menu1{position:absolute;top:calc(100% + 6px);right:0;min-width:150px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:4px;z-index:25;animation:pop .15s ease-out;display:flex;flex-direction:column}
.menu1 button{border:0;background:transparent;text-align:left;padding:7px 10px;border-radius:var(--r-sm);cursor:pointer}
.menu1 button:hover{background:var(--sunken)}
.result{border:1px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:10px}
.rtop{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rtop .pr{flex:1}.rprice{font-weight:600;font-size:16px}
.ract{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.btn.off{opacity:.7;cursor:default;pointer-events:none}
/* quick look */
.quick{width:300px;padding:14px}
.quick .qh{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}
.quick .qh .tx{min-width:0;display:flex;flex-direction:column;gap:6px}
.quick dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px}
.quick dt{color:var(--mut)}.quick dd{margin:0;text-align:right;font-weight:600}
/* detail */
.hero{display:flex;gap:20px;padding:16px;align-items:stretch}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:1;min-width:0}
.tile{border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;min-width:0}
.tile .l{color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile .v{font-size:18px;font-weight:600;margin-top:2px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile .a{font-size:12px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:17px}
.tile .a.rise{color:var(--rise)}.tile .a.fall{color:var(--fall)}
.chartbox{position:relative;padding:16px 16px 4px}
.seg button.on{box-shadow:0 1px 2px rgba(16,24,40,.12)}
.stores{max-height:520px;overflow:auto}
.stores thead th{position:sticky;top:0;z-index:1}
.evlist{list-style:none;margin:0;padding:0}
.evlist li{display:flex;gap:16px;padding:8px 16px;border-bottom:1px solid var(--line)}
.evlist li:last-child{border-bottom:0}
.evlist .dt{width:64px;color:var(--mut);flex:none}
.share{display:inline-flex;align-items:center;gap:10px}
.share .bar{width:70px;height:4px;border-radius:2px;background:var(--sunken);overflow:hidden;display:inline-block}
.share .bar i{display:block;height:100%;background:var(--faint)}
.rules{list-style:none;margin:0;padding:0}
.rules li{display:flex;align-items:center;gap:14px;padding:11px 16px;border-bottom:1px solid var(--line)}
.rules li:last-child{border-bottom:0}
.rules .rt{flex:1;min-width:0;transition:color .2s}
.dayh{padding:10px 14px 4px;color:var(--mut);font-weight:600;font-size:12px}
/* phone list */
.plist{display:flex;flex-direction:column}
.prow{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);min-width:0}
.prow:last-child{border-bottom:0}
.prow .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.prow .n1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prow .sub{font-size:12px;color:var(--mut);flex-wrap:nowrap;min-width:0}
.prow .sub span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prow .val{text-align:right;flex:none;font-weight:600}
.phonecol .page{max-width:430px}
.phonecol .main{margin-left:0;padding-top:12px}
.phonecol .side{display:none}
.phonecol .topbar{display:flex}
.topbar .menu{padding:6px 8px;display:inline-flex}
@media (min-width:821px){
  .phonecol .topbar{position:sticky;top:0;z-index:40;background:var(--surface);border-bottom:1px solid var(--line);height:48px;align-items:center;padding:0 12px;max-width:430px;margin:0 auto}
  .phonecol .side{display:flex;opacity:0;visibility:hidden;inset:48px auto auto calc(50% - 215px);width:240px;height:auto;background:var(--surface);box-shadow:var(--sh);transition:opacity .15s,visibility .15s}
  .nav-open .phonecol .side{opacity:1;visibility:visible}
  .phonecol .side .brand{display:none}
}
/* mobile */
@media (max-width:820px){
  .topbar{display:flex;align-items:center;gap:6px;position:sticky;top:0;z-index:40;background:var(--surface);border-bottom:1px solid var(--line);padding:6px 8px 6px 6px;height:48px}
  .side{inset:48px 0 auto 0;width:auto;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .15s,transform .15s,visibility .15s;border-right:0;border-bottom:1px solid var(--line);background:var(--surface);box-shadow:var(--sh);padding:8px 10px 12px}
  .side .brand{display:none}
  .nav-open .side{opacity:1;transform:none;visibility:visible}
  .main{margin-left:0;padding:14px 12px 40px}
  .phonecol .side{display:flex}
  .pagehead{flex-wrap:wrap}
  .pagehead .acts{flex-wrap:wrap}
  .hero{flex-direction:column;padding:12px}
  .hero .thumb{width:96px!important;height:96px!important}
  .hero .thumb img,.hero .thumb .ph{width:100%!important;height:100%!important}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chartbox{padding:12px 8px 4px}
  .toolbar{padding:10px 12px}
  .tablewrap{overflow:visible}
  .stores{max-height:none;overflow:visible}
  .stores thead th{position:static}
  .chead{padding:10px 12px;flex-wrap:wrap}
  .trustline{padding:8px 12px}
  .t.rsp thead{display:none}
  .t.rsp,.t.rsp tbody{display:block;width:100%}
  .t.rsp tbody tr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 12px;border-bottom:1px solid var(--line)}
  .t.rsp tbody tr:last-child{border-bottom:0}
  .t.rsp td{display:block;padding:0!important;border:0;white-space:normal;text-align:left!important;min-width:0!important;max-width:none!important}
  .t.rsp td.nm{flex:0 0 100%}
  .t.rsp td[data-l]::before{content:attr(data-l);color:var(--faint);font-size:11px;margin-right:5px}
  .t.rsp td.hm{display:none}
  .t.rsp td .spark{display:none}
  .t.rsp td.full{flex:0 0 100%}
  .t.rsp tr.empty td{flex:1;text-align:center!important}
  .t.rsp .vd .d{min-width:0}
  .t.rsp .two{display:inline-flex;flex-direction:row;gap:6px}
  .t.rsp tr.depo{background:var(--sunken)}
  .evlist li{padding:8px 12px;gap:10px}
  .evlist .dt{width:56px}
  .rules li{padding:11px 12px}
  .modal{width:calc(100vw - 24px)}
  .modal-bg{align-items:flex-start;padding-top:60px}
  .tiles.n4,.tiles.tk{grid-template-columns:repeat(2,minmax(0,1fr))}
  .xbox{flex-direction:column}
  .t.rsp tr.xp{display:block;padding:0}
  .t.rsp tr.xp td{width:100%}
  .xnest{padding:0}
}
/* round 7 tuning */
.t td.nm{min-width:240px;max-width:360px}

.pr .sub{flex-wrap:nowrap;overflow:hidden}
.pr .sub .mut{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.vd{gap:6px}.vd .d{min-width:40px}
.chipcell{flex-wrap:wrap;gap:3px;max-width:112px}
span.chip{margin-right:0}
.t th,.t td{padding:8px 8px}
@media (max-width:820px){
  .t.rsp td:empty{display:none}
}
.mkt{flex:none}
@media (max-width:820px){
  .tile .v{font-size:16px;white-space:normal}
  .tile .a{white-space:normal;overflow:visible}
}

/* round 7.1 */
.tiles.n4{grid-template-columns:repeat(2,minmax(0,1fr))}
.tiles.tk{padding:14px 16px 4px;grid-template-columns:repeat(3,minmax(0,1fr))}
.t td.actc{text-align:right;padding-left:0}
.ev-enter{color:var(--rise)}.ev-leave{color:var(--fall)}
svg.stack .ev-enter line{stroke:var(--rise)}svg.stack .ev-enter text{fill:var(--rise)}
svg.stack .ev-leave line{stroke:var(--fall)}svg.stack .ev-leave text{fill:var(--fall)}
.evlist .dt{width:auto;min-width:64px}
/* expandable rows */
.t tr.xrow{cursor:pointer}
.t tr.xrow.open{background:var(--sunken)}
.xn{display:inline-flex;align-items:center;gap:8px}
.xn .chev{color:var(--faint);flex:none;transform:rotate(-90deg)}.xn .chev.up{transform:none}
.xrow:hover .chev{color:var(--ink)}
.chevgap{display:inline-block;width:12px;flex:none}
.tg{display:inline-flex;align-items:center;gap:8px}
.tgt{font-weight:600}
.t tr.xp,.t tr.xp:hover{cursor:default;background:var(--surface)}
.t tr.xp>td{padding:0;white-space:normal;border-bottom:1px solid var(--line)}
.xbox{display:flex;gap:20px;padding:12px 16px 14px 36px;align-items:flex-start}
.xchart{flex:1 1 360px;min-width:0}
.xlist{flex:0 0 220px}
.xlist .xh{color:var(--mut);margin-bottom:6px}
.xlist ul{list-style:none;margin:0;padding:0}
.xlist li{display:flex;gap:10px;padding:3px 0;white-space:nowrap}
.xlist .dt{color:var(--mut);min-width:84px}
.xnest{background:var(--bg);border-top:1px solid var(--line)}
.xnest .tablewrap{background:var(--surface)}
.xnest .t td.nm{max-width:300px}
.dailyhead{width:100%;border:0;background:transparent;cursor:pointer;text-align:left;border-bottom:0}
.dailyhead:hover{background:var(--hover)}
.dailyhead .chev{vertical-align:-1px;margin-left:4px}
.card[data-region="daily-table"] .stores{border-top:1px solid var(--line)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0;padding:12px 16px}
.kv dt{color:var(--mut)}.kv dd{margin:0}
.chead h2 .mut{font-weight:400;margin-right:4px}
.chead .cright .mkt{margin-right:2px}
/* modal */
.modal-bg{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:60;padding:16px;animation:fade .15s ease-out}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal{width:min(480px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);border-radius:var(--r);box-shadow:var(--sh);animation:pop .15s ease-out}
.mhead{padding:14px 16px 0}
.mbody{padding:10px 16px 14px;display:flex;flex-direction:column;gap:12px}
.mbody input[type=text]{width:100%}
.mfoot{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--line)}
.notice{margin:0;font-size:11px;line-height:1.5;color:var(--faint)}
.notice>span:first-child{display:block;color:var(--mut);margin-bottom:2px}
.notice .np{display:inline-block;margin-right:10px}
.notice .np b{font-weight:500;color:var(--mut)}
.msg{border-radius:var(--r);padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.msg.err{background:var(--fall-soft);color:var(--fall)}
.msg.warn{background:var(--warn-soft);color:var(--warn)}
.msg .mut{color:inherit;opacity:.8}
.msg .chips{gap:4px}
.msg .mrow{display:flex;align-items:center;gap:8px}
.rplat{display:flex;align-items:center;gap:8px}
.pv{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0}
.pv dt{color:var(--mut)}.pv dd{margin:0}
.ropts{display:flex;gap:10px;flex-wrap:wrap}
.ropts label{display:flex;flex-direction:column;gap:3px;color:var(--mut);font-size:12px;flex:1 1 140px;min-width:0}
.ropts select{width:100%;max-width:none}
.lopts{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.lopt{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s}
.lopt:last-child{border-bottom:0}
.lopt:hover{background:var(--sunken)}
.lopt.dis{cursor:default;opacity:.6}.lopt.dis:hover{background:transparent}
.lopt .ln{flex:1;min-width:0}

@media (max-width:820px){.xchart,.xlist{flex:none;width:100%}.xbox{padding:10px 12px}}
@media (max-width:820px){.tiles.tk,.tiles.n4{grid-template-columns:repeat(2,minmax(0,1fr))}.tiles.tk{padding:12px 12px 4px}}

/* round 7.2: Ayarlar + Yönetim */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.side{overflow-y:auto}
.navh{color:var(--faint);font-size:12px;padding:8px 10px 3px}
.navsec{display:flex;flex-direction:column}
.side .navsec .links a{padding:6px 10px}
.sidefoot{margin-top:auto;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:10px}
.sidefoot .links{display:flex;flex-direction:column;gap:2px}
.sidefoot .links a{display:flex;padding:7px 10px;border-radius:var(--r-sm);color:var(--mut)}
.sidefoot .links a:hover{background:var(--sunken);color:var(--ink)}
.sidefoot .links a.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 0 0 1px var(--line)}
.roleswitch{display:block}.roleswitch select{width:100%;font-size:12px;color:var(--mut);padding:4px 8px}
.acct{display:flex;align-items:center;gap:10px;padding:4px 6px;border-radius:var(--r-sm);min-width:0}
.acct:hover{background:var(--sunken)}
.acct .tx{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.acct .tx b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct .thumb{border-radius:50%}
input[type=text].inl{width:auto;text-align:center;padding:2px 6px;margin:0 3px}
.frow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pwi{width:150px}
.tok{font:inherit;background:var(--sunken);padding:3px 9px;border-radius:var(--r-sm);color:var(--mut)}
.rules .rt{display:block}
.rules li select{width:96px}
.rowbtns{display:inline-flex;gap:2px;justify-content:flex-end;align-items:center}
.rowbtns .btn{padding:4px 8px}
.btn.ghost.danger{color:var(--fall)}
.btn.ghost[disabled],.btn[disabled]{opacity:.45;cursor:default}
.btn.ghost[disabled]:hover{background:transparent}
.t td.wrapc{white-space:normal;min-width:170px;max-width:340px}
.t td.actc .chip{margin-left:6px}
.t td.nm select,.t td select{max-width:140px}
.t tr.grp,.t tr.grp:hover{cursor:default;background:var(--sunken)}
.t tr.grp td{background:var(--sunken);color:var(--mut);font-weight:600;font-size:12px;padding:6px 16px;border-bottom:1px solid var(--line)}
.matrix th.mc,.matrix td.mc{text-align:center;width:104px}
.matrix td.cl{white-space:normal;cursor:help}
.mk{display:inline-flex;gap:4px;align-items:center}.mk.on{color:var(--rise);font-weight:600}.mk.off{color:var(--faint)}
.matrix td.mc .switch{margin:0 auto;display:block}
.two-col{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;align-items:start}
.two-col>.card{min-width:0}
.sevm{font-weight:600}
.stc{display:inline-flex;gap:8px;align-items:center}.stc .btn{padding:3px 10px}
.why{max-width:240px;white-space:normal;margin-top:3px}
.share .bar{width:84px}.share .bar.hi i{background:var(--warn)}.share .bar.full i{background:var(--fall)}
input.num1{width:88px;text-align:right}
input.num1.dirty{border-color:var(--warn);background:var(--warn-soft)}
input:disabled,select:disabled{opacity:.6;background:var(--sunken);cursor:default}
.switch:disabled{opacity:.5;cursor:default}
.fld{display:flex;flex-direction:column;gap:3px;color:var(--mut);font-size:12px}
.mfoot .grow{flex:1}
.setT td.nm{min-width:240px;max-width:300px;white-space:normal;cursor:help}
.algkv{grid-template-columns:200px 1fr;align-items:center}
.chead .cright .btn{padding:4px 10px}
.logT td.wrapc{max-width:520px}
.tabsbar{margin-bottom:-4px}
@media (max-width:820px){
  .side{max-height:calc(100vh - 48px);overflow-y:auto}
  .sidefoot{margin-top:6px}
  .two-col{grid-template-columns:1fr}
  .algkv{grid-template-columns:1fr}
  .rules li{flex-wrap:wrap;padding:11px 12px;gap:10px}
  .rules .rt{flex:1 1 100%}
  .matrix th,.matrix td{padding:8px 4px!important}
  .matrix th.mc,.matrix td.mc{width:58px;white-space:normal;font-size:11px}
  .matrix th:first-child,.matrix td:first-child{padding-left:12px!important}
  .matrix .mkw{display:none}.matrix .mk.off .mkw{display:inline}
  .matrix .switch{width:30px}
  .t tr.grp td{padding:6px 12px}
  .t.rsp td.wrapc{min-width:0;max-width:none;flex:0 0 100%}
  .t.rsp td.actc{margin-left:0;flex:0 0 100%;text-align:left!important}
  .t.rsp .rowbtns{justify-content:flex-start;flex-wrap:wrap}
  .why{max-width:none}
  .pwi{flex:1 1 100%}
  .kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:8px}
  .setT td.nm{min-width:0;max-width:none}
  .t.rsp td[data-l="Durum"] .stc{flex-wrap:wrap}
}

select{padding-right:26px}
.t td select{max-width:160px}
@media (max-width:820px){.pagehead:not(.lh) .acts{flex:1 1 100%}}

/* round 7.3: one control layout on every list screen */
.pagehead h1{min-width:0}
.pagehead h1 .cnt{margin-left:8px;font-size:14px;font-weight:400;color:var(--faint)}
.pagehead.lh{align-items:center}
.pagehead .ttl h1 .cnt{margin-left:8px;font-size:14px;font-weight:400;color:var(--faint)}
.mwrap{position:relative;display:inline-block}
.btn.icon{padding:6px 9px;display:inline-flex;align-items:center}
.menu1 button{white-space:nowrap}
.toolbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);position:relative}
.toolbar .tl{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0}
.toolbar input[type=search]{width:240px;min-width:0}
.winsel{flex:none;width:auto;margin-left:auto}
.fwrap{position:relative;display:inline-block}
.fbtn{display:inline-flex;align-items:center;gap:6px}
.fbtn.on{background:var(--sunken)}
.fpop{position:absolute;top:calc(100% + 6px);left:0;width:300px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:12px;z-index:25;display:flex;flex-direction:column;gap:10px;animation:pop .15s ease-out}
.fpop .fld select{width:100%;max-width:none}
.ffoot{display:flex;justify-content:flex-end}
.fchip{display:inline-flex;align-items:center;gap:2px;background:var(--sunken);border-radius:999px;padding:2px 4px 2px 10px;max-width:230px}
.fchip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fchip button{border:0;background:transparent;cursor:pointer;color:var(--mut);padding:5px;border-radius:50%;line-height:0;transition:background .15s,color .15s}
.fchip button:hover{color:var(--ink);background:var(--line)}
.pho{display:none}
.t th.num,.t td.num{text-align:right}
.two1{display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1.3}
.two1 s{color:var(--faint)}
.pr .nm1{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* sidebar: sets under Ürünler */
.side .links a.grp.on{background:transparent;box-shadow:none;color:var(--ink);font-weight:600}
.side .links a.sub{padding:5px 10px 5px 22px;gap:8px}
.side .links a.sub .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.side .links a.sub .c{color:var(--faint);font-size:12px;flex:none}
.side .links a.sub.quiet{color:var(--faint)}.side .links a.sub.quiet:hover{color:var(--ink)}
.side .links a.sub.quiet.on{color:var(--ink);font-weight:500}
@media (max-width:820px){
  .pagehead.lh{flex-wrap:nowrap;align-items:center}
  .pagehead.lh .acts{flex:none}
  .pagehead.lh h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .toolbar{padding:10px 12px;gap:8px}
  .toolbar,.toolbar .tl,.fwrap{position:static}
  .toolbar{position:relative}
  .toolbar input[type=search]{flex:1 1 110px;width:auto;min-width:110px}
  .fpop{left:12px;right:12px;width:auto;top:calc(100% - 2px)}
  .pho{display:flex}
  .winsel{margin-left:0}
}

@media (max-width:820px){.t.rsp td.nul{display:none}}
@media (max-width:820px){.trustline i{display:none}}

/* round 7.4: collapsible Listeler group */
.side .links .lgrp{display:flex;align-items:center;justify-content:space-between;width:100%;padding:5px 10px 5px 14px;border:0;background:transparent;font:inherit;color:var(--mut);cursor:pointer;border-radius:var(--r-sm);text-align:left}
.side .links .lgrp:hover{background:var(--sunken);color:var(--ink)}
.side .links .lgrp .nm{display:flex;align-items:center;gap:6px}
.side .links .lgrp .c{color:var(--faint);font-size:12px}
.side .links .lgrp .chev{transition:transform .15s}
.side .links .lgrp .chev.rt{transform:rotate(-90deg)}
.side .links .lbody{display:flex;flex-direction:column;gap:2px}
.side .links .lbody a.sub{padding-left:30px}
/* round 7.4: phone header of an open list/category: back link + title on one row, the menu button beside them */
@media (max-width:820px){
  .pagehead:has(.ttl):has(.acts > .mwrap:only-child){flex-wrap:nowrap;align-items:center}
  .pagehead:has(.ttl):has(.acts > .mwrap:only-child) .acts{flex:none}
  .pagehead:has(.ttl):has(.acts > .mwrap:only-child) .ttl{min-width:0;flex:1}
}
@media (max-width:820px){
  .pagehead:has(.ttl):has(.acts > .mwrap:only-child) .ttl{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:nowrap}
  .pagehead:has(.ttl):has(.acts > .mwrap:only-child) .backlink{align-self:center;flex:none;padding:6px 6px 6px 0}
  .pagehead:has(.ttl):has(.acts > .mwrap:only-child) .backlink span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .pagehead:has(.ttl):has(.acts > .mwrap:only-child) .ttl h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pagehead:has(.ttl):has(.acts > .mwrap:only-child) .ttl .sub{display:none}
}

/* product table: value | change | sparkline sit on a fixed grid so every row lines up under its header */
@media (min-width:821px){
  .t.prod .vd{display:inline-grid;grid-template-columns:62px 50px 36px;column-gap:6px;justify-items:end;align-items:center}
  .t.prod .vd .d{min-width:0}
  .t.prod .vd .spark{justify-self:end}
  .t.prod th.hv button{margin-right:98px}
  .t.prod .two1 .dsc{margin-right:98px}
  .t.prod td.nm{min-width:200px;max-width:240px}
  .t.prod th,.t.prod td{padding-left:6px;padding-right:6px}.t.prod th:first-child,.t.prod td:first-child{padding-left:16px}.t.prod th:last-child,.t.prod td:last-child{padding-right:16px}
}
/* Round 7.5: filter builder, saved lists */
.fpop.fb{width:560px;max-width:calc(100vw - 32px);gap:10px}
.fbbd{display:none}
.fbtop{display:flex;align-items:center;gap:8px;min-width:0}
.fbtop .fbln{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.fbtop .pho{margin-left:auto}
.fbmode{display:flex;align-items:center;gap:10px}
.fbrows{display:flex;flex-direction:column;gap:8px}
.fbnone{padding:4px 0}
.fbrow{display:grid;grid-template-columns:196px 108px minmax(0,1fr) 28px;gap:6px;align-items:center}
.fbrow select,.fbrow input{width:100%;min-width:0}
.fbval{display:flex;align-items:center;gap:6px;min-width:0}
.fbv2{display:flex;align-items:center;gap:4px;flex:1;min-width:0}
.fbv2 i{font-style:normal;color:var(--faint)}
.fbu{color:var(--faint);font-size:12px;white-space:nowrap;cursor:help}
.fbrm{border:0;background:transparent;cursor:pointer;color:var(--mut);padding:7px;border-radius:50%;line-height:0;transition:background .15s,color .15s;justify-self:end}
.fbrm:hover{color:var(--ink);background:var(--sunken)}
.fbrm .pho{display:none}
.fbrow.warn select,.fbrow.warn input{opacity:.55}
.fbwarn{grid-column:1 / -1;color:var(--warn);font-size:12px}
.fbadd{align-self:flex-start}
.fpop.fb .ffoot{justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:10px}
.fbsave{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:10px}
.fbsave .ffoot{border:0;padding-top:0;justify-content:flex-end}
.fbsave input[type=text],.fbsave select{width:100%;max-width:none}
.fbkind{display:flex;flex-direction:column;gap:6px}
.fbk{display:flex;gap:8px;align-items:flex-start;cursor:pointer}
.fbk input{margin-top:3px}
.fbk>span{display:flex;flex-direction:column;gap:1px}
.fbk .mut{font-size:12px}
.fbor{color:var(--faint);font-size:12px}
.fbro{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.fchip.ro{background:transparent;border:1px solid var(--line);color:var(--mut);padding:2px 10px}
.fbflash{color:var(--rise);font-size:12px;animation:fade .2s ease-out}
.side .links .lbody a.sub{position:relative}
.dynmk{position:absolute;left:14px;top:0;bottom:0;width:14px;display:flex;align-items:center;justify-content:center}
.dynmk::before{content:"";width:6px;height:6px;border-radius:50%;border:1.3px solid var(--faint);box-sizing:border-box}
.side .links a.sub.on .dynmk::before{border-color:var(--ink)}
@keyframes fbsheet{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@media (max-width:820px){
  .fbbd{display:block;position:fixed;inset:0;background:var(--scrim);z-index:40;animation:fade .15s ease-out}
  .fpop.fb{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-width:none;max-height:84vh;overflow-y:auto;border-radius:14px 14px 0 0;padding:14px 14px calc(14px + env(safe-area-inset-bottom));z-index:41;animation:fbsheet .2s ease-out}
  .fbrow{grid-template-columns:112px minmax(0,1fr);gap:6px;padding-bottom:10px;border-bottom:1px solid var(--line)}
  .fbrow .fbf{grid-column:1 / -1}
  .fbrow .fbrm{grid-column:1 / -1;justify-self:start;border-radius:var(--r-sm);padding:4px 6px;display:inline-flex;align-items:center;gap:6px;font-size:12px}
  .fbrm .pho{display:inline}
  .fbtop{margin-bottom:2px}
  .fbro{flex-basis:100%}
}

/* ===== Insight additions (not in the mockup files) ===== */
:root{--onacc:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--onacc:#0b0d10}}
:root[data-theme=dark]{--onacc:#0b0d10}
.btn.pri{color:var(--onacc)}
a.btn{text-align:center}
.btn.danger{color:var(--fall)}
.cform{padding:12px 16px;display:flex;flex-direction:column;gap:12px}
.cform .frow{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.cform .fcol{display:flex;flex-direction:column;gap:12px}
.cform .field.grow{flex:1 1 260px}
.cform .field.grow input,.cform textarea{width:100%;box-sizing:border-box}
.vhead{padding:12px 16px 4px}
.field{display:flex;flex-direction:column;gap:4px;color:var(--mut);font-size:12px}
.field input,.field select{font-size:13px;color:var(--ink)}
input[type=email],input[type=password],input[type=number],input[type=url],input[type=text],input:not([type]),textarea{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-sm);padding:6px 10px;min-width:0}
input[type=number]:hover,input[type=email]:hover,input[type=password]:hover,input[type=url]:hover,input:not([type]):hover{border-color:var(--faint)}
input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=url]:focus,input:not([type]):focus{border-color:var(--accent)}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
/* missing value: use <span class="miss"></span> or the miss() macro; a bare empty cell shows the same dash */
.miss::before{content:"—";color:var(--faint)}
.t td.num:empty::before,.t td.miss:empty::before{content:"—";color:var(--faint)}
.t td.num.delta:empty::before,.t td.num.nodash:empty::before{content:none}
/* table: sortable header state + sticky head */
.t th[aria-sort] button::after{content:"";width:0;height:0;margin-left:2px;border:4px solid transparent}
.t th[aria-sort=ascending] button::after{border-bottom:5px solid currentColor;border-top:0}
.t th[aria-sort=descending] button::after{border-top:5px solid currentColor;border-bottom:0}
.tablewrap.tall{max-height:70vh;overflow:auto}
.t.sticky thead th{position:sticky;top:0;z-index:1}
.t tbody tr.plain:hover{background:transparent}
.t td.nm a:hover{color:var(--accent)}
/* popover / dropdown */
.pop[hidden],.modal-bg[hidden],.toast[hidden]{display:none}
.pop{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:12px;z-index:25;animation:pop .15s ease-out}
.pop.left{right:auto;left:0}
/* toast */
.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:80;max-width:min(360px,calc(100vw - 32px))}
.toast{background:var(--tipbg);color:var(--tipink);border-radius:var(--r);padding:10px 14px;box-shadow:var(--sh);animation:pop .15s ease-out}
.toast.err{background:var(--fall);color:#fff}
/* states */
.state-box{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:36px 16px;color:var(--mut)}
.state-box b{color:var(--ink);font-weight:600}
.state-box.err b{color:var(--fall)}
.state-box .btn{margin-top:6px}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.skel{display:block;height:12px;border-radius:4px;background:linear-gradient(90deg,var(--sunken) 25%,var(--line) 50%,var(--sunken) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}
.loading-box{padding:16px;display:flex;flex-direction:column;gap:12px}
.loading-box .skel:nth-child(2){width:80%}.loading-box .skel:nth-child(3){width:60%}
@media (prefers-reduced-motion:reduce){.skel{animation:none}}
/* trust line text */
.trustline .trust{color:var(--faint);font-size:12px}
/* sidebar: brand, account, preview band, theme-neutral */
.side .brand{display:block}
.band{background:var(--warn);color:#fff;padding:6px 12px;font-size:13px;font-weight:600;border-radius:var(--r-sm)}
.band span{font-weight:400}
.side .lgrp .nm .chev{flex:none}
.side form{margin:0}
.side .linkbtn{border:0;background:transparent;text-align:left;width:100%;cursor:pointer;display:flex;padding:7px 10px;border-radius:var(--r-sm);color:var(--mut)}
.side .linkbtn:hover{background:var(--sunken);color:var(--ink)}
.acct .av{width:30px;height:30px;border-radius:50%;background:var(--sunken);color:var(--mut);display:inline-flex;align-items:center;justify-content:center;font-weight:600;flex:none}
.main{min-width:0}
.page>*{min-width:0}
.page .page{max-width:none;margin:0;padding:0}
/* auth pages */
.authwrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.authbox{width:min(380px,100%);display:flex;flex-direction:column;gap:16px}
.authbox .brand{padding:0;font-size:16px}
.authbox form{display:flex;flex-direction:column;gap:12px;padding:20px}
.authbox form input{width:100%}
.authbox .btn.pri{padding:8px 12px}
.authbox .under{display:flex;justify-content:center}
.msg[role=alert]{margin:0}
/* ===== legacy markup of the screens not yet rebuilt (liste, urun, magaza, takipler, hareketli, admin) ===== */
.head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}.sp{flex:1}
.sec{margin:0}
.lead{font-weight:600;font-size:18px;line-height:1.25}
td.lead,th.lead{font-size:inherit}
.meta{color:var(--mut);font-size:12px}
.lnk{color:var(--accent)}.lnk:hover{text-decoration:underline;text-underline-offset:2px}
.tag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;background:var(--sunken);color:var(--mut);font-size:12px;font-weight:400;line-height:18px;vertical-align:middle}
.tw{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.tw table{width:100%;border-collapse:collapse}
.tw th,.tw td{padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle;text-align:left;font-weight:400}
.tw th{color:var(--mut);font-weight:500;background:var(--surface)}
.tw tr:last-child td{border-bottom:0}
.tw td.num,.tw th.num{text-align:right}
.tw td.nm{white-space:normal;min-width:220px}
.tw tr.on td{background:var(--accent-soft)}
.tw td:empty::before{content:"—";color:var(--faint)}
.tw td.nodash:empty::before,.tw td.delta:empty::before{content:none}
.tw a:hover{color:var(--accent)}
.figs{display:flex;gap:32px;flex-wrap:wrap;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.row{display:grid;grid-template-columns:40px minmax(0,1fr) 90px 120px 56px;gap:12px;align-items:center;padding:9px 16px;border-bottom:1px solid var(--line);background:var(--surface)}
.row .rank{font-weight:600;font-size:16px}.row .name{overflow:hidden;text-overflow:ellipsis}
.row svg{display:block}.row svg path{fill:none;stroke:var(--ink);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.row .delta{text-align:right;font-weight:600}
.blank{color:var(--faint);padding:24px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.charts>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px}
.chart svg{width:100%;height:auto;display:block}.chart svg path{fill:none;stroke:var(--ink);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.chart svg text{font-size:10px;fill:var(--mut)}
.hd{display:flex;gap:2px;align-items:center;flex-wrap:wrap;margin-bottom:4px}.hd h2{flex:1 0 auto;margin:0 12px 0 0}
.chips button{background:none;border:0;color:var(--mut);padding:5px 10px;border-radius:999px;cursor:pointer}.chips button.on{background:var(--accent-soft);color:var(--accent)}
.chips a{padding:3px 11px;border-radius:999px;border:1px solid var(--line-strong);color:var(--mut)}.chips a.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.lists{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px}
.lists>div{display:flex;gap:16px;padding:6px 0}.lists .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.split{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;align-items:start}
.split [data-region=list-pane]{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:4px;display:flex;flex-direction:column}
.item{display:flex;gap:10px;align-items:baseline;padding:9px 10px;border-radius:var(--r-sm);justify-content:space-between}
.item:hover{background:var(--sunken)}.item.on{background:var(--accent-soft)}
.item .t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item .t2{display:block;color:var(--mut);font-size:12px}
.detail{min-width:0;display:flex;flex-direction:column;gap:14px}
.dl{display:grid;grid-template-columns:140px 1fr;gap:6px 16px;margin:0;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.dl dt{color:var(--mut)}.dl dd{margin:0}
.addform{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.addform input[type=number]{width:80px}
.cost{color:var(--mut)}
.actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.actions form{margin:0}
.actions .btn,.actions button{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-sm);padding:6px 12px;cursor:pointer}
button.plain,.actions .plain{border-color:transparent;background:transparent;color:var(--mut)}
button.plain:hover{background:var(--sunken);color:var(--ink)}
form button[type=submit]:not(.plain):not(.btn):not(.linkbtn){border:1px solid var(--accent);background:var(--accent);color:var(--onacc);border-radius:var(--r-sm);padding:6px 12px;cursor:pointer}
.durum-satiri{background:var(--warn-soft);color:var(--warn);border-radius:var(--r);padding:8px 12px}
@media (max-width:640px){.durum-satiri{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.35}}
[data-region=interval] table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
[data-region=interval] th,[data-region=interval] td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left;font-weight:400}
[data-region=interval] th{color:var(--mut)}
[data-region=interval] form{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.kaynak,.legacy-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.kaynak p{margin:4px 0}
section.sec>h2,.legacy-card>h2{margin-bottom:6px}
.team-name{margin-top:6px}
@media (max-width:820px){
  .split{grid-template-columns:minmax(0,1fr)}
  .charts{grid-template-columns:minmax(0,1fr)}
  .row{grid-template-columns:28px minmax(0,1fr) 64px 48px;gap:8px;padding:9px 12px}
  .row svg{display:none}
  .dl{grid-template-columns:110px 1fr}
  .figs{gap:20px}
  .toasts{left:16px;right:16px;bottom:12px}
}
.events{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 16px}
.events>div{display:flex;gap:24px;padding:6px 0}.events .d{color:var(--mut);min-width:48px}

/* Round 7.5, part C: Takipler (rank-first list, header strip, product Takipler tab, editor). Tokens come from base.css. */
/* open tracking: header strip */
.pcell{display:inline-flex;align-items:center;gap:10px;min-width:0}
.pcell b{overflow-wrap:anywhere}
.tstrip{display:flex;gap:14px 20px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 16px;background:var(--surface);border-bottom:1px solid var(--line)}
.thead{display:flex;gap:6px 12px;align-items:center;flex-wrap:wrap;min-width:0}
.ttitle{font-size:20px;font-weight:600;margin:0;overflow-wrap:anywhere}
.tfacts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px 22px;margin:0;min-width:0;flex:0 0 100%;order:3;padding-top:12px;border-top:1px solid var(--line)}
.tfacts .lead{font-size:inherit;font-weight:600}
[data-region="tracking-products"] td.nm::before{content:none!important}
[data-region="tracking-products"] .pcell{color:var(--ink)}
.tfacts>div{min-width:0}
.tfacts dt{color:var(--faint);font-size:11px}
.tfacts dd{margin:0;white-space:nowrap}
.tact{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.tact .btn{padding:5px 12px}
.btn.danger{color:var(--fall);border-color:var(--fall)}
.btn.danger:hover{background:var(--fall-soft)}
.kconf{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 8px 6px 12px;background:var(--fall-soft);border-radius:var(--r-sm);color:var(--fall);animation:pop .15s ease-out}
.kconf .btn.danger{background:var(--fall);color:#fff}
.kconf .btn.danger:hover{background:#a82424}
/* rank-first list: fixed rank and change columns */
.t.xrk th.rkc,.t.xrk td.rkc{width:56px;min-width:56px;max-width:56px;text-align:right;padding-right:6px}
.t.xrk th.rkd,.t.xrk td.rkd{width:76px;min-width:76px;max-width:76px;padding-left:10px}
.t.xrk td.rkc b{font-weight:600}
.t.xrk tr.gone td{opacity:.5}
.t.xrk tr.gone:hover td{opacity:.8}
.rk{display:inline-flex;align-items:center;gap:3px;font-weight:600}
.rk .tri{flex:none}
.xnest .t.xrk td.nm{max-width:340px}
/* row actions */
.t td.actc .rowbtns .btn{padding:4px 8px}
.kflash{animation:kfade .25s ease-out}
@keyframes kfade{from{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}
tr.kflashrow td{animation:krow 1.6s ease-out}
@keyframes krow{0%{background:var(--rise-soft)}100%{background:transparent}}
/* editor */
.tform{gap:10px}
.tgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.tform .fld select,.tform .fld input[type=text]{width:100%;font-size:13px;color:var(--ink)}
.tform .fld.bad select,.tform .fld.bad input[type=text]{border-color:var(--fall);background:var(--fall-soft)}
.tform .ferr{color:var(--fall);min-height:0;font-size:12px}
.tform .ferr:empty{display:none}
.tform .msg{padding:8px 12px}
@media (max-width:820px){
  .tstrip{padding:12px}
  .tfacts{gap:8px 18px}
  .t.rsp.xrk tbody tr{flex-wrap:wrap}
  .t.rsp.xrk td.rkc,.t.rsp.xrk td.rkd{flex:none;width:auto;min-width:0!important;max-width:none!important;text-align:left!important;padding:0!important}
  .t.rsp.xrk td.rkc{width:34px;text-align:right!important}
  .t.rsp.xrk td.rkd{width:48px}
  .t.rsp.xrk td.nm{flex:1 1 0!important}
  .t.rsp.xrk tr.gone td{opacity:.5}
}

@media (min-width:821px){.t.xrk th.hv{padding-right:104px}}

/* ===== Insight manage: settings, yönetim ===== */
.stabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto;margin:0 0 4px}
.stabs a{padding:8px 12px;color:var(--mut);white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}
.stabs a:hover{color:var(--ink)}
.stabs a.on{color:var(--accent);font-weight:600;border-bottom-color:var(--accent)}
.stabs .cnt{margin-left:6px;font-size:12px;color:var(--faint)}
.rules form{display:contents}
.rules .rt input.inl{width:3.2em}
.rules li .savedchip{margin-left:4px}
.fld{display:flex;flex-direction:column;gap:4px;color:var(--mut);font-size:12px}
.fld input,.fld select{font-size:13px;color:var(--ink)}
.role-note{padding:10px 16px;color:var(--mut);border-bottom:1px solid var(--line)}
.matrix td.pm-l{white-space:normal}
.matrix tr.grp td{background:var(--sunken);color:var(--mut);font-size:12px}
.ck{color:var(--rise)}
.cellno{color:var(--faint)}
.sevm{margin-right:6px}
.attn li{display:flex;gap:12px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--line)}
.attn li:last-child{border-bottom:0}
.attn .at{flex:1;min-width:0}.attn .at b{display:block}.attn .at span{color:var(--mut)}
.envsrc{color:var(--faint);font-size:12px}
.kvgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 24px;padding:12px 16px;margin:0}
.kvgrid dt{color:var(--faint);font-size:11px}.kvgrid dd{margin:0}
.ghost.danger{border-color:transparent}
.inlinef{display:inline-flex;gap:6px;align-items:center;margin:0}
.t td.actc{text-align:right;white-space:nowrap}
.t tr.openrow td{background:var(--sunken)}
.t td.nm a{color:inherit}
.fld[hidden]{display:none}
.rules select[name=channel]{width:132px}
.rules .rt input.inl{margin:0 1px}
.sevm{min-width:54px;text-align:center}
.t td.wrapc{white-space:normal}.t td.nm.kaynak{min-width:0}
/* Takipler: ten columns plus the row buttons must fit 1280 px without an inner scroll */
@media (min-width:821px){
  [data-region="tracking-table"] .t td.nm{min-width:170px;max-width:210px}
  [data-region="tracking-table"] .t th,[data-region="tracking-table"] .t td{padding-left:7px;padding-right:7px}
  [data-region="tracking-table"] .rowbtns .btn{padding:4px 5px}
}

/* Geçmiş: one row per measurement; a row with per-store stock opens its store breakdown */
/* Geçmiş: one row per check; the whole row opens a nested table on the sunken background */
table.hist{min-width:0}
table.hist th.chev,table.hist td.chev{width:32px;text-align:center;padding-left:0;padding-right:8px;color:var(--faint)}
table.hist td.chev .chev{display:inline-block;transition:transform .15s}
table.hist td.chev .chev.rt{transform:rotate(-90deg)}
table.hist tr.open-able{cursor:pointer}
table.hist tr.open-able:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
table.hist tr.open-able:hover td{background:var(--hover)}
table.hist tr.open-able:hover td.chev,table.hist tr[aria-expanded="true"] td.chev{color:var(--ink)}
table.hist tr[aria-expanded="true"] td.chev .chev.rt{transform:none}
table.hist tr[aria-expanded="true"]>td{background:var(--sunken)}
table.hist .pmove{margin-left:8px;font-size:12px;font-variant-numeric:tabular-nums}
table.hist .pmove.rise{color:var(--rise)}
table.hist .pmove.fall{color:var(--fall)}
table.hist td.offers{padding:0;background:var(--sunken);white-space:normal}
table.hist tr.hdet:hover td{background:var(--sunken)}
.nwrap{padding:.75rem 1rem 1rem}
.ncols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;align-items:start}
.ncols:has(> table:only-child){grid-template-columns:minmax(0,520px)}
.nlegend{margin-top:8px;font-size:12px;color:var(--faint)}
.covchg{margin-left:8px;padding:1px 6px;border-radius:999px;background:var(--warn-soft);color:var(--warn);font-size:11px;white-space:nowrap}
.lfl{margin-left:1px;cursor:help}
.nt{width:100%;border-collapse:collapse;min-width:0}
.nt th,.nt td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums}
.nt th{position:sticky;top:0;background:var(--sunken);font-size:12px;font-weight:500;color:var(--mut)}
.nt tbody tr:last-child td{border-bottom:0}
.nt .num{text-align:right}
.nt .delta.rise{color:var(--rise)}.nt .delta.fall{color:var(--fall)}
.badge.out{display:inline-block;padding:1px 7px;font-size:11px;border-radius:var(--r-sm);background:var(--fall-soft);color:var(--fall)}
@media (max-width:640px){
  table.hist,table.hist>tbody{display:block;width:100%}
  table.hist>thead{display:none}
  table.hist tr.hrow td:empty{display:none}
  table.hist tr.hrow{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 16px;padding:10px 40px 10px 14px;position:relative;border-bottom:1px solid var(--line)}
  table.hist tr.hrow>td{display:block;padding:0!important;border:0;white-space:normal;text-align:left!important;min-width:0!important}
  table.hist tr.hrow td.nm{flex:0 0 100%;color:var(--mut);font-size:12px}
  table.hist tr.hrow td.nm+td{font-weight:600}
  table.hist tr.hrow td[data-l]:not(.nm)::before{content:attr(data-l);color:var(--faint);font-size:11px;margin-right:5px;font-weight:400}
  table.hist tr.hrow td.chev{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:auto}
  table.hist tr.hdet,table.hist tr.hdet>td{display:block;width:100%}
  table.hist tr.hdet[hidden]{display:none}
  table.hist tr.hdet td.offers{border-bottom:1px solid var(--line)}
  .nwrap{padding:.5rem .75rem .75rem}
  .ncols{grid-template-columns:minmax(0,1fr)}
  .ncols .nt+.nt thead{display:none}
  .nt th,.nt td{padding:6px 8px}
}

/* Ürünler: the Pazar dropdown and the same checkboxes inside the filter builder */
.fpop.mk{width:260px;gap:4px;display:flex;flex-direction:column;align-items:stretch;text-align:left}
.fbrow input[type=checkbox],.mkrow input[type=checkbox]{width:auto;flex:none}
.mkrow{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:5px 6px;border-radius:6px;cursor:pointer;text-align:left;margin:0}
.mkrow:hover{background:var(--sunken)}
.mkrow span{min-width:0;text-align:left}
.mkrow.mkhd span{font-weight:600}
.mkrow.mkch{padding-left:30px}
.mkhead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:6px;margin-bottom:2px;border-bottom:1px solid var(--line)}
.mkq{display:inline-flex;gap:2px}
.mkrow{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:var(--r-sm);cursor:pointer}
.mkrow:hover{background:var(--hover)}
.mkrow input{margin:0;accent-color:var(--accent)}
.fpop.mk .ffoot{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:10px;margin-top:4px}
.fbchk{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;max-height:280px;overflow-y:auto}
.fbchk .mkrow{padding:4px 6px;min-width:0}
.fbchk .mkrow.mkch{padding-left:30px}
.fbchk .mkrow span,.fpop.mk .mkrow span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fbrow:has(.fbchk) .fbval{grid-column:1 / -1;grid-row:2}
.fbrow:has(.fbchk) .fbrm{grid-column:4;grid-row:1}
@media (max-width:820px){.fpop.mk{width:auto}.fbchk{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){
  /* Ürünler toolbar on a phone: search on its own row, then Pazar, Filtre and the period on one row, then the chips */
  .toolbar{flex-wrap:wrap}
  .toolbar .tl{display:contents}
  .toolbar input[type=search]{flex:1 1 100%;order:0}
  .toolbar .fwrap{order:1}
  .toolbar>.seg{order:2;margin-left:auto}
  .toolbar .tl>:not(.qf):not(.fwrap){order:3}
}
@media (max-width:480px){
  .toolbar{gap:6px;padding:10px}
  .toolbar .fbtn{padding:6px 9px;gap:4px}
  .toolbar>.seg button,.toolbar>.seg a{padding:6px 8px}
}
.t.prod td[data-l="Son değişim"]{white-space:normal;max-width:160px;min-width:110px}
.t.prod td[data-l="Son değişim"] .two>span{white-space:normal}
@media (max-width:820px){.t.prod.rsp td[data-l="Son değişim"]{max-width:none}}
@media (min-width:821px){
  .t.prod th,.t.prod td{padding-left:8px;padding-right:8px}
  .t.prod th:first-child,.t.prod td:first-child{padding-left:16px}.t.prod th:last-child,.t.prod td:last-child{padding-right:16px}
  .t.prod td.nm{max-width:230px;width:22%}
  .t.prod td[data-l="Son değişim"]{max-width:132px;min-width:96px}
}

.btn.loading{opacity:.7;cursor:progress;position:relative}
.btn.loading::after{content:"";display:inline-block;width:.7em;height:.7em;margin-left:.5em;border:2px solid var(--line-strong);border-top-color:var(--ink);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-1px}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.btn.loading::after{animation:none}}

/* Site-profilleri: per-site panel placement rows */
.plrow{display:grid;grid-template-columns:180px minmax(0,1fr) 190px auto;gap:8px 16px;align-items:start;padding:12px 16px;border-top:1px solid var(--line)}
.plrow .plname{padding-top:2px;min-width:0;overflow-wrap:anywhere}
.plrow textarea{width:100%;box-sizing:border-box;font-size:12px;line-height:1.45;resize:vertical}
.plrow .field select{width:100%}
.plrow .rowbtns{padding-top:19px}
.plrow .plerr{grid-column:1/-1}
@media (max-width:900px){.plrow{grid-template-columns:minmax(0,1fr) 190px;}.plrow .plname{grid-column:1/-1}.plrow .rowbtns{padding-top:0;grid-column:1/-1;justify-content:flex-start}}
@media (max-width:520px){.plrow{grid-template-columns:minmax(0,1fr)}}
