@import "https://fonts.googleapis.com/css2?family=Kanit:wght@400;500;600;700&family=Roboto:wght@300;400;500&display=swap";
:root,:root[data-theme=light]{--bg-dark:#f4f5f9;--bg-darker:#e9eaf2;--bg-primary:#f4f5f9;--panel-bg:#ffffffd9;--panel-border:#ca158a2e;--surface-card:#ffffffb3;--surface-raised:#ffffffe6;--surface-inset:#0000000a;--surface-overlay:#14123959;--text-primary:#1a1830;--text-secondary:#5d5a78;--text-on-accent:#fff;--text-strong:#1a1830;--border-subtle:#1412391a;--border-faint:#1412390f;--border-input:#14123926;--accent-teal:#0f6f93;--accent-magenta:#ca158a;--accent-coral:#e63946;--accent-lavender:#6a5a9c;--accent-color:#0f6f93;--accent-canva:#00788f;--status-blue:#1d5fbf;--status-yellow:#9a7400;--status-orange:#b85c00;--status-green:#157a3c;--status-red:#c0392b;--status-purple:#7c3aed;--status-teal:#0d7a72;--status-pink:#c0397f;--status-blue-bg:#1d5fbf1f;--status-yellow-bg:#9a740024;--status-orange-bg:#b85c001f;--status-green-bg:#157a3c1f;--status-red-bg:#c0392b1f;--status-purple-bg:#7c3aed1f;--status-teal-bg:#0d7a721f;--status-pink-bg:#c0397f1f;--status-blue-border:#1d5fbf4d;--status-yellow-border:#9a74004d;--status-green-border:#157a3c4d;--status-red-border:#c0392b4d;--status-purple-border:#7c3aed4d;--status-teal-border:#0d7a724d;--status-pink-border:#c0397f4d;--accent-teal-tint:#0f6f931f;--accent-magenta-tint:#ca158a1f;--accent-lavender-tint:#6a5a9c1f;--accent-lavender-border:#6a5a9c47;--gradient-main:linear-gradient(135deg, #0f6f93 0%, #0a5d7d 100%);--gradient-card:linear-gradient(135deg, #ca158a0a 0%, #fff6 100%);--shadow-color:#1412391f;--scroll-thumb:#14123933;--scroll-thumb-hover:#14123959;--header-text-gradient-from:#1a1830;--blur-radius:16px}:root[data-theme=dark]{--bg-dark:#141239;--bg-darker:#0d0c26;--bg-primary:#0a0a0f;--panel-bg:#14123966;--panel-border:#ca158a26;--surface-card:#ffffff08;--surface-raised:#ffffff14;--surface-inset:#0000004d;--surface-overlay:#0009;--text-primary:#fff;--text-secondary:#a9a5c8;--text-on-accent:#fff;--text-strong:#fff;--border-subtle:#ffffff1a;--border-faint:#ffffff0f;--border-input:#ffffff1a;--accent-teal:#1183af;--accent-magenta:#ca158a;--accent-coral:#e63946;--accent-lavender:#7562ab;--accent-color:#1183af;--accent-canva:#00c4cc;--status-blue:#60a5fa;--status-yellow:#facc15;--status-orange:#fb923c;--status-green:#4ade80;--status-red:#f87171;--status-purple:#c084fc;--status-teal:#2dd4bf;--status-pink:#f472b6;--status-blue-bg:#3b82f626;--status-yellow-bg:#eab30826;--status-orange-bg:#f9731626;--status-green-bg:#22c55e26;--status-red-bg:#ef444426;--status-purple-bg:#a855f726;--status-teal-bg:#2dd4bf26;--status-pink-bg:#ca158a26;--status-blue-border:#3b82f64d;--status-yellow-border:#eab3084d;--status-green-border:#22c55e4d;--status-red-border:#ef44444d;--status-purple-border:#a855f733;--status-teal-border:#2dd4bf4d;--status-pink-border:#ca158a4d;--accent-teal-tint:#1183af1a;--accent-magenta-tint:#ca158a26;--accent-lavender-tint:#7562ab1a;--accent-lavender-border:#7562ab40;--gradient-main:linear-gradient(135deg, #211a3b 0%, #0080a9 100%);--gradient-card:linear-gradient(135deg, #ca158a0d 0%, #1412391a 100%);--shadow-color:#00000040;--scroll-thumb:#ffffff26;--scroll-thumb-hover:#ffffff47;--header-text-gradient-from:#fff;--blur-radius:16px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-primary);background-image:radial-gradient(circle at 10% 20%, var(--accent-teal-tint), transparent 40%), radial-gradient(circle at 90% 80%, var(--accent-magenta-tint), transparent 40%);min-height:100vh;margin:0;font-family:Roboto,sans-serif}h1,h2,h3,h4,h5,h6{letter-spacing:.02em;font-family:Kanit,sans-serif;font-weight:500}.layout-container{height:100dvh;display:flex}.sidebar{background:var(--panel-bg);width:260px;-webkit-backdrop-filter:blur(var(--blur-radius));backdrop-filter:blur(var(--blur-radius));border-right:1px solid var(--panel-border);box-shadow:2px 0 24px var(--shadow-color);flex-direction:column;flex-shrink:0;gap:2.5rem;padding:2.5rem 1.5rem;display:flex;overflow-y:auto}.sidebar .brand{justify-content:center;align-items:center;display:flex}.sidebar .brand img{max-width:140px;height:auto}.nav-link{color:var(--text-secondary);border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:.85rem 1.2rem;font-family:Kanit,sans-serif;font-size:1.05rem;text-decoration:none;transition:all .3s;display:flex}.nav-link:hover,.nav-link.active{color:var(--text-strong);background:var(--accent-magenta-tint);border-color:#ca158a4d;box-shadow:0 4px 15px #ca158a26}.main-content{flex:1;min-width:0;min-height:0;padding:clamp(1rem,2.5vw,3rem) clamp(1rem,3.5vw,4rem);overflow-y:auto}.page-header{margin-bottom:3.5rem}.page-header h1{background:-webkit-linear-gradient(0deg, var(--header-text-gradient-from), var(--accent-magenta));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2.8rem;font-weight:600}.page-header p{color:var(--text-secondary);font-size:1.1rem;font-weight:300}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(var(--blur-radius));backdrop-filter:blur(var(--blur-radius));border:1px solid var(--panel-border);box-shadow:0 12px 40px var(--shadow-color);border-radius:24px;padding:2.5rem;position:relative;overflow:hidden}.grid-3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.card{background:var(--gradient-card);border:1px solid var(--panel-border);cursor:pointer;border-radius:16px;flex-direction:column;gap:1.2rem;padding:1.8rem;transition:all .3s;display:flex}.card:hover{border-color:var(--accent-teal);box-shadow:0 8px 30px var(--accent-teal-tint);transform:translateY(-4px)}.card-title{font-family:Kanit,sans-serif;font-size:1.2rem;font-weight:500}.badge{text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:.35rem .85rem;font-family:Kanit,sans-serif;font-size:.75rem;font-weight:600;display:inline-block}.badge.success{background:var(--status-teal-bg);color:var(--status-teal);border:1px solid var(--status-teal-border)}.badge.warning{background:var(--status-red-bg);color:var(--accent-coral);border:1px solid var(--status-red-border)}.form-group{flex-direction:column;gap:.6rem;margin-bottom:1.8rem;display:flex}.form-group label{color:var(--text-secondary);letter-spacing:.02em;font-family:Kanit,sans-serif;font-size:.95rem;font-weight:500}input,select,textarea{background:var(--surface-inset);border:1px solid var(--border-input);width:100%;color:var(--text-primary);border-radius:12px;padding:.85rem 1.2rem;font-family:inherit;font-size:1rem;transition:all .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent-magenta);outline:none;box-shadow:0 0 0 3px #ca158a26}button{background:var(--gradient-main);color:var(--text-on-accent);letter-spacing:.03em;cursor:pointer;border:1px solid #ffffff1a;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.8rem;font-family:Kanit,sans-serif;font-size:1.1rem;font-weight:500;transition:all .3s;display:inline-flex}button:hover{box-shadow:0 8px 25px var(--accent-teal-tint);border-color:#fff3;transform:translateY(-2px)}button.secondary{color:var(--text-secondary);border:1px solid var(--panel-border);background:0 0}button.secondary:hover{background:var(--surface-inset);color:var(--text-strong);box-shadow:none}.table-container{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border-faint);padding:1.2rem 1rem}th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-family:Kanit,sans-serif;font-size:.9rem;font-weight:500}tr:hover td{background:var(--surface-inset)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.5s cubic-bezier(.16,1,.3,1) forwards fadeIn}.mm-scroll::-webkit-scrollbar{width:6px;height:6px}.mm-scroll::-webkit-scrollbar-track{background:0 0}.mm-scroll::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:999px}.mm-scroll::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}.mm-scroll{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}
