:root{--primary: #6d28d9;--primary-rgb: 109, 40, 217;--primary-2-rgb: 139, 92, 246;--primary-fill-hover: #8b5cf6;--primary-hover-top: #9d75ff;--primary-3: #7c3aed;--accent: #a78bfa;--chart: #7c3aed;--tint-rgb: 120, 100, 180;--shadow-rgb: 90, 60, 170;--ink-rgb: 40, 24, 90;--glow-1: #e4d8ff;--glow-2: #fbe2f4;--glow-3: #dbe6ff;--placeholder: #a39dbb;--on-primary: #fff;--primary-fill: var(--primary);--primary-soft: rgba(var(--primary-2-rgb), .14);--primary-soft-2: rgba(var(--primary-2-rgb), .22);--primary-ring: rgba(var(--primary-2-rgb), .25);--primary-border: rgba(var(--primary-2-rgb), .45);--bg: #f5f2fc;--card: rgba(255, 255, 255, .6);--card-solid: #ffffff;--surface-rgb: 255, 255, 255;--raise: #ffffff;--edge: #fff;--text: #1f1b2e;--text-2: #4a4560;--muted: #6f6990;--line: rgba(var(--tint-rgb), .14);--line-strong: rgba(var(--tint-rgb), .22);--soft: rgba(255, 255, 255, .5);--hover: rgba(255, 255, 255, .8);--success: #15803d;--success-soft: #e3f7ea;--warning: #b45309;--warning-soft: #fff3dc;--info: #1d5fc2;--info-soft: #e6effd;--danger: #c62828;--danger-soft: #fdeaea;--neutral: #5d5873;--neutral-soft: rgba(var(--tint-rgb), .1);--glass-blur: blur(18px) saturate(160%);--glass-border: rgba(255, 255, 255, .95);--glass-edge: inset 0 1px 0 #fff;--radius: 18px;--radius-sm: 12px;--shadow: 0 10px 30px rgba(var(--shadow-rgb), .1);--shadow-lg: 0 22px 54px rgba(var(--shadow-rgb), .2);--sidebar-w: 256px;--header-h: 68px;--font: "Noto Sans Thai", "Leelawadee UI", Tahoma, system-ui, sans-serif;--font-head: var(--font);color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:14.5px/1.55 var(--font);-webkit-font-smoothing:antialiased;min-height:100vh}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(42rem 30rem at 6% -4%,var(--glow-1),transparent 70%),radial-gradient(36rem 28rem at 100% 22%,var(--glow-2),transparent 70%),radial-gradient(44rem 32rem at 52% 112%,var(--glow-3),transparent 70%)}button,input,select,textarea{font:inherit;color:inherit}option{background:var(--card-solid);color:var(--text)}a{color:var(--primary);text-decoration:none}[hidden]{display:none!important}h1,h2,h3,h4{margin:0;font-weight:600;font-family:var(--font-head)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:var(--primary-ring)}.glass,.card{background:var(--card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-edge),var(--shadow)}.card{border-radius:var(--radius)}.card-head{display:flex;align-items:center;gap:10px;padding:18px 22px;border-bottom:1px solid var(--line)}.card-head h3{font-size:16px;flex:1}.card-body{padding:22px}.grid{display:grid;gap:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 18px;border-radius:999px;border:1px solid var(--glass-border);background:rgba(var(--surface-rgb),.7);cursor:pointer;font-weight:500;white-space:nowrap;box-shadow:0 2px 8px rgba(var(--shadow-rgb),.07),inset 0 1px 0 var(--edge);transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.btn:hover{background:var(--raise);border-color:rgba(var(--primary-2-rgb),.3)}.btn svg{width:16px;height:16px;flex:none}.btn-primary{background:linear-gradient(180deg,var(--primary-fill-hover),var(--primary-fill));border-color:transparent;color:var(--on-primary);box-shadow:inset 0 1px rgba(var(--surface-rgb),.35),0 6px 16px rgba(var(--primary-rgb),.3)}.btn-primary:hover{background:linear-gradient(180deg,var(--primary-hover-top),var(--primary-3));border-color:transparent}.btn-soft{background:var(--primary-soft);border-color:transparent;color:var(--primary);box-shadow:none}.btn-soft:hover{background:var(--primary-soft-2);border-color:transparent}.btn-danger{color:var(--danger)}.btn-danger:hover{background:var(--danger-soft);border-color:#c6282840}.btn-sm{height:34px;padding:0 14px;font-size:13.5px}.btn-icon{width:40px;padding:0}.btn:disabled{opacity:.5;cursor:default}.btn-link{background:none;border:0;color:var(--primary);cursor:pointer;padding:0;font-weight:500}.input,.select,.textarea{width:100%;height:42px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb),.72);padding:0 14px;outline:none;box-shadow:inset 0 1px 2px rgba(var(--ink-rgb),.07);transition:border-color .15s,box-shadow .15s,background .15s}.input::placeholder,.textarea::placeholder{color:var(--placeholder)}.textarea{height:auto;padding:11px 14px;resize:vertical;min-height:80px}.input:focus,.select:focus,.textarea:focus{border-color:rgba(var(--primary-2-rgb),.6);background:var(--card-solid);box-shadow:0 0 0 4px var(--primary-ring)}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field>span,.lbl{font-size:13.5px;font-weight:500;color:var(--text-2)}.hint{font-size:12.5px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer}input[type=checkbox],input[type=radio]{accent-color:var(--primary-3);width:16px;height:16px;margin:0;cursor:pointer}.search{position:relative}.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted)}.search .input{padding-left:40px}.badge{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:500;white-space:nowrap}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-neutral{background:var(--neutral-soft);color:var(--neutral)}.badge-primary{background:var(--primary-soft);color:var(--primary)}.tag{display:inline-block;background:var(--neutral-soft);color:var(--text-2);border-radius:999px;padding:0 9px;font-size:12px;margin:2px 3px 0 0}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12.5px;font-weight:600;color:var(--muted);background:var(--soft);white-space:nowrap;padding:12px 14px;border-bottom:1px solid var(--line)}.table td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:var(--soft)}.table tbody tr.selected{background:var(--primary-soft)}.table .w-check{width:44px}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:13px}.strong{font-weight:600}.empty{padding:48px 20px;text-align:center;color:var(--muted)}.who{display:flex;align-items:center;gap:10px;min-width:150px}.avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;background:var(--primary-soft);flex:none;display:grid;place-items:center;color:var(--primary);font-weight:600;font-size:13px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line)}.toolbar .grow{flex:1;min-width:200px}.toolbar .select{width:auto;min-width:150px}.tabs{display:flex;gap:6px;padding:12px 16px;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tab{border:1px solid transparent;background:none;padding:7px 14px;border-radius:999px;cursor:pointer;color:var(--muted);font-weight:500;white-space:nowrap;display:inline-flex;gap:8px;align-items:center;transition:background .15s,color .15s}.tab:hover{color:var(--text);background:var(--soft)}.tab .count{background:var(--neutral-soft);color:var(--text-2);border-radius:99px;padding:0 8px;font-size:12px;font-variant-numeric:tabular-nums}.tab.active{color:var(--primary);background:var(--raise);border-color:var(--glass-border);box-shadow:0 4px 14px rgba(var(--primary-rgb),.12),inset 0 1px 0 var(--edge)}.tab.active .count{background:var(--primary-fill);color:var(--on-primary)}.selbar{position:sticky;bottom:16px;z-index:5;margin:16px 0 0;display:flex;gap:8px;flex-wrap:wrap;align-items:center;background:rgba(var(--surface-rgb),.72);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:999px;padding:8px 10px 8px 20px;box-shadow:var(--glass-edge),var(--shadow-lg)}.selbar .select{width:auto;height:40px;border-radius:999px}.spacer{flex:1}.banner{display:flex;gap:10px;align-items:center;justify-content:center;padding:10px;background:var(--primary-soft);color:var(--text-2);font-size:13.5px;flex-wrap:wrap}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.card-body{padding:16px}.toolbar{padding:12px 16px}.toolbar .select{flex:1}.selbar{border-radius:20px;padding:10px 12px}}@media print{body{background:#fff;color:#000}body:before{display:none}}
