:root{--bg:#f3f6f8;--card:#fff;--ink:#17242c;--muted:#657580;--line:#dbe3e8;--accent:#176b57;--accent2:#0e4d3e;--danger:#b42318;--warn:#b54708;--shadow:0 12px 32px rgba(23,36,44,.08)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}
body{margin:0;min-height:100vh}a{color:inherit}.container{width:min(1440px,calc(100% - 32px));margin:26px auto 70px}
.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:24px;padding:10px 22px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:max-content}.brand-mark{display:grid;place-items:center;width:48px;height:42px;border-radius:12px;background:var(--accent);color:#fff;font-weight:900;letter-spacing:.04em}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:.75rem}
.site-header nav{display:flex;gap:4px;flex:1}.site-header nav a{padding:9px 11px;border-radius:9px;text-decoration:none;color:#41525d}.site-header nav a.active,.site-header nav a:hover{background:#e8f3ef;color:var(--accent2)}
.user-menu{display:flex;align-items:center;gap:10px}.site-footer{display:flex;justify-content:space-between;padding:20px 28px;border-top:1px solid var(--line);color:var(--muted);font-size:.86rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:20px;box-shadow:var(--shadow)}h1,h2,h3{margin-top:0}h1{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.035em}h2{font-size:1.25rem}.muted,p{color:var(--muted);line-height:1.55}
.hero,.page-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}.hero{padding:30px;border-radius:22px;background:linear-gradient(130deg,#133f35,#1d795f);color:#fff}.hero p{color:#d8eee7;max-width:760px}.hero-actions,.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:800;color:#58a88f}.hero .eyebrow{color:#a9dbc9}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid #bcc9cf;border-radius:10px;background:#fff;color:var(--ink);text-decoration:none;font-weight:750;cursor:pointer}.btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(23,36,44,.1)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{background:#fff0ef;border-color:#f2b8b5;color:var(--danger)}.btn.large{min-height:48px;padding:11px 18px}.btn.small{min-height:32px;padding:5px 9px;font-size:.82rem}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;margin:18px 0}.stat-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px}.stat-card strong{display:block;font-size:1.8rem}.stat-card span{color:var(--muted);font-size:.86rem}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.product-layout{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(450px,1.2fr);gap:16px;margin:16px 0}.section-title{display:flex;justify-content:space-between;gap:12px;align-items:start}.section-title p{margin:2px 0}.badge,.status,.chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf2f4;color:#42525c;font-size:.76rem;font-weight:800}.status.rever{background:#fff0c7;color:#7a4b00}.status.validado{background:#dff4e9;color:#176b57}.status.erro{background:#fee4e2;color:#912018}.status.por_extrair{background:#e8eef8;color:#365a8c}.status.em_curso{background:#e5efff;color:#175cd3}
.progress{height:12px;background:#e7ecef;border-radius:999px;overflow:hidden}.progress.large{height:17px}.progress span{display:block;height:100%;background:linear-gradient(90deg,#2a8c70,#67bea4);transition:width .25s}.progress-meta{display:flex;justify-content:space-between;margin:10px 0 16px;color:var(--muted)}
.operation-log{min-height:180px;max-height:420px;overflow:auto;background:#101a20;color:#d7e6dd;padding:13px;border-radius:12px;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.operation-log div{border-bottom:1px solid #26343b;padding:5px 0}.operation-log .error{color:#ffb4ab}.operation-log .ok{color:#8ce2bd}
.table-card{overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#5e6f79;background:#f7f9fa}
.filters,.form-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;align-items:end}.stack{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:700;font-size:.87rem}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #c4d0d6;border-radius:9px;background:#fff;color:var(--ink);font:inherit}textarea{resize:vertical}.span-2{grid-column:span 2}
.install-shell,.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#dff2ea,#f4f7f8 55%)}.install-card,.login-card{width:min(720px,100%)}.login-card{width:min(470px,100%)}.install-list{display:grid;gap:8px}.install-list div{display:grid;grid-template-columns:160px 1fr;padding:9px 0;border-bottom:1px solid var(--line)}.install-list dt{color:var(--muted)}.install-list dd{margin:0;font-weight:700}
.alert{padding:12px 14px;border-radius:11px;margin:12px 0}.alert.error{background:#fee4e2;color:#912018;border:1px solid #f5b7b1}.alert.success{background:#ddf5e8;color:#176b57;border:1px solid #a8dec8}.alert.warning{background:#fff2d6;color:#7a4b00;border:1px solid #f0cf88}
.steps{display:grid;gap:10px;padding-left:22px}.steps li{padding-left:6px}.steps strong,.steps span{display:block}.steps span{color:var(--muted)}
.data-list{display:grid;gap:0}.data-list div{display:grid;grid-template-columns:170px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.data-list dt{color:var(--muted)}.data-list dd{margin:0}.art-card{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.art-card div:first-child{display:grid}.art-card small{color:var(--muted)}.pdf-frame{width:100%;height:620px;border:1px solid var(--line);border-radius:12px;margin-top:15px}
.structured-list{display:grid;gap:7px;padding-left:26px}.structured-list li{padding:5px 0}.structured-list strong,.structured-list small{display:block}.structured-list small{color:var(--muted)}.text-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.text-blocks article{border:1px solid var(--line);border-radius:12px;overflow:hidden}.text-blocks header{display:flex;justify-content:space-between;padding:9px 11px;background:#f3f7f6}.text-blocks article>div{padding:12px;line-height:1.55}.field-row{display:grid;grid-template-columns:160px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.text-editor{display:grid;gap:12px}.text-editor-row{display:grid;grid-template-columns:130px 200px 1fr auto;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px}.text-editor-row .span-2{grid-column:3}.sticky-actions{position:sticky;bottom:10px;padding:12px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);display:flex;justify-content:end}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip.ok{background:#ddf5e8;color:#176b57}.chip.bad{background:#fee4e2;color:#912018}
@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(3,1fr)}.product-layout,.grid-2{grid-template-columns:1fr}.filters,.form-grid{grid-template-columns:repeat(2,1fr)}.site-header{flex-wrap:wrap}.site-header nav{order:3;width:100%;overflow:auto}.text-editor-row{grid-template-columns:1fr 1fr}.text-editor-row .span-2{grid-column:1/-1}}
@media(max-width:650px){.container{width:min(100% - 18px,1440px)}.hero,.page-heading{display:grid;align-items:start}.stats-grid{grid-template-columns:repeat(2,1fr)}.filters,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.text-blocks{grid-template-columns:1fr}.site-header{padding:9px}.user-menu span{display:none}.data-list div,.field-row{grid-template-columns:1fr}.pdf-frame{height:480px}.text-editor-row{grid-template-columns:1fr}.text-editor-row .span-2{grid-column:auto}}
