:root{--emerald-900:#064e3b;--emerald-800:#065f46;--emerald-700:#047857;--emerald-600:#059669;--emerald-500:#10b981;--emerald-400:#34d399;--emerald-300:#6ee7b7;--emerald-200:#a7f3d0;--emerald-100:#d1fae5;--emerald-50:#ecfdf5;--ink-900:#0b221b;--ink-800:#122e25;--ink-700:#1b3a30;--ink-600:#2e4a40;--ink-500:#4b6358;--ink-400:#6b847a;--ink-300:#9db1a8;--success:#10b981;--success-bg:#d1fae5;--warning:#f59e0b;--warning-bg:#fef3c7;--danger:#ef4444;--danger-bg:#fee2e2;--info:#0ea5e9;--info-bg:#e0f2fe;--teal:#14b8a6;--teal-bg:#ccfbf1;--purple:#8b5cf6;--purple-bg:#ede9fe;--paper:#fff;--mist:#f4fbf7;--glass-bg:hsla(0,0%,100%,.62);--glass-bg-strong:hsla(0,0%,100%,.82);--glass-bg-soft:hsla(0,0%,100%,.45);--glass-border:hsla(0,0%,100%,.7);--glass-border-green:rgba(16,185,129,.22);--glass-blur:18px;--shadow-sm:0 1px 2px rgba(6,78,59,.06),0 1px 3px rgba(6,78,59,.05);--shadow-md:0 4px 14px rgba(6,78,59,.08),0 2px 6px rgba(6,78,59,.05);--shadow-lg:0 18px 40px rgba(6,78,59,.12),0 6px 14px rgba(6,78,59,.06);--shadow-xl:0 30px 70px rgba(6,78,59,.18),0 10px 24px rgba(6,78,59,.08);--shadow-glow:0 10px 28px rgba(16,185,129,.32);--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:22px;--r-xl:30px;--r-pill:999px;--font:"Anuphan","Manrope",system-ui,-apple-system,sans-serif;--font-num:"Manrope","Anuphan",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:var(--font);color:var(--ink-800);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{background:radial-gradient(1200px 700px at 8% -8%,rgba(110,231,183,.4),transparent 60%),radial-gradient(1100px 800px at 100% 0,rgba(52,211,153,.26),transparent 55%),radial-gradient(900px 900px at 60% 120%,rgba(16,185,129,.18),transparent 60%),linear-gradient(170deg,#ecfdf5,#f3fbf7 40%,#fff);background-attachment:fixed;min-height:100vh}.bg-orbs{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.bg-orbs span{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5}.bg-orbs span:first-child{width:420px;height:420px;left:-120px;top:8%;background:radial-gradient(circle,rgba(52,211,153,.6),transparent 70%)}.bg-orbs span:nth-child(2){width:520px;height:520px;right:-160px;top:30%;background:radial-gradient(circle,rgba(110,231,183,.55),transparent 70%)}.bg-orbs span:nth-child(3){width:360px;height:360px;left:30%;bottom:-140px;background:radial-gradient(circle,rgba(167,243,208,.6),transparent 70%)}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(135%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(135%);box-shadow:var(--shadow-md),inset 0 1px 0 hsla(0,0%,100%,.55)}.glass,.glass-strong{border:1px solid var(--glass-border)}.glass-strong{background:var(--glass-bg-strong);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%)}.glass-green{background:linear-gradient(150deg,rgba(209,250,229,.72),hsla(0,0%,100%,.55));border:1px solid var(--glass-border-green);backdrop-filter:blur(var(--glass-blur)) saturate(135%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(135%)}.solid-panel{background:var(--paper);border:1px solid rgba(16,185,129,.12);box-shadow:var(--shadow-md)}.btn{font-family:var(--font);font-weight:600;font-size:15px;border:none;border-radius:var(--r-pill);padding:11px 20px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s ease,box-shadow .18s ease,background .18s ease,filter .18s ease;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:active{transform:translateY(1px) scale(.99)}.btn-primary{background:linear-gradient(180deg,var(--emerald-400),var(--emerald-600));color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{filter:brightness(1.04);box-shadow:0 12px 32px rgba(16,185,129,.42)}.btn-ghost{background:hsla(0,0%,100%,.6);color:var(--ink-700);border:1px solid rgba(16,185,129,.18)}.btn-ghost:hover{background:hsla(0,0%,100%,.85)}.btn-soft{background:var(--emerald-100);color:var(--emerald-800)}.btn-soft:hover{background:var(--emerald-200)}.btn-danger{background:linear-gradient(180deg,#f87171,#ef4444);color:#fff;box-shadow:0 10px 24px rgba(239,68,68,.28)}.btn-danger-soft{background:var(--danger-bg);color:#b91c1c}.btn-dark{background:var(--ink-800);color:#fff}.btn-lg{font-size:17px;padding:15px 26px}.btn-xl{font-size:19px;padding:18px 28px;font-weight:700}.btn-sm{font-size:13px;padding:8px 14px}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon{padding:10px;border-radius:12px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;letter-spacing:.1px;padding:4px 11px;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-success{background:var(--success-bg);color:#047857}.badge-warning{background:var(--warning-bg);color:#b45309}.badge-danger{background:var(--danger-bg);color:#b91c1c}.badge-info{background:var(--info-bg);color:#0369a1}.badge-teal{background:var(--teal-bg);color:#0f766e}.badge-purple{background:var(--purple-bg);color:#6d28d9}.badge-neutral{background:#eef2f0;color:#456054}.badge-draft{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.badge-publish{background:var(--success-bg);color:#047857}.badge-lg{font-size:13px;padding:6px 14px}.field{display:flex;flex-direction:column;gap:7px}.field>label{font-size:13px;font-weight:600;color:var(--ink-600)}.field .hint{font-size:12px;color:var(--ink-400)}.input,.select,.textarea{font-family:var(--font);font-size:15px;color:var(--ink-800);background:hsla(0,0%,100%,.72);border:1px solid rgba(16,185,129,.2);border-radius:var(--r-sm);padding:12px 14px;outline:none;transition:border .15s,box-shadow .15s,background .15s;width:100%}.input::placeholder,.textarea::placeholder{color:var(--ink-300)}.input:focus,.select:focus,.textarea:focus{border-color:var(--emerald-400);box-shadow:0 0 0 4px rgba(16,185,129,.14);background:#fff}.input-lg{font-size:17px;padding:15px 16px}.textarea{resize:vertical;min-height:80px}.switch{position:relative;display:inline-block;width:46px;height:26px;cursor:pointer;flex:none}.switch input{opacity:0;width:0;height:0}.switch .track{inset:0;background:#cbd9d2;border-radius:999px}.switch .thumb,.switch .track{position:absolute;transition:.2s}.switch .thumb{top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2)}.switch input:checked+.track{background:linear-gradient(180deg,var(--emerald-400),var(--emerald-600))}.switch input:checked+.track+.thumb{transform:translateX(20px)}.segment{display:inline-flex;background:hsla(0,0%,100%,.55);border:1px solid rgba(16,185,129,.16);border-radius:var(--r-pill);padding:4px;gap:3px}.segment button{border:none;background:transparent;font-family:var(--font);font-weight:600;font-size:14px;color:var(--ink-500);padding:8px 16px;border-radius:var(--r-pill);cursor:pointer;transition:.15s}.segment button.active{background:linear-gradient(180deg,var(--emerald-400),var(--emerald-600));color:#fff;box-shadow:var(--shadow-sm)}.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl thead th{text-align:left;font-weight:600;color:var(--ink-400);font-size:12.5px;padding:12px 16px;border-bottom:1px solid rgba(16,185,129,.14);text-transform:none;letter-spacing:.2px}.tbl tbody td{padding:14px 16px;border-bottom:1px solid rgba(16,185,129,.08);color:var(--ink-700)}.tbl tbody tr{transition:background .12s}.tbl tbody tr:hover{background:rgba(16,185,129,.05)}.tbl tbody tr.selected{background:rgba(16,185,129,.1)}.card{padding:20px}.card,.stat-card{border-radius:var(--r-lg)}.stat-card{padding:18px 20px;position:relative;overflow:hidden}.kpi{font-family:var(--font-num);font-weight:800;font-size:30px;color:var(--ink-900);letter-spacing:-.5px}.kpi-label{font-size:13.5px;color:var(--ink-400);font-weight:500}.mono{font-family:var(--font-num);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.scroll-y{overflow-y:auto}.scroll-y::-webkit-scrollbar{width:8px;height:8px}.scroll-y::-webkit-scrollbar-thumb{background:rgba(16,185,129,.25);border-radius:999px}.scroll-y::-webkit-scrollbar-track{background:transparent}.img-ph{display:flex;align-items:center;justify-content:center;background-image:repeating-linear-gradient(135deg,rgba(16,185,129,.1),rgba(16,185,129,.1) 10px,rgba(16,185,129,.04) 0,rgba(16,185,129,.04) 20px);background-color:var(--emerald-50);color:var(--emerald-700);font-family:var(--font-num);font-size:12px;font-weight:600;letter-spacing:.3px;border-radius:var(--r-sm);overflow:hidden}.img-ph span{opacity:.85}.divider{height:1px;background:rgba(16,185,129,.12);border:none;margin:0}.avatar{border-radius:50%;background:linear-gradient(150deg,var(--emerald-300),var(--emerald-600));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-num);flex:none}@keyframes fadeUp{0%{transform:translateY(10px)}to{transform:none}}@keyframes fadeIn{0%{opacity:.001}to{opacity:1}}@keyframes pop{0%{transform:scale(.96)}to{transform:none}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.35}}@keyframes spin{to{transform:rotate(1turn)}}.fade-up{animation:fadeUp .4s cubic-bezier(.2,.7,.3,1) both}.fade-in{animation:fadeIn .3s ease both}.pop{animation:pop .22s cubic-bezier(.2,.8,.3,1) both}.spin{animation:spin .8s linear infinite}.overlay{position:absolute;inset:0;z-index:50;background:rgba(6,40,30,.32);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:var(--glass-bg-strong);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border:1px solid var(--glass-border);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);animation:pop .24s cubic-bezier(.2,.8,.3,1);max-height:90%;flex-direction:column}.col,.flex,.modal{display:flex}.col{flex-direction:column}.center{align-items:center;justify-content:center}.between{justify-content:space-between}.items-center{align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.grow{flex:1 1}.wrap{flex-wrap:wrap}.muted{color:var(--ink-400)}.t-green{color:var(--emerald-600)}.t-danger{color:var(--danger)}.t-warn{color:var(--warning)}.w-full{width:100%}.rel{position:relative}.pointer{cursor:pointer}.nowrap{white-space:nowrap}.uppercase{text-transform:uppercase;letter-spacing:.6px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:var(--r-pill);background:hsla(0,0%,100%,.6);border:1px solid rgba(16,185,129,.16);color:var(--ink-600);cursor:pointer;transition:.15s}.chip:hover{background:hsla(0,0%,100%,.9)}.chip.active{background:var(--emerald-600);color:#fff;border-color:transparent}.empty{flex-direction:column;text-align:center;padding:48px 24px;color:var(--ink-400);gap:12px}.empty,.empty .ico{display:flex;align-items:center;justify-content:center}.empty .ico{width:64px;height:64px;border-radius:20px;background:var(--emerald-50);color:var(--emerald-500)}@media print{@page{size:A4;margin:14mm}body,html{background:#fff!important}body *{visibility:hidden!important}.po-sheet,.po-sheet *{visibility:visible!important}.po-sheet{position:absolute!important;left:0!important;top:0!important;width:100%!important;min-height:0!important;margin:0!important;padding:0!important;box-shadow:none!important;border-radius:0!important}.po-sheet table{page-break-inside:auto}.po-sheet .po-keep,.po-sheet tr{page-break-inside:avoid}.overlay{position:static!important;padding:0!important}.modal,.overlay{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.modal{box-shadow:none!important;max-height:none!important}.po-no-print{display:none!important}}