:root{--primary-color: #7b1fa2;--primary-hover: #5b176f;--secondary-color: #f0b323;--success-color: #c2188b;--danger-color: #b4235a;--warning-color: #e2a51d;--bg-gradient: radial-gradient(circle at 12% 0%, rgba(255, 184, 224, .5), transparent 32rem), radial-gradient(circle at 95% 12%, rgba(213, 168, 241, .5), transparent 34rem), linear-gradient(135deg, rgba(255, 225, 243, .5) 0%, rgba(239, 220, 255, .5) 100%);--card-bg: #ffffff;--border-color: #ead8ef;--text-main: #2e1938;--text-muted: #75627e;--glass-bg: #fcf8fd;--glass-border: #ead8ef;--font-sans: "Kanit", "Noto Sans Thai", "Sarabun", system-ui, -apple-system, sans-serif;--font-title: "Kanit", "Noto Sans Thai", "Sarabun", sans-serif;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .15), 0 10px 10px -5px rgba(0, 0, 0, .04)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-gradient);color:var(--text-main);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased}.shell-wrapper,.main-area,.page-content,.page-container{background:linear-gradient(135deg,#ffe1f380,#efdcff80)!important}.page-container{background-color:transparent!important}.glass-panel,.filter-card,.table-card,.form-card,.file-card-form,.detail-card,.routing-card,.cards-grid,.form-card-settings{background:linear-gradient(135deg,#e0f7ff80,#d6e7ff80)!important;border-color:#92bee08c!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0f172a4d}::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b866}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);font-weight:600;letter-spacing:-.02em}.glass-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 14px 32px #671f7e1a}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:10px;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:none;font-family:var(--font-sans)}.btn-primary{background:linear-gradient(135deg,#7b1fa2,#c2188b);color:#fff;box-shadow:0 8px 18px #7b1fa238}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 20px #3b82f666}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#fffaf0;color:#7a4a00;border:1px solid rgba(240,179,35,.5)}.btn-secondary:hover{background:#fff1c7;border-color:var(--secondary-color)}.btn-danger{background:var(--danger-color);color:#fff}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,#a41479,#d62b9a);color:#fff}.btn-success:hover{background:#8d146c;transform:translateY(-1px)}.form-group{margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.form-label{font-size:.9rem;font-weight:500;color:#465247}.form-control{background:#fff;border:1px solid var(--border-color);border-radius:6px;padding:12px 16px;color:var(--text-main);font-size:.95rem;font-family:var(--font-sans);transition:all .2s ease}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #1a572d1f;background:#fff}button.btn-success,button.btn-primary,.btn-success,.btn-primary{background-image:linear-gradient(135deg,#7b1fa2,#c2188b);border-color:transparent}input:focus,select:focus,textarea:focus{border-color:#b52a9a!important;box-shadow:0 0 0 3px #c2188b24!important;outline:none}.status-badge,.tag,.nav-badge{font-family:var(--font-sans)}.table-container{overflow-x:auto;border-radius:8px;border:1px solid var(--border-color);background:#fff}.custom-table{width:100%;border-collapse:collapse;text-align:left;font-size:.95rem}.custom-table th{background:#f5f7f1;padding:14px 18px;font-weight:600;color:var(--text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.custom-table td{padding:14px 18px;border-bottom:1px solid #eef1ea;color:var(--text-main)}.custom-table tr:last-child td{border-bottom:none}.custom-table tr:hover td{background:#fbfcf8}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s cubic-bezier(.16,1,.3,1) forwards}
