:root{--laranja: #f07a2f;--laranja-escuro: #d8641c;--amarelo: #f0cf5b;--tinta: #2e2e2e;--cinza: #707070;--cinza-claro: #d6d6d2;--offwhite: #f6f5ef;--branco: #ffffff;--erro: #b3261e}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--tinta);background:var(--offwhite);line-height:1.45}button{font-family:inherit}:focus-visible{outline:3px solid var(--laranja);outline-offset:2px}.marca,.topo-marca{font-weight:800;letter-spacing:-.02em;color:var(--laranja)}.tela-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.cartao-login{width:100%;max-width:380px;background:var(--branco);border-radius:16px;border-top:5px solid var(--laranja);box-shadow:0 10px 34px #00000014;padding:32px 28px}.cartao-login .marca{font-size:2rem}.subtitulo{margin:2px 0 22px;color:var(--cinza)}.campo{display:block;margin-bottom:16px}.campo span{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.campo input{width:100%;padding:11px 12px;border:1px solid var(--cinza-claro);border-radius:9px;font-size:1rem;background:var(--branco)}.campo input:focus{border-color:var(--laranja);outline:none}.btn-primario{width:100%;margin-top:6px;padding:12px 16px;border:0;border-radius:9px;background:var(--laranja);color:#fff;font-weight:700;font-size:1rem;cursor:pointer}.btn-primario:hover:not(:disabled){background:var(--laranja-escuro)}.btn-primario:disabled{opacity:.6;cursor:default}.aviso-erro{background:#fdeceb;color:var(--erro);border:1px solid #f3c6c2;border-radius:9px;padding:10px 12px;font-size:.9rem;margin-bottom:14px}.topo{display:flex;align-items:center;gap:14px;background:var(--laranja);padding:14px 20px;color:#fff}.topo-marca{color:#fff;font-size:1.3rem}.topo-estab{flex:1;font-weight:600;display:flex;align-items:center;gap:10px;min-width:0}.papel{font-size:.72rem;font-weight:700;background:#ffffff38;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.btn-sair{background:#ffffff29;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:8px;padding:7px 14px;font-weight:600;cursor:pointer}.btn-sair:hover{background:#ffffff47}.conteudo{max-width:720px;margin:0 auto;padding:24px 20px 60px}.titulo-secao{display:flex;align-items:baseline;gap:12px;margin:8px 0 4px}.titulo-secao h1{font-size:1.5rem;margin:0}.apenas-leitura{font-size:.75rem;color:var(--cinza);border:1px solid var(--cinza-claro);border-radius:999px;padding:3px 10px}.estado{color:var(--cinza);padding:28px 0}.vazio{background:var(--branco);border:1px dashed var(--cinza-claro);border-radius:12px;padding:28px;color:var(--cinza);text-align:center;margin-top:16px}.categoria{margin-top:26px}.categoria h2{font-size:1.1rem;margin:0 0 6px;padding-bottom:6px;border-bottom:2px solid var(--amarelo);display:flex;align-items:center;gap:10px}.badge-inativo{font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--cinza);background:var(--offwhite);border:1px solid var(--cinza-claro);padding:2px 8px;border-radius:999px}.cat-vazia{color:var(--cinza);font-size:.9rem;margin:6px 0}.itens{list-style:none;margin:0;padding:0}.item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--cinza-claro)}.item:last-child{border-bottom:0}.item-info{display:flex;flex-direction:column;min-width:0}.item-nome{font-weight:600}.item-desc{color:var(--cinza);font-size:.88rem}.item-direita{display:flex;align-items:center;gap:10px;white-space:nowrap}.item-preco{color:var(--laranja);font-weight:700}.badge-indisp{font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--erro);background:#fdeceb;border:1px solid #f3c6c2;padding:2px 8px;border-radius:999px}.btn-mini{width:auto;padding:8px 14px;font-size:.9rem;margin:0}.btn-secundario{padding:10px 16px;border-radius:9px;cursor:pointer;font-weight:600;background:var(--branco);color:var(--tinta);border:1px solid var(--cinza-claro)}.btn-secundario:hover{background:var(--offwhite)}.btn-perigo{padding:10px 16px;border:0;border-radius:9px;cursor:pointer;font-weight:700;background:var(--erro);color:#fff}.btn-perigo:hover{filter:brightness(.94)}.btn-link{background:none;border:0;cursor:pointer;font-weight:600;font-size:.86rem;color:var(--laranja-escuro);padding:4px 6px;border-radius:6px}.btn-link:hover{background:#f07a2f1a}.btn-link.perigo{color:var(--erro)}.btn-link.perigo:hover{background:#fdeceb}.cat-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:2px solid var(--amarelo);padding-bottom:6px;margin-bottom:8px}.cat-cab h2{border:0;margin:0;padding:0}.cat-acoes{display:flex;gap:2px;flex-shrink:0}.toggle{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;border-radius:999px;padding:3px 10px;cursor:pointer;border:1px solid transparent}.toggle.on{background:#e7f4ec;color:#1b7a44;border-color:#bfe3cd}.toggle.off{background:#fdeceb;color:var(--erro);border-color:#f3c6c2}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2e2e2e73;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal{background:var(--branco);border-radius:14px;width:100%;max-width:440px;max-height:90vh;overflow:auto;box-shadow:0 18px 50px #00000040}.modal-cab{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--cinza-claro)}.modal-cab h3{margin:0;font-size:1.1rem}.modal-x{background:none;border:0;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--cinza);padding:0 4px}.modal-corpo{padding:20px}.modal-acoes{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.modal-corpo .campo select,.modal-corpo .campo input{width:100%;padding:10px 12px;border:1px solid var(--cinza-claro);border-radius:9px;font-size:1rem;background:var(--branco)}.modal-corpo .campo select:focus,.modal-corpo .campo input:focus{border-color:var(--laranja);outline:none}.campo-linha{display:flex;gap:12px}.campo-linha .campo{flex:1}.campo-check{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:.92rem}.campo-check input{width:18px;height:18px;accent-color:var(--laranja)}.confirma-texto{margin:0 0 18px;line-height:1.5}
