:root{--bg:#f4f7fb;--panel:#fff;--text:#142033;--muted:#64748b;--primary:#183b73;--primary2:#2563eb;--line:#e2e8f0;--success:#16a34a;--danger:#dc2626;--warning:#f59e0b;--info:#0891b2;--shadow:0 14px 35px rgba(15,23,42,.08);--radius:18px}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:270px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,#0f2344,#183b73);color:#fff;padding:20px;overflow:auto;z-index:20}.brand{display:flex;gap:12px;align-items:center;margin-bottom:24px}.brand-mark{width:46px;height:46px;border-radius:14px;background:#fff;color:var(--primary);display:grid;place-items:center;font-weight:900}.brand strong{display:block;font-size:18px}.brand span{display:block;color:#bfdbfe;font-size:12px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{padding:12px 13px;border-radius:13px;color:#eff6ff;font-weight:700}.sidebar nav a:hover{background:rgba(255,255,255,.12)}.sidebar-card{margin-top:24px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:16px}.sidebar-card p{font-size:13px;line-height:1.45;color:#dbeafe;margin-bottom:0}.main{margin-left:270px;width:calc(100% - 270px)}.topbar{min-height:76px;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;position:sticky;top:0;z-index:10}.topbar small{display:block;color:var(--muted);font-size:12px}.hamb{display:none;border:0;background:#fff;border-radius:12px;padding:10px;box-shadow:var(--shadow)}.global-search{flex:1;max-width:560px}.global-search input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:999px;background:#f8fafc}.top-user{display:flex;align-items:center;gap:10px}.content{padding:24px}.footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;padding:16px 24px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:18px}.card h1,.card h2,.card h3{margin-top:0;letter-spacing:-.02em}.hero{background:linear-gradient(135deg,#eef5ff,#fff);border-color:#d7e7ff}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat .num{font-size:30px;font-weight:900;margin-top:8px}.stat .label{color:var(--muted);font-size:14px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--primary2),var(--primary));color:#fff;font-weight:800;cursor:pointer}.btn.ghost{background:#fff;color:var(--primary);border:1px solid #cfe0ff}.btn.danger{background:linear-gradient(135deg,#dc2626,#991b1b)}.btn.small{padding:7px 10px;font-size:13px;border-radius:10px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}table{width:100%;border-collapse:collapse}th,td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f8fafc;color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.04em}tr:hover td{background:#fbfdff}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.field{display:grid;gap:6px;margin-bottom:12px}.field label{font-size:13px;font-weight:800;color:#45566f}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);outline:none}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(37,99,235,.10)}.filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}.badge-success{background:#dcfce7;color:#166534}.badge-danger{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.badge-info{background:#cffafe;color:#155e75}.badge-neutral{background:#e2e8f0;color:#334155}.alert{padding:12px 14px;border-radius:14px;margin-bottom:14px;border:1px solid var(--line)}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef5ff,#f8fafc);padding:20px}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 28px 70px rgba(15,23,42,.12)}.login-card .brand{color:var(--text)}.login-card .brand span{color:var(--muted)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}.detail-item{border-bottom:1px solid var(--line);padding:9px 0}.detail-item small{display:block;color:var(--muted);font-weight:800}.report-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.report-card{display:block;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}
@media(max-width:1100px){.grid.cols-4,.grid.cols-3,.filters{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.report-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.sidebar{transform:translateX(-105%);transition:.2s;width:86vw}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.hamb{display:inline-flex}.topbar{align-items:flex-start;flex-wrap:wrap}.global-search{order:3;max-width:100%;width:100%}.content{padding:14px}.grid.cols-4,.grid.cols-3,.grid.cols-2,.filters,.form-grid,.report-list,.detail-grid{grid-template-columns:1fr}.footer{display:grid}.top-user{margin-left:auto}}

.row-overdue td{background:#fff1f2!important}.row-today td{background:#fffbeb!important}.row-done td{opacity:.78}.muted{color:var(--muted)}.nowrap{white-space:nowrap}.small-note{font-size:12px;color:var(--muted)}
.timeline{display:grid;gap:12px}.timeline-item{border-left:4px solid #cbd5e1;padding:12px 14px;background:#f8fafc;border-radius:0 14px 14px 0}.timeline-item.followup{border-color:#f59e0b}.timeline-item.quote{border-color:#16a34a}.timeline-item.conversation{border-color:#2563eb}.timeline-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}.danger-zone{border-color:#fecaca;background:#fff7f7}.checkbox-line{display:flex;align-items:center;gap:10px}.checkbox-line input{width:auto}.duplicates{border:1px solid #f59e0b;background:#fffbeb;padding:14px;border-radius:14px;margin-bottom:16px}.kpi-link{display:block}.kpi-link:hover{transform:translateY(-1px)}
@media(max-width:860px){.actions .btn{flex:1}.table-wrap td{min-width:120px}}
.network-pill{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.network-pill.online{background:#dcfce7;color:#166534}.network-pill.offline{background:#fee2e2;color:#991b1b}.note-compose textarea{min-height:190px}.notes-list{display:grid;gap:10px;max-height:560px;overflow:auto}.note-card{border:1px solid var(--line);background:#f8fafc;border-radius:14px;padding:14px;line-height:1.5}.note-card.important{border-color:#f59e0b;background:#fffbeb}.timeline-item.note{border-color:#7c3aed}@media(max-width:860px){.network-pill{order:-1}.top-user{flex-wrap:wrap}.note-compose textarea{min-height:220px}}


/* CRM v1.3 · Prefacturas */
.prefactura-lines{display:grid;gap:10px}.prefactura-line{padding:12px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.prefactura-line-main{display:grid;grid-template-columns:minmax(230px,2.2fr) minmax(210px,1.8fr) minmax(78px,.65fr) minmax(105px,.85fr) minmax(105px,.9fr) minmax(112px,.9fr) minmax(76px,.65fr) minmax(170px,1.25fr) auto;gap:8px;align-items:end}.prefactura-line .field{margin-bottom:0}.prefactura-line .field label{font-size:12px;margin-bottom:4px}.prefactura-line textarea{min-height:58px;resize:vertical;padding-top:8px;padding-bottom:8px}.prefactura-line input,.prefactura-line select{min-height:42px}.prefactura-line .line-discount{position:relative}.prefactura-line .line-discount-full{margin-top:5px;width:100%;padding:6px 8px}.prefactura-line .line-remove{align-self:end;min-height:42px}.prefactura-line-sat{margin-top:8px;border-top:1px dashed var(--line);padding-top:7px}.prefactura-line-sat summary{cursor:pointer;color:var(--primary);font-size:12px;font-weight:800}.prefactura-line-sat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.fiscal-recon-stats .card{margin-bottom:12px}.fiscal-recon-stats h2{margin:3px 0 0}.prefactura-totals{width:min(430px,100%);margin:18px 0 0 auto;display:grid;gap:8px}.prefactura-totals>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--line)}.prefactura-totals .grand-total{font-size:20px;border-top:2px solid var(--primary);border-bottom:0;padding-top:13px}.document-warning{padding:10px 14px;border:2px solid #b91c1c;border-radius:12px;color:#991b1b;background:#fff7f7;text-align:center;font-weight:900}.document-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.document-meta .card{margin-bottom:0}.number{text-align:right}.table-subtext{display:block;color:var(--muted);font-size:12px;margin-top:3px}.timeline-item.prefactura{border-color:#7c3aed}.settings-note{border-left:4px solid var(--info);padding:12px 14px;background:#ecfeff;border-radius:0 12px 12px 0}.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.inline-form input{width:min(320px,100%)}.btn.disabled,.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.print-only{display:none}
@media(max-width:1450px){.prefactura-line-main{grid-template-columns:repeat(6,minmax(0,1fr))}.prefactura-line .line-description,.prefactura-line .line-description-fiscal{grid-column:span 3}.prefactura-line .line-object{grid-column:span 2}}
@media(max-width:860px){.prefactura-line-main{grid-template-columns:repeat(2,minmax(0,1fr))}.prefactura-line .line-description,.prefactura-line .line-description-fiscal,.prefactura-line .line-object{grid-column:1/-1}.prefactura-line-sat-grid{grid-template-columns:1fr}.prefactura-line .line-remove{grid-column:1/-1}.document-meta{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.document-meta{grid-template-columns:1fr}}

/* v1.4 · menú plegable y mejoras para iPad */
.sidebar,.main{transition:transform .22s ease,margin-left .22s ease,width .22s ease}.sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.sidebar-head .brand{margin-bottom:24px}.sidebar-close{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;width:36px;height:36px;border-radius:11px;font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center}.sidebar-close:hover,.sidebar-hide-action:hover{background:rgba(255,255,255,.18)}.sidebar-hide-action{width:100%;margin-top:14px;padding:10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;font-weight:800;cursor:pointer}.topbar-brand{display:flex;align-items:center;gap:10px;min-width:max-content}.hamb{display:inline-flex;align-items:center;gap:7px;cursor:pointer;color:var(--primary);font-weight:800}.hamb-label{font-size:12px}.sidebar-backdrop{position:fixed;inset:0;border:0;background:rgba(15,23,42,.42);z-index:19;cursor:pointer}.sidebar-backdrop[hidden]{display:none}.sidebar-hidden .sidebar{transform:translateX(-105%)}.sidebar-hidden .main{margin-left:0;width:100%}.sidebar-hidden [data-sidebar-toggle]{box-shadow:0 0 0 3px rgba(37,99,235,.12),var(--shadow)}
@media(min-width:861px){.sidebar-backdrop{display:none!important}}
@media(max-width:1100px){.hamb-label{display:none}.topbar{padding-inline:14px}.top-user>span,.top-user>small{display:none}}
@media(max-width:860px){.sidebar{transform:translateX(-105%);width:min(86vw,340px)}.sidebar.open{transform:translateX(0)}.sidebar-hidden .sidebar{transform:translateX(-105%)}.main,.sidebar-hidden .main{margin-left:0;width:100%}.topbar-brand{min-width:0}.sidebar-hide-action{display:none}.sidebar-close{display:grid}.top-user{gap:6px}.network-pill{max-width:165px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:620px){.topbar{gap:8px}.topbar-brand>div strong{font-size:14px}.topbar-brand>div small{display:none}.top-user .btn.small{padding:7px 8px}.content{padding:10px}.card{padding:15px;border-radius:15px}}


/* v1.4.1 - protección de captura de prefacturas */
.prefactura-save-guard,.prefactura-recovery{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;margin-bottom:16px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;color:#1e3a8a}.prefactura-save-guard>div:first-child,.prefactura-recovery>div:first-child{display:grid;gap:2px}.prefactura-save-guard span,.prefactura-recovery span{font-size:12px;color:#475569}.prefactura-save-guard.is-saved{background:#ecfdf5;border-color:#a7f3d0;color:#166534}.prefactura-save-guard.is-saving{background:#fffbeb;border-color:#fde68a;color:#92400e}.prefactura-save-guard.is-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.prefactura-validation-summary{padding:14px 16px;margin-bottom:16px;border:2px solid #ef4444;border-radius:14px;background:#fef2f2;color:#991b1b;font-weight:700}.prefactura-validation-summary strong{display:block;margin-bottom:8px}.prefactura-validation-summary ul{margin:0;padding-left:20px}.input-invalid{border-color:#dc2626!important;box-shadow:0 0 0 4px rgba(220,38,38,.10)!important}.field.field-invalid label{color:#b91c1c}.prefactura-recovery{background:#fff7ed;border-color:#fdba74;color:#9a3412}.prefactura-recovery[hidden]{display:none!important}.prefactura-submit-lock{opacity:.7;pointer-events:none}
@media(max-width:860px){.prefactura-save-guard,.prefactura-recovery{align-items:stretch}.prefactura-save-guard .btn,.prefactura-recovery .actions{width:100%}.prefactura-recovery .actions .btn{flex:1}}

.badge-paused{background:#ede9fe;color:#5b21b6}.row-soft-deleted td{opacity:.65;background:#f8fafc!important}.quote-calculation-note{background:#eff6ff;color:#1e3a8a;border-color:#bfdbfe}


/* CRM v1.6 · paginación SQL y sesión extendida */
.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0 14px}.pagination-summary{font-size:13px;color:var(--muted)}.pagination-size{display:flex;align-items:center;gap:8px;margin-left:auto}.pagination-size label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;color:var(--muted)}.pagination-size select{width:auto;min-width:72px;padding:7px 9px}.pagination-pages{display:flex;align-items:center;gap:6px;flex-wrap:wrap;width:100%}.pagination-current{pointer-events:none}.login-remember{margin:4px 0 8px}.login-remember input{width:auto}
@media(max-width:860px){.pagination-bar{align-items:stretch}.pagination-size{margin-left:0}.pagination-pages{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.pagination-pages .btn{flex:0 0 auto}}

/* CRM v1.7 · motor comercial y cotizaciones por partidas */
.commercial-filters{grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) minmax(140px,.8fr) auto}.filter-action{align-self:end}.commercial-margin-warning{margin:10px 0 16px;padding:12px 14px;border:1px solid #fecaca;border-radius:12px;background:#fef2f2;color:#991b1b;font-weight:800}.catalog-picker-card{border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#fff)}.catalog-picker-grid{display:grid;grid-template-columns:220px minmax(260px,1fr) auto;gap:12px;align-items:end}.catalog-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:320px;overflow:auto;padding-top:8px}.catalog-pick{border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px 12px;display:flex;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;color:var(--text)}.catalog-pick:hover{border-color:#93c5fd;background:#f8fbff}.catalog-pick span{display:grid;gap:3px}.catalog-pick small{color:var(--muted)}.catalog-pick b{color:var(--primary2);white-space:nowrap}.quote-lines{display:grid;gap:14px}.quote-line{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.quote-line.margin-negative{border-color:#fecaca;background:#fffafa}.quote-line-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.quote-line-grid{display:grid;grid-template-columns:repeat(6,minmax(115px,1fr));gap:10px}.quote-line-desc textarea{min-height:78px}.internal-field{background:#fff7ed;border-radius:12px;padding:8px}.quote-line-metrics{display:flex;gap:16px;flex-wrap:wrap;padding:10px 0 0;border-top:1px dashed var(--line);font-size:12px;color:var(--muted)}.quote-line-metrics strong{color:var(--text)}.internal-metric{color:#9a3412}.quote-totals{width:min(560px,100%);margin-left:auto}.quote-totals>div{display:flex;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid var(--line)}.quote-totals .grand-total{font-size:20px;font-weight:900;border-top:2px solid var(--primary);margin-top:5px;padding-top:12px}.quote-totals .internal-total{color:#9a3412;background:#fff7ed;padding:8px 10px;border-radius:8px}.quote-sticky-actions{position:sticky;bottom:10px;z-index:4;background:rgba(244,247,251,.94);backdrop-filter:blur(10px);padding:10px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin-top:16px}.internal-col{background:#fff7ed!important}.commercial-financial-grid{align-items:end}
@media(max-width:1250px){.quote-line-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-results{grid-template-columns:1fr}}
@media(max-width:900px){.catalog-picker-grid{grid-template-columns:1fr 1fr}.catalog-search-action{grid-column:span 2}.commercial-filters{grid-template-columns:1fr 1fr}.quote-line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.catalog-picker-grid,.commercial-filters,.quote-line-grid{grid-template-columns:1fr}.catalog-search-action{grid-column:auto}.quote-line-head{align-items:flex-start}.quote-sticky-actions{bottom:5px}.quote-sticky-actions .btn{flex:1}.catalog-results{max-height:260px}}
.alert.info{background:#eff6ff;color:#1e3a8a;border-color:#bfdbfe}

/* v1.8 · asistente de claves SAT frecuentes */
.sat-info-note a{font-weight:800;margin-left:6px}.sat-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0}.sat-helper{border:1px solid var(--line);border-radius:16px;padding:14px;background:#f8fafc}.sat-results{display:grid;gap:7px;max-height:250px;overflow:auto;margin-top:7px}.sat-pick{display:grid;grid-template-columns:88px 1fr;gap:8px 10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 10px;text-align:left;cursor:pointer;color:var(--text)}.sat-pick:hover{border-color:#93c5fd;background:#eff6ff}.sat-pick strong{color:var(--primary2)}.sat-pick span{font-size:13px}.sat-pick small{grid-column:2;color:var(--muted);font-size:11px}.sat-empty{padding:10px;background:#fff;border:1px dashed var(--line);border-radius:10px}.sat-catalog-actions{margin:-4px 0 16px}.sat-admin-grid{align-items:start}.inline-form{display:inline}.alert.warning{background:#fffbeb;border-color:#fde68a;color:#92400e}
@media(max-width:900px){.sat-grid{grid-template-columns:1fr}}


/* REV5: navegación agrupada con scroll persistente y roles configurables */
.sidebar nav{display:block}.sidebar nav>a,.menu-group-links a{display:block;margin:4px 0;padding:10px 12px;border-radius:11px;color:#eff6ff;font-weight:700}.sidebar nav a.active{background:rgba(255,255,255,.19);box-shadow:inset 3px 0 0 #fff}.menu-group{margin:7px 0;border:1px solid rgba(255,255,255,.10);border-radius:13px;background:rgba(255,255,255,.035);overflow:hidden}.menu-group summary{cursor:pointer;list-style:none;padding:11px 12px;font-weight:900;color:#bfdbfe;font-size:12px;text-transform:uppercase;letter-spacing:.06em;user-select:none}.menu-group summary::-webkit-details-marker{display:none}.menu-group summary:after{content:'▾';float:right;transition:transform .15s}.menu-group:not([open]) summary:after{transform:rotate(-90deg)}.menu-group-links{padding:0 6px 6px}.menu-group-links a{font-size:14px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.permission-group{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfdff}.permission-group h3{margin:0 0 10px}.permission-item{display:flex;align-items:flex-start;gap:9px;padding:8px;border-radius:10px}.permission-item:hover{background:#f1f5f9}.permission-item input{width:auto;margin-top:3px}.permission-item span{display:grid;gap:2px}.permission-item small{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}@media(max-width:860px){.permission-grid{grid-template-columns:1fr}}

.line-discount-full{margin-top:5px;width:100%;font-size:11px;padding:6px 8px}


/* CRM v1.17.0-alpha2 · Fase 5 UI STE / Ayuda / catálogos */
.lifecycle-item{border:1px solid var(--line);border-radius:14px;padding:13px;margin-top:12px;background:#fbfdff}.lifecycle-docs code{font-size:11px}.signature-card{border-color:#bfdbfe;background:linear-gradient(135deg,#f8fbff,#fff)}.signature-wrap{margin:12px 0}.signature-wrap canvas{display:block;width:100%;height:220px;border:2px dashed #94a3b8;border-radius:14px;background:#fff;touch-action:none}.lifecycle-kpis .card{min-height:105px}.lifecycle-kpis .num{font-size:28px}.source-external-note{font-size:12px;color:var(--muted)}
@media(max-width:620px){.signature-wrap canvas{height:180px}}
