:root{--bg: #f4f6f9;--surface: #ffffff;--border: #e2e6ec;--text: #1f2733;--muted: #6b7686;--primary: #2d5bff;--primary-dark: #1f43c4;--danger: #d8453a;--success: #1f9d55;--warning: #c9820a;--radius: 8px;--shadow: 0 1px 3px rgba(20, 30, 50, .08), 0 1px 2px rgba(20, 30, 50, .06)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{color:var(--primary);text-decoration:none}button{font-family:inherit;cursor:pointer}.btn{border:1px solid transparent;border-radius:var(--radius);padding:8px 16px;font-size:14px;font-weight:600;background:var(--primary);color:#fff;transition:background .15s ease}.btn:hover{background:var(--primary-dark)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover{background:#eef1f6}.btn-danger{background:var(--danger)}.btn-danger:hover{background:#b5362d}.btn-sm{padding:4px 10px;font-size:13px}.input,.select,textarea{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-family:inherit;background:#fff;color:var(--text)}.input:focus,.select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2d5bff1f}label{display:block;font-weight:600;margin-bottom:6px;color:var(--muted);font-size:13px}.field{margin-bottom:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}table{width:100%;border-collapse:collapse;background:var(--surface)}th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border)}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#fafbfc}tbody tr:hover{background:#f7f9fc}.badge{display:inline-block;padding:2px 9px;border-radius:99px;font-size:12px;font-weight:600}.badge-active{background:#e3f6ec;color:var(--success)}.badge-inactive{background:#fdeceb;color:var(--danger)}.error-text{color:var(--danger);font-size:13px;margin-top:6px}.muted{color:var(--muted)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-header h1{font-size:22px;margin:0}
