:root{--bg:#f5f7fb;--card:#fff;--ink:#172033;--muted:#667085;--line:#e6eaf0;--accent:#3157d5;--ok:#16794e;--warn:#a15c00;--bad:#b42318}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--accent);text-decoration:none}.top{height:64px;background:#101828;color:#fff;display:flex;align-items:center;padding:0 28px;gap:36px;position:sticky;top:0;z-index:20}.brand{font-weight:800;font-size:20px;color:#fff}.brand span{color:#98a2ff}.top nav{display:flex;gap:20px;flex-wrap:wrap}.top nav a{color:#d0d5dd;font-size:14px}.container{max-width:1280px;margin:28px auto;padding:0 20px}.login-wrap{max-width:440px;margin-top:10vh}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 1px 2px rgba(16,24,40,.04)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metric strong{font-size:28px;display:block;margin-top:8px}.muted{color:var(--muted)}h1{font-size:28px;margin:0 0 20px}h2{font-size:19px;margin:0 0 16px}.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap}.btn{display:inline-flex;border:0;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer;background:var(--accent);color:white;align-items:center;justify-content:center}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:var(--bad)}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #cfd5df;border-radius:8px;background:white;font:inherit}label{font-size:13px;font-weight:700;display:block;margin-bottom:5px}.field{margin-bottom:14px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.form-grid .wide{grid-column:span 2}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;color:#667085;background:#f9fafb;text-transform:uppercase}.badge{padding:4px 8px;border-radius:999px;background:#eef2ff;color:#3448a8;font-size:12px;font-weight:700}.badge.pending{background:#fff4e5;color:#8a4b08}.badge.reviewed,.badge.accounted,.badge.exported{background:#eaf8f1;color:#126b46}.alert{padding:12px 14px;border-radius:9px;margin-bottom:16px;background:#eaf2ff}.alert.error{background:#feeceb;color:#912018}.alert.success{background:#eaf8f1;color:#126b46}.drop{border:2px dashed #b9c3d3;border-radius:16px;padding:42px 20px;text-align:center;background:white}.drop input{max-width:460px}.tax-row{display:grid;grid-template-columns:2fr 1fr 2fr auto;gap:8px;margin-bottom:8px}.preview-text{white-space:pre-wrap;font:12px ui-monospace,monospace;max-height:320px;overflow:auto;background:#0f172a;color:#dbeafe;padding:14px;border-radius:10px}.actions{display:flex;gap:8px;flex-wrap:wrap}.small{font-size:12px}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.invoice-layout{display:grid;grid-template-columns:2fr 1fr;gap:18px}@media(max-width:900px){.grid,.grid.two,.form-grid,.invoice-layout{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.top{height:auto;padding:14px 18px;align-items:flex-start;flex-direction:column;gap:10px}.top nav{gap:12px}.container{margin-top:18px}.tax-row{grid-template-columns:1fr 1fr 1fr auto}}@media(max-width:560px){.tax-row{grid-template-columns:1fr 1fr}.tax-row .btn{grid-column:2}.metric strong{font-size:24px}}
.inline{display:inline}.filters{padding-bottom:14px}.danger-zone{border-color:#f1b4af}.new-supplier{margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:10px}.new-supplier summary{font-weight:700;cursor:pointer;margin-bottom:12px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.badge.rejected{background:#feeceb;color:#912018}.badge.exported{background:#eef2ff;color:#3448a8}@media(max-width:700px){.top nav{display:grid;grid-template-columns:repeat(3,auto)}.card{padding:16px}h1{font-size:24px}.table-wrap{font-size:13px}}

/* Carga de documentos v0.4 */
.upload-drop{position:relative;transition:border-color .15s,background .15s,transform .15s;cursor:pointer}
.upload-drop.drag-active{border-color:var(--accent);background:#f1f4ff;transform:translateY(-1px)}
.drop-icon{font-size:34px;line-height:1;margin-bottom:8px;color:var(--accent);font-weight:800}
.native-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.upload-actions{justify-content:center;margin-top:18px}
.selected-files{max-width:620px;margin:18px auto 0;text-align:left}
.selected-summary,.selected-item{display:flex;justify-content:space-between;gap:16px;padding:9px 11px;border-bottom:1px solid var(--line)}
.selected-summary{background:#f9fafb;border-radius:8px 8px 0 0}
.selected-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.selected-item small{color:var(--muted);white-space:nowrap}
.mobile-capture-card{display:none;margin-bottom:16px;align-items:center;gap:14px}
.mobile-capture-card h2{margin-bottom:4px}.mobile-capture-card p{margin:0}.capture-icon{font-size:34px}.camera-btn{margin-left:auto;white-space:nowrap}
.upload-separator{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted)}.upload-separator:before,.upload-separator:after{content:"";height:1px;background:var(--line);flex:1}.upload-separator span{font-size:13px}
.zip-upload{display:flex;align-items:center;justify-content:space-between;gap:20px}.zip-upload h2{margin-bottom:6px}.zip-upload p{margin:0}.zip-controls{display:flex;align-items:center;gap:10px;min-width:380px}.zip-controls input{min-width:0}
@media(max-width:700px){
 .mobile-capture-card{display:flex;flex-wrap:wrap}.mobile-capture-card>div:nth-child(2){flex:1;min-width:180px}.camera-btn{width:100%;margin-left:0;padding:14px;font-size:16px}
 .desktop-drop-text{display:none}.upload-drop{padding:26px 14px}.drop-icon{display:none}.choose-btn{width:100%}.upload-actions .btn{width:100%;padding:13px}
 .zip-upload{display:block}.zip-controls{min-width:0;display:block}.zip-controls input{margin:12px 0}.zip-controls .btn{width:100%}
}
.learning-hit{padding:8px 0;border-bottom:1px solid #e7eaf0}.learning-hit:last-child{border-bottom:0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
