:root{--bg:#f6f7f9;--card:#fff;--text:#15171a;--muted:#6d727a;--border:#e4e7eb;--accent:#175cd3;--accent-dark:#0f4aa8;--danger:#b42318;--success:#067647;--warn:#b54708;--shadow:0 8px 25px rgba(20,24,31,.07)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 32px));margin:0 auto}.topbar{background:#fff;border-bottom:1px solid var(--border)}.topbar-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-weight:800;font-size:20px}.tag{font-size:13px;color:var(--muted)}main{padding:38px 0 48px}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:stretch}.hero>div{padding:24px 0}.eyebrow{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--accent)}h1{font-size:clamp(32px,4vw,52px);line-height:1.04;margin:0 0 16px;letter-spacing:-.03em}h2{font-size:26px;margin:0}.lead{font-size:17px;line-height:1.65;color:var(--muted);max-width:720px;margin:0}.upload-card,.batch-card,.due-row{background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.upload-card{padding:24px;display:flex;flex-direction:column;gap:14px;justify-content:center}.upload-label{font-weight:700}.upload-card input[type=file]{border:1px dashed #bdc5cf;border-radius:12px;padding:16px;background:#fafafa}.upload-card small{color:var(--muted);line-height:1.4}.btn{border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:42px}.btn:hover{background:#f8f9fa}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:var(--accent-dark)}.btn.ghost{background:transparent}.btn.danger{color:var(--danger)}.section-head{display:flex;justify-content:space-between;align-items:end;margin:48px 0 18px}.batch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.batch-card{padding:20px}.batch-top{display:flex;justify-content:space-between;gap:16px}.batch-top strong{display:block;overflow-wrap:anywhere}.batch-top span:not(.pill){display:block;color:var(--muted);font-size:13px;margin-top:4px}.pill{background:#eef4ff;color:#3538cd;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800;white-space:nowrap}.mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.mini-stats span{font-size:11px;color:var(--muted)}.mini-stats b{display:block;font-size:18px;color:var(--text);margin-bottom:2px}.actions,.header-actions{display:flex;gap:8px;flex-wrap:wrap}.empty{padding:28px;border:1px dashed #c8cdd3;border-radius:14px;color:var(--muted);text-align:center}.flash-wrap{margin-bottom:18px}.flash{padding:12px 14px;border-radius:10px;margin-bottom:8px;background:#fff;border:1px solid var(--border)}.flash.success{border-color:#a6f4c5;color:#05603a}.flash.error{border-color:#fecdca;color:#b42318}.flash.warning{border-color:#fedf89;color:#93370d}.batch-header{display:flex;justify-content:space-between;gap:24px;align-items:end}.batch-header h1{font-size:36px;overflow-wrap:anywhere}.back{display:inline-block;margin-bottom:20px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:28px 0 16px}.stats div{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px}.stats span{display:block;color:var(--muted);font-size:12px}.stats b{font-size:28px}.notice{padding:14px 16px;background:#fffaeb;border:1px solid #fedf89;border-radius:12px;color:#7a2e0e;line-height:1.5}.filters{display:flex;gap:12px;align-items:end;margin:18px 0}.filters label{font-size:12px;font-weight:700}.filters select,.status-form select,.status-form input{display:block;margin-top:6px;border:1px solid var(--border);border-radius:9px;background:#fff;padding:10px 12px;font-size:14px;min-height:42px}.due-list{display:flex;flex-direction:column;gap:10px}.due-row{padding:14px;display:grid;grid-template-columns:1.2fr auto auto 2fr;gap:12px;align-items:center}.due-number-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.due-number{font-size:17px;letter-spacing:.02em}.valid,.invalid{font-size:11px;font-weight:800;padding:4px 7px;border-radius:999px}.valid{background:#ecfdf3;color:#067647}.invalid{background:#fef3f2;color:#b42318}.meta{font-size:12px;color:var(--muted);margin-top:5px}.status-badge{font-size:11px;font-weight:900;border-radius:999px;padding:7px 9px;white-space:nowrap}.status-badge.averbada{background:#ecfdf3;color:#067647}.status-badge.desembaracada{background:#eff8ff;color:#175cd3}.status-badge.pendente{background:#fffaeb;color:#b54708}.status-badge.erro{background:#fef3f2;color:#b42318}.status-form{display:grid;grid-template-columns:150px minmax(160px,1fr) auto;gap:8px;align-items:center}.status-form select,.status-form input{margin:0}.footer{padding:24px 0 38px;color:var(--muted);font-size:12px}@media(max-width:900px){.hero{grid-template-columns:1fr}.batch-grid{grid-template-columns:1fr}.batch-header{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:repeat(2,1fr)}.due-row{grid-template-columns:1fr auto}.status-form{grid-column:1/-1}.copy-btn{justify-self:end}}@media(max-width:600px){.container{width:min(100% - 22px,1180px)}main{padding-top:24px}.topbar-inner{min-height:58px}.tag{display:none}.hero>div{padding:0}.upload-card{padding:18px}.mini-stats{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.stats div:first-child{grid-column:1/-1}.filters{align-items:stretch;flex-direction:column}.filters select{width:100%}.due-row{grid-template-columns:1fr}.status-badge,.copy-btn{justify-self:start}.status-form{grid-template-columns:1fr}.status-form select,.status-form input,.status-form .btn{width:100%}.header-actions{width:100%}.header-actions .btn{flex:1}}
.assisted-stats{grid-template-columns:repeat(3,1fr);max-width:720px}.assist-card{margin:22px auto 0;max-width:760px;background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:32px;text-align:center}.assist-label{display:block;font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--muted);margin-bottom:10px}.assist-due{display:block;font-size:clamp(28px,6vw,46px);letter-spacing:.035em;overflow-wrap:anywhere}.assist-help{color:var(--muted);margin:10px 0 18px}.assist-open{width:100%;min-height:52px;font-size:16px}.assist-notice{text-align:left;margin-top:18px}.result-title{font-weight:800;margin:26px 0 12px}.result-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.result-btn{min-height:54px;border-radius:12px;border:1px solid var(--border);background:#fff;font-weight:800;cursor:pointer;padding:10px}.result-btn.success{background:#ecfdf3;color:#067647;border-color:#abefc6}.result-btn.info{background:#eff8ff;color:#175cd3;border-color:#b2ddff}.result-btn.danger{background:#fef3f2;color:#b42318;border-color:#fecdca}.complete{padding:48px 28px}.complete-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#ecfdf3;color:#067647;font-size:32px;font-weight:900}.complete .lead{margin:10px auto}.complete-actions{justify-content:center;margin-top:22px}@media(max-width:650px){.assisted-stats{grid-template-columns:repeat(3,1fr)}.assist-card{padding:20px 14px}.result-actions{grid-template-columns:1fr}.assist-due{font-size:28px}}


/* V9.1 - NR.CSV / Transportadora */
.due-extra {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 6px;
  font-size: 12px;
  color: var(--muted, #64748b);
}
.due-extra span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.status-form-v91 {
  flex: 1 1 520px;
}
.status-form-v91 input[name="nr_csv"] {
  width: 130px;
}
.status-form-v91 input[name="transportadora"] {
  min-width: 210px;
  flex: 1 1 250px;
}
@media (max-width: 760px) {
  .status-form-v91 {
    width: 100%;
  }
  .status-form-v91 input[name="nr_csv"],
  .status-form-v91 input[name="transportadora"],
  .status-form-v91 input[name="observation"],
  .status-form-v91 select,
  .status-form-v91 button {
    width: 100%;
    min-width: 0;
  }
}


/* V10 - comparação de PDFs */
.compare-upload {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 14px;
  align-items: end;
}
.compare-file {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.compare-file label {
  font-weight: 700;
}
.compare-file input {
  border: 1px solid #dbe3ee;
  border-radius: 10px;
  padding: 11px;
  background: #fff;
}
.compare-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(100px, 1fr));
  gap: 10px;
  margin: 16px 0;
}
.compare-summary .stat {
  background: #fff;
  border: 1px solid #e4eaf2;
  border-radius: 14px;
  padding: 14px;
}
.compare-summary .stat span {
  display: block;
  font-size: 12px;
  color: #64748b;
}
.compare-summary .stat strong {
  display: block;
  font-size: 24px;
  margin-top: 4px;
}
.compare-filter {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.compare-filter-btn.active {
  outline: 2px solid #2563eb;
}
.compare-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.compare-table th,
.compare-table td {
  padding: 10px;
  border-bottom: 1px solid #e7edf4;
  text-align: left;
  vertical-align: top;
}
.compare-badge {
  display: inline-block;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}
.compare-badge.ok {
  background: #dcfce7;
  color: #166534;
}
.compare-badge.divergent,
.compare-badge.missing {
  background: #fee2e2;
  color: #991b1b;
}
.diff-cell {
  background: #fff7ed;
  font-weight: 700;
}
@media (max-width: 900px) {
  .compare-upload {
    grid-template-columns: 1fr;
  }
  .compare-summary {
    grid-template-columns: repeat(2, 1fr);
  }
  .table-wrap {
    overflow-x: auto;
  }
  .compare-table {
    min-width: 1050px;
  }
}

:root{--bg:#f3f6fb;--panel:#fff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--primary:#2563eb;--danger:#dc2626;--shadow:0 10px 30px rgba(15,23,42,.07);--radius:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.container{width:min(1180px,calc(100% - 32px));margin:0 auto}.main-content{padding-top:24px;padding-bottom:48px}
.app-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.app-header-inner{min-height:72px;display:flex;align-items:center;gap:28px}.brand-v11{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);min-width:max-content}.brand-v11 span:last-child{display:flex;flex-direction:column}.brand-v11 small{font-size:10px;color:var(--muted)}.brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#2563eb,#0f3fae);color:#fff;font-weight:900;font-size:19px}.brand-mark.large{width:46px;height:46px;font-size:24px}.app-nav{display:flex;gap:4px;flex:1}.app-nav a{text-decoration:none;color:#475569;font-weight:650;font-size:14px;padding:10px 12px;border-radius:9px}.app-nav a:hover,.app-nav a.active{background:#eff6ff;color:#1d4ed8}.user-chip{display:flex;align-items:center;gap:9px}.user-chip>div:nth-child(2){display:flex;flex-direction:column;font-size:12px}.user-chip small{color:var(--muted)}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#dbeafe;color:#1d4ed8;font-weight:800}.icon-btn{border:0;background:transparent;font-size:20px;cursor:pointer}.mobile-menu-btn{display:none;border:1px solid var(--line);background:white;border-radius:9px;padding:8px 11px;font-size:18px}
.card,.assist-card,.batch-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:22px}.page-heading{margin-bottom:20px}.page-heading h1{font-size:30px;margin:2px 0 4px}.page-heading p{margin:0;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.11em;font-weight:800;color:#2563eb}.stack-form{display:flex;flex-direction:column;gap:13px}.stack-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}.check-row{flex-direction:row!important;align-items:center!important;font-weight:500!important}.check-row input{width:auto}.btn.xl{padding:13px 16px;width:100%}
.auth-page{background:#08111f}.auth-main{min-height:100vh;display:grid;place-items:center;padding:28px}.login-shell{width:min(1040px,100%);display:grid;grid-template-columns:1.15fr .85fr;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.28);min-height:610px}.login-hero{background:radial-gradient(circle at 10% 10%,rgba(59,130,246,.32),transparent 32%),linear-gradient(145deg,#0f172a,#102b63);color:white;padding:58px;display:flex;flex-direction:column;justify-content:center}.login-brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:18px;margin-bottom:48px}.login-hero h1{font-size:44px;line-height:1.05;margin:0 0 18px}.login-hero>p{color:#cbd5e1;line-height:1.65}.login-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}.login-feature-grid div{padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(255,255,255,.06);display:flex;flex-direction:column}.login-feature-grid span{font-size:11px;color:#cbd5e1}.login-card{padding:54px 44px;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:30px;margin:5px 0}.login-help{text-align:center;color:#94a3b8;font-size:12px;margin-top:18px}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.extension-card{grid-column:1/-1}.detail-list{display:grid;gap:12px}.detail-list div{display:flex;justify-content:space-between;gap:16px;padding-bottom:11px;border-bottom:1px solid var(--line)}.detail-list span{color:var(--muted)}.token-box{display:flex;gap:8px;align-items:center;margin-top:6px}.token-box code{flex:1;overflow:auto;background:#0f172a;color:#dbeafe;padding:11px;border-radius:9px;white-space:nowrap}.admin-layout{display:grid;grid-template-columns:330px 1fr;gap:18px}.user-list{display:grid;gap:10px}.user-row{display:grid;grid-template-columns:auto 1fr auto auto minmax(210px,auto);align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px}.user-info{display:flex;flex-direction:column}.user-info span,.user-info small{color:var(--muted);font-size:12px}.status-dot{font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px}.status-dot.on{background:#dcfce7;color:#166534}.status-dot.off{background:#fee2e2;color:#991b1b}.reset-form{display:flex;gap:6px}.reset-form input{width:130px}.footer-v11{text-align:center;color:#94a3b8;font-size:12px;padding:18px 0 30px}
.due-row{display:grid;grid-template-columns:minmax(220px,1.1fr) auto auto minmax(380px,2fr);gap:10px;align-items:center}.status-form-v91{display:grid!important;grid-template-columns:115px minmax(150px,1fr) 150px minmax(160px,1fr) auto;gap:7px}
@media(max-width:980px){.mobile-menu-btn{display:block;margin-left:auto}.app-nav{display:none;position:absolute;top:72px;left:16px;right:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:8px;border-radius:14px;flex-direction:column}.app-nav.open{display:flex}.user-chip>div:nth-child(2){display:none}.login-shell{grid-template-columns:1fr}.login-hero{display:none}.admin-layout,.settings-grid{grid-template-columns:1fr}.extension-card{grid-column:auto}.user-row{grid-template-columns:auto 1fr auto}.user-row form{grid-column:2/-1}.due-row{grid-template-columns:1fr auto}.status-form-v91{grid-column:1/-1;grid-template-columns:1fr 1fr}}
@media(max-width:620px){.container{width:min(100% - 20px,1180px)}.login-card{padding:30px 22px}.auth-main{padding:12px}.login-shell{border-radius:18px}.due-row{grid-template-columns:1fr}.status-form-v91{grid-template-columns:1fr!important}.status-form-v91>*{width:100%!important}.header-actions .btn,.header-actions form,.header-actions form button{width:100%}}

.extension-download-actions{margin:12px 0 16px;display:flex;gap:8px;flex-wrap:wrap}

/* V11.3 - login minimalista */
.login-hero-minimal{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:58px;
}
.login-brand-centered{
  margin:0;
  font-size:28px;
  gap:14px;
}
.login-brand-centered .brand-mark.large{
  width:54px;
  height:54px;
  font-size:28px;
}
