/* ============================================================
   IT360 — main.css
   UI Design System: AURORA NEXUS
   ============================================================ */

:root{
  --bg:#E8EEF8; --bg2:#F7FAFF;
  --surface:rgba(255,255,255,.72); --surface-solid:#FFFFFF;
  --surface-hover:rgba(255,255,255,.94);
  --line:rgba(15,23,42,.10);
  --ink:#0B1220; --muted:#64748B;
  --navy:#0F172A; --blue:#2563EB; --teal:#06B6D4;
  --amber:#F59E0B; --verm:#F43F5E; --yellow:#FBBF24; --green:#10B981;
  --purple:#7C3AED;
  --cyan:#22D3EE; --indigo:#6366F1;
  --shard-blend:multiply; --shard-op:.7;
  --sidebar-ink:#E0E7FF;
  --shadow:0 20px 50px -24px rgba(15,23,42,.35);
  --glow:0 0 32px rgba(6,182,212,.28);
  --grid-line:rgba(99,102,241,.08);

  /* aliases (หน้าเดิมใช้ตัวแปรเหล่านี้) */
  --primary:var(--blue);
  --primary-dark:var(--navy);
  --primary-light:var(--teal);
  --accent:var(--teal);
  --success:var(--green);
  --warning:var(--amber);
  --danger:var(--verm);
  --info:var(--blue);
  --bg-base:var(--bg);
  --bg-gradient:var(--bg);
  --border:var(--line);
  --border-strong:rgba(15,23,42,.18);
  --text-primary:var(--ink);
  --text-secondary:#334155;
  --text-muted:var(--muted);
  --gradient-primary:linear-gradient(120deg,var(--teal),var(--indigo));
  --gradient-warm:linear-gradient(120deg,var(--indigo),var(--purple));
  --glass-blur:blur(22px) saturate(180%);
  --glass-shadow:var(--shadow);
  --glass-shadow-hover:0 24px 56px -20px rgba(37,99,235,.38);
  --radius-sm:10px; --radius-md:14px; --radius-lg:20px; --radius-xl:28px;
}

[data-theme="dark"]{
  --bg:#05070F; --bg2:#0A1020;
  --surface:rgba(15,23,42,.58); --surface-solid:#0E1628;
  --surface-hover:rgba(255,255,255,.08);
  --line:rgba(148,163,184,.14);
  --ink:#F1F5FF; --muted:#94A3B8;
  --navy:#020617;
  --shard-blend:screen; --shard-op:.85;
  --shadow:0 24px 60px -24px rgba(0,0,0,.85);
  --glow:0 0 40px rgba(34,211,238,.22);
  --grid-line:rgba(34,211,238,.07);
  --border:var(--line);
  --border-strong:rgba(255,255,255,.18);
  --text-primary:var(--ink);
  --text-secondary:#CBD5E1;
  --text-muted:var(--muted);
  --bg-base:var(--bg);
  --bg-gradient:var(--bg);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  font-family:'Sarabun',sans-serif;
  background:var(--bg); color:var(--ink);
  min-height:100vh; overflow-x:hidden;
  transition:background .5s ease,color .5s ease;
}
h1,h2,h3,h4,h5,.font-display,.kpi-num,.brand,.nav-item,.btn-primary,.btn-ghost,.btn-danger,.page-title{
  font-family:'Prompt',sans-serif;
}

/* ---------- Backdrop: aurora orbs + grid ---------- */
#backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
#backdrop::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(900px 520px at 88% -8%, rgba(99,102,241,.22), transparent 58%),
    radial-gradient(720px 480px at 6% 108%, rgba(6,182,212,.20), transparent 60%),
    radial-gradient(500px 400px at 50% 50%, rgba(124,58,237,.08), transparent 70%);
}
.grid-mesh{
  position:absolute;inset:-20%;
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse at 50% 40%, #000 20%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at 50% 40%, #000 20%, transparent 75%);
  animation:gridDrift 28s linear infinite;
  opacity:.85;
}
@keyframes gridDrift{to{transform:translate3d(-48px,-48px,0)}}
.shard{position:absolute;will-change:transform;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.orb{
  width:100%;height:100%;border-radius:50%;filter:blur(28px);
  mix-blend-mode:var(--shard-blend);opacity:var(--shard-op);
  animation:orbPulse 9s ease-in-out infinite;
}
.orb.o1{background:radial-gradient(circle,rgba(34,211,238,.85),transparent 68%)}
.orb.o2{background:radial-gradient(circle,rgba(99,102,241,.8),transparent 68%);animation-delay:-3s}
.orb.o3{background:radial-gradient(circle,rgba(124,58,237,.7),transparent 70%);animation-delay:-6s}
.orb.o4{background:radial-gradient(circle,rgba(16,185,129,.55),transparent 70%);animation-delay:-1.5s}
.scanline{
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.04) 50%,transparent 100%);
  background-size:100% 8px;opacity:.35;animation:scan 10s linear infinite;
}
@keyframes scan{to{background-position:0 8px}}
@keyframes orbPulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}
@keyframes drift{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(18px,-26px,0) rotate(3.5deg)}}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.18;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E")}

/* ---------- Shell layout ---------- */
.shell{position:relative;z-index:2;display:grid;grid-template-columns:264px 1fr;min-height:100vh}
.sidebar{
  position:sticky;top:0;height:100vh;padding:22px 16px;color:var(--sidebar-ink);
  background:linear-gradient(185deg,#020617 0%,#0F172A 42%,#0B1B3A 100%);
  border-right:1px solid rgba(34,211,238,.16);
  box-shadow:8px 0 40px -20px rgba(6,182,212,.25);
  overflow:hidden;transition:width .35s ease,transform .35s ease;z-index:50;
}
.sidebar::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(420px 240px at 110% -10%, rgba(34,211,238,.38), transparent 60%),
    radial-gradient(380px 280px at -20% 110%, rgba(124,58,237,.42), transparent 62%);
  opacity:.9;pointer-events:none;
}
.sidebar::after{
  content:"";position:absolute;top:0;right:0;width:1px;height:100%;
  background:linear-gradient(180deg,transparent,rgba(34,211,238,.55),transparent);
  pointer-events:none;
}
.sidebar > *{position:relative;z-index:1}
.main{min-width:0;padding:0 clamp(14px,2.4vw,32px) 34px}
body.collapsed .shell{grid-template-columns:84px 1fr}
body.collapsed .nav-text,body.collapsed .brand-text,body.collapsed .nav-section,body.collapsed .nav-tag{display:none}
body.collapsed .nav-item{justify-content:center;padding:10px}
body.collapsed .brand{justify-content:center;margin-bottom:18px}
body.collapsed .sidebar{padding:18px 10px}

@media(max-width:900px){
  .shell{grid-template-columns:1fr}
  .sidebar{
    position:fixed;left:0;top:0;width:264px;z-index:60;
    transform:translateX(-105%);
  }
  .sidebar.open{transform:none}
  body.collapsed .shell{grid-template-columns:1fr}
  .menu-btn{display:grid !important}
}
.menu-btn{display:none}

#sidebarOverlay{z-index:55}

/* ---------- Brand / Nav ---------- */
.brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:1.14rem;letter-spacing:.3px;margin-bottom:22px;color:#fff}
.brand .brand-logo{width:38px;height:38px;flex:0 0 38px;border-radius:8px;object-fit:contain;background:rgba(255,255,255,.12)}
.brand .mark{width:38px;height:38px;flex:0 0 38px;position:relative}
.brand .mark i{position:absolute;inset:4px;display:block;border-radius:8px}
.brand .mark i:nth-child(1){background:linear-gradient(135deg,#22D3EE,#6366F1);transform:rotate(12deg);opacity:.95;box-shadow:0 0 16px rgba(34,211,238,.55)}
.brand .mark i:nth-child(2){background:linear-gradient(135deg,#7C3AED,#06B6D4);transform:rotate(-18deg) scale(.72);opacity:.88;mix-blend-mode:screen}
.brand small,.brand .brand-sub{display:block;font-size:.62rem;font-weight:400;letter-spacing:2.4px;opacity:.7;font-family:'Sarabun',sans-serif}
.nav-sec,.nav-section{
  font-size:.66rem;letter-spacing:2.2px;opacity:.5;margin:18px 10px 8px;
  font-weight:500;text-transform:uppercase;color:var(--sidebar-ink);
}
.nav-item{
  position:relative;display:flex;align-items:center;gap:12px;padding:10px 13px;border-radius:12px;
  color:#D6E4FA;text-decoration:none;font-size:.9rem;font-weight:400;margin-bottom:3px;
  transition:.25s cubic-bezier(.2,.7,.2,1);cursor:pointer;border:none;background:transparent;width:100%;
}
.nav-item svg{flex-shrink:0;opacity:.85}
.nav-item::before{content:"";position:absolute;left:0;top:14%;height:72%;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--cyan),var(--indigo));transform:scaleY(0);transition:.3s;box-shadow:0 0 10px rgba(34,211,238,.8)}
.nav-item:hover{background:rgba(34,211,238,.10);transform:translateX(5px);color:#fff}
.nav-item.active{background:rgba(34,211,238,.16);color:#fff;font-weight:500;box-shadow:inset 0 0 20px rgba(34,211,238,.08)}
.nav-item.active::before{transform:scaleY(1)}
.nav-tag{margin-left:auto;font-size:.66rem;background:linear-gradient(120deg,var(--verm),#FB7185);padding:1px 7px;border-radius:99px;font-family:'Sarabun',sans-serif;color:#fff;box-shadow:0 0 12px rgba(244,63,94,.45)}

.nav-group{margin:4px 0 6px}
.nav-group-summary{
  position:relative;display:flex;align-items:center;gap:12px;padding:10px 13px;border-radius:12px;
  color:#A9B8D4;font-size:.72rem;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;
  cursor:pointer;list-style:none;user-select:none;
}
.nav-group-summary::-webkit-details-marker{display:none}
.nav-group-summary .nav-chevron{width:14px;height:14px;margin-left:auto;opacity:.55;transition:transform .2s;flex-shrink:0}
.nav-group[open] > .nav-group-summary .nav-chevron{transform:rotate(180deg)}
.nav-group-summary:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-group-items{padding:2px 0 4px 8px}
.nav-item.nav-sub{padding:8px 12px;font-size:.86rem;margin-bottom:2px}
body.collapsed .nav-group-summary .nav-chevron{display:none}

.sidebar-nav{overflow-y:auto;height:calc(100vh - 90px);padding-right:2px}
.sidebar-nav::-webkit-scrollbar{width:4px}
.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:99px}

/* ---------- Topbar ---------- */
.topbar{
  position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;
  padding:14px 18px;margin:14px 0 22px;border-radius:18px;
  background:var(--surface);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);
  border:1px solid var(--line);box-shadow:var(--shadow);
}
.topbar::before{
  content:"";position:absolute;left:18px;right:18px;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(34,211,238,.55),rgba(99,102,241,.45),transparent);
  pointer-events:none;
}
.icon-btn{
  width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:transparent;color:var(--ink);
  display:grid;place-items:center;cursor:pointer;transition:.25s;position:relative;padding:0;
}
.icon-btn:hover{background:rgba(6,182,212,.14);transform:translateY(-2px);border-color:rgba(6,182,212,.35);box-shadow:var(--glow)}
.icon-btn .dot,.icon-btn .notif-dot{
  position:absolute;top:7px;right:8px;min-width:7px;height:7px;border-radius:50%;
  background:var(--verm);box-shadow:0 0 0 3px rgba(232,69,44,.22);
}
.icon-btn .notif-count{
  position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;
  background:var(--verm);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;
  font-family:'Prompt',sans-serif;box-shadow:0 0 0 2px var(--surface-solid);
}
.who{display:flex;align-items:center;gap:9px;padding-left:12px;border-left:1px solid var(--line);background:transparent;border-top:none;border-right:none;border-bottom:none;cursor:pointer;color:inherit}
.avatar{
  width:36px;height:36px;border-radius:11px;
  background:linear-gradient(135deg,var(--teal),var(--indigo));
  display:grid;place-items:center;color:#fff;font-weight:600;font-family:'Prompt',sans-serif;flex-shrink:0;
}
.who small{display:block;color:var(--muted);font-size:.7rem}

/* ---------- Page head ---------- */
.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px}
.crumb{font-size:.74rem;color:var(--muted);letter-spacing:.4px;margin-bottom:6px}
.page-title{font-size:clamp(1.45rem,3vw,2rem);font-weight:600;margin:0;line-height:1.15}
.page-title .grad{
  background:linear-gradient(96deg,var(--teal),var(--indigo) 42%,var(--purple));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.page-sub{margin:6px 0 0;font-size:.88rem;color:var(--muted)}
.spectrum{height:3px;width:132px;border-radius:4px;margin-top:9px;
  background:linear-gradient(90deg,var(--teal),var(--blue),var(--indigo),var(--purple),var(--teal));
  background-size:220% 100%;animation:slide 5.5s linear infinite;box-shadow:0 0 12px rgba(6,182,212,.45)}
@keyframes slide{to{background-position:220% 0}}
.head-actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}

/* ---------- Asset create / edit form ---------- */
.asset-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
@media (max-width:960px){.asset-form-grid{grid-template-columns:1fr}}
.form-sec{padding:18px 18px 16px}
.form-sec-h{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-family:'Prompt',sans-serif;font-weight:600;font-size:.95rem}
.form-sec-ico{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}
.form-sec-ico svg{width:16px;height:16px}
.form-hint{font-size:.72rem;color:var(--muted);margin-top:5px}
.form-actions-stack{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.form-actions-stack .btn-save-pm{width:100%;justify-content:center;padding:12px 16px}
.form-actions-stack .btn-cancel-text{
  background:none;border:none;color:var(--muted);cursor:pointer;font-family:'Prompt',sans-serif;
  font-size:.86rem;padding:6px;text-align:center;text-decoration:none;
}
.form-actions-stack .btn-cancel-text:hover{color:var(--blue)}
.input-readonly{background:rgba(127,150,190,.06);color:var(--text-secondary)}
.asset-brand-row{display:flex;gap:8px;align-items:stretch}
.asset-brand-row .form-select{flex:1;min-width:0}
.asset-brand-btn{padding:0 12px;flex-shrink:0;white-space:nowrap}
.asset-excel-card{margin-bottom:16px}
.asset-excel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}
@media (max-width:800px){.asset-excel-grid{grid-template-columns:1fr}}
.asset-excel-pane{
  padding:14px;border-radius:14px;background:rgba(127,150,190,.06);border:1px solid var(--line);
  display:flex;flex-direction:column;gap:10px;
}
.asset-excel-pane h3{margin:0;font-family:'Prompt',sans-serif;font-size:.86rem;font-weight:600}
.asset-excel-actions{display:flex;flex-wrap:wrap;gap:8px}
.asset-excel-file{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.asset-excel-file input[type=file]{max-width:100%;font-size:.8rem;color:var(--text-secondary)}
.asset-excel-report{margin-bottom:16px}
.asset-excel-report ul{margin:8px 0 0;padding-left:18px;font-size:.8rem;color:var(--text-secondary);max-height:160px;overflow:auto}
.asset-excel-report li{margin:3px 0}
.lic-check{
  display:flex;align-items:center;gap:10px;margin-top:4px;
  padding:10px 12px;border-radius:12px;background:rgba(27,111,212,.07);
  border:1px solid var(--line);font-size:.86rem;cursor:pointer;user-select:none;
}
.lic-check input{width:16px;height:16px;accent-color:var(--blue)}
.lic-check .lic-sync{
  width:22px;height:22px;border-radius:99px;display:grid;place-items:center;
  background:rgba(27,111,212,.16);color:var(--blue);flex-shrink:0;
}
.lic-check .lic-sync svg{width:13px;height:13px}
.page-title.lic-title{color:var(--purple)}
[data-theme="dark"] .page-title.lic-title{color:#C4A0F0}
.status-opt-active{color:#12874F}
.lic-head-ico{background:rgba(27,111,212,.14);color:var(--blue)}
.lic-kpi-grid{grid-template-columns:repeat(5,minmax(140px,1fr))}
@media (max-width:1100px){.lic-kpi-grid{grid-template-columns:repeat(2,1fr)}}
.lic-bar{height:8px;border-radius:99px;background:rgba(27,111,212,.12);overflow:hidden}
.lic-bar i{display:block;height:100%;background:var(--blue);border-radius:99px}
.lic-bar-sm{height:5px;width:88px;margin-top:5px}
.lic-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lic-filter .form-select{max-width:170px}
.lic-search{position:relative;flex:1;min-width:200px}
.lic-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}
.lic-search .form-input{padding-left:38px;width:100%}
.lic-name{font-weight:600}
.lic-auto{
  display:inline-block;margin-top:4px;font-size:.65rem;font-weight:600;color:var(--blue);
  background:rgba(27,111,212,.12);padding:2px 8px;border-radius:99px;
}
.lic-type{display:inline-flex;align-items:center;gap:6px}
.lic-type svg{width:14px;height:14px;color:var(--muted)}
.lic-seat-cell{font-family:'Prompt',sans-serif;font-weight:500;font-size:.86rem}
.lic-pill{font-size:.72rem;padding:4px 10px;border-radius:99px;font-weight:600;white-space:nowrap}
.lic-pill-exp{background:rgba(232,69,44,.14);color:#E8452C}
.lic-pill-soon{background:rgba(242,163,60,.18);color:#B9741B}
.lic-pill-ok{background:rgba(18,135,79,.12);color:#12874F}
.lic-cost{font-family:'Prompt',sans-serif;font-weight:600;white-space:nowrap}
.lic-cost span{font-weight:400;color:var(--muted);font-size:.72rem}
.lic-acts{display:flex;align-items:center;gap:4px}
.lic-act{
  width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  color:var(--blue);background:rgba(27,111,212,.08);border:none;cursor:pointer;text-decoration:none;
}
.lic-act svg{width:15px;height:15px}
.lic-act:hover{background:rgba(27,111,212,.16)}
.lic-act-del{color:var(--verm);background:rgba(232,69,44,.08)}
.lic-act-del:hover{background:rgba(232,69,44,.16)}
.lic-kpi-4{grid-template-columns:repeat(4,minmax(160px,1fr))}
@media (max-width:1100px){.lic-kpi-4{grid-template-columns:repeat(2,1fr)}}
.sub-cat-row{margin-bottom:14px}
.sub-cat-row:last-child{margin-bottom:0}
.sub-cat-meta{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:.86rem;flex-wrap:wrap}
.sub-cat-ico{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}
.sub-cat-ico svg{width:15px;height:15px}
.sub-cat-amt{margin-left:auto;font-family:'Prompt',sans-serif;font-weight:600;font-size:.82rem}
.sub-type-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:99px;font-size:.75rem;font-weight:600}
.lic-auto-on{display:inline-flex;align-items:center;gap:4px;margin-top:0}
.lic-auto-off{display:inline-flex;background:rgba(92,109,136,.14);color:var(--muted);margin-top:0}
.lic-act-edit{color:#C47A1B;background:rgba(242,163,60,.16)}
.lic-act-edit:hover{background:rgba(242,163,60,.28)}
.fc-kpi-purple{font-size:1.4rem;color:var(--purple)}
.fc-kpi-amber{font-size:1.4rem;color:#E08A2A}
.fc-kpi-sky{font-size:1.4rem;color:#5B9BE8}
.fc-sec-h{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-family:'Prompt',sans-serif;font-weight:600;font-size:1rem}
.fc-sec-ico{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(18,135,79,.12);color:#12874F}
.fc-sec-ico svg{width:16px;height:16px}
.fc-chart-wrap{height:280px}
.fc-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:960px){.fc-month-grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.fc-month-grid{grid-template-columns:1fr}}
.fc-month-card{padding:14px 16px}
.fc-month-card.is-now{border-color:rgba(107,166,240,.55);box-shadow:0 0 0 1px rgba(107,166,240,.25)}
.fc-month-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}
.fc-month-name{font-family:'Prompt',sans-serif;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.fc-now-pill{font-size:.62rem;font-weight:600;padding:2px 8px;border-radius:99px;background:rgba(107,166,240,.18);color:#3D7CC9}
.fc-month-total{font-family:'Prompt',sans-serif;font-weight:700;font-size:.95rem;white-space:nowrap}
.fc-month-line{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted);margin-top:4px}
.fc-month-line i{width:14px;height:3px;border-radius:99px;flex-shrink:0}
.fc-month-line b{margin-left:auto;color:var(--ink);font-family:'Prompt',sans-serif;font-weight:600}
.mac-filter{align-items:center}
.mac-check{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-secondary);white-space:nowrap;cursor:pointer}
.mac-check input{accent-color:var(--blue)}
.mac-group{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--surface-solid);box-shadow:var(--shadow)}
.mac-group-h{
  background:var(--navy);color:#fff;font-family:'Prompt',sans-serif;font-weight:600;font-size:.88rem;
  padding:10px 16px;
}
.mac-table{min-width:860px;margin:0}
.mac-table thead th{border-radius:0!important}
.mac-owner{display:flex;align-items:center;gap:5px;font-size:.75rem;color:var(--muted);margin-top:2px}
.mac-owner svg{width:13px;height:13px}
.mac-none{color:#E08A2A;font-weight:600;font-size:.82rem}
.mac-lic-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:4px 0}
.mac-lic-row + .mac-lic-row{border-top:1px dashed var(--line)}
.mac-cost{font-family:'Prompt',sans-serif;font-weight:700;color:#C9A227;white-space:nowrap}
.mac-dist-row{display:grid;grid-template-columns:140px 1fr 36px 48px;gap:10px;align-items:center;margin-bottom:10px;font-size:.84rem}
.mac-dist-lab{color:var(--text-secondary)}
.mac-dist-bar{height:10px}
.mac-dist-n,.mac-dist-p{font-family:'Prompt',sans-serif;font-weight:600;text-align:right}
.mac-dist-p{color:var(--muted)}
@media (max-width:700px){.mac-dist-row{grid-template-columns:1fr 40px 48px}.mac-dist-lab{grid-column:1/-1}}

/* ---------- Asset count ---------- */
.count-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.count-card{
  display:block;padding:18px 18px 16px;border-radius:20px;text-decoration:none;color:inherit;
  background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--shadow);
  transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s;
}
.count-card:hover{transform:translateY(-3px);box-shadow:var(--glass-shadow-hover);color:inherit}
.count-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.count-card-top h3{margin:0;font-family:'Prompt',sans-serif;font-weight:600;font-size:1rem;line-height:1.3}
.count-who{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted);margin-bottom:14px}
.count-who svg{width:14px;height:14px;flex-shrink:0}
.count-prog-label{display:flex;justify-content:space-between;gap:8px;font-size:.78rem;margin-bottom:7px}
.count-prog-label span:first-child{color:var(--muted)}
.count-prog-label b{font-weight:500;color:var(--text-secondary)}
.count-bar{height:8px;border-radius:99px;background:rgba(127,150,190,.16);overflow:hidden}
.count-bar>i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--teal),var(--blue));width:0}
.count-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:14px}
.count-stat{text-align:center;padding:10px 6px 8px;border-radius:14px}
.count-stat b{display:block;font-family:'Prompt',sans-serif;font-size:1.25rem;font-weight:600;line-height:1.15}
.count-stat span{font-size:.72rem}
.count-stat.found{background:rgba(18,135,79,.12);color:#12874F}
.count-stat.miss{background:rgba(232,69,44,.12);color:#E8452C}
.count-stat.wait{background:rgba(27,111,212,.12);color:#1B6FD4}
.count-head-ico{
  width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;
  background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;
}
.page-head-row{display:flex;align-items:flex-start;gap:12px}
.badge.b-count{background:rgba(27,111,212,.12);color:var(--blue)}
.badge.b-count::before{display:none}
.count-start{max-width:720px}
.count-start-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;flex-wrap:wrap}
.scope-wrap{position:relative}
.scope-wrap svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--blue);pointer-events:none}
.scope-wrap .form-select{padding-left:40px}
.info-banner{
  display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:14px 16px;border-radius:14px;
  background:rgba(27,111,212,.08);border:1px solid rgba(27,111,212,.16);color:var(--text-secondary);font-size:.86rem;line-height:1.55;
}
.info-banner p{margin:0}
.info-banner-ico{
  width:22px;height:22px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;
  background:var(--blue);color:#fff;font-family:'Prompt',sans-serif;font-size:.75rem;font-weight:600;
}
.count-bars-ico{display:flex;align-items:flex-end;gap:3px;height:22px}
.count-bars-ico i{width:5px;border-radius:2px;display:block}
.count-bars-ico i:nth-child(1){height:10px;background:#C43A6E}
.count-bars-ico i:nth-child(2){height:16px;background:#6BA6F0}
.count-bars-ico i:nth-child(3){height:22px;background:#062B5B}
.count-head-ico .count-bars-ico{height:18px}
.count-head-ico .count-bars-ico i:nth-child(1){height:8px}
.count-head-ico .count-bars-ico i:nth-child(2){height:13px}
.count-head-ico .count-bars-ico i:nth-child(3){height:18px}
.ticket-create-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
@media (max-width:960px){.ticket-create-grid{grid-template-columns:1fr}}
.ticket-create-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;flex-wrap:wrap}
.ticket-plus-ico{
  width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;
  background:rgba(122,63,191,.16);color:var(--purple);
}
.dropzone{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:28px 16px;border-radius:16px;border:2px dashed var(--border-strong);
  background:rgba(127,150,190,.06);cursor:pointer;text-align:center;color:var(--text-secondary);
}
.dropzone.drag{border-color:var(--blue);background:rgba(27,111,212,.08)}
.prio-guide{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.prio-guide li{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;line-height:1.45;color:var(--text-secondary)}
.prio-guide i{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0;display:block}
.prio-guide b{color:var(--ink);font-family:'Prompt',sans-serif;font-weight:600;margin-right:4px}

/* ---------- Glass card ---------- */
.glass-card,.card{
  position:relative;border-radius:20px;overflow:hidden;
  background:var(--surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--line);box-shadow:var(--shadow);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;
}
.card{padding:18px}
.glass-card.lift:hover,.card.lift:hover{transform:translateY(-3px);box-shadow:var(--glass-shadow-hover);border-color:rgba(6,182,212,.35)}

/* ---------- KPI ---------- */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:4px}
.kpi{
  position:relative;padding:18px 18px 16px;border-radius:20px;overflow:hidden;
  background:var(--surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--line);box-shadow:var(--shadow);
  transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;
  animation:rise .7s cubic-bezier(.2,.8,.2,1) backwards;
}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.kpi:nth-child(1){animation-delay:.05s}.kpi:nth-child(2){animation-delay:.11s}
.kpi:nth-child(3){animation-delay:.17s}.kpi:nth-child(4){animation-delay:.23s}
.kpi:nth-child(5){animation-delay:.29s}.kpi:nth-child(6){animation-delay:.35s}
.kpi::before{content:"";position:absolute;right:-26px;top:-30px;width:118px;height:118px;
  clip-path:polygon(50% 0,100% 100%,0 100%);background:var(--c,var(--blue));opacity:.16;transition:.5s;transform:rotate(12deg)}
.kpi:hover::before{transform:rotate(-14deg) scale(1.16);opacity:.26}
.kpi::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--c,var(--blue));opacity:.85;
  transform:scaleX(.22);transform-origin:left;transition:.5s}
.kpi:hover::after{transform:scaleX(1)}
.kpi-label{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:7px}
.kpi-label svg,.kpi-label i{color:var(--c,var(--blue));width:1rem;height:1rem;flex-shrink:0}
.kpi-num{font-size:2.05rem;font-weight:600;line-height:1.1;margin:6px 0 2px;letter-spacing:-.5px}
.kpi-sub{font-size:.74rem;color:var(--muted);padding-right:42px}
.kpi-sub b{color:var(--c,var(--blue))}
.spark{position:absolute;right:14px;bottom:12px;display:flex;align-items:flex-end;gap:2.5px;height:26px;opacity:.75}
.spark i{width:4px;border-radius:2px;background:var(--c,var(--blue));display:block;animation:sparkPulse 2.6s ease-in-out infinite;transform-origin:bottom}
@keyframes sparkPulse{0%,100%{transform:scaleY(.72)}50%{transform:scaleY(1)}}

/* ---------- Chart period pills / SLA gauge ---------- */
.pill{
  font-size:.72rem;padding:5px 11px;border-radius:99px;border:1px solid var(--line);
  background:transparent;color:var(--muted);cursor:pointer;transition:.25s;font-family:'Sarabun',sans-serif;
}
.pill:hover{color:var(--ink);border-color:var(--blue)}
.pill.on{background:linear-gradient(120deg,var(--teal),var(--indigo));color:#fff;border-color:transparent;box-shadow:0 8px 18px -10px rgba(6,182,212,.8)}
[data-theme="dark"] .pill.on{background:var(--blue)}
.chart-box{position:relative;height:280px;width:100%}
.chart-box.sm{height:200px}
.gauge{
  width:150px;height:150px;border-radius:50%;margin:4px auto 14px;display:grid;place-items:center;position:relative;
  background:conic-gradient(var(--green) 0 var(--p),rgba(130,150,180,.16) var(--p) 100%);
}
.gauge::before{content:"";position:absolute;inset:13px;border-radius:50%;background:var(--surface-solid)}
.gauge b{position:relative;font-family:'Prompt',sans-serif;font-size:1.7rem;font-weight:600}
.gauge span{position:relative;display:block;text-align:center;font-size:.7rem;color:var(--muted)}
.legend{display:flex;flex-direction:column;gap:8px;font-size:.8rem}
.legend > div{display:flex;align-items:center;gap:8px}
.legend i{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.legend b{margin-left:auto;font-family:'Prompt',sans-serif}

/* ---------- Activity / PM list ---------- */
.act{display:flex;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line)}
.act:last-child{border-bottom:none}
.act .dot{width:9px;height:9px;border-radius:50%;margin-top:6px;flex:0 0 9px;position:relative}
.act .dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid currentColor;opacity:.35;animation:actRing 2.4s ease-out infinite}
@keyframes actRing{0%{transform:scale(.6);opacity:.6}100%{transform:scale(1.5);opacity:0}}
.act p{margin:0;font-size:.85rem;line-height:1.45;color:var(--ink)}
.act small{color:var(--muted);font-size:.72rem}

/* ---------- Buttons ---------- */
.btn-primary,.btn-ghost,.btn-danger{
  border-radius:12px;padding:10px 17px;font-size:.86rem;font-weight:500;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;transition:.28s cubic-bezier(.2,.7,.2,1);
  text-decoration:none;font-family:'Prompt',sans-serif;border:none;
}
.btn-primary{
  background:linear-gradient(120deg,var(--teal),var(--indigo));color:#fff;
  box-shadow:0 12px 28px -12px rgba(6,182,212,.75);
}
.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 18px 36px -12px rgba(99,102,241,.85);color:#fff}
.btn-ghost{
  background:var(--surface);color:var(--ink);border:1px solid var(--line);backdrop-filter:blur(10px);
}
.btn-ghost:hover{transform:translateY(-3px);border-color:var(--blue);color:var(--blue)}
.btn-danger{
  background:rgba(232,69,44,.12);color:var(--verm);border:1px solid rgba(232,69,44,.3);
}
.btn-danger:hover{background:rgba(232,69,44,.2)}

/* ---------- Forms ---------- */
.form-input,.form-select,.form-textarea{
  background:rgba(127,150,190,.10);border:1px solid var(--line);border-radius:12px;
  padding:10px 13px;color:var(--ink);width:100%;transition:.25s;
  font-family:'Sarabun',sans-serif;font-size:.88rem;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(6,182,212,.18);background:var(--surface-solid);
}
.form-input::placeholder,.form-textarea::placeholder{color:var(--muted)}
.form-label{display:block;font-size:.86rem;font-weight:500;margin-bottom:6px;color:var(--text-secondary);font-family:'Prompt',sans-serif}
.form-textarea{resize:vertical}
select.form-select{
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%235C6D88' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:38px;
}

/* ---------- Table ---------- */
.table-wrap{overflow-x:auto;margin:0 -4px;padding:0 4px 4px}
.glass-table{width:100%;border-collapse:separate;border-spacing:0 6px;font-size:.85rem;min-width:640px}
.glass-table thead th{
  font-family:'Prompt',sans-serif;font-weight:500;font-size:.74rem;letter-spacing:.6px;text-align:left;
  padding:9px 14px;color:#fff;white-space:nowrap;
  background:linear-gradient(180deg,#0F172A,#1E293B);
  border-bottom:1px solid rgba(34,211,238,.35);
}
.glass-table thead th:nth-child(1),
.glass-table thead th:nth-child(2),
.glass-table thead th:nth-child(3),
.glass-table thead th:nth-child(4),
.glass-table thead th:nth-child(5),
.glass-table thead th:nth-child(6),
.glass-table thead th:nth-child(7),
.glass-table thead th:nth-child(8),
.glass-table thead th:nth-child(9),
.glass-table thead th:nth-child(n+8){background:linear-gradient(180deg,#0F172A,#1E293B)}
.glass-table thead th:first-child{border-radius:10px 0 0 10px}
.glass-table thead th:last-child{border-radius:0 10px 10px 0}
.glass-table tbody tr{background:var(--surface-solid);transition:.28s cubic-bezier(.2,.7,.2,1)}
.glass-table tbody tr:hover{transform:translateX(6px);box-shadow:-4px 0 0 0 var(--teal),var(--shadow)}
.glass-table tbody td{
  padding:11px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  vertical-align:middle;color:var(--text-secondary);
}
.glass-table tbody td:first-child{border-left:1px solid var(--line);border-radius:10px 0 0 10px;font-family:'Prompt',sans-serif;font-weight:500}
.glass-table tbody td:last-child{border-right:1px solid var(--line);border-radius:0 10px 10px 0}

/* ---------- Badge ---------- */
.badge{
  font-size:.7rem;padding:3px 10px;border-radius:99px;font-weight:500;
  display:inline-flex;align-items:center;gap:5px;white-space:nowrap;
}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.b-new{background:rgba(27,111,212,.14);color:#1B6FD4}
.b-prog{background:rgba(242,163,60,.18);color:#B9741B}
.b-pend{background:rgba(122,63,191,.14);color:#7A3FBF}
.b-done,.b-res{background:rgba(18,135,79,.15);color:#12874F}
.b-urgent,.b-brk{background:rgba(232,69,44,.15);color:#E8452C}
.b-cancel{background:rgba(92,109,136,.18);color:var(--muted)}
.b-primary{background:rgba(27,111,212,.14);color:var(--blue)}
.b-super{background:rgba(201,162,39,.18);color:#C9A227}
[data-theme="dark"] .b-prog{color:#F2A33C}
[data-theme="dark"] .b-new{color:#6BA6F0}
[data-theme="dark"] .b-done,[data-theme="dark"] .b-res{color:#3CBF7A}

/* ---------- Icon box ---------- */
.icon-box{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}

/* ---------- Dropdown ---------- */
.dropdown-item{
  display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;
  color:var(--text-secondary);font-size:14px;text-decoration:none;transition:.15s;
}
.dropdown-item:hover{background:rgba(6,182,212,.10);color:var(--teal)}

/* ---------- Modal ---------- */
.modal-overlay{position:fixed;inset:0;background:rgba(4,16,32,.55);backdrop-filter:blur(6px);z-index:100;display:none;align-items:center;justify-content:center;padding:16px}
.modal-overlay.show{display:flex;animation:fadeIn .2s}
.modal-content{
  background:var(--surface-solid);border:1px solid var(--line);border-radius:18px;padding:26px;
  max-width:560px;width:100%;max-height:90vh;overflow-y:auto;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.55);animation:slideUp .25s cubic-bezier(.4,0,.2,1);
}
.pm-modal{max-width:480px;padding:22px 22px 18px}
.pm-modal-head{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.pm-modal-head svg{width:22px;height:22px;color:var(--blue);flex-shrink:0}
.pm-modal-head h3{margin:0;font-size:1.05rem;font-weight:600;font-family:'Prompt',sans-serif}
.pm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
@media (max-width:520px){.pm-form-grid{grid-template-columns:1fr}}
.form-label .req{color:var(--verm);font-weight:600}
.pm-color{
  width:100%;height:42px;padding:5px;border-radius:12px;cursor:pointer;
  background:rgba(127,150,190,.10);border:1px solid var(--line);
}
.pm-color::-webkit-color-swatch-wrapper{padding:0}
.pm-color::-webkit-color-swatch{border:none;border-radius:8px}
.pm-color::-moz-color-swatch{border:none;border-radius:8px}
.pm-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.btn-save-pm{
  background:linear-gradient(120deg,var(--teal),var(--indigo));color:#fff;border:none;border-radius:12px;padding:10px 16px;
  font-family:'Prompt',sans-serif;font-size:.86rem;font-weight:500;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;box-shadow:0 10px 22px -12px rgba(6,182,212,.7);
  transition:.28s cubic-bezier(.2,.7,.2,1);
}
.btn-save-pm:hover{transform:translateY(-2px);filter:brightness(1.08);color:#fff}

/* ---------- User create modal ---------- */
.user-modal{max-width:640px;padding:22px 24px 18px}
.user-modal-head{
  display:flex;align-items:center;gap:8px;margin-bottom:18px;
  font-family:'Prompt',sans-serif;font-size:1.05rem;font-weight:600;color:var(--ink);
}
.user-modal-head .plus{color:var(--blue);font-weight:700;line-height:1}
.user-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.user-form-grid .full{grid-column:1/-1}
@media (max-width:560px){.user-form-grid{grid-template-columns:1fr}}
.user-modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:18px}
.btn-save-user{
  background:linear-gradient(120deg,var(--teal),var(--indigo));color:#fff;border:none;border-radius:12px;padding:10px 16px;
  font-family:'Prompt',sans-serif;font-size:.86rem;font-weight:500;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;box-shadow:0 10px 22px -12px rgba(6,182,212,.7);
  transition:.28s cubic-bezier(.2,.7,.2,1);
}
.btn-save-user svg{width:18px;height:18px;flex-shrink:0}
.btn-save-user:hover{transform:translateY(-2px);filter:brightness(1.08);color:#fff}

/* ---------- Toast ---------- */
#toast{position:fixed;right:20px;bottom:20px;z-index:95;display:flex;flex-direction:column;gap:8px}
.toast{
  background:var(--surface-solid);border:1px solid var(--line);border-left:4px solid var(--green);
  border-radius:12px;padding:12px 16px;font-size:.85rem;box-shadow:var(--shadow);
  animation:slidein .4s cubic-bezier(.2,.8,.2,1);
}
@keyframes slidein{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}

/* ---------- Quick actions ---------- */
.qa{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.qa a{
  text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:14px 12px;
  display:flex;flex-direction:column;gap:7px;font-size:.82rem;position:relative;overflow:hidden;
  transition:.3s cubic-bezier(.2,.7,.2,1);background:transparent;
}
.qa a svg{width:1.25rem;height:1.25rem;color:var(--c)}
.qa a::after{content:"";position:absolute;right:-18px;bottom:-18px;width:56px;height:56px;background:var(--c);opacity:.12;
  clip-path:polygon(50% 0,100% 100%,0 100%);transition:.4s}
.qa a:hover{transform:translateY(-4px);border-color:var(--c)}
.qa a:hover::after{transform:scale(1.5) rotate(20deg);opacity:.22}

/* ---------- Animations ---------- */
.fade-in{animation:rise .6s cubic-bezier(.2,.8,.2,1) both}
.slide-up{animation:slideUp .3s ease both}
@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}

/* ---------- Scrollbar ---------- */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:var(--blue)}

/* ---------- Utilities ---------- */
.text-muted{color:var(--muted)}
.divider{border-top:1px solid var(--line)}
a{color:var(--blue)}
.site-footer{
  margin-top:26px;padding:18px 4px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.8rem;color:var(--muted);
}
.site-footer a{color:var(--teal);text-decoration:none;font-weight:600}
.site-footer a:hover{text-decoration:underline}

/* content area spacing (Tailwind space-y-6 companion) */
.content-area{display:flex;flex-direction:column;gap:1.25rem}

/* ---------- Report Center ---------- */
.rc-exp{
  display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:99px;
  font-family:'Prompt',sans-serif;font-size:.78rem;font-weight:600;text-decoration:none;
  border:1px solid var(--line);background:var(--surface-solid);color:var(--ink);
}
.rc-exp svg{width:15px;height:15px}
.rc-exp-red{color:#E8452C;background:rgba(232,69,44,.08);border-color:rgba(232,69,44,.22)}
.rc-exp-blue{color:#1B6FD4;background:rgba(27,111,212,.08);border-color:rgba(27,111,212,.22)}
.rc-exp-purple{color:#7B5EA7;background:rgba(123,94,167,.10);border-color:rgba(123,94,167,.22)}
.rc-exp:hover{transform:translateY(-1px)}
.rc-type-row{margin-bottom:14px}
.rc-type-row:last-child{margin-bottom:0}
.rc-type-top{display:flex;align-items:center;gap:10px;font-size:.86rem;margin-bottom:6px}
.rc-type-top span:first-child{flex:1}
.rc-type-top b{font-family:'Prompt',sans-serif}
.rc-stat-row{display:grid;grid-template-columns:78px 1fr 28px;align-items:center;gap:10px;margin-bottom:12px;font-size:.86rem}
.rc-stat-row span{display:inline-flex;align-items:center;gap:6px}
.rc-thin{height:6px}
.rc-dot{width:8px;height:8px;border-radius:99px;display:inline-block;flex-shrink:0}
.rc-avg{
  margin-top:16px;padding:10px 12px;border-radius:12px;
  background:rgba(107,166,240,.14);color:#3D7CC9;font-size:.84rem;font-weight:600;
  display:flex;align-items:center;gap:8px;
}
.rc-avg svg{width:16px;height:16px;flex-shrink:0}
.rc-cost-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:.86rem;border-bottom:1px solid var(--line)}
.rc-cost-row b{font-family:'Prompt',sans-serif;white-space:nowrap}
.rc-cost-total{border-bottom:none;font-weight:600}
.rc-cost-total b{color:#E8452C;font-size:1rem}
.rc-asset-val{
  margin-top:10px;padding:10px 12px;border-radius:12px;
  background:rgba(232,196,80,.22);color:#8A6A12;font-size:.84rem;font-weight:600;
  display:flex;align-items:center;gap:8px;
}
.rc-asset-val svg{width:16px;height:16px;flex-shrink:0}

/* ---------- System settings ---------- */
.st-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:960px){.st-grid{grid-template-columns:1fr}}
.st-fields{display:flex;flex-direction:column;gap:12px}
.st-dot{width:8px;height:8px;border-radius:99px;display:inline-block;margin-right:6px;vertical-align:middle}
.st-info-ok{
  background:rgba(18,135,79,.10);color:#12874F;border-radius:12px;
  padding:10px 12px;font-size:.8rem;margin-bottom:14px;line-height:1.45;
}
.st-status{
  display:inline-flex;align-items:center;gap:8px;margin-top:14px;
  font-size:.86rem;font-weight:600;cursor:pointer;user-select:none;
}
.st-status input{accent-color:var(--blue)}
.st-status svg{width:18px;height:18px}
.st-status.is-off{color:#E8452C}
.st-status.is-on{color:#12874F}
.st-other{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:560px}
@media (max-width:640px){.st-other{grid-template-columns:1fr}}
.st-save-row{display:flex;justify-content:flex-end;margin-top:18px}
.st-env{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:900px){.st-env{grid-template-columns:1fr 1fr}}
.st-env-item{
  border-radius:14px;padding:14px 16px;background:rgba(27,111,212,.08);
}
.st-env-item span{display:block;font-size:.75rem;color:var(--muted);margin-bottom:4px}
.st-env-item b{font-family:'Prompt',sans-serif;font-size:.92rem;color:var(--c);word-break:break-all}
.st-extra{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:800px){.st-extra{grid-template-columns:1fr}}
.st-extra-card{text-decoration:none;color:inherit;display:block}
.st-extra-card b{display:block;font-family:'Prompt',sans-serif;margin-bottom:4px}
.st-extra-card span{font-size:.8rem;color:var(--muted)}
.st-announce{
  background:rgba(27,111,212,.10);border:1px solid rgba(27,111,212,.22);
  color:var(--ink);border-radius:14px;padding:12px 16px;font-size:.9rem;
}

/* ---------- Skin layers + picker ---------- */
.skin-layer{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .45s ease}
[data-skin="aurora"] .skin-layer.skin-aurora,
[data-skin="prism"] .skin-layer.skin-prism,
[data-skin="fresh"] .skin-layer.skin-fresh,
[data-skin="calm"] .skin-layer.skin-calm{opacity:1}
.skin-menu{
  position:absolute;right:0;top:calc(100% + 8px);width:280px;max-height:min(72vh,440px);overflow-y:auto;z-index:60;
  padding:10px;border-radius:16px;
}
.skin-opt{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  padding:10px;border-radius:12px;border:1px solid transparent;background:transparent;
  cursor:pointer;color:var(--ink);font-family:'Prompt',sans-serif;transition:.2s;
}
.skin-opt:hover{background:rgba(6,182,212,.08);border-color:var(--line)}
.skin-opt.is-on{background:rgba(6,182,212,.12);border-color:rgba(6,182,212,.35)}
.skin-swatch{width:36px;height:36px;border-radius:10px;flex-shrink:0;position:relative;overflow:hidden;border:1px solid var(--line)}
.skin-swatch.aurora{background:linear-gradient(135deg,#06B6D4,#6366F1 55%,#7C3AED)}
.skin-swatch.prism{background:linear-gradient(135deg,#E8452C,#F2A33C 50%,#1B6FD4)}
.skin-swatch.fresh{background:linear-gradient(135deg,#34D399,#2DD4BF 48%,#38BDF8)}
.skin-swatch.calm{background:linear-gradient(135deg,#E8DCC8,#A8B89A 55%,#7A9E88)}
.skin-opt b{display:block;font-size:.82rem;font-weight:600}
.skin-opt small{display:block;font-size:.68rem;color:var(--muted);font-family:'Sarabun',sans-serif;font-weight:400}
.skin-menu-title{font-size:.68rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);padding:4px 8px 8px;font-family:'Prompt',sans-serif}

/* ---------- Skin: PRISM SHARD (เดิม) ---------- */
[data-skin="prism"]{
  --bg:#EEF1F7; --bg2:#FFFFFF;
  --surface:rgba(255,255,255,.74); --surface-solid:#FFFFFF;
  --surface-hover:rgba(255,255,255,.92);
  --line:rgba(6,43,91,.10);
  --ink:#08182F; --muted:#5C6D88;
  --navy:#062B5B; --blue:#1B6FD4; --teal:#0E8F8F;
  --amber:#F2A33C; --verm:#E8452C; --yellow:#F5C83B; --green:#12874F;
  --purple:#7A3FBF;
  --cyan:#F2A33C; --indigo:#E8452C;
  --shard-blend:multiply; --shard-op:.55;
  --sidebar-ink:#EAF1FF;
  --shadow:0 18px 44px -22px rgba(6,43,91,.42);
  --glow:0 0 0 transparent;
  --grid-line:rgba(6,43,91,.07);
  --border:var(--line);
  --border-strong:rgba(6,43,91,.22);
  --text-primary:var(--ink);
  --text-secondary:#33506E;
  --text-muted:var(--muted);
  --gradient-primary:linear-gradient(120deg,var(--verm),var(--amber));
  --gradient-warm:linear-gradient(120deg,var(--amber),var(--yellow));
  --glass-shadow-hover:0 22px 48px -20px rgba(6,43,91,.5);
}
[data-skin="prism"][data-theme="dark"]{
  --bg:#070C18; --bg2:#0B1222;
  --surface:rgba(255,255,255,.055); --surface-solid:#0E1729;
  --surface-hover:rgba(255,255,255,.10);
  --line:rgba(255,255,255,.10);
  --ink:#E9F0FB; --muted:#93A5C0;
  --navy:#04101F;
  --shard-blend:screen; --shard-op:.42;
  --shadow:0 20px 50px -24px rgba(0,0,0,.8);
  --grid-line:rgba(255,255,255,.07);
  --border:var(--line);
  --border-strong:rgba(255,255,255,.22);
  --text-primary:var(--ink);
  --text-secondary:#B8C7DE;
  --text-muted:var(--muted);
}
[data-skin="prism"] #backdrop::after{
  background:
    radial-gradient(1200px 700px at 78% -10%, rgba(242,163,60,.16), transparent 60%),
    radial-gradient(900px 620px at 8% 108%, rgba(27,111,212,.16), transparent 62%);
}
[data-skin="prism"] .strings{
  position:absolute;top:-6%;right:6%;width:min(46vw,620px);height:78vh;
  background:repeating-linear-gradient(90deg,var(--blue) 0 1.2px,transparent 1.2px 15px);
  opacity:.30;
  -webkit-mask-image:radial-gradient(120% 78% at 62% 34%,#000 8%,transparent 74%);
          mask-image:radial-gradient(120% 78% at 62% 34%,#000 8%,transparent 74%);
  animation:sway 16s ease-in-out infinite;
}
[data-skin="prism"] .strings.b{left:2%;right:auto;top:auto;bottom:-8%;height:60vh;width:min(40vw,520px);
  background:repeating-linear-gradient(90deg,var(--verm) 0 1.2px,transparent 1.2px 13px);
  animation-delay:-6s;opacity:.24}
@keyframes sway{0%,100%{transform:skewX(0deg) translateY(0)}50%{transform:skewX(-2.4deg) translateY(-14px)}}
[data-skin="prism"] .prism-poly{mix-blend-mode:var(--shard-blend);opacity:var(--shard-op)}
[data-skin="prism"] .grain{opacity:.32}
[data-skin="prism"] .sidebar{
  background:linear-gradient(168deg,#062B5B 0%,#0A3E7C 46%,#062037 100%);
  border-right:none;box-shadow:none;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 46px),calc(100% - 46px) 100%,0 100%);
}
[data-skin="prism"] .sidebar::before{
  background:
    conic-gradient(from 200deg at 116% 8%, rgba(242,163,60,.55), transparent 30%),
    conic-gradient(from 20deg at -14% 88%, rgba(14,143,143,.5), transparent 32%);
  opacity:.75;
}
[data-skin="prism"] .sidebar::after{display:none}
[data-skin="prism"] body.collapsed .sidebar{clip-path:none}
@media(max-width:900px){
  [data-skin="prism"] .sidebar{clip-path:none}
}
[data-skin="prism"] .brand .mark i{inset:0;border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%);box-shadow:none;mix-blend-mode:multiply}
[data-skin="prism"] .brand .mark i:nth-child(1){background:var(--amber);transform:translate(-4px,2px) rotate(-8deg);opacity:.92}
[data-skin="prism"] .brand .mark i:nth-child(2){background:var(--teal);transform:translate(4px,-2px) rotate(9deg);opacity:.88}
[data-skin="prism"] .nav-item::before{background:var(--amber);box-shadow:none}
[data-skin="prism"] .nav-item:hover{background:rgba(255,255,255,.10)}
[data-skin="prism"] .nav-item.active{background:rgba(255,255,255,.15);box-shadow:none}
[data-skin="prism"] .nav-tag{background:var(--verm);box-shadow:none}
[data-skin="prism"] .topbar::before{display:none}
[data-skin="prism"] .icon-btn:hover{background:rgba(27,111,212,.12);border-color:var(--line);box-shadow:none}
[data-skin="prism"] .avatar{background:linear-gradient(135deg,var(--amber),var(--verm))}
[data-skin="prism"] .page-title .grad{
  background:linear-gradient(96deg,var(--verm),var(--amber) 34%,var(--teal) 68%,var(--blue));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
[data-skin="prism"] .spectrum{
  background:linear-gradient(90deg,var(--verm),var(--amber),var(--yellow),var(--green),var(--teal),var(--blue));
  box-shadow:none;
}
[data-skin="prism"] .glass-card.lift:hover,[data-skin="prism"] .card.lift:hover{border-color:rgba(27,111,212,.28)}
[data-skin="prism"] .pill.on{background:var(--navy);box-shadow:none}
[data-skin="prism"][data-theme="dark"] .pill.on{background:var(--blue)}
[data-skin="prism"] .btn-primary{
  background:linear-gradient(120deg,var(--verm),var(--amber));
  box-shadow:0 12px 26px -12px rgba(232,69,44,.75);
}
[data-skin="prism"] .btn-primary:hover{box-shadow:0 18px 34px -12px rgba(232,69,44,.85)}
[data-skin="prism"] .form-input:focus,[data-skin="prism"] .form-select:focus,[data-skin="prism"] .form-textarea:focus{
  border-color:var(--blue);box-shadow:0 0 0 4px rgba(27,111,212,.14);
}
[data-skin="prism"] .glass-table thead th{
  border-bottom:none;background:var(--navy);
}
[data-skin="prism"] .glass-table thead th:nth-child(1){background:var(--navy)}
[data-skin="prism"] .glass-table thead th:nth-child(2){background:var(--blue)}
[data-skin="prism"] .glass-table thead th:nth-child(3){background:var(--teal)}
[data-skin="prism"] .glass-table thead th:nth-child(4){background:var(--green)}
[data-skin="prism"] .glass-table thead th:nth-child(5){background:var(--amber)}
[data-skin="prism"] .glass-table thead th:nth-child(6){background:var(--verm)}
[data-skin="prism"] .glass-table thead th:nth-child(7){background:var(--purple)}
[data-skin="prism"] .glass-table thead th:nth-child(8),
[data-skin="prism"] .glass-table thead th:nth-child(9),
[data-skin="prism"] .glass-table thead th:nth-child(n+8){background:#4A2A7A}
[data-skin="prism"] .glass-table tbody tr:hover{box-shadow:-4px 0 0 0 var(--amber),var(--shadow)}
[data-skin="prism"] .dropdown-item:hover{background:rgba(27,111,212,.10);color:var(--blue)}
[data-skin="prism"] .btn-save-pm,[data-skin="prism"] .btn-save-user{
  background:var(--blue);box-shadow:0 10px 22px -12px rgba(27,111,212,.7);
}
[data-skin="prism"] .btn-save-pm:hover,[data-skin="prism"] .btn-save-user:hover{background:#155db8;filter:none}
[data-skin="prism"] .site-footer a{color:var(--verm)}
[data-skin="prism"] .login-brand .mark i{inset:0;border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%);box-shadow:none;mix-blend-mode:multiply}
[data-skin="prism"] .login-brand .mark i:nth-child(1){background:var(--amber);transform:translate(-5px,3px) rotate(-8deg)}
[data-skin="prism"] .login-brand .mark i:nth-child(2){background:var(--teal);transform:translate(5px,-3px) rotate(9deg)}
[data-skin="prism"] .login-spectrum{
  background:linear-gradient(90deg,var(--verm),var(--amber),var(--yellow),var(--green),var(--teal),var(--blue));
  box-shadow:none;
}
[data-skin="prism"] .skin-opt.is-on{background:rgba(232,69,44,.10);border-color:rgba(232,69,44,.35)}
[data-skin="prism"] .skin-opt:hover{background:rgba(27,111,212,.08)}

/* ---------- Skin: MODERN FRESH ---------- */
.fresh-blob{
  position:absolute;border-radius:50%;filter:blur(36px);opacity:.55;
}
.fresh-blob.fb1{width:420px;height:420px;left:58%;top:-12%;background:radial-gradient(circle,#5EEAD4,transparent 70%)}
.fresh-blob.fb2{width:340px;height:340px;left:-8%;top:62%;background:radial-gradient(circle,#86EFAC,transparent 70%)}
.fresh-blob.fb3{width:240px;height:240px;left:72%;top:58%;background:radial-gradient(circle,#7DD3FC,transparent 70%)}
[data-skin="fresh"]{
  --bg:#F1FAF6; --bg2:#FFFFFF;
  --surface:rgba(255,255,255,.78); --surface-solid:#FFFFFF;
  --surface-hover:rgba(255,255,255,.96);
  --line:rgba(15,61,54,.10);
  --ink:#14332A; --muted:#5B7A70;
  --navy:#0F3D36; --blue:#0D9488; --teal:#2DD4BF;
  --amber:#EAB308; --verm:#EF4444; --yellow:#FACC15; --green:#22C55E;
  --purple:#14B8A6;
  --cyan:#5EEAD4; --indigo:#38BDF8;
  --shard-blend:multiply; --shard-op:.7;
  --sidebar-ink:#E8FBF6;
  --shadow:0 18px 40px -24px rgba(13,148,136,.32);
  --glow:0 0 28px rgba(45,212,191,.28);
  --grid-line:rgba(45,212,191,.10);
  --border:var(--line);
  --border-strong:rgba(15,61,54,.16);
  --text-primary:var(--ink);
  --text-secondary:#2A4F45;
  --text-muted:var(--muted);
  --gradient-primary:linear-gradient(120deg,#34D399,#38BDF8);
  --gradient-warm:linear-gradient(120deg,#2DD4BF,#86EFAC);
  --glass-shadow-hover:0 22px 48px -20px rgba(13,148,136,.35);
}
[data-skin="fresh"][data-theme="dark"]{
  --bg:#071411; --bg2:#0C1C18;
  --surface:rgba(16,42,36,.62); --surface-solid:#102A24;
  --surface-hover:rgba(255,255,255,.08);
  --line:rgba(148,210,196,.16);
  --ink:#E8FBF4; --muted:#8FB3A8;
  --navy:#05110E;
  --shard-blend:screen; --shard-op:.8;
  --shadow:0 22px 50px -24px rgba(0,0,0,.75);
  --glow:0 0 32px rgba(45,212,191,.18);
  --grid-line:rgba(45,212,191,.08);
  --border:var(--line);
  --border-strong:rgba(255,255,255,.16);
  --text-primary:var(--ink);
  --text-secondary:#C5E4DA;
  --text-muted:var(--muted);
}
[data-skin="fresh"] #backdrop::after{
  background:
    radial-gradient(900px 500px at 90% -6%, rgba(45,212,191,.22), transparent 58%),
    radial-gradient(700px 460px at 4% 108%, rgba(56,189,248,.16), transparent 60%);
}
[data-skin="fresh"] .grain{opacity:.12}
[data-skin="fresh"] .sidebar{
  background:linear-gradient(180deg,#0F3D36 0%,#14685C 48%,#0C2E28 100%);
  border-right:1px solid rgba(94,234,212,.22);
  box-shadow:8px 0 36px -20px rgba(13,148,136,.3);
  clip-path:none;
}
[data-skin="fresh"] .sidebar::before{
  background:
    radial-gradient(380px 220px at 110% -8%, rgba(94,234,212,.4), transparent 62%),
    radial-gradient(320px 240px at -16% 108%, rgba(134,239,172,.28), transparent 62%);
}
[data-skin="fresh"] .sidebar::after{
  background:linear-gradient(180deg,transparent,rgba(94,234,212,.5),transparent);
}
[data-skin="fresh"] .brand .mark i{border-radius:10px;clip-path:none;mix-blend-mode:normal}
[data-skin="fresh"] .brand .mark i:nth-child(1){background:linear-gradient(135deg,#34D399,#38BDF8);transform:rotate(8deg);box-shadow:0 0 14px rgba(45,212,191,.5)}
[data-skin="fresh"] .brand .mark i:nth-child(2){background:linear-gradient(135deg,#86EFAC,#2DD4BF);transform:rotate(-14deg) scale(.7);opacity:.9}
[data-skin="fresh"] .nav-item::before{background:linear-gradient(180deg,#5EEAD4,#38BDF8);box-shadow:0 0 8px rgba(94,234,212,.6)}
[data-skin="fresh"] .nav-item:hover{background:rgba(94,234,212,.12)}
[data-skin="fresh"] .nav-item.active{background:rgba(94,234,212,.18);box-shadow:inset 0 0 16px rgba(94,234,212,.08)}
[data-skin="fresh"] .nav-tag{background:linear-gradient(120deg,#22C55E,#14B8A6);box-shadow:0 0 10px rgba(34,197,94,.35)}
[data-skin="fresh"] .topbar::before{
  background:linear-gradient(90deg,transparent,rgba(45,212,191,.55),rgba(56,189,248,.4),transparent);
}
[data-skin="fresh"] .icon-btn:hover{background:rgba(13,148,136,.12);border-color:rgba(45,212,191,.4);box-shadow:var(--glow)}
[data-skin="fresh"] .avatar{background:linear-gradient(135deg,#34D399,#0D9488)}
[data-skin="fresh"] .page-title .grad{
  background:linear-gradient(96deg,#0D9488,#2DD4BF 46%,#38BDF8);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
[data-skin="fresh"] .spectrum{
  background:linear-gradient(90deg,#86EFAC,#2DD4BF,#38BDF8,#34D399,#86EFAC);
  box-shadow:0 0 10px rgba(45,212,191,.35);
}
[data-skin="fresh"] .glass-card.lift:hover,[data-skin="fresh"] .card.lift:hover{border-color:rgba(45,212,191,.4)}
[data-skin="fresh"] .pill.on{background:linear-gradient(120deg,#0D9488,#38BDF8);box-shadow:0 8px 16px -10px rgba(13,148,136,.7)}
[data-skin="fresh"] .btn-primary{
  background:linear-gradient(120deg,#34D399,#0D9488);
  box-shadow:0 12px 26px -12px rgba(13,148,136,.7);
}
[data-skin="fresh"] .btn-primary:hover{box-shadow:0 18px 34px -12px rgba(56,189,248,.7)}
[data-skin="fresh"] .form-input:focus,[data-skin="fresh"] .form-select:focus,[data-skin="fresh"] .form-textarea:focus{
  border-color:#2DD4BF;box-shadow:0 0 0 4px rgba(45,212,191,.18);
}
[data-skin="fresh"] .glass-table thead th{
  background:linear-gradient(180deg,#0F3D36,#14685C);border-bottom:1px solid rgba(94,234,212,.35);
}
[data-skin="fresh"] .glass-table thead th:nth-child(1),
[data-skin="fresh"] .glass-table thead th:nth-child(2),
[data-skin="fresh"] .glass-table thead th:nth-child(3),
[data-skin="fresh"] .glass-table thead th:nth-child(4),
[data-skin="fresh"] .glass-table thead th:nth-child(5),
[data-skin="fresh"] .glass-table thead th:nth-child(6),
[data-skin="fresh"] .glass-table thead th:nth-child(7),
[data-skin="fresh"] .glass-table thead th:nth-child(8),
[data-skin="fresh"] .glass-table thead th:nth-child(9),
[data-skin="fresh"] .glass-table thead th:nth-child(n+8){background:linear-gradient(180deg,#0F3D36,#14685C)}
[data-skin="fresh"] .glass-table tbody tr:hover{box-shadow:-4px 0 0 0 #2DD4BF,var(--shadow)}
[data-skin="fresh"] .dropdown-item:hover{background:rgba(13,148,136,.10);color:#0D9488}
[data-skin="fresh"] .btn-save-pm,[data-skin="fresh"] .btn-save-user{
  background:linear-gradient(120deg,#34D399,#0D9488);box-shadow:0 10px 22px -12px rgba(13,148,136,.65);
}
[data-skin="fresh"] .site-footer a{color:#0D9488}
[data-skin="fresh"] .login-brand .mark i{border-radius:10px;clip-path:none}
[data-skin="fresh"] .login-brand .mark i:nth-child(1){background:linear-gradient(135deg,#34D399,#38BDF8);transform:rotate(8deg);box-shadow:0 0 18px rgba(45,212,191,.45)}
[data-skin="fresh"] .login-brand .mark i:nth-child(2){background:linear-gradient(135deg,#86EFAC,#2DD4BF);transform:rotate(-14deg) scale(.7);mix-blend-mode:normal}
[data-skin="fresh"] .login-spectrum{
  background:linear-gradient(90deg,#86EFAC,#2DD4BF,#38BDF8,#34D399,#86EFAC);
  box-shadow:0 0 10px rgba(45,212,191,.35);
}
[data-skin="fresh"] .skin-opt.is-on{background:rgba(13,148,136,.12);border-color:rgba(45,212,191,.4)}
[data-skin="fresh"] .skin-opt:hover{background:rgba(13,148,136,.08)}

/* ---------- Skin: CALM EYES (สบายตา) ---------- */
.calm-wash{
  position:absolute;inset:0;
  background:
    radial-gradient(900px 520px at 18% 12%, rgba(184,176,156,.28), transparent 58%),
    radial-gradient(800px 480px at 88% 86%, rgba(154,168,138,.22), transparent 60%);
}
[data-skin="calm"]{
  --bg:#F3EDE3; --bg2:#FAF6F0;
  --surface:rgba(250,246,240,.82); --surface-solid:#FAF6F0;
  --surface-hover:rgba(255,252,247,.96);
  --line:rgba(80,72,60,.12);
  --ink:#3D3830; --muted:#8A8276;
  --navy:#4A5D4E; --blue:#5B7C6E; --teal:#7A9E88;
  --amber:#C4A574; --verm:#B86B5A; --yellow:#D4C08A; --green:#6B8F71;
  --purple:#8B7E9A;
  --cyan:#A8B89A; --indigo:#7A9E88;
  --shard-blend:multiply; --shard-op:.35;
  --sidebar-ink:#F3EDE3;
  --shadow:0 14px 32px -20px rgba(61,56,48,.28);
  --glow:none;
  --grid-line:rgba(80,72,60,.05);
  --border:var(--line);
  --border-strong:rgba(80,72,60,.18);
  --text-primary:var(--ink);
  --text-secondary:#5A5348;
  --text-muted:var(--muted);
  --gradient-primary:linear-gradient(120deg,#7A9E88,#5B7C6E);
  --gradient-warm:linear-gradient(120deg,#C4A574,#D4C08A);
  --glass-shadow-hover:0 18px 36px -18px rgba(61,56,48,.28);
}
[data-skin="calm"][data-theme="dark"]{
  --bg:#1E1C18; --bg2:#26231E;
  --surface:rgba(42,38,32,.72); --surface-solid:#2A2620;
  --surface-hover:rgba(255,248,235,.06);
  --line:rgba(214,204,186,.12);
  --ink:#E6E0D4; --muted:#A89F91;
  --navy:#2C332C;
  --shard-blend:screen; --shard-op:.3;
  --shadow:0 18px 40px -22px rgba(0,0,0,.7);
  --grid-line:rgba(214,204,186,.06);
  --border:var(--line);
  --border-strong:rgba(214,204,186,.16);
  --text-primary:var(--ink);
  --text-secondary:#D2CBBF;
  --text-muted:var(--muted);
  --sidebar-ink:#E6E0D4;
}
[data-skin="calm"] #backdrop::after{background:none}
[data-skin="calm"] .grain{opacity:.08}
[data-skin="calm"] .sidebar{
  background:linear-gradient(180deg,#4A5D4E 0%,#5B6E5C 52%,#3F4F42 100%);
  border-right:1px solid rgba(243,237,227,.12);
  box-shadow:none;
  clip-path:none;
}
[data-skin="calm"][data-theme="dark"] .sidebar{
  background:linear-gradient(180deg,#2C332C 0%,#35382F 100%);
}
[data-skin="calm"] .sidebar::before{
  background:radial-gradient(360px 220px at 100% 0%, rgba(232,220,200,.18), transparent 60%);
  opacity:.8;
}
[data-skin="calm"] .sidebar::after{display:none}
[data-skin="calm"] .brand .mark i{border-radius:9px;clip-path:none;mix-blend-mode:normal;box-shadow:none}
[data-skin="calm"] .brand .mark i:nth-child(1){background:linear-gradient(135deg,#A8B89A,#7A9E88);transform:rotate(6deg);opacity:.95}
[data-skin="calm"] .brand .mark i:nth-child(2){background:linear-gradient(135deg,#C4A574,#D4C08A);transform:rotate(-12deg) scale(.72);opacity:.88}
[data-skin="calm"] .nav-item{color:#EDE6D8}
[data-skin="calm"] .nav-item::before{background:#C4A574;box-shadow:none}
[data-skin="calm"] .nav-item:hover{background:rgba(243,237,227,.12);transform:translateX(3px)}
[data-skin="calm"] .nav-item.active{background:rgba(243,237,227,.16);box-shadow:none}
[data-skin="calm"] .nav-tag{background:#B86B5A;box-shadow:none}
[data-skin="calm"] .topbar::before{display:none}
[data-skin="calm"] .icon-btn:hover{background:rgba(122,158,136,.14);border-color:rgba(122,158,136,.35);box-shadow:none;transform:none}
[data-skin="calm"] .avatar{background:linear-gradient(135deg,#7A9E88,#5B7C6E)}
[data-skin="calm"] .page-title .grad{
  background:linear-gradient(96deg,#5B7C6E,#7A9E88 50%,#C4A574);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
[data-skin="calm"] .spectrum{
  background:linear-gradient(90deg,#A8B89A,#7A9E88,#C4A574,#D4C08A,#A8B89A);
  box-shadow:none;height:3px;
}
[data-skin="calm"] .glass-card.lift:hover,[data-skin="calm"] .card.lift:hover{border-color:rgba(122,158,136,.35);transform:translateY(-2px)}
[data-skin="calm"] .kpi:hover{transform:translateY(-2px)}
[data-skin="calm"] .pill.on{background:#5B7C6E;box-shadow:none}
[data-skin="calm"] .btn-primary{
  background:linear-gradient(120deg,#7A9E88,#5B7C6E);
  box-shadow:0 10px 20px -12px rgba(91,124,110,.5);
}
[data-skin="calm"] .btn-primary:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 14px 26px -12px rgba(91,124,110,.55)}
[data-skin="calm"] .form-input:focus,[data-skin="calm"] .form-select:focus,[data-skin="calm"] .form-textarea:focus{
  border-color:#7A9E88;box-shadow:0 0 0 4px rgba(122,158,136,.16);
}
[data-skin="calm"] .glass-table thead th{
  background:#4A5D4E;border-bottom:none;color:#F3EDE3;
}
[data-skin="calm"] .glass-table thead th:nth-child(1),
[data-skin="calm"] .glass-table thead th:nth-child(2),
[data-skin="calm"] .glass-table thead th:nth-child(3),
[data-skin="calm"] .glass-table thead th:nth-child(4),
[data-skin="calm"] .glass-table thead th:nth-child(5),
[data-skin="calm"] .glass-table thead th:nth-child(6),
[data-skin="calm"] .glass-table thead th:nth-child(7),
[data-skin="calm"] .glass-table thead th:nth-child(8),
[data-skin="calm"] .glass-table thead th:nth-child(9),
[data-skin="calm"] .glass-table thead th:nth-child(n+8){background:#4A5D4E}
[data-skin="calm"] .glass-table tbody tr:hover{transform:none;box-shadow:-3px 0 0 0 #7A9E88,var(--shadow)}
[data-skin="calm"] .dropdown-item:hover{background:rgba(122,158,136,.12);color:#5B7C6E}
[data-skin="calm"] .btn-save-pm,[data-skin="calm"] .btn-save-user{
  background:#5B7C6E;box-shadow:0 8px 18px -12px rgba(91,124,110,.55);
}
[data-skin="calm"] .btn-save-pm:hover,[data-skin="calm"] .btn-save-user:hover{background:#4A6A5C;filter:none}
[data-skin="calm"] .site-footer a{color:#5B7C6E}
[data-skin="calm"] .login-brand .mark i{border-radius:9px;clip-path:none;mix-blend-mode:normal;box-shadow:none}
[data-skin="calm"] .login-brand .mark i:nth-child(1){background:linear-gradient(135deg,#A8B89A,#7A9E88);transform:rotate(6deg)}
[data-skin="calm"] .login-brand .mark i:nth-child(2){background:linear-gradient(135deg,#C4A574,#D4C08A);transform:rotate(-12deg) scale(.72)}
[data-skin="calm"] .login-spectrum{
  background:linear-gradient(90deg,#A8B89A,#7A9E88,#C4A574,#D4C08A,#A8B89A);
  box-shadow:none;
}
[data-skin="calm"] .skin-opt.is-on{background:rgba(122,158,136,.16);border-color:rgba(122,158,136,.4)}
[data-skin="calm"] .skin-opt:hover{background:rgba(122,158,136,.08)}
[data-skin="calm"] .kpi::before{opacity:.1}
[data-skin="calm"] a{color:#5B7C6E}
