: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}.container{max-width:1120px;margin:0 auto;padding:20px 20px 72px}.loading{padding:60px;text-align:center;color:var(--suave)}.login{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:var(--cartao);border:1px solid var(--borda);border-radius:16px;padding:40px;text-align:center;box-shadow:0 6px 24px rgba(0,0,0,.05)}.login-card h1{color:var(--cereja);margin-bottom:4px}.login-card p{color:var(--suave);margin-bottom:20px}.topo{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 0 16px;border-bottom:2px solid var(--borda)}.topo h1{color:var(--cereja);font-size:22px}.topo .sub{color:var(--suave);font-size:13px}.usuario{text-align:right;font-size:12px;color:var(--suave);display:flex;flex-direction:column;gap:4px;align-items:flex-end}.papel-tag{font-weight:700;font-size:11px;padding:2px 10px;border-radius:999px;text-transform:uppercase}.papel-tag.qualidade{background:#eaf6ee;color:var(--verde)}.papel-tag.compras{background:#eef0fb;color:var(--roxo)}.papel-tag.leitura{background:#f0f0f0;color:var(--suave)}.abas{display:flex;gap:6px;margin:18px 0;flex-wrap:wrap}.abas button{background:transparent;border:1px solid var(--borda);border-radius:999px;padding:8px 16px;font-weight:600;cursor:pointer;color:var(--texto);font-size:14px}.abas button.ativa{background:var(--cereja);color:#fff;border-color:var(--cereja)}.card{background:var(--cartao);border:1px solid var(--borda);border-radius:14px;padding:18px;margin-bottom:14px}.card h2{font-size:16px;margin-bottom:12px}.card h3{font-size:14px;margin:14px 0 8px;color:var(--suave);text-transform:uppercase;letter-spacing:.04em}.badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;display:inline-block}.badge.verde{background:#eaf6ee;color:var(--verde)}.badge.laranja{background:#fdeee7;color:var(--laranja)}.badge.cereja{background:#fde6ec;color:var(--cereja)}.badge.amarelo{background:#fbf6d6;color:#8a7500}.badge.cinza{background:#f0f0f0;color:var(--suave)}.badge.mini{font-size:10px;padding:2px 7px}input,select,textarea{font-family:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--borda);border-radius:8px;background:#fff;width:100%}label{font-size:12px;color:var(--suave);display:block;margin-bottom:4px}.btn-primary{background:var(--cereja);color:#fff;border:none;border-radius:999px;padding:9px 18px;font-weight:700;cursor:pointer;font-size:14px}.btn-sec{background:#fff;color:var(--texto);border:1px solid var(--borda);border-radius:999px;padding:7px 14px;font-weight:600;cursor:pointer;font-size:13px}.btn-sec:hover{border-color:var(--cereja);color:var(--cereja)}.btn-link{background:none;border:none;color:var(--cereja);cursor:pointer;font-size:12px;text-decoration:underline}.grid-2{grid-template-columns:1fr 1fr;grid-gap:10px}.grid-2,.grid-3{display:grid;gap:10px}.grid-3{grid-template-columns:1fr 1fr 1fr;grid-gap:10px}.linha{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tabela{width:100%;border-collapse:collapse}.tabela th{text-align:left;font-size:12px;color:var(--suave)}.tabela td,.tabela th{padding:8px;border-bottom:1px solid var(--borda)}.tabela td{font-size:14px;vertical-align:top}.vazio{color:var(--suave);font-size:13px;padding:10px 0}.busca{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.busca input{flex:1 1;min-width:200px}.busca select{width:auto}.layout-forn{display:grid;grid-template-columns:280px 1fr;grid-gap:16px;gap:16px;align-items:start}.lista-forn button{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--borda);border-radius:10px;padding:10px 12px;margin-bottom:6px;cursor:pointer;font-size:14px}.lista-forn button.sel{border-color:var(--cereja);background:#fff5f7}.mp-item{border:1px solid var(--borda);border-radius:10px;padding:10px;margin-bottom:8px}.sub-form{background:#fbf4ec;border-radius:10px;padding:12px}.mt,.sub-form{margin-top:10px}.aviso{background:#fbf6d6;border:1px solid #efd600;border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:14px}@media (max-width:760px){.grid-2,.grid-3,.layout-forn{grid-template-columns:1fr}}