:root{color-scheme:dark;--bg:#111927;--surface:#1b2738;--line:#34455d;--muted:#b0bfd1;--accent:#b9a0ff;--gold:#ffd079}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f2f5fa;font:16px/1.6 system-ui,-apple-system,sans-serif}button,input{font:inherit}button,a,input{outline-offset:4px}button{padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:#26364c;color:inherit;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}input{background:#142033;border:1px solid #53647d;border-radius:8px;color:inherit;padding:10px;width:100%}a{color:var(--accent);text-decoration:none}.top{border-bottom:1px solid var(--line);padding:18px 4vw;display:flex;gap:24px;align-items:center}.top>a{font-size:23px;font-weight:750;color:#fff}.top>span{color:var(--muted)}.manual{margin-left:auto;font-size:13px;padding:4px 12px;border:1px solid #537b74;border-radius:24px;color:#a9e4ce!important}main{max-width:1350px;padding:32px 28px 60px;margin:auto}.intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--accent);margin:0}h1{font-size:clamp(25px,3vw,36px);line-height:1.35;margin:8px 0}h2{font-size:20px;margin:0 0 10px}h3{font-size:17px;margin:0}p{margin:6px 0}.intro p:not(.eyebrow),.muted{color:var(--muted)}.card{border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--surface)}.scope{border-top:3px solid var(--accent)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.pill{background:#382f58;color:#d8caff;padding:4px 12px;border-radius:30px;font-size:14px;white-space:nowrap}.notice{color:var(--gold);font-size:14px;margin:12px 0;overflow-wrap:anywhere}.tools{display:flex;gap:12px;align-items:flex-end;margin:18px 0}.tools .search{flex:1}.search,label{font-size:14px;color:var(--muted)}.search input{display:block;margin-top:5px}.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:320px;overflow:auto;padding:2px 4px 8px 2px}.account{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#142033;border:1px solid var(--line);border-radius:10px;cursor:pointer}.account:has(input:checked){background:#2f2947;border-color:#9378da}.account input{width:18px;height:18px;flex-shrink:0;accent-color:#ba9eff;margin-top:4px}.account strong{color:#f3f5fa;font-size:14px;display:block;overflow-wrap:anywhere}.account small{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.apply-row{display:flex;gap:16px;align-items:flex-end;border-top:1px solid var(--line);padding-top:18px;margin-top:14px}.apply-row input{display:block;margin-top:5px}.primary{background:#bc9dff;border:none;color:#1a102a;font-weight:750;padding:14px 20px;margin-left:auto}.date-note{font-size:12px;color:var(--muted);margin-bottom:6px}.draft-note{color:var(--gold);font-size:13px;margin-top:12px}.empty{text-align:center;padding:42px;color:var(--muted);margin:24px 0}.empty-icon{font-size:36px;color:var(--accent)}.empty h2{color:#edf0f6;margin-top:8px}.applied{padding:20px 0;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line)}.applied p{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.tabs{display:flex;gap:8px;padding:22px 0;flex-wrap:wrap}.tabs button{background:transparent}.tabs button.active{background:#3a3159;border-color:var(--accent);color:#e3d6ff}.group{margin-bottom:18px}.group-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.kpi{padding:16px;background:#142033;border-radius:12px}.kpi span{display:block;color:var(--muted);font-size:13px}.kpi strong{font-size:28px;color:#fff;overflow-wrap:anywhere}.kpi small{display:block;color:var(--gold);font-size:12px}.chart{width:100%;height:170px;display:block}.chart-label{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.table-wrap{overflow-x:auto;margin-top:12px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted)}details{margin:14px 0;padding:14px;background:#142033;border-radius:10px}summary{cursor:pointer;overflow-wrap:anywhere}.analysis-row{padding:18px 0;border-bottom:1px solid var(--line)}.sources{margin-top:28px;color:var(--muted);font-size:13px}.sources h2{font-size:16px}[hidden]{display:none!important}@media(max-width:900px){.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.apply-row{flex-wrap:wrap}.primary{margin-left:0}.date-note{flex:1}.applied{align-items:flex-start;flex-direction:column}}@media(max-width:580px){main{padding:24px 14px}.card{padding:16px}.top{gap:12px}.top>span:not(.manual){display:none}.intro>a{display:none}.tools{flex-wrap:wrap}.tools .search{flex-basis:100%}.account-grid{grid-template-columns:1fr;max-height:300px}.kpis{grid-template-columns:1fr;gap:8px}.kpi strong{font-size:25px}.apply-row>label{width:calc(50% - 8px)}.apply-row .primary{width:100%}.section-head{align-items:flex-start;flex-direction:column;gap:4px}.group-head{align-items:flex-start;flex-direction:column}}

.provenance{padding:8px 12px;font-size:13px;max-width:800px}.provenance p{overflow-wrap:anywhere}

.tools{flex-wrap:wrap}.tools .search{min-width:220px}.account-grid{max-height:480px}.account:has(input:checked) small.notice{color:var(--gold)}

.billing-panel{margin:24px 0;border-top:3px solid #7ed6b5}.billing-panel select{font:inherit;background:#142033;color:#fff;border:1px solid #53647d;border-radius:8px;padding:10px;display:block;margin-top:5px}.billing-panel input[type=date]{display:block;margin-top:5px}.billing-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.billing-total{background:#142033;border:1px solid var(--line);border-left:4px solid currentColor;border-radius:12px;padding:18px}.billing-total>span{display:block;font-weight:650}.billing-total>strong{font-size:30px;display:block;font-variant-numeric:tabular-nums;color:#fff}.billing-total small{font-size:14px}.billing-total p{color:var(--muted);font-size:13px}.billing-panel .paid{color:#99e9c3}.billing-panel .pending{color:#ffda8b}.billing-panel .failed{color:#ffafb7}.billing-accounts{max-height:620px;overflow:auto;padding-right:5px}.billing-account{border:1px solid var(--line);margin:10px 0}.billing-account summary{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(95px,1fr));align-items:center;gap:12px}.billing-name>strong{color:#f2f5fa}.billing-name small{display:block;color:var(--muted);font-size:12px}.billing-name>strong:before{content:'▸ ';color:var(--accent)}.billing-account[open] .billing-name>strong:before{content:'▾ '}.billing-amount{text-align:right;font-variant-numeric:tabular-nums}.billing-amount small{display:block;font-size:12px}.billing-amount strong{font-size:17px}.billing-badge{display:inline-block;border:1px solid currentColor;border-radius:20px;padding:2px 10px;font-size:12px}.billing-numeric{text-align:right;font-variant-numeric:tabular-nums}.billing-account caption{text-align:left;color:var(--muted);padding:8px}.billing-account summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@media(max-width:680px){.billing-totals{grid-template-columns:1fr}.billing-total>strong{font-size:27px}.billing-account summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.billing-name{grid-column:1/-1}.billing-amount{text-align:left}.billing-amount strong{font-size:15px}.billing-accounts{max-height:650px}}
/* ป้ายเขตเวลาไม่ตรงไทย (มติเจ้าของ 18 ต.ค. 2569) */
.tz-badge{display:inline-block;background:#4a2f17;color:#ffd079;border:1px solid #8a5a1f;border-radius:20px;padding:1px 10px;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap;vertical-align:middle}.account small .tz-badge{margin-top:4px}summary .tz-badge{margin-left:6px}h2 .tz-badge{font-size:12px;margin-left:8px}
/* ฝังเป็นแท็บใน dashboard.html */
html.embed .top,html.embed .intro{display:none}html.embed main{padding-top:8px}

/* แถบงานค้าง + งบคำขอ (เจ้าของสั่ง 20 ต.ค. 2569 00:2x: ปุ่มทำงานที่ค้างต่ออยู่บนสุด) */
.pending-strip{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border:2px solid #F6AD2B;background:rgba(246,173,43,.10);padding:14px 18px}
.pending-strip strong{font-size:16px}
.pending-strip p{margin:4px 0 0}
.pending-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
#resumeTop{background:#F6AD2B;color:#241300;font-weight:800;border:0;border-radius:10px;padding:10px 18px;font-size:15px;cursor:pointer}
#resumeTop:disabled{opacity:.5;cursor:not-allowed}
.budget-line{font-size:12.5px}
.budget-line.ok{color:#3FBF72}
.budget-line.wait{color:#E3B341}
html.embed .pending-strip{margin-top:4px}

.billing-unknown{color:#E3B341}
/* 23 ต.ค. 2569: ⚡ อัปเดตบิล (billing-pull.js) — ส่วน "จาก Meta API" แยกจาก Billing Hub */
.billing-api{margin:12px 0 18px;padding:12px 14px;border:1px solid rgba(126,214,181,.35);border-radius:12px}
.billing-api h3{margin:2px 0 0;font-size:16px}
.billing-hub-head{margin-top:14px}
.hub-empty .billing-hub-head{margin-top:10px;opacity:.75}.hub-empty #billingMessage{padding:6px 10px;font-size:13px}
#billingPullMsg{margin:6px 0}
