:root{--navy: #0b2a5b;--navy-2: #123a78;--navy-3: #1a4a96;--ink: #071428;--paper: #f4f7fb;--card: rgba(255,255,255,.78);--line: rgba(11,42,91,.12);--muted: #5b6b86;--ok: #0f8a5f;--warn: #c47b12;--bad: #c0392b;--glow: 0 0 40px rgba(26,74,150,.25);--radius: 18px;--sidebar: 268px;--mono: "IBM Plex Mono", ui-monospace, monospace;--sans: "Manrope", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{font-family:var(--sans);background:var(--paper);color:var(--ink);letter-spacing:-.01em}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:radial-gradient(1200px 600px at -10% -20%,#1a4a96 0%,transparent 55%),radial-gradient(900px 500px at 110% 110%,#0b2a5b 0%,transparent 50%),linear-gradient(160deg,#071428,#0b2a5b 48%,#123a78);color:#fff}.login-hero{padding:64px 72px;display:flex;flex-direction:column;justify-content:space-between}.login-logo-plate{background:#fff;border-radius:16px;padding:18px 22px;width:fit-content;box-shadow:0 12px 40px #0000002e}.login-hero img,.login-logo-plate img{height:52px;width:auto;object-fit:contain;display:block;filter:none}.login-card-logo{height:42px;width:auto;object-fit:contain;display:block;margin-bottom:18px}.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.login-tabs button{border:1px solid var(--line);background:#f4f7fb;color:var(--navy);border-radius:10px;padding:10px;font-weight:700;cursor:pointer;font-size:13px}.login-tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.okmsg{background:#e7f7ef;color:#0f8a5f;padding:10px 12px;border-radius:10px;font-size:13px;margin-bottom:12px}.login-foot{font-family:var(--mono);font-size:12px;opacity:.55;letter-spacing:.04em}.login-kicker{font-family:var(--mono);font-size:12px;letter-spacing:.28em;text-transform:uppercase;opacity:.7;margin-bottom:16px}.login-hero h1{font-size:46px;line-height:1.05;font-weight:800;max-width:520px}.login-hero p{margin-top:18px;max-width:460px;opacity:.78;font-size:16px;line-height:1.5}.login-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.login-pills span{border:1px solid rgba(255,255,255,.2);background:#ffffff0f;padding:8px 12px;border-radius:999px;font-size:12px;letter-spacing:.04em}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px}.login-card{width:100%;max-width:420px;background:#fffffff5;color:var(--ink);border-radius:24px;padding:36px 32px;box-shadow:0 30px 80px #00000047}.login-card h2{font-size:24px;margin-bottom:6px}.login-card .hint{color:var(--muted);font-size:13px;margin-bottom:22px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;font-size:14px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy-3);box-shadow:0 0 0 4px #1a4a961f}.btn{border:0;cursor:pointer;border-radius:12px;padding:12px 16px;font-weight:700;font-size:14px;background:var(--navy);color:#fff;transition:transform .15s ease,box-shadow .15s ease,background .15s}.btn:hover{transform:translateY(-1px);box-shadow:var(--glow);background:var(--navy-2)}.btn.ghost{background:transparent;color:var(--navy);border:1px solid var(--line)}.btn.warn{background:#8a1f1f}.btn.ok{background:var(--ok)}.btn.full{width:100%}.err{background:#fdecea;color:#8a1f1f;padding:10px 12px;border-radius:10px;font-size:13px;margin-bottom:12px}.app{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#071428,#0b2a5b 70%,#123a78);color:#fff;padding:22px 16px;display:flex;flex-direction:column;gap:8px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:8px 10px 18px}.brand .logo-plate{background:#fff;border-radius:12px;padding:8px 10px;display:flex;align-items:center}.brand img{height:28px;width:auto;object-fit:contain;display:block;filter:none}.brand strong{display:block;font-size:15px;letter-spacing:.08em}.brand small{opacity:.65;font-size:11px;font-family:var(--mono)}.nav a,.nav button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;color:#d7e3f7;padding:10px 12px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer}.nav a.active,.nav a:hover{background:#ffffff1a;color:#fff}.nav .sep{margin:10px 8px;height:1px;background:#ffffff1f}.userbox{margin-top:auto;padding:12px;background:#ffffff14;border-radius:14px}.userbox b{display:block;font-size:13px}.userbox span{font-size:11px;opacity:.7}.main{padding:28px 32px 48px}.topbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px;gap:16px}.topbar h1{font-size:28px;letter-spacing:-.03em}.topbar p{color:var(--muted);font-size:13px;margin-top:4px}.grid{display:grid;gap:16px}.kpis{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 10px 30px #0b2a5b0d}.kpi .label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.kpi .value{font-size:28px;font-weight:800;margin-top:8px;color:var(--navy)}.kpi .sub{font-size:12px;color:var(--muted);margin-top:4px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 8px;border-bottom:1px solid var(--line)}.table td{padding:10px 8px;border-bottom:1px solid #eef2f7}.table tr:hover td{background:#f7faff}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em}.b-ok{background:#e7f7ef;color:#0f8a5f}.b-warn{background:#fff4e0;color:#c47b12}.b-bad{background:#fdecea;color:#c0392b}.b-info{background:#e8eefc;color:var(--navy)}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.search{flex:1;min-width:220px}.cols-2{grid-template-columns:1.2fr .8fr}.cols-3{grid-template-columns:1fr 1fr 1fr}.help{background:linear-gradient(180deg,#f4f8ff,#fff);border:1px dashed rgba(11,42,91,.25);border-radius:16px;padding:16px;font-size:13px;color:var(--muted);line-height:1.55}.help b{color:var(--navy)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#07142873;display:flex;align-items:center;justify-content:center;padding:24px;z-index:20}.modal{background:#fff;border-radius:20px;padding:24px;width:min(720px,100%);max-height:90vh;overflow:auto}.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px}.checks label{display:flex;gap:8px;align-items:center}.mono{font-family:var(--mono);font-size:12px}.split{display:grid;grid-template-columns:280px 1fr;gap:16px}.list-item{padding:12px;border-radius:12px;border:1px solid transparent;cursor:pointer}.list-item:hover,.list-item.on{background:#eef3fb;border-color:var(--line)}.total-box{background:var(--navy);color:#fff;border-radius:18px;padding:18px}.total-box .big{font-size:32px;font-weight:800}.nfe-box{background:linear-gradient(180deg,#eef3fb,#fff);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:16px}.chave-input{letter-spacing:.08em;font-size:15px!important}.nfe-resumo{background:#f7faff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:8px}@media(max-width:980px){.login-wrap,.app,.kpis,.cols-2,.cols-3,.split{grid-template-columns:1fr}.sidebar{height:auto;position:relative}}
