:root{
  --navy:#0D1B2A;--blue:#1E3A8A;--cyan:#00B4D8;--green:#10B981;
  --bg:#f4f7fa;--line:#dce4eb;--muted:#687486;--white:#fff;
}
*{box-sizing:border-box}
body.conc-body{margin:0;background:var(--bg);color:var(--navy)}
.conc-main{padding:56px 0 90px}
.conc-hero{display:grid;grid-template-columns:1fr .55fr;gap:48px;align-items:center;margin-bottom:30px}
.conc-hero h1{font-size:clamp(3.2rem,6vw,5.5rem);line-height:.94;letter-spacing:-.055em;margin:10px 0 18px}
.conc-hero h1 span{color:var(--blue)}
.conc-hero p{color:var(--muted);font-size:1rem;max-width:760px}
.local-card{background:#eaf8f3;border:1px solid #bde8d7;border-radius:20px;padding:22px;color:#17634f}
.local-card strong{display:block;margin-bottom:5px}
.conc-card{background:#fff;border:1px solid var(--line);border-radius:23px;padding:24px;margin-top:16px}
.section-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.step{width:38px;height:38px;border-radius:11px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:850;flex:0 0 auto}
.section-title h2{margin:0;font-size:1.4rem}.section-title p{margin:4px 0 0;color:var(--muted);font-size:.82rem}
.file-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.file-box{border:1px dashed #bdc9d5;border-radius:18px;padding:24px;text-align:center;background:#fbfcfd}
.file-box.loaded{border-style:solid;border-color:#9ddbc7;background:#f7fdfa}
.file-box .side{font-size:.64rem;font-weight:850;letter-spacing:.12em;color:#718096}
.file-icon{margin:12px auto;width:48px;height:48px;border-radius:13px;background:#edf3ff;color:var(--blue);display:grid;place-items:center;font-size:1.2rem;font-weight:900}
.file-name{font-weight:850}.file-meta{font-size:.72rem;color:var(--muted);margin:5px 0 14px}
.file-btn{display:inline-flex;border:1px solid #ccd6df;border-radius:11px;padding:9px 13px;background:#fff;font-weight:800;cursor:pointer}
.file-btn input{display:none}
.sheet-wrap{display:block;text-align:left;max-width:390px;margin:15px auto 0}.sheet-wrap[hidden]{display:none}
.sheet-wrap span,.field label span{display:block;font-size:.68rem;font-weight:800;color:#5c6877;margin-bottom:5px}
.sheet-wrap select,.field select,.field input{width:100%;height:42px;border:1px solid #cbd5df;border-radius:10px;background:#fff;padding:0 10px;color:var(--navy);font:inherit}
.sample-row{margin-top:12px;background:#f5f7fa;border-radius:14px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.sample-row strong{display:block}.sample-row span{color:var(--muted);font-size:.75rem}
.sample-row button,.action-row button,.result-actions button{border:1px solid #cbd5df;border-radius:11px;background:#fff;padding:10px 14px;font-weight:800;cursor:pointer}
.config-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.field small{display:block;color:#8a94a0;font-size:.65rem;margin-top:4px}
.tolerance-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.options{display:flex;gap:16px;flex-wrap:wrap;margin-top:15px;padding:14px;border-radius:13px;background:#f7f9fb}
.options label{display:flex;gap:7px;align-items:center;font-size:.76rem;font-weight:750;color:#586575}
.action-row{display:flex;gap:9px;align-items:center;margin-top:18px}
.action-row .primary{background:var(--blue);border-color:var(--blue);color:#fff}
.action-row button:disabled{opacity:.45;cursor:not-allowed}
.error{margin-top:14px;padding:12px;border-radius:11px;background:#fff0f0;color:#9a2d2d}
.error[hidden]{display:none}
.summary{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin:16px 0}
.metric{padding:16px;background:#f7f9fb;border-radius:15px}.metric strong{display:block;font-size:1.5rem;color:var(--blue)}.metric span{font-size:.68rem;color:#6f7b8a}
.results-head{display:flex;justify-content:space-between;gap:18px;align-items:end}
.results-head h2{margin:0}.results-head p{margin:4px 0 0;color:var(--muted)}
.result-actions{display:flex;gap:8px;flex-wrap:wrap}
.filters{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}
.filter-btn{border:1px solid #ccd6df;border-radius:999px;padding:8px 11px;background:#fff;font-size:.69rem;font-weight:850;cursor:pointer}
.filter-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.search-row{display:flex;gap:12px;align-items:center;margin-bottom:12px}.search-row input{flex:1;height:42px;border:1px solid #ccd6df;border-radius:11px;padding:0 12px}.search-row span{font-size:.7rem;color:#7a8593}
.table-wrap{overflow:auto;border:1px solid #dce4eb;border-radius:15px}
.result-table{width:100%;min-width:1050px;border-collapse:collapse;font-size:.75rem}
.result-table th{background:#f3f5f7;text-align:left;padding:12px;color:#5d6979;font-size:.62rem;letter-spacing:.07em}
.result-table td{padding:11px 12px;border-top:1px solid #edf0f3;vertical-align:top}
.status{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:.62rem;font-weight:850}
.status-conciliado{background:#e8f8f1;color:#087a59}
.status-sugerido{background:#eaf3ff;color:#2752a0}
.status-diferencia_monto{background:#fff3d8;color:#8a6410}
.status-solo_a,.status-solo_b{background:#edf3ff;color:#2a4f9a}
.status-por_revisar{background:#ffecec;color:#9a2d2d}
.demo-limit{margin-top:10px;color:#7b8693;font-size:.69rem}
@media(max-width:950px){.conc-hero{grid-template-columns:1fr}.config-grid{grid-template-columns:1fr 1fr}.summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.file-grid,.tolerance-grid,.config-grid{grid-template-columns:1fr}.sample-row,.results-head,.search-row{align-items:stretch;flex-direction:column}.summary{grid-template-columns:1fr 1fr}}

.license-panel{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:23px;padding:24px;margin-bottom:16px}
.license-panel h2{margin:4px 0 7px;font-size:1.45rem}.license-panel p{color:var(--muted);margin:5px 0}
.license-side{display:grid;justify-items:end;gap:8px;min-width:230px}
.license-side strong{color:var(--navy);font-size:.82rem}
.license-side button{border:1px solid var(--blue);border-radius:11px;background:var(--blue);color:#fff;padding:10px 14px;font-weight:850;cursor:pointer}
.license-side button:disabled{opacity:.5;cursor:not-allowed}
.license-side .link-btn{border:0;background:transparent;color:#687486;padding:4px;font-size:.68rem}
.license-badge{border-radius:999px;padding:6px 9px;font-size:.64rem;font-weight:900;letter-spacing:.09em}
.license-badge.demo{background:#fff3d8;color:#8a6410}.license-badge.pro{background:#e8f8f1;color:#087a59}
.license-message{min-height:18px;font-size:.73rem}.license-message.good{color:#087a59}.license-message.warn{color:#87620b}.license-message.bad{color:#9a2d2d}
.demo-gate-note{margin:12px 0 0;padding:11px 13px;background:#fff5dc;color:#806014;border-radius:11px;font-size:.72rem;font-weight:750}
.demo-gate-note.pro{background:#e9f8f2;color:#087a59}
.file-btn input:disabled{cursor:not-allowed}
.result-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:720px){.license-panel{grid-template-columns:1fr}.license-side{justify-items:start;min-width:0}}


.smart-intake-panel{
  width:100%;display:grid;gap:8px;margin-top:12px;padding:12px;
  border:1px solid #cfe0eb;border-radius:12px;background:#f8fbfd;text-align:left;
}
.smart-intake-panel[hidden]{display:none}
.smart-intake-kicker{font-size:.62rem;font-weight:900;letter-spacing:.12em;color:#1E3A8A}
.smart-intake-panel strong{font-size:.75rem;color:#0D1B2A}
.smart-intake-panel select,.smart-intake-panel input{
  width:100%;min-height:36px;border:1px solid #cbd7e2;border-radius:9px;background:#fff;padding:7px 9px;font:inherit
}
.smart-intake-manual{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.smart-intake-manual label{font-size:.66rem;color:#667085;font-weight:750}
.smart-intake-manual button{min-height:36px;border:1px solid #cbd7e2;border-radius:9px;background:#fff;padding:7px 10px;font-weight:850;cursor:pointer}
@media(max-width:650px){.smart-intake-manual{grid-template-columns:1fr}}

.smart-mapping-panel{border:1px solid #cbd9e6;border-radius:16px;background:#f8fbfd;padding:16px;margin:14px 0 18px}
.smart-mapping-head{display:flex;justify-content:space-between;gap:14px;align-items:center}
.smart-mapping-head>div{display:grid;gap:4px}.smart-mapping-kicker{font-size:.67rem;font-weight:900;letter-spacing:.14em;color:#1E3A8A}
.smart-mapping-head button{border:1px solid #1E3A8A;background:#fff;color:#1E3A8A;border-radius:10px;padding:9px 12px;font-weight:850;cursor:pointer}
.mapping-proposal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.mapping-proposal-row{display:grid;grid-template-columns:100px 1fr auto;gap:8px;align-items:center;border:1px solid #e1e8ef;background:#fff;border-radius:10px;padding:9px 10px;font-size:.76rem}
.mapping-proposal-row b{color:#667085}.mapping-proposal-row strong{color:#0D1B2A;overflow-wrap:anywhere}.mapping-proposal-row span{color:#667085;font-size:.68rem}
.mapping-warning{margin:10px 0 0;background:#fff4dc;color:#805f12;padding:10px;border-radius:9px;font-size:.72rem;font-weight:700}
@media(max-width:760px){.smart-mapping-head{align-items:flex-start;flex-direction:column}.mapping-proposal{grid-template-columns:1fr}.mapping-proposal-row{grid-template-columns:90px 1fr}}
