/* Cotiza Fácil · app */
body{background:var(--off)}
.app-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;background:#fff;border-bottom:1px solid var(--line)}
.head-right{display:flex;align-items:center;gap:12px;font-size:14px}
.pro-status{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pro-mail{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
html.is-pro .only-free{display:none!important}
.toolbar{position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 20px;background:rgba(244,247,252,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.tabs{display:flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px}
.tab{border:0;background:none;padding:8px 16px;border-radius:999px;font:600 14px var(--font-head);cursor:pointer;min-height:38px;color:var(--ink)}
.tab.active{background:var(--brand);color:var(--on-brand)}
.count{display:inline-block;min-width:20px;padding:0 6px;border-radius:999px;background:var(--off);color:var(--ink);font-size:12px}
.tab.active .count{background:var(--accent);color:var(--on-accent)}
.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.quota{font-size:13px;color:var(--muted);margin-right:4px}
.layout{display:grid;grid-template-columns:minmax(340px,460px) 1fr;gap:24px;padding:20px;max-width:1440px;margin:0 auto;align-items:start}
.panel fieldset{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 6px;margin:0 0 16px}
.panel legend{font:700 16px var(--font-head);padding:0 6px;margin-left:-6px}
.hint-inline{font:500 12px var(--font-body);color:var(--muted);margin-left:6px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.row3{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:0 12px}
@media (max-width:480px){.row2,.row3{grid-template-columns:1fr}}
.seg{display:flex;gap:6px;margin:6px 0 14px;flex-wrap:wrap}
.seg label{margin:0;flex:1}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:block;text-align:center;padding:10px;border:1.5px solid var(--line-strong);border-radius:10px;cursor:pointer;font:600 14px var(--font-head)}
.seg input:checked+span{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.seg input:focus-visible+span{outline:3px solid var(--brand-text);outline-offset:2px}
.logo-row{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.logo-prev{width:72px;height:72px;border-radius:12px;border:1.5px dashed var(--line-strong);display:grid;place-items:center;font-size:12px;color:var(--muted);background:var(--off) center/contain no-repeat;flex:none}
.logo-prev.has{border-style:solid;color:transparent;background-color:#fff}
.file-btn{display:inline-flex;margin:0}
.items{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.item{display:grid;grid-template-columns:1fr 70px 100px 40px;gap:8px;align-items:end;padding-bottom:10px;border-bottom:1px dashed var(--line)}
.item label{font-size:12px}
.item .del{width:40px;height:44px;border-radius:10px;border:1.5px solid var(--line-strong);background:#fff;cursor:pointer;font-size:18px}
.item .del:hover{border-color:var(--danger);color:var(--danger)}
@media (max-width:480px){.item{grid-template-columns:1fr 1fr 44px}.item .f-desc{grid-column:1/-1}}
.tpl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tpl{margin:0;text-align:center;font-size:13px;cursor:pointer}
.tpl input{position:absolute;opacity:0;width:1px;height:1px}
.tpl-thumb{display:block;height:84px;border-radius:10px;border:2px solid var(--line);margin-bottom:6px;background:#fff;position:relative;overflow:hidden}
.tpl input:checked+.tpl-thumb{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring)}
.tpl input:focus-visible+.tpl-thumb{outline:3px solid var(--brand-text);outline-offset:2px}
.tpl-thumb.t-clasica::before{content:"";position:absolute;left:10px;right:10px;top:12px;height:8px;background:#111;border-radius:2px;box-shadow:0 18px 0 -2px #ddd,0 30px 0 -2px #ddd,0 42px 0 -2px #ddd}
.tpl-thumb.t-moderna::before{content:"";position:absolute;left:0;right:0;top:0;height:28px;background:var(--brand)}
.tpl-thumb.t-moderna::after{content:"";position:absolute;left:10px;right:10px;top:40px;height:6px;background:#ddd;box-shadow:0 12px 0 #ddd,0 24px 0 #ddd}
.tpl-thumb.t-minimal::before{content:"";position:absolute;left:10px;top:12px;width:30px;height:6px;background:#111;box-shadow:0 30px 0 40px #f2f2f2}
.preview-wrap{position:sticky;top:76px}
.preview-scale{background:#E3E9F4;border-radius:var(--r);padding:24px;overflow:auto;max-height:calc(100vh - 100px)}
@media (max-width:980px){.layout{grid-template-columns:1fr}.preview-wrap{position:static}.preview-scale{max-height:none;padding:12px}}

/* ---- Documento ---- */
.doc{--accent:#1D4ED8;--accent-ink:#FFFFFF;background:#fff;width:100%;max-width:800px;margin:0 auto;padding:48px 52px;color:#111;font-size:13px;line-height:1.5;box-shadow:0 10px 30px rgba(0,0,0,.08);min-height:1000px;display:flex;flex-direction:column}
@media (max-width:600px){.doc{padding:24px 18px;min-height:0;font-size:12px}}
.doc h2{font-size:30px;margin:0;letter-spacing:-.02em}
.d-top{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:28px}
.d-logo{max-height:64px;max-width:180px;object-fit:contain;margin-bottom:10px}
.d-biz b{font:700 16px var(--font-head);display:block}
.d-biz span{display:block;color:#4A4A4A}
.d-meta{text-align:right}
.d-meta .num{font:600 14px var(--font-head);margin-top:4px}
.d-meta span{display:block;color:#4A4A4A}
.d-client{background:#F4F5F7;border-radius:10px;padding:14px 16px;margin-bottom:22px}
.d-client small{display:block;font:700 11px var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:#4A4A4A;margin-bottom:4px}
.d-client b{font-size:15px}
.d-table{width:100%;border-collapse:collapse;margin-bottom:18px}
.d-table th{text-align:left;font:700 11px var(--font-head);letter-spacing:.06em;text-transform:uppercase;padding:10px 8px;border-bottom:2px solid #111}
.d-table td{padding:10px 8px;border-bottom:1px solid #E3DED5;vertical-align:top}
.d-table .r{text-align:right;white-space:nowrap}
.d-totals{margin-left:auto;width:min(300px,100%)}
.d-totals div{display:flex;justify-content:space-between;padding:5px 0}
.d-totals .grand{border-top:2px solid #111;margin-top:6px;padding-top:10px;font:700 18px var(--font-head)}
.d-notes{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.d-notes small{display:block;font:700 11px var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:#4A4A4A;margin-bottom:4px}
.d-notes p{white-space:pre-wrap;margin:0}
@media (max-width:600px){.d-notes{grid-template-columns:1fr}.d-top{flex-direction:column}.d-meta{text-align:left}}
.d-spacer{flex:1}
.d-foot{margin-top:28px;padding-top:12px;border-top:1px solid #E3DED5;font-size:11px;color:#4A4A4A;display:flex;justify-content:space-between;gap:12px}
.d-wm{font:600 11px var(--font-head);color:#4A4A4A}
.d-wm b{color:#1D4ED8}
.d-empty{color:#8a8a8a;font-style:italic}
/* Moderna */
.doc.t-moderna{padding-top:0}
.t-moderna .d-band{background:var(--accent);margin:0 -52px 28px;padding:28px 52px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.t-moderna .d-band{color:var(--accent-ink)}
.t-moderna .d-band h2,.t-moderna .d-band .d-biz span,.t-moderna .d-band .d-meta span{color:var(--accent-ink)}
.t-moderna .d-table th{border-bottom-color:var(--accent)}
.t-moderna .d-totals .grand{border-top-color:var(--accent)}
@media (max-width:600px){.t-moderna .d-band{margin:0 -18px 20px;padding:20px 18px}}
/* Minimal */
.t-minimal h2{font-family:var(--font-accent);font-style:italic;font-weight:400;font-size:40px}
.t-minimal .d-client{background:none;border-left:3px solid var(--accent);border-radius:0;padding:4px 14px}
.t-minimal .d-table th{border-bottom:1px solid #111}
.t-minimal .d-totals .grand{border-top:1px solid #111}

/* Historial */
.history{max-width:980px;margin:0 auto;padding:24px 20px 60px}
.h2{font-size:32px}
.hist-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.hist-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.hist-item{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 18px}
.hist-item b{font-family:var(--font-head)}
.hist-item .meta{color:var(--muted);font-size:14px}
.hist-item .acts{display:flex;gap:6px;flex-wrap:wrap}
.hist-empty{background:#fff;border:1.5px dashed var(--line-strong);border-radius:var(--r);padding:40px;text-align:center;color:var(--muted)}
.app-foot{text-align:center;padding:24px;font-size:14px;color:var(--muted)}

@media print{
  @page{size:letter;margin:0}
  body{background:#fff}
  body>*:not(main.layout){display:none!important}
  main.layout{display:block;padding:0}
  .panel,.toast,.pro-modal{display:none!important}
  .preview-wrap,.preview-scale{position:static;padding:0;background:#fff;max-height:none;overflow:visible;border-radius:0}
  .doc{box-shadow:none;max-width:none;width:100%;min-height:100vh;padding:14mm 16mm;font-size:12px}
  .t-moderna .d-band{margin:0 -16mm 24px;padding:20px 16mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .d-client{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .d-table tr{break-inside:avoid}
}

/* Ajustes móviles */
fieldset{min-width:0}
.layout>*{min-width:0}
@media (max-width:560px){
  .app-head{padding:10px 16px}
  .toolbar,.layout{padding-left:16px;padding-right:16px}
  .pro-mail{display:none}
  .app-head .brand .wm{font-size:16px}
  .app-head .brand img{width:32px;height:32px}
  .pro-status>span:first-child{display:none}
  .head-right{gap:6px}
  .pro-status .link-btn{white-space:nowrap}
  .head-right .install-btn span{display:none}
    .head-right .btn{padding:8px 12px}
}

/* v2: clientes, firma, historial y respaldo */
.head-right .lang-link{min-height:38px;min-width:38px}
.pick-row select{font-weight:600}
.items-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.items-foot .link-btn{font-weight:700}
.item input[data-k=qty],.item input[data-k=price]{text-align:right}
.file-btn:focus-visible{outline:3px solid var(--brand-text);outline-offset:2px}
.d-table .desc{overflow-wrap:anywhere}
.d-table{table-layout:auto}
.d-sign{display:flex;gap:40px;margin-top:40px}
.d-sign div{flex:1;font-size:11px;color:#4A4A4A;text-align:center}
.d-sign span{display:block;border-top:1px solid #111;margin-bottom:6px;height:0}
.d-biz,.d-client{overflow-wrap:anywhere}
.hist-summary{margin:12px 0 0;font-size:15px}
.late{color:var(--danger);font-weight:700}
.hist-main{min-width:0;overflow-wrap:anywhere}
.st-sel{width:auto;min-height:38px;padding:6px 10px;font:600 14px var(--font-head);border-radius:999px}
.st-sel.st-pagada,.st-sel.st-aceptada{background:var(--soft-green);border-color:#9fd4b0;color:var(--green)}
.st-sel.st-rechazada,.st-sel.st-anulada{background:#FDECEA;border-color:#f3b8b1;color:#8A1C12}
.btn-del:hover{background:var(--danger);border-color:var(--danger)}
.backup-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
#histSearch{max-width:260px}
#histFilter{width:auto}
@media (pointer:coarse){.tab{min-height:44px}.st-sel{min-height:44px}.item .del{width:44px}}
@media (max-width:560px){.hist-head>div{width:100%}#histSearch{max-width:none;flex:1 1 100%}.actions{width:100%}.actions .btn{flex:1 1 auto}.d-sign{gap:16px}}
@media print{
  .d-totals,.d-notes,.d-sign,.d-client{break-inside:avoid}
  .d-table thead{display:table-header-group}
}
/* Montos muy largos en pantallas pequeñas */
@media (max-width:600px){.d-table .r{white-space:normal;overflow-wrap:anywhere}.d-table th,.d-table td{padding:8px 4px}.d-totals span{overflow-wrap:anywhere;min-width:0}.d-totals div{gap:8px}}

/* v3 Pro: enlace para aceptar, link de pago, resumen del mes y seguimiento */
.d-paylink{margin-top:6px!important;font-weight:600}
.d-paylink a{color:var(--accent,#1D4ED8);overflow-wrap:anywhere}
.link-dlg{border:0;border-radius:var(--r-lg);padding:22px;width:min(560px,calc(100vw - 32px));box-shadow:var(--shadow);color:var(--ink)}
.link-dlg::backdrop{background:rgba(10,14,30,.55)}
.ld-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;position:relative;padding-right:48px}
.ld-head .h3{font-size:20px;margin:6px 0 4px}
.link-dlg input{font-size:13px;margin:10px 0 12px;color:var(--muted)}
.ld-btns{display:flex;gap:8px;flex-wrap:wrap}
.ld-btns .btn{flex:1 1 auto}
.month-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-top:16px;position:relative}
.mb-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.mb-head .h3{font-size:18px;margin:0}
.mb-head input{width:auto;min-width:170px}
.mb-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mb-kpis div{background:var(--off);border-radius:10px;padding:12px;min-width:0}
.mb-kpis span{display:block;font-size:13px;color:var(--muted)}
.mb-kpis b{display:block;font:700 19px var(--font-head);overflow-wrap:anywhere;margin:2px 0}
.mb-kpis small{display:block;font-size:12px;color:var(--muted)}
@media (max-width:760px){.mb-kpis{grid-template-columns:1fr 1fr}}
.mb-follow{margin-top:16px}
.mb-follow-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.mb-follow h3{font-size:15px;margin:0}
.mb-follow ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.mb-follow li{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.mb-follow li>div:first-child{min-width:0;overflow-wrap:anywhere}
.mb-follow .meta{color:var(--muted);font-size:14px}
.mb-follow .acts{display:flex;gap:6px;flex-wrap:wrap}
.locked{transition:filter .2s}
html:not(.is-pro) .month-box .locked{filter:blur(5px);pointer-events:none;user-select:none}
.month-box .lock-cta{position:absolute;inset:56px 0 0;display:grid;place-items:center}
html.is-pro .month-box .lock-cta{display:none}

/* Página del cliente (ver) */
.viewer{max-width:860px;margin:0 auto;padding:20px 16px 40px}
.v-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-bottom:16px;box-shadow:var(--shadow)}
.v-bar p{flex:1 1 100%;text-align:center;margin:0 0 4px;font-weight:600}
.v-bar .btn{flex:1 1 180px}
.v-note{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 14px;text-align:center}
.v-note.warn{background:#FFF4E5;border-color:#F5C98B}
.v-empty{background:#fff;border:1.5px dashed var(--line-strong);border-radius:var(--r);padding:40px 20px;text-align:center}
.v-foot{text-align:center;font-size:13px;color:var(--muted);margin-top:18px}
@media print{body.viewer-page>*:not(.viewer){display:none!important}body.viewer-page>main.viewer{display:block!important}.viewer{padding:0;max-width:none}.v-bar,.v-note,.v-foot{display:none!important}.viewer .doc{box-shadow:none;max-width:none;min-height:100vh;padding:14mm 16mm}.t-moderna .d-band{margin:0 -16mm 24px;padding:20px 16mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.ld-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-right:0}.ld-head .pro-close{position:static;flex:none}
