:root{
  --ink:#12231e;--muted:#5f726b;--green:#0f7a58;--line:#d7e3dd;--bg:#edf5f1;
  --font:Manrope,system-ui,sans-serif;--display:Sora,Manrope,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:15px/1.45 var(--font)}
.ad-shell{max-width:1180px;margin:0 auto;padding:18px 16px 40px}
.ad-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:18px}
.ad-top h1{margin:4px 0 0;font:700 26px var(--display)}
.ad-top small{display:block;color:var(--green);font:800 10px var(--font);letter-spacing:.08em;text-transform:uppercase}
.ad-back{display:inline-block;margin-bottom:6px;color:var(--green);font:800 12px var(--font);text-decoration:none}
.ad-note{margin:0;color:var(--muted);font-size:12px;line-height:1.4}
.ad-error{color:#b42318;font-size:12px}
.ad-gate{display:grid;place-items:center;min-height:50vh}
.ad-gate form{width:min(380px,100%);padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;display:grid;gap:10px}
.ad-gate h2{margin:0;font:700 20px var(--display)}
.ad-gate input,.ad-search input,.ad-fields input{
  width:100%;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:12px;font:600 14px var(--font)
}
.ad-gate button,.ad-search button,.ad-actions button{
  min-height:44px;border:0;border-radius:12px;background:#173c31;color:#fff;font:800 13px var(--font);cursor:pointer
}
.ad-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}
.ad-kpi{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.ad-kpi small{display:block;font:800 10px var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.ad-kpi b{display:block;margin-top:4px;font:700 22px var(--display)}
.ad-fuel{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:14px}
.ad-fuel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.ad-fuel h2{margin:0 0 4px;font:700 18px var(--display)}
.ad-fuel-head button{min-height:44px;padding:0 16px;border:0;border-radius:12px;background:#173c31;color:#fff;font:800 13px var(--font);cursor:pointer;white-space:nowrap}
.ad-fuel-head button:disabled{opacity:.6;cursor:wait}
.ad-fuel-prices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}
.ad-fuel-history{overflow:auto;max-height:240px;border:1px solid var(--line);border-radius:12px;margin-top:10px}
.ad-fuel-trend{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.cost-fuel-trend-head{display:flex;flex-direction:column;gap:10px;align-items:stretch;margin-bottom:8px;overflow:visible}
.cost-fuel-trend-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cost-fuel-trend-head h3{margin:0;font:700 14px var(--display)}
.fuel-meta-compact{display:grid;gap:6px}
.fuel-meta-scope{margin:0;font-size:11px;color:var(--muted)}
.fuel-meta-series{margin:0;font-size:12px;color:var(--ink);line-height:1.45}
.fuel-meta-series small{color:var(--muted)}
.fuel-yoy-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fuel-yoy-kpi{
  padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:0
}
.fuel-yoy-kpi small{display:block;font:800 10px var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.fuel-yoy-kpi .fuel-pct{display:block;margin:3px 0 2px;font:800 22px/1.1 var(--display);letter-spacing:-.03em}
.fuel-yoy-kpi span{font-size:11px;color:var(--muted)}
.fuel-pct.is-up{color:#b42318}
.fuel-pct.is-down{color:#0f7a58}
.fuel-yoy-table .fuel-pct{
  display:inline-block;padding:2px 7px;border-radius:999px;font:800 12px var(--font)
}
.fuel-yoy-table .fuel-pct.is-up{background:#fde8e8;color:#b42318}
.fuel-yoy-table .fuel-pct.is-down{background:#e7f5ee;color:#0f7a58}
.cost-fuel-trend-filters{display:grid;grid-template-columns:minmax(112px,1fr) minmax(112px,1fr) minmax(168px,1.7fr) minmax(96px,.85fr);gap:8px;width:100%;overflow:visible}
.fuel-dd{position:relative;min-width:0}
.fuel-dd-btn{
  width:100%;display:flex;align-items:center;gap:8px;min-height:40px;padding:5px 10px 5px 11px;
  border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;text-align:left
}
.fuel-dd-btn:hover,.fuel-dd.is-open .fuel-dd-btn{border-color:#0f7a58}
.fuel-dd-k{font:800 10px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-shrink:0}
.fuel-dd-v{flex:1;min-width:0;font:600 13px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fuel-dd-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #5f726b;margin-left:auto;flex-shrink:0;transition:transform .15s}
.fuel-dd.is-open .fuel-dd-caret{transform:rotate(180deg)}
.fuel-dd-panel{
  position:absolute;z-index:40;left:0;right:auto;top:calc(100% + 4px);min-width:100%;max-height:min(260px,42vh);overflow:auto;
  background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px rgba(23,60,49,.14);padding:6px
}
.fuel-dd[data-label="Sản phẩm"] .fuel-dd-panel{min-width:260px}
.fuel-dd-actions{display:flex;gap:6px;padding:2px 4px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}
.fuel-dd-actions button{
  flex:1;min-height:28px;padding:0 8px;border:1px solid var(--line);border-radius:6px;
  background:#f7faf8;color:var(--ink);font:700 11px var(--font);cursor:pointer
}
.fuel-dd-actions button:hover{border-color:#0f7a58;background:#eef8f2}
.fuel-dd-opt{
  display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;cursor:pointer;
  font:500 13px var(--font);text-transform:none;letter-spacing:0;color:var(--ink)
}
.fuel-dd-opt:hover{background:#f3f8f5}
.fuel-dd-opt:has(input:checked){background:#eef8f2;font-weight:650}
.fuel-dd-opt input{width:auto;margin:0;accent-color:#0f7a58;flex-shrink:0}
.fuel-dd-field{
  display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;min-height:40px;
  padding:4px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;
  font:800 10px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)
}
.fuel-dd-field select{
  border:0;padding:0;min-height:20px;max-width:none;width:100%;
  font:600 13px var(--font);letter-spacing:0;text-transform:none;color:var(--ink);background:transparent
}
.cost-fuel-filter-hint{margin:4px 0 0;font-size:11px;color:var(--muted)}
.fuel-mode-tabs{display:inline-flex;gap:0;padding:3px;border:1px solid var(--line);border-radius:8px;background:#fff}
.fuel-mode-tabs button{
  min-height:28px;padding:0 11px;border:0;border-radius:6px;
  background:transparent;color:var(--muted);font:700 12px var(--font);cursor:pointer
}
.fuel-mode-tabs button.is-active{background:#173c31;color:#fff}
@media(max-width:560px){
  .cost-fuel-trend-filters{grid-template-columns:1fr 1fr}
}
.fuel-yoy-block{margin-top:10px}
.fuel-yoy-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.fuel-yoy-table th,.fuel-yoy-table td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right}
.fuel-yoy-table th:first-child,.fuel-yoy-table td:first-child{text-align:left}
.fuel-yoy-table thead th{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:#f7faf8}
.fuel-yoy-table tr.is-up td:nth-last-child(-n+2){color:#b42318}
.fuel-yoy-table tr.is-down td:nth-last-child(-n+2){color:#0f7a58}
.cost-fuel-chart-frame{
  width:100%;height:200px;min-height:200px;
  background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden
}
.cost-fuel-chart svg{display:block;width:100%;height:100%}
.cost-fuel-chart .grid{stroke:#e6eeea;stroke-width:1}
.cost-fuel-chart .axis{fill:#5f726b;font:10px Manrope,system-ui,sans-serif;text-anchor:end}
.cost-fuel-chart .axis.x{text-anchor:middle}
.cost-fuel-chart-empty{margin:0;padding:18px;text-align:center;color:var(--muted);font-size:12px}
.cost-fuel-chart-legend{display:flex;gap:14px;flex-wrap:wrap;margin:8px 2px 0;font-size:11px;color:var(--muted)}
.cost-fuel-chart-legend .is-forecast{color:var(--muted)}
.ad-fuel-history table{width:100%;border-collapse:collapse;font-size:12px}
.ad-fuel-history th,.ad-fuel-history td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:right}
.ad-fuel-history th:first-child,.ad-fuel-history td:first-child{text-align:left}
.ad-fuel-history thead th{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:#f7faf8}
.ad-fuel a{color:var(--green)}
.ad-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.2fr);gap:14px;align-items:start}
.ad-list-panel,.ad-editor{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}
.ad-search{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:10px}
.ad-list{display:grid;gap:6px;max-height:70vh;overflow:auto}
.ad-row{
  width:100%;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:12px;
  background:#fafcfb;cursor:pointer;font:inherit
}
.ad-row:hover,.ad-row.is-active{border-color:#0f7a58;background:#eef8f2}
.ad-row b{display:block;font-size:13px}
.ad-row span{display:block;margin-top:2px;color:var(--muted);font-size:11px}
.ad-editor h2{margin:0 0 6px;font:700 18px var(--display)}
.ad-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.ad-fields label{display:grid;gap:4px;font:800 10px var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.ad-fields .span-2{grid-column:1/-1}
.ad-fields input[readonly]{background:#f3f6f4;color:var(--muted)}
.ad-actions{display:flex;gap:8px;flex-wrap:wrap}
.ad-actions .danger{background:#8b1e1e}
@media(max-width:860px){
  .ad-kpis,.ad-grid,.ad-fields,.ad-fuel-prices{grid-template-columns:1fr}
  .ad-top,.ad-fuel-head{flex-direction:column;align-items:flex-start}
}
