.btn{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:10px 20px;font-weight:700;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.btn-outline{border:1.5px solid var(--primary);background:#fff;color:var(--primary)}.btn-ghost{border:1px solid var(--border);background:#fff;color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn:disabled{cursor:not-allowed;opacity:.48}.field{display:grid;gap:6px}.field label,.label{font-weight:700}.field input,.field select,.field textarea,.control{width:100%;min-height:44px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:10px 12px;outline:none}.field input:focus,.field select:focus,.field textarea:focus,.control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgb(26 43 109 / 14%)}.field-error{color:var(--danger);font-size:13px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;background:var(--bg);color:var(--primary)}.badge.success{background:#e8f6f2;color:var(--success)}.badge.warning{background:#fff5da;color:var(--warning)}.badge.danger{background:#fff0ee;color:var(--danger)}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{padding:13px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.data-table th{background:var(--surface-soft);font-size:13px}.data-table tr:last-child td{border-bottom:0}.pagination{display:flex;justify-content:center;gap:8px;margin-top:28px}.pagination a,.pagination button{display:grid;min-width:44px;height:44px;place-items:center;border:1px solid var(--border);border-radius:50%;background:#fff;font-weight:700;cursor:pointer}.pagination .active{background:var(--primary);color:#fff}.modal{width:min(620px,calc(100% - 32px));border:0;border-radius:var(--radius-lg);padding:0;box-shadow:var(--shadow-lg)}.modal::backdrop{background:rgb(13 27 62 / 55%)}.modal-head,.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--border)}.modal-foot{border-top:1px solid var(--border);border-bottom:0;justify-content:flex-end}.modal-body{padding:22px}.icon-btn{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:transparent;cursor:pointer}.icon-btn:hover{background:var(--bg)}
