: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}

/* v0.8.3 - estado visible durante el análisis con IA */
.ai-working-overlay{position:fixed;inset:0;background:rgba(15,23,42,.58);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(2px)}
.ai-working-card{width:min(480px,100%);background:#fff;border-radius:14px;padding:28px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.22)}
.ai-working-card h2{margin:14px 0 8px}.ai-working-card p{margin:8px 0}.ai-spinner{width:42px;height:42px;margin:0 auto;border:4px solid #e6eaf0;border-top-color:#3157d5;border-radius:50%;animation:ai-spin .8s linear infinite}
@keyframes ai-spin{to{transform:rotate(360deg)}}
#aiAnalyzeButton[aria-busy="true"]{opacity:.75;cursor:wait}

/* ==========================================================
   GastosEmpresa v0.9.3 · renovación visual del backoffice
   ========================================================== */
:root{
 --bg:#f3f6fb;
 --card:#ffffff;
 --ink:#182230;
 --muted:#667085;
 --line:#e4e9f1;
 --line-strong:#d6dde8;
 --accent:#3856d9;
 --accent-soft:#eef1ff;
 --top:#111827;
 --ok:#16794e;
 --warn:#a15c00;
 --bad:#b42318;
 --shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.04);
}
html{background:var(--bg)}
body{background:linear-gradient(180deg,#f8faff 0,#f3f6fb 180px);min-height:100vh;letter-spacing:-.01em}
.top{height:68px;background:rgba(17,24,39,.97);border-bottom:1px solid rgba(255,255,255,.07);box-shadow:0 4px 18px rgba(16,24,40,.12);padding:0 max(24px,calc((100vw - 1500px)/2));gap:32px;backdrop-filter:blur(12px)}
.brand{font-size:19px;letter-spacing:-.035em;white-space:nowrap;display:flex;align-items:center}.brand:before{content:"G";width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#6d7cff,#4054df);display:inline-flex;align-items:center;justify-content:center;margin-right:9px;font-size:15px;color:#fff;box-shadow:0 5px 14px rgba(64,84,223,.3)}
.brand span{color:#aab4ff}.top nav{gap:5px;align-items:center}.top nav a{color:#cfd5df;font-size:13px;font-weight:600;padding:8px 10px;border-radius:8px;transition:.15s ease}.top nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.container{max-width:1500px;margin:26px auto 48px;padding:0 24px}
.card{border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.card h2{letter-spacing:-.025em;color:#1c2737}.toolbar{margin-bottom:18px}.toolbar h1{margin-bottom:3px}h1{font-size:27px;letter-spacing:-.04em;color:#172033}h2{font-size:18px}
.btn{min-height:40px;border-radius:9px;padding:9px 14px;box-shadow:0 1px 2px rgba(16,24,40,.05);transition:transform .1s ease,box-shadow .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(16,24,40,.08)}.btn.secondary:hover{background:#f7f9fc;border-color:var(--line-strong)}.btn.compact{min-height:34px;padding:7px 11px;font-size:12px;white-space:nowrap}
input,select,textarea{border-color:var(--line-strong);border-radius:9px;background:#fff;min-height:42px;transition:border-color .15s,box-shadow .15s}textarea{min-height:100px}input:focus,select:focus,textarea:focus{outline:none;border-color:#8798f8;box-shadow:0 0 0 3px rgba(56,86,217,.11)}label{color:#344054;font-size:12px;margin-bottom:6px}
.form-grid{gap:12px 14px}.field{margin-bottom:10px}
.metric{position:relative;overflow:hidden}.metric:after{content:"";position:absolute;right:-24px;top:-30px;width:100px;height:100px;border-radius:50%;background:var(--accent-soft);opacity:.75}.metric strong{position:relative;z-index:1;font-size:27px;letter-spacing:-.04em}.metric .muted{font-size:13px;font-weight:600}
.table-wrap{border-color:var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(16,24,40,.02)}th{background:#f8fafc;color:#667085;font-size:11px;letter-spacing:.035em}td{background:#fff}tbody tr:hover td{background:#fafbff}
.alert{border:1px solid #dbe6ff;border-radius:10px}.alert.error{border-color:#f5c7c2}.alert.success{border-color:#bde6d3}
.badge{font-size:11px;padding:5px 9px}

/* Factura: ningún panel puede imponer el ancho por contenido OCR/JSON. */
.invoice-layout{grid-template-columns:minmax(520px,1.12fr) minmax(380px,.88fr);gap:20px;align-items:start}
.invoice-layout>*{min-width:0}.invoice-layout>form.card{position:sticky;top:88px}.invoice-layout .card{min-width:0;overflow:hidden}
.tax-row{grid-template-columns:minmax(0,2fr) minmax(70px,1fr) minmax(0,2fr) auto}.preview-text{display:block;width:100%;max-width:100%;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;tab-size:4;line-height:1.55;font-size:12px;background:#111827;color:#dbe7ff;border:1px solid #253047;box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)}

/* Texto OCR compacto + vista completa. */
.card-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.card-heading-row h2{margin-bottom:5px}.card-heading-row p{margin:0}.extracted-preview{position:relative;margin-top:14px;border-radius:11px;overflow:hidden}.preview-text-compact{height:154px;max-height:154px;overflow:hidden;padding:14px 16px}.preview-fade{position:absolute;left:0;right:0;bottom:0;height:58px;pointer-events:none;background:linear-gradient(transparent,#111827)}
.text-dialog{width:min(1100px,calc(100vw - 48px));max-width:none;padding:0;border:0;border-radius:16px;background:#fff;box-shadow:0 30px 80px rgba(16,24,40,.28)}.text-dialog::backdrop{background:rgba(15,23,42,.66);backdrop-filter:blur(4px)}.dialog-shell{padding:20px}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.dialog-header h2{margin:0 0 4px}.dialog-header p{margin:0}.dialog-close{border:1px solid var(--line);background:#fff;color:#344054;width:38px;height:38px;border-radius:9px;font-size:24px;line-height:1;cursor:pointer}.dialog-close:hover{background:#f8fafc}.preview-text-full{height:min(68vh,760px);max-height:none;overflow:auto;padding:18px;font-size:12px}

/* Diagnóstico y detalles secundarios más discretos. */
details{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}details summary{cursor:pointer;font-weight:700;color:#475467;font-size:13px}details[open] summary{margin-bottom:10px}.learning-hit{font-size:13px}

/* Zona de peligro: visualmente secundaria. */
.danger-zone{box-shadow:none;background:#fffafa}.danger-zone h2{color:#912018}

@media(max-width:1100px){.invoice-layout{grid-template-columns:1fr}.invoice-layout>form.card{position:static}.container{padding:0 18px}.top{padding:0 18px}}
@media(max-width:900px){.top{height:auto;padding:12px 18px;gap:8px}.top nav{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.top nav a{white-space:nowrap}.container{margin-top:18px}.invoice-layout{grid-template-columns:1fr}}
@media(max-width:700px){body{background:#f4f6fa}.container{padding:0 12px}.card{padding:16px;border-radius:12px}.top nav{display:flex;grid-template-columns:none}.brand:before{width:28px;height:28px}.card-heading-row{align-items:center}.card-heading-row .muted{display:none}.text-dialog{width:calc(100vw - 18px)}.dialog-shell{padding:12px}.preview-text-full{height:76vh}.preview-text-compact{height:118px;max-height:118px}.toolbar .actions{width:100%}.toolbar .actions .btn,.toolbar .actions form{flex:1}.toolbar .actions form .btn{width:100%}}

/* v0.9.4 · cola IA */
.badge.ai-pending{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.badge.ai-processing{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.badge.ai-processed{background:#ecfdf5;color:#047857;border-color:#a7f3d0}
.badge.ai-error{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.badge.ai-skipped{background:#f8fafc;color:#64748b;border-color:#e2e8f0}
.ai-queue-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.ai-queue-summary .queue-chip{padding:8px 11px;border:1px solid var(--border,#dbe3ee);border-radius:10px;background:var(--card,#fff);font-size:.9rem}
.metric-inline{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f9fafb}.metric-inline b{font-size:22px}.metric-inline span{font-size:12px;color:var(--muted)}.copy-command{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:8px 0 16px}.copy-command input{font-size:12px}.cron-help{margin-top:10px}.cron-help>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f9fafb}@media(max-width:700px){.copy-command{grid-template-columns:1fr}.copy-command .btn{width:100%}}

/* v0.9.6 · revisión de duplicados */
.duplicate-review-card{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:18px;border:1px solid rgba(245,158,11,.34);background:linear-gradient(135deg,rgba(245,158,11,.10),rgba(255,255,255,.02))}
.duplicate-review-card h2{margin:.45rem 0 .35rem}
.duplicate-review-card p{max-width:850px}
.duplicate-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.duplicate-compare>div{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface,rgba(255,255,255,.03));min-width:0}
.duplicate-compare b,.duplicate-compare span{overflow-wrap:anywhere}
.badge.duplicate{background:rgba(245,158,11,.16);color:#b96d00;border-color:rgba(245,158,11,.25)}
@media(max-width:900px){.duplicate-review-card{display:block}.duplicate-review-card>.actions{margin-top:14px}.duplicate-compare{grid-template-columns:1fr}.duplicate-review-card .inline{display:flex;flex-wrap:wrap;gap:8px}}

/* v0.9.7 - paginacion y ordenacion de facturas */
.sort-link{display:inline-flex;align-items:center;gap:4px;color:inherit;text-decoration:none;font-weight:700;white-space:nowrap}
.sort-link:hover{text-decoration:underline}
.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 2px 4px;flex-wrap:wrap}
.pagination{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid var(--border,#d9dee8);border-radius:8px;background:var(--card,#fff);color:inherit;text-decoration:none;font-weight:700}
.pagination a:hover{transform:translateY(-1px)}
.pagination a.active{background:#111827;color:#fff;border-color:#111827}
@media(max-width:700px){.pagination-bar{align-items:flex-start}.pagination{width:100%}.pagination a{min-width:34px;height:34px}}

/* v0.9.15 · acciones rápidas de revisión */
.invoice-save-actions{flex-wrap:wrap;align-items:center}
.review-btn{font-weight:700}
@media (max-width:720px){.invoice-save-actions .btn{flex:1 1 auto;text-align:center}.invoice-save-actions .review-btn{flex-basis:100%}}
.tenant-switch{margin-left:auto}.tenant-switch select{max-width:260px;background:#fff;color:#111827;border:0;border-radius:7px;padding:7px 30px 7px 10px}.tenant-name{margin-left:auto;font-size:12px;opacity:.78;white-space:nowrap}@media(max-width:900px){.tenant-switch,.tenant-name{width:100%;margin:8px 0 0}.tenant-switch select{width:100%;max-width:none}}

/* v1.0.1 · administración simplificada Empresas / Gestorías */
.admin-tabs{display:flex;gap:8px;margin:0 0 18px 0;border-bottom:1px solid var(--border,#dce3ef);padding-bottom:0}
.admin-tabs a{display:inline-flex;align-items:center;padding:11px 16px;text-decoration:none;font-weight:700;color:var(--muted,#64748b);border-bottom:3px solid transparent}
.admin-tabs a.active{color:var(--primary,#3154df);border-bottom-color:var(--primary,#3154df)}
.admin-create-form{margin-top:18px}.admin-create-form hr{border:0;border-top:1px solid var(--border,#dce3ef);margin:24px 0}
.card details>summary{cursor:pointer;list-style:none}.card details>summary::-webkit-details-marker{display:none}.card details>summary:before{content:'▸';display:inline-block;margin-right:8px;transition:transform .15s}.card details[open]>summary:before{transform:rotate(90deg)}
.inline-form{display:inline-flex;align-items:center;gap:6px;margin:0}.inline-form select{min-width:150px;padding:7px 9px}
.small-btn{padding:7px 10px;font-size:12px;white-space:nowrap}.compact-actions{margin:0;gap:6px;flex-wrap:nowrap}.link-client-form{display:flex;gap:10px;align-items:end;margin:14px 0 18px}.link-client-form select{min-width:300px}.tenant-switch{display:flex!important;align-items:center;gap:7px}.tenant-switch-label{font-size:11px;color:#aeb8cd;white-space:nowrap}
@media(max-width:900px){.admin-tabs{overflow-x:auto}.link-client-form{align-items:stretch;flex-direction:column}.link-client-form select{min-width:0;width:100%}.tenant-switch-label{display:none}}

/* v1.0.3 · perfil, edición de gestorías y categorías */
.top-right{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:0}
.profile-icon{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#253047;color:#fff;border:1px solid #3a465d;font-size:18px;flex:0 0 auto}
.profile-icon:hover{background:#344054;transform:translateY(-1px)}
.profile-icon svg{width:19px;height:19px;fill:currentColor}
.logout-link{color:#d0d5dd!important;font-size:13px;white-space:nowrap}
.category-actions{display:flex;gap:6px;justify-content:flex-end}
.category-edit-card{border-color:#cfd8ff;background:#fbfcff}
.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:18px;align-items:start}
.profile-summary{display:flex;gap:12px;align-items:center;margin-bottom:18px}
.profile-avatar{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef1ff;font-size:26px}
@media(max-width:1100px){.top-right{margin-left:0}.top{flex-wrap:wrap}.top nav{flex:1}}
@media(max-width:900px){.top-right{width:100%;justify-content:space-between}.tenant-switch{flex:1}.profile-grid{grid-template-columns:1fr}}


/* v1.0.7 · login, menú móvil, logos y selector de periodos */
.mobile-menu-button{display:none;background:transparent;border:0;padding:8px;cursor:pointer}.mobile-menu-button span{display:block;width:23px;height:2px;background:#fff;margin:5px 0;border-radius:2px}.brand{display:flex!important;align-items:center;gap:9px}.brand-mark,.auth-logo-mark{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6b6cff,#3154df);color:#fff;border-radius:9px;font-weight:800}.brand-mark{width:29px;height:29px}.brand-text>span,.auth-logo b>span{color:#aebcff}
.auth-shell{width:min(980px,calc(100vw - 32px));margin:7vh auto 0;display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 24px 70px rgba(15,23,42,.12)}.auth-visual{min-height:520px;padding:54px;background:linear-gradient(145deg,#111827,#24335d);color:#fff;display:flex;align-items:flex-end;position:relative}.auth-visual:before{content:'';position:absolute;width:330px;height:330px;border-radius:50%;background:rgba(96,115,255,.24);top:-120px;right:-110px}.auth-visual-inner{position:relative;z-index:1}.auth-visual h2{font-size:38px;line-height:1.08;margin:15px 0}.auth-visual p{color:#d4daf0;font-size:16px;line-height:1.6}.auth-badge{display:inline-flex;padding:7px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:12px}.auth-feature{margin-top:24px;color:#bac5ff;font-weight:700;font-size:13px}.auth-panel{padding:48px;align-self:center}.auth-logo{display:flex;align-items:center;gap:11px;margin-bottom:35px}.auth-logo-mark{width:42px;height:42px;font-size:21px}.auth-logo b{display:block;font-size:17px}.auth-logo small{display:block;color:#667085;margin-top:2px}.auth-panel h1{margin-bottom:7px}.auth-submit{width:100%;margin-top:5px;padding:12px}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-label-row a{font-size:12px}.auth-divider{display:flex;align-items:center;gap:10px;color:#98a2b3;font-size:12px;margin:22px 0}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line);flex:1}.auth-links{text-align:center;font-size:13px}.login-wrap{max-width:none!important;padding:0!important}
.company-profile-heading{display:flex;align-items:center;gap:16px;padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.company-logo-preview,.company-logo-placeholder{width:92px;height:70px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff}.company-logo-placeholder{display:flex;align-items:center;justify-content:center;color:#98a2b3;font-size:12px;font-weight:800;letter-spacing:.08em}.company-profile-heading input[type=file]{margin-top:7px;max-width:320px}
.period-picker{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:14px 0 16px}.period-label{display:block;font-size:12px;font-weight:800;color:#475467;margin-bottom:8px}.quick-buttons{display:flex;gap:7px;flex-wrap:wrap}.period-btn{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;text-decoration:none;color:#344054;font-weight:700}.period-btn.active{background:#3154df;color:#fff;border-color:#3154df}.selected-period{padding:12px 14px;background:#f7f8ff;border:1px solid #dfe3ff;border-radius:10px;margin-bottom:18px}.custom-period{margin-bottom:18px}.export-actions{margin-top:18px}.agency-connected{border-color:#bde6d3;background:#fbfffd}
@media(max-width:900px){
 .top{display:grid!important;grid-template-columns:1fr auto;align-items:center;padding:10px 14px!important;gap:8px 10px}.mobile-menu-button{display:block;grid-column:2;grid-row:1}.top nav{display:none!important;grid-column:1/-1;width:100%;overflow:visible!important;flex-direction:column;background:#121b2d;border:1px solid #2b3850;border-radius:10px;padding:7px!important}.mobile-nav-open .top nav{display:flex!important}.top nav a{display:block;padding:11px 12px;border-radius:7px}.top nav a:hover{background:#202d45}.top-right{grid-column:1/-1;width:100%;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;gap:8px!important;margin:0!important}.tenant-switch,.tenant-name{width:100%!important;margin:0!important}.tenant-switch select{max-width:none!important;width:100%}.profile-icon{width:38px;height:38px}.logout-link{align-self:center}.auth-shell{grid-template-columns:1fr;margin:24px auto}.auth-visual{display:none}.auth-panel{padding:32px 26px}.period-picker{grid-template-columns:1fr}.export-actions .btn{flex:1 1 100%}
}
@media(max-width:520px){.brand-text{font-size:15px}.tenant-name{overflow:hidden;text-overflow:ellipsis}.company-profile-heading{align-items:flex-start;flex-direction:column}.company-logo-preview,.company-logo-placeholder{width:120px;height:80px}.auth-shell{width:calc(100vw - 20px);border-radius:14px}.auth-panel{padding:26px 20px}.quick-buttons{display:grid;grid-template-columns:repeat(4,1fr)}.quick-buttons .period-btn{min-width:0;padding:9px 5px}}


/* v1.0.8 · cabecera y navegación activa */
.brand:before{content:none!important;display:none!important}
.top nav a{position:relative}
.top nav a.active{color:#fff;background:transparent}
.top nav a.active:after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:2px;background:#8ea0ff;border-radius:2px}
@media(max-width:900px){
  .top nav a.active{background:#202d45;color:#fff}
  .top nav a.active:after{left:12px;right:auto;width:34px;bottom:5px}
}

/* v1.0.9 · exportadores contables */
.export-format-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.export-format{border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--card,#fff)}
.export-format h3{margin:0 0 8px}.export-format p{margin:0 0 14px;min-height:42px}
.compat-badge{display:inline-block;margin-top:12px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#eef2ff;color:#3345a8}
.compat-badge.verified{background:#e9fbf3;color:#087a50}.compat-badge.assistant{background:#fff4dd;color:#8b5a00}
@media(max-width:760px){.export-format-grid{grid-template-columns:1fr}.export-format p{min-height:0}.export-format .actions{display:flex;flex-direction:column;align-items:stretch}.export-format .actions .btn{text-align:center}}

/* v1.0.19 · cabecera de escritorio más compacta */
@media(min-width:901px){
  .top{padding:0 18px;gap:16px}
  .brand{font-size:17px;gap:7px}
  .brand-mark{width:27px;height:27px;font-size:14px}
  .top nav{gap:2px;flex-wrap:nowrap;min-width:0}
  .top nav a{font-size:12px;padding:8px 7px;white-space:nowrap}
  .top-right{gap:7px;flex:0 0 auto}
  .tenant-switch{gap:5px;margin-left:0}
  .tenant-switch-label{font-size:10px}
  .tenant-switch select{width:190px;max-width:190px;padding:6px 26px 6px 9px;font-size:13px}
  .profile-icon{width:34px;height:34px}
  .profile-icon svg{width:18px;height:18px}
  .logout-link{font-size:12px}
}
@media(min-width:901px) and (max-width:1280px){
  .tenant-switch-label{display:none}
  .tenant-switch select{width:160px;max-width:160px}
  .top{gap:10px;padding-left:12px;padding-right:12px}
  .top nav a{font-size:11.5px;padding-left:5px;padding-right:5px}
  .brand-text{font-size:16px}
}

/* v1.0.21 · selección masiva de facturas para reanálisis IA */
.bulk-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px}
.bulk-actions .actions{margin:0;flex-wrap:wrap;justify-content:flex-end}
.bulk-check-col{width:36px;text-align:center!important;padding-left:10px!important;padding-right:6px!important}
.bulk-check-col input{width:17px;height:17px;cursor:pointer}
@media (max-width:900px){.bulk-actions{align-items:flex-start;flex-direction:column}.bulk-actions .actions{justify-content:flex-start}}


/* v1.0.22 · listado de facturas compacto y columna Abrir siempre visible */
.invoice-list-wrap{overflow-x:auto}
.invoice-list-table{width:100%;table-layout:auto;font-size:13px}
.invoice-list-table th,.invoice-list-table td{padding:10px 8px}
.invoice-list-table th:nth-child(2),.invoice-list-table td:nth-child(2){width:94px}
.invoice-list-table th:nth-child(3),.invoice-list-table td:nth-child(3){min-width:155px;max-width:250px;overflow:hidden;text-overflow:ellipsis}
.invoice-list-table th:nth-child(4),.invoice-list-table td:nth-child(4){width:124px}
.invoice-list-table th:nth-child(5),.invoice-list-table td:nth-child(5){width:150px}
.invoice-list-table th:nth-child(6),.invoice-list-table td:nth-child(6),
.invoice-list-table th:nth-child(7),.invoice-list-table td:nth-child(7),
.invoice-list-table th:nth-child(8),.invoice-list-table td:nth-child(8){width:92px;text-align:right}
.invoice-list-table th:nth-child(9),.invoice-list-table td:nth-child(9){width:126px}
.invoice-list-table th:nth-child(10),.invoice-list-table td:nth-child(10){width:100px}
.invoice-list-table th:last-child,.invoice-list-table td:last-child{width:62px;min-width:62px;text-align:right;padding-right:14px}
.invoice-list-table td:last-child a{display:inline-flex;font-weight:700;white-space:nowrap}
.invoice-list-table .badge{padding:4px 7px;font-size:11px}
.invoice-list-table .small{font-size:11px}
@media(min-width:901px) and (max-width:1450px){
  .invoice-list-table{font-size:12px}
  .invoice-list-table th,.invoice-list-table td{padding:9px 6px}
  .invoice-list-table th{font-size:10.5px}
  .invoice-list-table th:nth-child(3),.invoice-list-table td:nth-child(3){min-width:125px;max-width:190px}
  .invoice-list-table th:nth-child(4),.invoice-list-table td:nth-child(4){width:110px}
  .invoice-list-table th:nth-child(5),.invoice-list-table td:nth-child(5){width:130px}
  .invoice-list-table th:nth-child(9),.invoice-list-table td:nth-child(9){width:112px}
  .invoice-list-table th:nth-child(10),.invoice-list-table td:nth-child(10){width:88px}
}

/* iDocumental v1.0.24 */
.brand-logo-link{display:flex!important;align-items:center;min-width:185px}
.brand-logo-img{width:190px;height:42px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}
.auth-logo{flex-direction:column;align-items:flex-start!important;gap:6px!important}
.auth-logo-img{width:235px;max-width:100%;height:auto;display:block}
.tariff-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tariff-columns h3{font-size:15px;margin:0 0 10px}
.tariff-card .table-wrap{box-shadow:none}
.tariff-note{margin:14px 0 0}
@media(max-width:900px){.tariff-columns{grid-template-columns:1fr}.brand-logo-img{width:170px}}
