:root{
  --purple:#2E1065;--magenta:#D11D8A;--orange:#FF7A00;--amber:#FFC107;
  --bg:#FFF9F2;--surface:#fff;--surface-soft:#F3EFEA;--text:#24162E;--muted:#5C5563;--border:#DED4E4;
  --field:#fff;--field-border:#D8CCDF;--button:#FF7A00;--button-text:#160F1D;--button-hover:#E86E00;
  --error-bg:#FEE2E2;--error-text:#991B1B;--success-bg:#DCFCE7;--success-text:#166534;
  --warning-bg:#FFF2D0;--warning-border:#FFC107;--ok:#16A34A;--shadow:0 18px 45px rgba(46,16,101,.08);
  color-scheme:light;
}
html[data-theme=dark]{
  --bg:#160F1D;--surface:#24162E;--surface-soft:#31203D;--text:#fff;--muted:#DCCFE1;--border:#4A3552;
  --field:#1B1124;--field-border:#4A3552;--button:#FF7A00;--button-text:#160F1D;--button-hover:#FF8E26;
  --error-bg:#3B1518;--error-text:#FECACA;--success-bg:#12351F;--success-text:#BBF7D0;
  --warning-bg:#332513;--warning-border:#8A641F;--ok:#86EFAC;--shadow:none;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 82% -10%,rgba(209,29,138,.12),transparent 28%),radial-gradient(circle at 12% 0,rgba(255,122,0,.10),transparent 30%);z-index:-1}
h1,h2,h3{color:var(--text);line-height:1.12;margin:0 0 16px}h1{font-size:32px;font-weight:700;letter-spacing:0}h2{font-size:24px;font-weight:600}h3{font-size:18px;font-weight:600}
header{background:linear-gradient(135deg,var(--purple),#641064 54%,var(--orange));color:#fff;padding:14px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;box-shadow:0 12px 32px rgba(46,16,101,.20)}
.brand-mark{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;font-size:24px;letter-spacing:0;min-width:150px}.brand-mark img{width:42px;height:32px;object-fit:contain}
nav{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto;align-items:center}nav a{color:#F7EDF7;text-decoration:none;font-weight:600;font-size:14px;padding:8px 10px;border-radius:12px}nav a:hover{background:rgba(255,255,255,.12);color:#fff}
.env,.tenant-badge{font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#fff}
.theme-toggle{width:40px;height:40px;min-height:40px;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:rgba(255,255,255,.12);color:#fff;font-size:18px;line-height:1}.theme-toggle:hover{background:rgba(255,255,255,.20)}
.container{max-width:1180px;margin:32px auto;padding:0 24px}.narrow{max-width:660px}
.card,.metric,table{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}
.card{border-radius:16px;padding:24px;margin:20px 0}.metric{border-radius:16px;padding:22px;position:relative;overflow:hidden}.metric:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--purple),var(--magenta),var(--orange))}
.metric b{font-size:34px;display:block;color:var(--text)}.metric span{color:var(--muted);font-size:14px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.full{grid-column:1/-1}
label{font-weight:600;font-size:14px;display:grid;gap:8px;color:var(--text);align-content:start}
input,select,textarea{width:100%;min-height:56px;padding:12px 14px;border:1px solid var(--field-border);border-radius:12px;background:var(--field);color:var(--text);font:inherit;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--magenta);box-shadow:0 0 0 3px rgba(209,29,138,.14)}textarea{min-height:108px}
input[type=file]{display:flex;align-items:center;padding:8px 12px;color:var(--muted);font-weight:700}input[type=file]::file-selector-button{min-height:38px;margin-right:12px;padding:9px 16px;border:0;border-radius:10px;background:var(--button);color:var(--button-text);font:inherit;font-weight:800;cursor:pointer}input[type=file]::file-selector-button:hover{background:var(--button-hover)}input[type=file]::-webkit-file-upload-button{min-height:38px;margin-right:12px;padding:9px 16px;border:0;border-radius:10px;background:var(--button);color:var(--button-text);font:inherit;font-weight:800;cursor:pointer}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--field) inset;transition:background-color 9999s ease-out}
.field-status{min-height:18px;color:var(--muted);font-size:12px;font-weight:600}.field-status[data-state=loading]{color:var(--magenta)}.field-status[data-state=success]{color:var(--ok)}.field-status[data-state=error]{color:var(--error-text)}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--button);color:var(--button-text);border:0;border-radius:12px;padding:11px 18px;text-decoration:none;cursor:pointer;font-weight:700;min-height:42px}
button:hover,.button:hover{background:var(--button-hover)}.danger{background:#E84149;color:#fff}.danger:hover{background:#CF3038}
.alert{padding:13px 16px;border-radius:12px;margin:12px 0;border:1px solid transparent}.alert.error{background:var(--error-bg);color:var(--error-text)}.alert.success{background:var(--success-bg);color:var(--success-text)}
.muted{color:var(--muted)}.warning{background:var(--warning-bg);border:1px solid var(--warning-border);padding:14px;border-radius:12px;color:var(--text)}.ok{color:var(--ok);font-weight:700}
table{width:100%;border-collapse:separate;border-spacing:0;border-radius:16px;overflow:hidden;margin-top:16px}th,td{padding:15px 18px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}td{font-size:16px;line-height:1.35}th{background:var(--surface-soft);font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--purple)}html[data-theme=dark] th{color:var(--amber)}tr:last-child td{border-bottom:0}
.mono,pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;word-break:break-all;white-space:pre-wrap}.status{font-weight:700;font-size:12px}hr{grid-column:1/-1;width:100%;border:0;border-top:1px solid var(--border)}
.secret{border:2px solid var(--orange)}.big{font-size:16px;padding:12px;background:var(--surface-soft);border-radius:12px}.small{font-size:11px}.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}.check{display:flex;align-items:center;gap:8px;font-weight:500}.check input{width:auto}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions form{display:flex;gap:6px;align-items:center}.actions select{width:auto;padding:8px 10px}.icon-button{width:52px;height:52px;min-height:52px;padding:0;border-radius:14px;background:var(--surface-soft);border:1px solid var(--border);color:var(--text);font-size:22px;font-weight:800;line-height:1}.icon-button:hover{background:var(--orange);border-color:var(--orange);color:var(--button-text)}.success-icon{color:var(--ok)}.warning-icon{color:var(--amber)}.danger-icon{color:#E84149}.danger-icon:hover{background:#E84149;border-color:#E84149;color:#fff}
.fiscal-summary{display:flex;align-items:baseline;gap:12px 18px;flex-wrap:wrap;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.fiscal-company{font-size:18px;line-height:1.2;font-weight:800;color:var(--text);letter-spacing:0}.fiscal-meta{font-size:14px;line-height:1.35;color:var(--muted);font-weight:700}.fiscal-summary .mono{font-size:13px;letter-spacing:.02em}.fiscal-summary b{color:var(--text);font-weight:800}
.company-create-form{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:22px;align-items:start}.company-create-form label:has([data-cnpj-lookup]){position:relative;padding-bottom:20px}.company-create-form [data-cnpj-status]{position:absolute;left:0;right:0;bottom:0}.company-create-form hr{margin:8px 0 10px}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-start;margin-top:2px}.form-actions button{min-width:162px}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,520px) minmax(320px,460px);align-items:center;justify-content:center;gap:56px;padding:48px 24px;position:relative}.login-brand img{width:min(360px,84vw);height:auto;display:block;background:#FFF9F2;border:1px solid #DED4E4;border-radius:20px;padding:18px}.login-brand p{font-size:24px;line-height:1.24;color:var(--purple);font-weight:700;max-width:460px;margin:28px 0 0}html[data-theme=dark] .login-brand p{color:#fff}.login-card{margin:0}.login-card h1{font-size:32px}.login-theme-toggle{position:absolute;top:24px;right:24px;background:var(--surface);color:var(--text);border-color:var(--border)}
@media(max-width:900px){.login-shell{grid-template-columns:1fr;gap:28px}.login-brand{text-align:center}.login-brand img{margin:auto}.login-brand p{margin:20px auto 0}.container{padding:0 18px}}
@media(max-width:760px){header{padding:12px 16px}.brand-mark{min-width:auto}.brand-mark span{font-size:20px}nav{margin-left:0;width:100%}.grid.two,.metrics{grid-template-columns:1fr}.full{grid-column:auto}.scope-grid{grid-template-columns:1fr}table{display:block;overflow-x:auto;white-space:nowrap}h1{font-size:28px}}
