:root{--bg: #f4f2ee;--surface: #ffffff;--text: #1f1d1a;--muted: #6b665e;--border: #ddd7cc;--primary: #8a4b16;--primary-hover: #6f3b10;--primary-text: #ffffff;--danger: #b3261e;--danger-bg: #fbe9e7;--ok: #1e6b3a;--ok-bg: #e5f4ea;--sidebar: #2b2118;--sidebar-text: #f1e6d8}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}h2{margin:0 0 16px;font-size:1.3rem}button,.btn{font:inherit;cursor:pointer;border:1px solid var(--primary);background:var(--primary);color:var(--primary-text);padding:7px 14px;border-radius:6px}button:hover{background:var(--primary-hover)}button:disabled{opacity:.55;cursor:default}button.secundario{background:transparent;color:var(--primary)}button.secundario:hover{background:#f3e7da}button.perigo{background:var(--danger);border-color:var(--danger)}button.pequeno{padding:3px 10px;font-size:.85rem}input,select,textarea{font:inherit;font-weight:400;padding:7px 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);width:100%}input:focus,select:focus{outline:2px solid var(--primary);outline-offset:-1px}label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:700;color:var(--muted)}.cartao{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}.linha{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.linha label{min-width:160px}.msg{padding:10px 14px;border-radius:6px;margin-bottom:14px}.msg.erro{background:var(--danger-bg);color:var(--danger)}.msg.ok{background:var(--ok-bg);color:var(--ok)}.tabela-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;background:var(--surface)}th,td{border-bottom:1px solid var(--border);padding:7px 10px;text-align:left;white-space:nowrap}th{background:#efe9df;font-weight:600;font-size:.85rem}td.num,th.num{text-align:right}tr.inativo td{color:var(--muted)}.detalhe{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px}.detalhe dt{color:var(--muted)}.detalhe dd{margin:0}
