:root{--bg:#07111f;--panel:#0f172a;--card:#111c31;--soft:#1e293b;--text:#e5edf7;--muted:#94a3b8;--brand:#38bdf8;--ok:#22c55e;--warn:#f59e0b;--danger:#ef4444;--line:rgba(148,163,184,.18);--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif}button,input,select{font:inherit}button{border:0;border-radius:16px;padding:12px 14px;background:var(--soft);color:var(--text);font-weight:800}button:active{transform:scale(.98)}.primary{background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff}.hidden{display:none!important}.muted{color:var(--muted);font-size:12px}.mobile-auth{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(420px,100%);background:linear-gradient(180deg,rgba(17,28,49,.95),rgba(15,23,42,.98));border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.app-mark{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:#0ea5e9;color:white;font-size:30px;font-weight:900}.auth-panel h1{margin:14px 0 4px}.auth-panel p{color:var(--muted);margin-top:0}.auth-panel form,.mobile-form{display:grid;gap:12px}.auth-panel input,.mobile-form input,.mobile-form select,.search{width:100%;background:#081225;color:var(--text);border:1px solid var(--line);border-radius:16px;padding:14px 14px;outline:none}.auth-panel input:focus,.mobile-form input:focus,.mobile-form select:focus,.search:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(56,189,248,.12)}.mobile-app{min-height:100vh;padding:calc(14px + env(safe-area-inset-top,0px)) 14px calc(92px + var(--safe-bottom))}.mobile-top{position:sticky;top:0;z-index:20;margin:-14px -14px 12px;padding:calc(12px + env(safe-area-inset-top,0px)) 14px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(7,17,31,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.mobile-top h1{font-size:20px;margin:5px 0 0}.sync-pill{font-size:11px;padding:6px 9px;border-radius:999px;background:#13213a;color:#bae6fd}.mobile-view{display:none;animation:fade .18s ease}.mobile-view.active{display:block}@keyframes fade{from{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:none}}.mobile-hero{border-radius:28px;padding:22px;background:linear-gradient(135deg,#0ea5e9 0%,#1d4ed8 55%,#111827 100%);box-shadow:0 18px 50px rgba(14,165,233,.18)}.mobile-hero span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#dff6ff}.mobile-hero h2{font-size:38px;margin:8px 0 4px}.mobile-hero p{margin:0;color:#dbeafe}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.metric{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:16px}.metric small{display:block;color:var(--muted)}.metric b{display:block;margin-top:6px;font-size:22px}.mobile-card{background:rgba(17,28,49,.96);border:1px solid var(--line);border-radius:24px;padding:16px;margin:12px 0}.sticky-card{position:relative}.section-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.section-row h3{margin:0}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mobile-form label{display:grid;gap:6px;color:#cbd5e1;font-size:13px;font-weight:700}.mobile-form.compact{gap:10px}.mobile-list{display:grid;gap:10px}.row-card{background:#0b1426;border:1px solid var(--line);border-radius:18px;padding:13px;display:grid;gap:8px}.row-card .top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.row-card h4{margin:0}.row-card p{margin:0;color:var(--muted);font-size:13px}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions a,.actions button{font-size:12px;padding:9px 10px;border-radius:12px;text-decoration:none;background:var(--soft);color:var(--text)}.actions .danger{background:rgba(239,68,68,.2);color:#fecaca}.badge{font-size:11px;padding:5px 8px;border-radius:999px;background:#1e293b;color:#cbd5e1;white-space:nowrap}.badge.ok{background:rgba(34,197,94,.18);color:#bbf7d0}.badge.warn{background:rgba(245,158,11,.18);color:#fde68a}.badge.danger{background:rgba(239,68,68,.18);color:#fecaca}.filter-bar{position:sticky;top:76px;z-index:10;display:flex;gap:8px;overflow:auto;padding:8px 0;background:rgba(7,17,31,.84);backdrop-filter:blur(12px)}.filter-bar button{white-space:nowrap;font-size:12px;padding:9px 11px}.filter-bar button.active{background:var(--brand);color:#062033}.timeline{display:grid;gap:10px}.timeline-item{border-left:3px solid var(--brand);padding:0 0 0 12px}.timeline-item div{background:#0b1426;border:1px solid var(--line);border-radius:16px;padding:12px}.timeline-item h4{margin:0 0 4px}.timeline-item p{margin:0;color:var(--muted);font-size:13px}.sync-details{display:grid;gap:10px;margin:12px 0}.sync-details .metric{border-radius:18px}.mobile-tabs{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:4px;overflow-x:auto;padding:8px 8px calc(8px + var(--safe-bottom));background:rgba(7,17,31,.92);backdrop-filter:blur(20px);border-top:1px solid var(--line)}.mobile-tabs button{flex:1;min-width:74px;padding:10px 8px;border-radius:16px;font-size:11px;background:transparent;color:var(--muted)}.mobile-tabs button.active{background:#123052;color:#e0f2fe}.empty{padding:18px;text-align:center;color:var(--muted)}@media (min-width:760px){.mobile-app{max-width:980px;margin:auto}.metric-grid{grid-template-columns:repeat(4,1fr)}.mobile-layout-2{grid-template-columns:1fr 1fr}.mobile-card{padding:20px}.mobile-tabs{left:50%;transform:translateX(-50%);max-width:980px;border-radius:24px 24px 0 0}.mobile-hero h2{font-size:48px}}@media (max-width:370px){.two-col,.metric-grid,.quick-grid{grid-template-columns:1fr}.mobile-tabs button{min-width:68px}}

.slim-card{padding:14px}.type-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.type-chip{background:#0b1426;border:1px solid var(--line);border-radius:16px;padding:10px}.type-chip small{display:block;color:var(--muted);font-size:11px}.type-chip b{display:block;margin-top:4px;font-size:15px}.install-box{background:#081225;border:1px dashed rgba(56,189,248,.45);border-radius:18px;padding:12px;margin:10px 0;color:#cbd5e1;font-size:13px}.install-box b{color:#e0f2fe}.sync-ok{color:#bbf7d0}.sync-warn{color:#fde68a}.sync-bad{color:#fecaca}.update-toast{position:fixed;left:14px;right:14px;bottom:calc(86px + var(--safe-bottom));z-index:70;background:#082f49;border:1px solid rgba(56,189,248,.45);border-radius:18px;padding:12px;box-shadow:0 18px 50px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:space-between;gap:10px}.update-toast button{background:#38bdf8;color:#062033}@media (min-width:760px){.type-kpis{grid-template-columns:repeat(4,1fr)}.update-toast{left:50%;right:auto;transform:translateX(-50%);width:min(680px,calc(100% - 28px));}}

/* v53 Mobile Invoice Pro */
.mobile-top p{margin:2px 0 0;color:var(--muted);font-weight:700}.step-bar{position:sticky;top:78px;z-index:15;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:8px 0 12px;padding:8px;background:rgba(17,28,49,.92);border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(14px)}.step-bar span{font-size:11px;color:var(--muted);text-align:center;padding:8px 4px;border-radius:12px;font-weight:800}.step-bar .active{background:#123052;color:#e0f2fe}.invoice-pro-form textarea{width:100%;background:#081225;color:var(--text);border:1px solid var(--line);border-radius:16px;padding:14px;outline:none;resize:vertical}.invoice-pro-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(56,189,248,.12)}.status-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px}.status-toggle button{background:#081225;border:1px solid var(--line);color:var(--muted)}.status-toggle button.active[data-invoice-status="Pendiente"]{border-color:var(--warn);color:#fde68a;background:rgba(245,158,11,.12)}.status-toggle button.active[data-invoice-status="Pagada"]{border-color:var(--ok);color:#bbf7d0;background:rgba(34,197,94,.12)}.invoice-lines{display:grid;gap:12px}.invoice-line{background:#0b1426;border:1px solid var(--line);border-radius:18px;padding:12px;display:grid;gap:10px}.line-head,.line-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.line-head span{color:#93c5fd;font-weight:900}.line-head .danger{background:rgba(239,68,68,.16);color:#fecaca;padding:8px 10px;border-radius:12px}.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.tax-check{display:flex!important;align-items:center;grid-template-columns:auto!important;gap:8px!important;font-size:12px!important;color:var(--muted)!important}.tax-check input{width:auto!important}.line-footer b{color:#86efac}.ghost-btn{width:100%;background:transparent;border:1px dashed rgba(56,189,248,.5);color:#7dd3fc}.summary-card{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.summary-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;color:#cbd5e1}.summary-row.total{border-top:1px solid var(--line);margin-top:4px;padding-top:12px;text-transform:uppercase;font-size:18px}.summary-row.total b{color:#86efac;font-size:22px}.summary-side{border-left:1px solid var(--line);padding-left:14px;display:grid;align-content:center;gap:8px}.summary-side span,.summary-side small{color:var(--muted)}.summary-side strong{font-size:22px;color:#fde68a}.action-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.action-strip button{background:#0b1426;border:1px solid var(--line);color:#bfdbfe}.big-save{width:100%;font-size:18px;padding:16px;border-radius:20px}.doc-modal{position:fixed;inset:0;z-index:100;background:rgba(2,6,23,.82);backdrop-filter:blur(14px);padding:calc(14px + env(safe-area-inset-top,0px)) 14px calc(14px + env(safe-area-inset-bottom,0px));overflow:auto}.doc-shell{max-width:860px;margin:auto}.doc-actions{position:sticky;top:0;z-index:5;display:flex;gap:8px;justify-content:flex-end;background:rgba(2,6,23,.78);padding:8px 0}.doc-preview{background:#f8fafc;color:#0f172a;border-radius:22px;overflow:hidden}.paper-doc{padding:22px}.paper-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:2px solid #e2e8f0;padding-bottom:14px}.paper-head h2{margin:0;font-size:22px}.paper-head p{margin:4px 0 0;color:#475569}.paper-head strong{font-size:20px}.paper-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.paper-meta span{background:#e2e8f0;border-radius:12px;padding:10px;color:#475569}.paper-meta b{color:#0f172a}.paper-doc table{width:100%;border-collapse:collapse;margin:14px 0}.paper-doc th,.paper-doc td{padding:10px;border-bottom:1px solid #e2e8f0;text-align:left}.paper-doc th{background:#0f172a;color:#fff}.paper-totals{margin-left:auto;max-width:320px}.paper-totals p,.paper-totals h3{display:flex;justify-content:space-between;gap:16px;margin:8px 0}.paper-totals h3{border-top:2px solid #0f172a;padding-top:10px;font-size:22px}.paper-notes{margin-top:18px;background:#e2e8f0;border-radius:12px;padding:12px}.row-card .actions button[data-view-invoice]{background:rgba(34,197,94,.16);color:#bbf7d0}.row-card .actions button[data-mark-paid]{background:rgba(245,158,11,.16);color:#fde68a}@media (max-width:560px){.summary-card,.two-col{grid-template-columns:1fr}.three-col{grid-template-columns:1fr 1fr}.summary-side{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:12px}.paper-meta{grid-template-columns:1fr 1fr}.paper-doc{padding:16px}.paper-doc table{font-size:12px}.action-strip{grid-template-columns:1fr}.step-bar{top:74px}.step-bar span{font-size:10px}}@media print{body>*:not(#mobileApp){display:none!important}.mobile-top,.mobile-tabs,.mobile-view,.doc-actions{display:none!important}.doc-modal{position:static;background:#fff;padding:0}.doc-modal.hidden{display:block!important}.doc-preview{border-radius:0}.paper-doc{color:#000}}


/* ===== V54 MOBILE PDF = ESCRITORIO ===== */
.doc-preview{background:#eef2f7;color:#111827;border-radius:22px;overflow:auto;padding:18px;}
.doc-page{background:#fff;color:#111827;width:7.5in;max-width:100%;min-height:10in;margin:0 auto;padding:0.38in;border:1px solid #e5e7eb;box-shadow:0 20px 60px rgba(0,0,0,.08);display:flex;flex-direction:column;box-sizing:border-box;break-after:page;page-break-after:always;}
.doc-body{flex:1 1 auto;display:block;padding-bottom:.25in;}
.doc-table{width:100%;border-collapse:collapse;margin:18px 0;page-break-inside:auto;break-inside:auto;}
.doc-table th,.doc-table td{border:1px solid #d9dee7;padding:10px;text-align:left;vertical-align:top;}
.doc-table th{background:#f8fafc;color:#475569;font-size:11px;text-transform:uppercase;}
.doc-table tr{page-break-inside:avoid;break-inside:avoid;}
.doc-foot{margin-top:auto;padding-top:14px;text-align:center;color:#64748b;font-size:11px;}
.invoice-pro{width:8.1in;min-height:10.45in;padding:.42in .46in;border:1px solid #e5e7eb;box-shadow:0 20px 60px rgba(0,0,0,.08);--invoice-navy:#08264d;--invoice-blue:#0b3f7f;}
.invoice-pro .doc-body{padding-bottom:0;}
.invoice-top{display:grid;grid-template-columns:1fr 1fr;gap:.25in;align-items:start;margin-bottom:.28in;}
.invoice-brand{display:flex;gap:.14in;align-items:center;}
.invoice-logo{width:.82in;height:.82in;object-fit:contain;display:block;}
.invoice-brand h1{margin:0;color:var(--invoice-navy);font-size:26px;line-height:1.05;font-weight:900;letter-spacing:.01em;}
.invoice-brand p,.invoice-contact p{margin:.05in 0;color:#374151;font-size:14px;line-height:1.3;}
.invoice-contact{text-align:right;border-right:1px solid #cfd6df;padding-right:.22in;min-height:.86in;}
.invoice-title-row{display:grid;grid-template-columns:1fr 1.1fr .9fr;align-items:center;gap:.16in;margin-bottom:.18in;}
.invoice-title-row h2{text-align:center;margin:0;color:var(--invoice-navy);font-size:34px;letter-spacing:.04em;font-weight:900;}
.invoice-number p{margin:.07in 0;font-size:15px;}
.status-card{justify-self:end;width:1.35in;border:1px solid #cfd6df;border-radius:8px;overflow:hidden;text-align:center;background:#fff;}
.status-card b{display:block;background:var(--invoice-navy);color:#fff;padding:.08in;font-size:12px;letter-spacing:.03em;}
.status-card span{display:block;color:var(--invoice-blue);font-weight:900;padding:.12in .06in;font-size:14px;}
.invoice-rule{height:1px;background:#9ca3af;margin:.08in 0 .25in;}
.invoice-client-grid{display:grid;grid-template-columns:1fr 1fr;gap:.16in;margin-bottom:.28in;}
.invoice-box{border:1px solid #d9dee7;border-radius:10px;padding:.16in;background:#fff;min-height:.72in;}
.invoice-box b{display:block;color:var(--invoice-blue);font-size:13px;margin-bottom:.1in;}
.invoice-box p{margin:.06in 0;font-size:15px;line-height:1.35;}
.invoice-items{margin:.05in 0 .32in!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden;border:1px solid #d9dee7;border-radius:8px;}
.invoice-items th{background:var(--invoice-navy)!important;color:#fff!important;border-color:var(--invoice-navy)!important;font-size:12px!important;padding:.11in .14in!important;}
.invoice-items td{padding:.14in!important;border-color:#d9dee7!important;font-size:15px;}
.invoice-items th:nth-child(2),.invoice-items td:nth-child(2){text-align:center;width:.85in;}
.invoice-items th:nth-child(3),.invoice-items td:nth-child(3),.invoice-items th:nth-child(4),.invoice-items td:nth-child(4){text-align:right;width:1.35in;}
.invoice-lower{display:grid;grid-template-columns:1.02fr .98fr;gap:.22in;align-items:start;}
.note-box{margin-bottom:.18in;min-height:.95in;}
.invoice-totals{border:1px solid #d9dee7;border-radius:10px;overflow:hidden;background:#fff;}
.invoice-totals div{display:flex;justify-content:space-between;gap:.2in;padding:.13in .18in;border-bottom:1px solid #d9dee7;font-size:15px;}
.invoice-totals div:last-child{border-bottom:0;}
.invoice-totals b{color:#374151;}
.invoice-totals .total-row{background:#f7fafc;}
.invoice-totals .total-row b,.invoice-totals .total-row span{color:var(--invoice-blue);font-weight:900;}
.invoice-totals .balance-row{background:var(--invoice-navy);color:#fff;}
.invoice-totals .balance-row b,.invoice-totals .balance-row span{color:#fff;font-weight:900;}
.invoice-sign{margin-top:.15in;color:#64748b;font-size:12px;}
.invoice-sign img{max-height:.7in;max-width:2.2in;object-fit:contain;}
.invoice-thanks{margin-top:auto;text-align:center;color:var(--invoice-blue);font-size:24px;font-family:"Brush Script MT","Segoe Script",cursive;padding-top:.42in;}
.invoice-thanks:after{content:'';display:block;width:1.55in;height:2px;background:var(--invoice-blue);margin:.05in auto 0;transform:rotate(-2deg);}
.invoice-footer{border-top:1px solid #9ca3af;margin-top:.28in;padding-top:.13in;text-align:center;color:#6b7280;font-size:12px;display:flex;gap:.18in;justify-content:center;}
.invoice-footer span+span:before{content:'|';margin-right:.18in;color:#9ca3af;}
@media(max-width:700px){.doc-preview{padding:10px;}.invoice-pro{width:8.1in;max-width:none;transform:scale(.43);transform-origin:top left;margin-bottom:-5.8in;}.doc-shell{overflow-x:auto;}.doc-shell .doc-preview{min-width:calc(8.1in * .43 + 20px);}}
@media print{html,body{margin:0!important;padding:0!important;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}body{display:block!important;}.mobile-top,.mobile-tabs,.mobile-view,.doc-actions{display:none!important}.doc-modal{position:static!important;background:#fff!important;padding:0!important;backdrop-filter:none!important;}.doc-modal.hidden{display:block!important}.doc-preview{background:#fff!important;border-radius:0!important;overflow:visible!important;padding:0!important}.invoice-pro{width:100%!important;min-height:calc(11in - .9in)!important;padding:0!important;border:0!important;box-shadow:none!important;transform:none!important;margin:0!important;}.invoice-top{margin-top:0!important;}.invoice-items th{background:#08264d!important;color:#fff!important;}.status-card b,.invoice-totals .balance-row{background:#08264d!important;color:#fff!important;}}


/* v55 Mobile Light UI + Invoice Lines Fix
   - White/desktop-style mobile app
   - Fixes class collision that created white bars over invoice lines
   - Hardens iOS/iPadOS Safari form controls
*/
:root{
  --bg:#f3f6fb;
  --panel:#ffffff;
  --card:#ffffff;
  --soft:#edf2f7;
  --text:#0f172a;
  --muted:#64748b;
  --brand:#0ea5e9;
  --brand-dark:#2563eb;
  --ok:#16a34a;
  --warn:#d97706;
  --danger:#dc2626;
  --line:rgba(15,23,42,.12);
}
html,body{background:var(--bg)!important;color:var(--text)!important;}
body{overscroll-behavior-y:none;}
button,input,select,textarea{
  -webkit-appearance:none;
  appearance:none;
  font:inherit;
}
input,select,textarea{
  background:#fff!important;
  color:var(--text)!important;
  border:1px solid #d8e0ea!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
input::placeholder,textarea::placeholder{color:#94a3b8!important;}
select{
  background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%)!important;
  background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px)!important;
  background-size:6px 6px,6px 6px!important;
  background-repeat:no-repeat!important;
  padding-right:36px!important;
}
.mobile-auth{background:linear-gradient(180deg,#f8fbff,#edf4fb)!important;}
.auth-panel,.mobile-card,.row-card,.metric,.type-chip,.install-box{
  background:#fff!important;
  color:var(--text)!important;
  border:1px solid #dce5ef!important;
  box-shadow:0 12px 28px rgba(15,23,42,.07)!important;
}
.auth-panel input,.mobile-form input,.mobile-form select,.mobile-form textarea,.search{
  background:#fff!important;
  color:var(--text)!important;
  border:1px solid #d8e0ea!important;
}
.mobile-app{background:var(--bg)!important;}
.mobile-top{
  background:rgba(255,255,255,.92)!important;
  border-bottom:1px solid #dce5ef!important;
  box-shadow:0 8px 24px rgba(15,23,42,.06)!important;
}
.mobile-top h1{color:#0f172a!important;}
.mobile-top p,.mobile-form label,.summary-row,.timeline-item p,.row-card p{color:#475569!important;}
.sync-pill{background:#e0f2fe!important;color:#0369a1!important;border:1px solid #bae6fd!important;}
.sync-pill::before{content:'● ';color:#22c55e;}
.mobile-top button,#mobileLogout{background:#eaf1f8!important;color:#0f172a!important;border:1px solid #d8e0ea!important;}
.mobile-hero{
  background:linear-gradient(135deg,#0ea5e9,#2563eb)!important;
  color:#fff!important;
  box-shadow:0 18px 42px rgba(37,99,235,.22)!important;
}
.mobile-hero p,.mobile-hero span{color:#e0f2fe!important;}
.metric small,.type-chip small,.muted,.summary-side span,.summary-side small{color:#64748b!important;}
.metric b,.type-chip b{color:#0f172a!important;}
.step-bar{
  background:rgba(255,255,255,.94)!important;
  border:1px solid #dce5ef!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
}
.step-bar span{color:#64748b!important;}
.step-bar .active{background:#dbeafe!important;color:#1d4ed8!important;}
.section-row h3{color:#0f172a!important;}
.status-toggle button{background:#fff!important;border:1px solid #d8e0ea!important;color:#475569!important;}
.status-toggle button.active[data-invoice-status="Pendiente"]{border-color:#f59e0b!important;color:#b45309!important;background:#fff7ed!important;}
.status-toggle button.active[data-invoice-status="Pagada"]{border-color:#22c55e!important;color:#15803d!important;background:#f0fdf4!important;}
/* Critical fix: invoice editor rows are real cards, not the PDF separator */
.invoice-lines{display:grid!important;gap:14px!important;width:100%!important;overflow:visible!important;}
.invoice-lines .invoice-line{
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:14px!important;
  display:grid!important;
  gap:12px!important;
  background:#ffffff!important;
  border:1px solid #dce5ef!important;
  border-radius:20px!important;
  box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
}
.invoice-lines .invoice-line *{max-width:100%;}
.invoice-lines .invoice-line input,
.invoice-lines .invoice-line textarea,
.invoice-lines .invoice-line select{
  background:#f8fafc!important;
  color:#0f172a!important;
  border:1px solid #d8e0ea!important;
  border-radius:14px!important;
  min-height:46px!important;
  box-shadow:none!important;
}
.invoice-lines .invoice-line textarea{
  min-height:76px!important;
  resize:vertical!important;
  line-height:1.35!important;
}
.line-head,.line-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;}
.line-head span{color:#2563eb!important;}
.line-head .danger,.actions .danger{background:#fee2e2!important;color:#b91c1c!important;border:1px solid #fecaca!important;}
.three-col{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;}
.tax-check{display:flex!important;align-items:center!important;gap:8px!important;color:#64748b!important;}
.tax-check input{
  width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;
  border-radius:5px!important;background:#fff!important;border:1px solid #94a3b8!important;
}
.tax-check input:checked{background:#2563eb!important;border-color:#2563eb!important;box-shadow:inset 0 0 0 4px #fff!important;}
.line-footer b{color:#16a34a!important;font-size:18px!important;}
.ghost-btn{
  background:#f8fbff!important;
  border:1px dashed #38bdf8!important;
  color:#0369a1!important;
}
.summary-card{background:#fff!important;}
.summary-row.total{border-top:1px solid #dce5ef!important;}
.summary-row.total b{color:#16a34a!important;}
.summary-side{border-left:1px solid #dce5ef!important;}
.summary-side strong{color:#d97706!important;}
.action-strip button{background:#fff!important;border:1px solid #d8e0ea!important;color:#1d4ed8!important;}
.big-save,.primary{background:linear-gradient(135deg,#0ea5e9,#2563eb)!important;color:#fff!important;}
.mobile-tabs{
  background:rgba(255,255,255,.95)!important;
  border-top:1px solid #dce5ef!important;
  box-shadow:0 -10px 28px rgba(15,23,42,.08)!important;
}
.mobile-tabs button{color:#64748b!important;background:transparent!important;}
.mobile-tabs button.active{background:#dbeafe!important;color:#1d4ed8!important;}
.filter-bar{background:rgba(243,246,251,.92)!important;}
.filter-bar button.active{background:#2563eb!important;color:#fff!important;}
.timeline-item div{background:#fff!important;border:1px solid #dce5ef!important;}
.doc-modal{background:rgba(15,23,42,.35)!important;}
.doc-actions{background:rgba(255,255,255,.9)!important;}
.doc-actions button{background:#eaf1f8!important;color:#0f172a!important;border:1px solid #d8e0ea!important;}
.doc-preview{background:#fff!important;}
.update-toast{background:#fff!important;border:1px solid #bae6fd!important;color:#0f172a!important;}
@media(max-width:700px){
  .three-col{grid-template-columns:1fr 1fr!important;}
  .invoice-lines .invoice-line{padding:12px!important;}
  .summary-card{grid-template-columns:1fr!important;}
  .summary-side{border-left:0!important;border-top:1px solid #dce5ef!important;padding-left:0!important;padding-top:12px!important;}
}
@media(max-width:430px){
  .two-col,.three-col,.action-strip{grid-template-columns:1fr!important;}
  .mobile-app{padding-left:10px!important;padding-right:10px!important;}
}


/* v56 Mobile Client Create */
.client-mobile-form{gap:14px!important;}
.client-mobile-form textarea{min-height:72px!important;resize:vertical!important;}
.client-actions{grid-template-columns:1fr 1fr!important;}
#mClientForm .primary{min-height:48px!important;}
#mClientList .actions button[data-new-invoice-client]{
  background:#ecfdf5!important;
  border:1px solid #bbf7d0!important;
  color:#15803d!important;
}
@media(max-width:430px){.client-actions{grid-template-columns:1fr!important;}}


/* v58 Mobile Action Buttons + PDF Share Fix */
:root{--mobile-action-blue:#1d4ed8;--mobile-action-border:#cfe0f2;--mobile-ok-bg:#dcfce7;--mobile-ok-text:#166534;}
.badge.ok,
.row-card .badge.ok{
  background:var(--mobile-ok-bg)!important;
  color:var(--mobile-ok-text)!important;
  border:1px solid #bbf7d0!important;
  font-weight:900!important;
  opacity:1!important;
}
.row-card .actions button,
.row-card .actions a{
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border-radius:14px!important;
  font-weight:900!important;
  opacity:1!important;
  filter:none!important;
  text-decoration:none!important;
}
.row-card .actions button[data-view-invoice],
.row-card .actions button[data-share-invoice]{
  background:#ffffff!important;
  color:var(--mobile-action-blue)!important;
  border:1px solid var(--mobile-action-border)!important;
  box-shadow:0 4px 12px rgba(15,23,42,.05)!important;
}
.row-card .actions button[data-view-invoice]::before{content:'📄';font-size:16px;line-height:1;}
.row-card .actions button[data-share-invoice]::before{content:'↗';font-size:18px;line-height:1;}
.row-card .actions button[data-mark-paid]{
  background:#fff7ed!important;
  color:#b45309!important;
  border:1px solid #fed7aa!important;
}
.row-card .actions button:disabled,
.row-card .actions a:disabled{
  opacity:.65!important;
}
@media(max-width:430px){
  .row-card .actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}
  .row-card .actions button,
  .row-card .actions a{width:100%!important;}
}


/* v59 iOS PWA Share Freeze + Readability Fix */
.row-card .badge.ok, .badge.ok{background:#dcfce7!important;color:#166534!important;border:1px solid #86efac!important;font-weight:900!important;opacity:1!important;}
.row-card .actions button[data-view-invoice], .row-card .actions button[data-share-invoice]{background:#fff!important;color:#1d4ed8!important;border:1.5px solid #bfdbfe!important;opacity:1!important;font-weight:900!important;box-shadow:0 3px 10px rgba(15,23,42,.06)!important;}
.row-card .actions button[data-share-invoice]:disabled{background:#e0f2fe!important;color:#075985!important;cursor:wait!important;}
.row-card .actions button[data-view-invoice]:disabled{background:#eef2ff!important;color:#334155!important;}

.mobile-notice{position:fixed;left:16px;right:16px;bottom:86px;z-index:99999;padding:14px 16px;border-radius:18px;background:#0f172a;color:#fff;font-weight:800;box-shadow:0 18px 50px rgba(15,23,42,.24);text-align:center}.mobile-notice.ok{background:#047857}.mobile-notice.warn{background:#b45309}.mobile-notice.danger{background:#b91c1c}button:disabled{opacity:.62;pointer-events:none}
