/* ════ Dashboard Analytics — Modern Gradient · Dark Navy · Glassmorphism ════ */
.da-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.da-head h1{font-size:clamp(26px,2.6vw,34px);font-weight:800;letter-spacing:-.02em;background:linear-gradient(110deg,#fff,#a7e9fb 70%,#b7a5ff);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.25}
.da-head p{color:#94a3b8;font-size:14px;margin-top:4px}
.da-live{display:flex;align-items:center;gap:10px;font-size:12px;color:#94a3b8}
.da-live label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:7px 11px;border-radius:999px;border:1px solid rgba(0,212,255,.2);background:rgba(0,212,255,.06);color:#a5f3fc}
.da-live input{accent-color:#22d3ee}
.da-icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid rgba(148,163,184,.25);background:rgba(255,255,255,.03);color:#e5e7eb;display:grid;place-items:center;font-size:16px;transition:.2s}
.da-icon-btn:hover{border-color:rgba(0,212,255,.45)}
.da-icon-btn.spin{animation:daSpin .7s linear}
@keyframes daSpin{to{transform:rotate(360deg)}}

.da-glass{background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.02));border:1px solid rgba(148,163,184,.16);border-radius:18px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 1px rgba(255,255,255,.05),0 14px 40px rgba(2,7,24,.35)}

/* แถบตัวกรอง */
.da-filters{padding:14px 16px;margin-bottom:18px;display:grid;gap:12px}
.da-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.da-lbl{font-size:11px;font-weight:700;letter-spacing:.12em;color:#64748b;text-transform:uppercase;margin-right:2px}
.da-seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:12px;background:rgba(2,6,23,.45);border:1px solid rgba(148,163,184,.14)}
.da-seg button{padding:7px 12px;border-radius:9px;font-size:13px;color:#cbd5e1;transition:.18s;white-space:nowrap}
.da-seg button:hover{color:#fff;background:rgba(148,163,184,.1)}
.da-seg button.on{color:#fff;background:linear-gradient(135deg,#00b8f0,#2563eb 60%,#6366f1);box-shadow:0 4px 14px rgba(37,99,235,.25)}
.da-in{background:rgba(2,6,23,.45);border:1px solid rgba(148,163,184,.22);border-radius:10px;color:#e5e7eb;padding:8px 11px;font-size:13px;font-family:inherit;color-scheme:dark}
.da-in:focus{outline:none;border-color:#22d3ee;box-shadow:0 0 0 3px rgba(34,211,238,.12)}
.da-range-txt{font-size:12.5px;color:#cbd5e1}
.da-range-txt small{display:block;color:#64748b;font-size:11.5px}
.da-sp{flex:1}

/* เลือกหลายรายการ */
.da-pick-wrap{position:relative}
.da-pick-btn{display:inline-flex;align-items:center;gap:8px;min-width:240px;justify-content:space-between}
.da-pick{position:absolute;top:calc(100% + 6px);left:0;z-index:40;width:min(340px,86vw);display:none;padding:10px;border-radius:14px;background:rgba(11,23,42,.98);border:1px solid rgba(0,212,255,.22);box-shadow:0 18px 40px rgba(2,6,23,.6)}
.da-pick.open{display:block}
.da-pick input[type=text]{width:100%;margin-bottom:8px}
.da-pick-list{max-height:260px;overflow:auto;display:grid;gap:2px}
.da-opt{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;font-size:13px;color:#e5e7eb;cursor:pointer}
.da-opt:hover{background:rgba(148,163,184,.1)}
.da-opt input{accent-color:#22d3ee;width:15px;height:15px;flex:none}
.da-opt span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.da-opt small{color:#64748b;font-size:11px}
.da-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.da-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:999px;font-size:12px;color:#a5f3fc;background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.25)}
.da-chip button{width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.08);color:#e5e7eb;line-height:1}
.da-chip-clear{font-size:12px;color:#94a3b8;text-decoration:underline}
.da-chip-hint{font-size:12px;color:#64748b}

/* KPI */
.da-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}
.da-kpi{position:relative;overflow:hidden;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(148,163,184,.16);transition:transform .2s,border-color .2s}
.da-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c)}
.da-kpi::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,var(--c),transparent 70%);opacity:.12}
.da-kpi:hover{transform:translateY(-2px);border-color:rgba(148,163,184,.3)}
.da-kpi-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#94a3b8}
.da-kpi-top i{font-style:normal;color:var(--c);font-size:16px}
.da-kpi b{display:block;font-family:Inter,sans-serif;font-size:32px;font-weight:800;color:#fff;margin:8px 0 6px;line-height:1}
.da-kpi-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.da-kpi-foot small{font-size:11px;color:#64748b}
.da-chg{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;cursor:help}
.da-chg.up{color:#34d399;background:rgba(52,211,153,.12)}
.da-chg.down{color:#f87171;background:rgba(248,113,113,.12)}
.da-chg.flat{color:#94a3b8;background:rgba(148,163,184,.12)}

/* การ์ดกราฟ */
.da-grid2{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-bottom:16px}
.da-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px}
.da-card{padding:16px 18px;min-width:0}
.da-card-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}
.da-card-h h3{font-size:15.5px;font-weight:700;color:#fff}
.da-card-h p{font-size:12px;color:#64748b;margin-top:2px}
.da-chart{position:relative;height:290px}
.da-chart.sm{height:220px}
.da-donut{display:grid;grid-template-columns:160px 1fr;gap:14px;align-items:center}
.da-donut .da-chart{height:160px}
.da-donut-c{position:absolute;inset:0;display:grid;place-items:center;text-align:center;pointer-events:none}
.da-donut-c b{display:block;font-family:Inter,sans-serif;font-size:26px;font-weight:800;color:#fff;line-height:1}
.da-donut-c small{font-size:11px;color:#94a3b8}
.da-leg{display:grid;grid-template-columns:10px 1fr auto auto;align-items:center;gap:8px;font-size:12.5px;color:#cbd5e1;padding:5px 0;border-bottom:1px solid rgba(148,163,184,.08)}
.da-leg i{width:10px;height:10px;border-radius:3px}
.da-leg b{color:#fff;font-family:Inter,sans-serif}
.da-leg small{color:#64748b;min-width:42px;text-align:right}
.da-rk{display:flex;align-items:center;gap:10px;padding:7px 0}
.da-rk-n{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:700;color:#94a3b8;background:rgba(148,163,184,.1);flex:none}
.da-rk-n.top{color:#fff;background:linear-gradient(135deg,#00b8f0,#6366f1)}
.da-rk-m{flex:1;min-width:0}
.da-rk-t{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:#e5e7eb}
.da-rk-t span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.da-rk-t b{font-family:Inter,sans-serif;color:#fff}
.da-bar{height:5px;border-radius:9px;background:rgba(148,163,184,.14);margin-top:5px;overflow:hidden}
.da-bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#00d4ff,#6366f1)}
.da-empty{color:#64748b;font-size:13px;text-align:center;padding:24px 0}
.da-note{font-size:11.5px;color:#64748b;margin-top:8px}

@media(max-width:1280px){.da-grid3{grid-template-columns:1fr 1fr}.da-grid3>:last-child{grid-column:1/-1}.da-kpi b{font-size:28px}}
@media(max-width:1100px){.da-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.da-grid2{grid-template-columns:1fr}}
@media(max-width:700px){.da-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.da-grid3{grid-template-columns:1fr}.da-donut{grid-template-columns:1fr}.da-pick-btn{min-width:0;width:100%}.da-chart{height:250px}}
@media(prefers-reduced-motion:reduce){.da-kpi,.da-icon-btn{transition:none}.da-icon-btn.spin{animation:none}}
