:root{--cereja:#e50145;--laranja:#f15a22;--amarelo:#efd600;--verde:#0c893e;--roxo:#6b4e9e;--fundo:#fff8f2;--cartao:#fff;--texto:#2b2b2b;--suave:#7a7a7a;--borda:#f0e4d8}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--fundo);color:var(--texto);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--cereja);text-decoration:none}.container{max-width:1080px;margin:0 auto;padding:24px 20px 64px}.topbar{background:var(--cereja)}.topbar-inner{display:flex;align-items:baseline;gap:12px;padding:16px 20px;max-width:1080px;margin:0 auto}.brand{color:#fff;font-weight:700;font-size:18px}.brand-sub{color:#ffe3ec;font-size:14px}.nav{gap:20px;padding-top:20px;padding-bottom:4px;font-weight:600}.cards,.nav{display:flex}.cards{gap:16px;flex-wrap:wrap;margin-bottom:28px}.card{background:var(--cartao);border:1px solid var(--borda);border-radius:12px;padding:16px 20px;min-width:160px}.card .num{font-size:28px;font-weight:700;color:var(--cereja)}.card .label{font-size:13px;color:var(--suave);margin-top:4px}.section-title{font-size:16px;font-weight:700;margin:24px 0 12px}table{width:100%;border-collapse:collapse;background:var(--cartao);border-radius:12px;overflow:hidden}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--borda);font-size:14px}th{background:#fff2e8;color:var(--suave);font-weight:600;font-size:12px;text-transform:uppercase}tr:last-child td{border-bottom:none}.btn-primary{background:var(--cereja);color:#fff;border:none;border-radius:999px;padding:10px 18px;font-weight:700;cursor:pointer}.btn-secondary{background:#fff;color:var(--cereja);border:1px solid var(--cereja);border-radius:999px;padding:8px 16px;font-weight:600;cursor:pointer}input,select,textarea{border:1px solid var(--borda);border-radius:8px;padding:8px 10px;font-size:14px;width:100%;font-family:inherit}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:16px}.form-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--suave)}.loading{padding:40px}.empty,.loading{text-align:center;color:var(--suave)}.empty{padding:24px}