:root{--primary: #007399;--primary-hover: #005B78;--primary-light: #F0F9FF;--primary-border: #BAE6FD;--header-bg: #006B8D;--header-hover: #005672;--header-text: #FFFFFF;--accent-orange: #F97316;--approve1-light-green: #10B981;--approve1-bg: #ECFDF5;--approve1-border: #A7F3D0;--approve1-text: #047857;--approve2-dark-green: #047857;--approve2-dark-green-hover: #065F46;--approve2-bg: #064E3B;--approve2-border: #047857;--approve2-text: #FFFFFF;--secondary: #64748B;--bg-main: #F8FAFC;--bg-card: #FFFFFF;--text-dark: #0F172A;--text-muted: #64748B;--border-color: #E2E8F0;--success: #10B981;--success-bg: #ECFDF5;--success-border: #A7F3D0;--warning: #F59E0B;--warning-bg: #FFFBEB;--warning-border: #FDE68A;--danger: #EF4444;--danger-bg: #FEF2F2;--danger-border: #FCA5A5;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .05), 0 1px 2px -1px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px -2px rgba(0, 115, 153, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 25px -5px rgba(0, 115, 153, .12), 0 8px 10px -6px rgba(0, 0, 0, .04);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--font-family: "Prompt", "Kanit", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-dark);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.smartlearn-header{background-color:var(--header-bg);color:var(--header-text);box-shadow:0 2px 8px #0000001f}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;font-family:var(--font-family);font-size:14px;font-weight:500;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#0088b3,#007399);color:#fff;box-shadow:0 4px 12px #00739940}.btn-primary:hover{background:linear-gradient(135deg,#007399,#005672);transform:translateY(-1px);box-shadow:0 6px 16px #00739959}.btn-approve1{background:linear-gradient(135deg,#34d399,#10b981);color:#fff;box-shadow:0 4px 12px #10b98133}.btn-approve1:hover{background:linear-gradient(135deg,#10b981,#059669);transform:translateY(-1px)}.btn-approve2{background:linear-gradient(135deg,#047857,#065f46);color:#fff;box-shadow:0 4px 12px #0478574d}.btn-approve2:hover{background:linear-gradient(135deg,#065f46,#064e3b);transform:translateY(-1px)}.btn-orange{background:linear-gradient(135deg,#fb923c,#f97316);color:#fff;box-shadow:0 4px 12px #f9731633}.btn-secondary{background-color:#fff;color:var(--text-dark);border-color:var(--border-color)}.btn-secondary:hover{background-color:#f8fafc;border-color:#cbd5e1}.btn-outline-primary{background-color:transparent;color:var(--primary);border-color:var(--primary-border)}.btn-outline-primary:hover{background-color:var(--primary-light);border-color:var(--primary)}.btn-sm{padding:6px 12px;font-size:13px;border-radius:var(--radius-sm)}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;border-radius:var(--radius-full)}.badge-approve1{background-color:#ecfdf5;color:#059669;border:1px solid #A7F3D0;font-weight:600}.badge-approve2{background-color:#065f46;color:#fff;border:1px solid #047857;font-weight:600}.badge-pending{background-color:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.badge-approved{background-color:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-role-1{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.badge-role-2{background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff}.card{background-color:var(--bg-card);border-radius:var(--radius-md);border:1px solid #E2E8F0;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:var(--shadow-md)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:var(--radius-lg);max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0000002e;animation:slideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-label{font-size:13px;font-weight:500;color:var(--text-dark)}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;font-family:var(--font-family);font-size:14px;border:1px solid var(--border-color);border-radius:var(--radius-md);outline:none;transition:border-color .2s ease,box-shadow .2s ease;background-color:#fff}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #00739926}.table-container{width:100%;overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:#fff}.custom-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.custom-table th{background-color:#f8fafc;color:#475569;font-weight:600;padding:14px 16px;border-bottom:1px solid var(--border-color);white-space:nowrap}.custom-table td{padding:14px 16px;border-bottom:1px solid #F1F5F9;vertical-align:middle}.custom-table tr:last-child td{border-bottom:none}.custom-table tr:hover td{background-color:#f0f9ff}
