:root{--bg:#f6f7f9;--card:#fff;--text:#1a1d23;--muted:#6b7280;--border:#e4e7eb;--primary:#2563eb;--primary-dark:#1d4ed8;--ok:#10b981;--warn:#f59e0b;--danger:#ef4444}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Noto Sans Thai,Sarabun,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}.page{max-width:880px;margin:0 auto;padding:24px 16px 64px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}h1{font-size:1.5rem;margin:0 0 4px}h2{font-size:1.15rem;margin:0 0 12px}.muted{color:var(--muted);font-size:.9rem}.field{margin-bottom:14px}.field label{display:block;font-size:.9rem;margin-bottom:6px;color:var(--muted)}.field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:1rem}.btn,button{display:inline-block;background:var(--primary);color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:.95rem;cursor:pointer}.btn:hover,button:hover{background:var(--primary-dark)}button.secondary{background:#fff;color:var(--text);border:1px solid var(--border)}button:disabled{opacity:.6;cursor:not-allowed}.error{color:var(--danger)}.error,.ok{font-size:.9rem;margin-top:8px}.ok{color:var(--ok)}table{width:100%;border-collapse:collapse;font-size:.92rem}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600}.badge.pending{background:#f3f4f6;color:var(--muted)}.badge.submitted{background:#fef3c7;color:#92400e}.badge.approved{background:#d1fae5;color:#065f46}.badge.revise{background:#fee2e2;color:#991b1b}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}@media (max-width:640px){table,tbody,td,th,thead,tr{display:block}thead{display:none}tr{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:8px 10px;background:#fff}td{border:none;padding:4px 0}td:before{content:attr(data-label);display:block;font-size:.75rem;color:var(--muted)}}