:root{--ink: #1f2124;--ink-soft: #5b5f66;--ink-faint: #8a8e94;--primary: #235591;--primary-dark: #1c4677;--primary-wash: #e8eef5;--carbon: #21201f;--bg: #f4f5f5;--line: #e2e4e7;--surface: #ffffff;--good: #2f7d5c;--good-wash: #e6f2ec;--warn: #b8791f;--warn-wash: #f7ecdb;--bad: #b3402f;--bad-wash: #fbeae7}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:DM Sans,ui-sans-serif,system-ui,sans-serif;color:var(--ink);background:var(--bg)}.page{padding:28px 32px;max-width:1200px}.page-header{margin-bottom:20px}.page-header h1{font-size:22px;font-weight:800;margin:0 0 4px}.page-header p{margin:0;color:var(--ink-soft);font-size:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:20px}.card h2{font-size:15px;font-weight:800;margin:0 0 16px}.field{margin-bottom:14px}.field label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;color:var(--ink);background:#fff}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2355911f}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:9px;border:none;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;text-decoration:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-outline{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn-outline:hover{background:var(--primary-wash);border-color:var(--primary)}.btn-danger{background:var(--bad-wash);color:var(--bad)}.btn-danger:hover{background:var(--bad);color:#fff}.btn:disabled{opacity:.55;cursor:default}.btn-icon{width:34px;height:34px;padding:0;justify-content:center;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);cursor:pointer}.btn-icon:hover{background:var(--primary-wash);color:var(--primary);border-color:var(--primary)}table.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);font-weight:700;padding:8px 10px;border-bottom:1px solid var(--line)}.data-table td{padding:10px;border-bottom:1px solid #eef0f1;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.table-wrap{overflow-x:auto}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700}.pill.good{background:var(--good-wash);color:var(--good)}.pill.warn{background:var(--warn-wash);color:var(--warn)}.pill.bad{background:var(--bad-wash);color:var(--bad)}.pill.neutral{background:var(--primary-wash);color:var(--primary)}.mensagem{padding:10px 14px;border-radius:8px;font-size:13.5px;margin-bottom:14px}.mensagem.ok{background:var(--good-wash);color:var(--good)}.mensagem.erro{background:var(--bad-wash);color:var(--bad)}.empty-state{text-align:center;padding:40px 20px;color:var(--ink-faint);font-size:14px}.modal-overlay{position:fixed;inset:0;background:#1f212480;display:flex;align-items:center;justify-content:center;z-index:50}.modal-box{background:#fff;border-radius:14px;padding:26px;width:min(420px,92vw);max-height:88vh;overflow-y:auto}.modal-box h2{font-size:17px;font-weight:800;margin:0 0 18px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
