/* JW INNOVA V1.7 — UI de cobranza, avisos y tema noche.
   No altera el modelo de datos ni el servicio D1. */
.jw-theme-btn{display:grid;place-items:center;width:36px;height:36px;border:1px solid #d1e0f2;background:#f6f9fe;color:#0d376d;border-radius:10px;flex-shrink:0;transition:background .2s,transform .2s}
.jw-theme-btn:hover{background:#e5f0fd;transform:translateY(-1px)}
.jw-theme-btn .jw-icon{width:19px;height:19px;stroke-width:2.1}
.jw-notification-wrap{position:relative;display:flex;align-items:center;flex:0 0 auto}
.jw-notification-panel{position:absolute;right:-14px;top:calc(100% + 16px);width:min(375px,calc(100vw - 28px));max-height:min(490px,calc(100vh - 95px));background:#fff;border:1px solid #d4e1f0;border-radius:17px;z-index:95;box-shadow:0 22px 64px #0b2b5f2b;display:flex;flex-direction:column;overflow:hidden;animation:jwPanelAppear .18s ease-out}
.jw-notification-panel[hidden]{display:none!important}
@keyframes jwPanelAppear{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.jw-notification-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 18px;border-bottom:1px solid #e4ebf4}
.jw-notification-head strong{font-size:14px;color:#12325f;font-weight:850}
.jw-notification-head>span{color:#6b819e;font-size:11px}
#jw-notification-list{overflow-y:auto;min-height:62px}
.jw-notif-item{display:flex;align-items:center;gap:12px;width:100%;border:none;background:transparent;padding:13px 17px;text-align:left;color:#1b395b;border-bottom:1px solid #eff3f9}
.jw-notif-item:hover{background:#f2f7fd}
.jw-notif-item>span:nth-child(2){flex:1;min-width:0}
.jw-notif-item strong{font-size:12px;line-height:1.4;display:block}
.jw-notif-item small{display:block;margin-top:4px;color:#6c86a4;font-size:10px;line-height:1.3}
.jw-notif-item>.jw-icon{width:15px;height:15px;color:#95a9c0}
.jw-notif-dot{width:10px;height:10px;border-radius:50%;flex:0 0 10px;background:#dca528;box-shadow:0 0 0 4px #f2bf351f}
.jw-notif-dot.overdue{background:#ce4c58;box-shadow:0 0 0 4px #ec68701e}
.jw-notif-dot.stock{background:#2a85d0;box-shadow:0 0 0 4px #258adb1e}
.jw-notif-empty{padding:26px 18px;text-align:center;color:#617e9b;font-size:12px}
.jw-notif-more{padding:10px 18px;color:#8296ae;font-size:11px}
.jw-notification-all{border:0;border-top:1px solid #e7eef7;background:#f5f9ff;color:#075cc1;padding:14px;font-size:12px;font-weight:800;text-align:center;cursor:pointer}
#jw-notify-count{position:absolute;top:-4px;right:-5px;min-width:16px;height:16px;padding:0 3px;border-radius:20px;display:grid;place-items:center;color:#fff;background:#c94953;font:800 10px 'DM Sans',sans-serif;border:2px solid #fff}
#jw-notify-count[hidden]{display:none!important}
.jw-monitor-panel{margin-top:17px;overflow:visible}
.jw-monitor-panel .table-wrap{border-radius:0 0 16px 16px}
.jw-monitor-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:23px 23px 10px}
.jw-monitor-heading h3{margin:4px 0 5px;color:#112f59;font:850 19px Manrope,sans-serif;letter-spacing:-.4px}
.jw-monitor-heading p{color:#71869f;font-size:12px;margin:0;line-height:1.55}
.jw-section-eyebrow{font-size:10px;color:#1c6cc0;font-weight:850;letter-spacing:1.2px}
.jw-counter-pill{display:inline-flex;align-items:center;padding:8px 11px;background:#eff5ff;color:#2463a8;font-size:11px;font-weight:800;white-space:nowrap;border-radius:20px}
.jw-billing-kpis{gap:12px}
.jw-billing-kpis .kpi{padding:17px 19px}
.jw-billing-filter-row{display:flex;gap:8px;padding:13px 22px;flex-wrap:wrap}
.jw-billing-pill{border:1px solid #d6e2f2;background:#f8fbff;color:#49627e;border-radius:22px;padding:9px 12px;font-size:11px;font-weight:750;white-space:nowrap;display:flex;align-items:center;gap:7px;transition:background .15s,border-color .15s}
.jw-billing-pill span{font-size:10px;border-radius:7px;color:#69819d;background:#e9f1fb;padding:2px 6px}
.jw-billing-pill:hover{border-color:#6aa1e4;background:#eef6ff}
.jw-billing-pill.selected{background:#0965ca;color:#fff;border-color:#0965ca;box-shadow:0 4px 10px #115baf20}
.jw-billing-pill.selected span{color:#e6f4ff;background:#ffffff2e}
.jw-billing-toolbar{padding-top:13px;padding-bottom:15px;border-top:1px solid #edf3fa}
.jw-billing-toolbar .search{width:min(385px,100%)}
.jw-table-footnote{color:#6b8099;border-top:1px solid #e8eef6;padding:12px 22px;font-size:10px;line-height:1.7}
.jw-monitor-panel .data-table th{font-size:9px;letter-spacing:.5px}
.jw-monitor-panel .data-table td{vertical-align:middle}
.jw-monitor-panel .data-table .table-actions{gap:5px;flex-wrap:wrap}
.jw-no-charge{color:#93a2b4;font-size:10px;white-space:nowrap}
.jw-action-primary{background:#eaf3ff!important;color:#0759b3!important;border:1px solid #c5defc!important;font-weight:800!important}
.jw-action-primary:hover{background:#d4e9ff!important}
/* Modo noche: paleta corporativa azul marino y azul, sin exceso de colores. */
body.jw-night{color-scheme:dark;--ink:#e5effe;--muted:#a3b3cb;--line:#293f5e;--card:#15253c;--shadow:0 7px 22px #010a1b3d;background:#0e192c;color:#e7effc}
body.jw-night .main,body.jw-night .main-content{background:#0e192c;color:#e7effc}
body.jw-night .topbar{background:#101f36;border-color:#2b3b55;color:#e9f3ff}
body.jw-night .crumb-brand,body.jw-night .top-product,body.jw-night .top-left #crumb-page,body.jw-night .top-date{color:#d2e3f8}
body.jw-night .jw-theme-btn,body.jw-night .jw-sound-btn,body.jw-night .jw-bell,body.jw-night .jw-logout-btn{background:#1a2d49;border-color:#344e73;color:#dbeafd}
body.jw-night .jw-global-search,body.jw-night .jw-global-search:focus-within{background:#162944;border-color:#344c6b}
body.jw-night .jw-global-search input,body.jw-night .jw-global-search .jw-icon{color:#dceaff}
body.jw-night .jw-global-search kbd{background:#2b4465;color:#c7dcef}
body.jw-night .jw-search-results,body.jw-night .jw-notification-panel{background:#15263d;border-color:#354b67;box-shadow:0 18px 50px #01091977}
body.jw-night .jw-notification-head,body.jw-night .jw-notif-item,body.jw-night .jw-notification-all{border-color:#29405e}
body.jw-night .jw-notification-head strong,body.jw-night .jw-notif-item,body.jw-night .jw-search-results button{color:#e3eefb}
body.jw-night .jw-notif-item:hover,body.jw-night .jw-search-results button:hover{background:#223a58}
body.jw-night .jw-notification-all{background:#192f4d;color:#a4d4ff}
body.jw-night .panel,body.jw-night .kpi,body.jw-night .jw-dash-card,body.jw-night .jw-metric,body.jw-night .modal,body.jw-night .plan{background:#15253b;border-color:#293e5a;box-shadow:0 8px 22px #0002}
body.jw-night .page-header h1,body.jw-night .kpi-value,body.jw-night .panel-title,body.jw-night .jw-metric-value,body.jw-night .jw-metric-label,body.jw-night .jw-card-title,body.jw-night .jw-due-row>strong,body.jw-night .jw-monitor-heading h3,body.jw-night .data-table strong,body.jw-night .stat-line strong,body.jw-night .jw-notification-head strong,body.jw-night .modal h2{color:#e8f0ff}
body.jw-night .page-header p,body.jw-night .panel-sub,body.jw-night .cell-secondary,body.jw-night .kpi-note,body.jw-night .kpi-label,body.jw-night .jw-metric-foot,body.jw-night .jw-card-title small,body.jw-night .jw-monitor-heading p,body.jw-night .jw-due-name small{color:#9cb1cd}
body.jw-night .jw-chart-legend,body.jw-night .jw-due-row,body.jw-night .jw-activity-row,body.jw-night .jw-quick,body.jw-night .jw-activity-info strong,body.jw-night .stat-line,body.jw-night .plan{color:#d8e7f8}
body.jw-night .data-table td{background:transparent;color:#cbdcf0;border-color:#273c59}
body.jw-night .data-table th{background:#1a2e49;color:#a6bedc;border-color:#304866}
body.jw-night .data-table tbody tr:hover{background:#1b3150}
body.jw-night .jw-due-row,body.jw-night .jw-activity-row{border-color:#2c4362}
body.jw-night .jw-due-row:hover,body.jw-night .jw-activity-row:hover{background:#1d3452}
body.jw-night .jw-quick,body.jw-night .mini-actions .action-card{background:#1b304e;border-color:#365071;color:#d8e9fb}
body.jw-night .jw-quick .jw-icon{color:#6fb3ff}
body.jw-night .toolbar,body.jw-night .jw-billing-toolbar,body.jw-night .modal-head,body.jw-night .modal-footer,body.jw-night .jw-table-footnote{border-color:#293e5d}
body.jw-night .jw-billing-pill{color:#bfcee5;background:#1b304b;border-color:#324b69}
body.jw-night .jw-billing-pill.selected{background:#1769c4;border-color:#1769c4;color:#fff}
body.jw-night .jw-billing-pill span{background:#2a4160;color:#d6e6fc}
body.jw-night .jw-counter-pill{background:#223d60;color:#b0d6fd}
body.jw-night .search,body.jw-night .filter,body.jw-night .field input,body.jw-night .field select,body.jw-night .field textarea,body.jw-night .report-filters input{color:#f0f5ff;background:#1a304c;border-color:#34506f}
body.jw-night .field label{color:#b9cde4}
body.jw-night .btn-outline,body.jw-night .btn-ghost,body.jw-night .table-action:not(.jw-action-primary){background:#233a56;border-color:#375779;color:#d9ecff}
body.jw-night .table-action:hover{background:#315276}
body.jw-night .inline-note,body.jw-night .feature,body.jw-night .receipt-preview,body.jw-night .trial-table tr.total td{background:#1c314e;border-color:#36516f;color:#cddcf0}
body.jw-night .stat-line,body.jw-night .receipt-lines .line{border-color:#29415e}
body.jw-night .jw-section-eyebrow{color:#89c2ff}
body.jw-night .jw-no-charge,body.jw-night .jw-table-footnote{color:#9bafc7}
body.jw-night .badge-gray{background:#2e4058;color:#c8d9ed}
body.jw-night .badge-green{background:#1e493d;color:#a9e5bd}
body.jw-night .badge-red{background:#58303a;color:#ffb6ba}
body.jw-night .badge-yellow{background:#524329;color:#ffe4a0}
body.jw-night .badge-blue{background:#243f60;color:#a9d8ff}
@media(max-width:780px){.jw-monitor-heading{flex-wrap:wrap;padding:17px 14px 7px}.jw-billing-filter-row{padding:11px 14px;gap:6px}.jw-billing-pill{padding:8px 10px;font-size:10px}.jw-notification-panel{position:fixed;right:12px;top:64px}.jw-table-footnote{padding:12px 14px}.jw-billing-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.jw-billing-kpis .kpi{padding:13px}.jw-counter-pill{font-size:10px}}
@media(max-width:440px){.jw-notification-panel{left:12px;width:auto}.jw-theme-btn{height:31px;width:31px}.jw-theme-btn .jw-icon{width:16px;height:16px}}

/* V1.8 · Confirmaciones corporativas y acciones de archivo */
.jw-inventory-notice{margin-top:12px;margin-bottom:13px}
.table-action-danger{background:#fff6f6!important;border:1px solid #f5cbd0!important;color:#ae3549!important;font-weight:750!important}
.table-action-danger:hover{background:#ffe8eb!important;border-color:#eaa2ac!important}
.row-archived{opacity:.76}
.jw-confirm-root[hidden]{display:none!important}
.jw-confirm-root{position:fixed;inset:0;z-index:100010;display:grid;place-items:center;padding:18px;isolation:isolate}
.jw-confirm-backdrop{position:absolute;inset:0;background:rgba(3,15,34,.67);backdrop-filter:blur(6px);animation:jwDialogDim .2s ease both}
.jw-confirm-card{position:relative;z-index:1;width:min(440px,100%);max-height:min(92vh,720px);overflow:auto;background:#fff;border:1px solid #d4e2f4;border-radius:23px;padding:29px;box-shadow:0 26px 90px rgba(0,21,53,.4);color:#102844;text-align:left;animation:jwDialogLift .24s cubic-bezier(.16,1,.3,1)}
@keyframes jwDialogDim{from{opacity:0}to{opacity:1}}
@keyframes jwDialogLift{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.jw-confirm-close{position:absolute;right:18px;top:16px;border:0;background:#f3f7fd;color:#657e9c;border-radius:10px;width:33px;height:33px;font-size:22px;line-height:1;cursor:pointer}
.jw-confirm-close:hover{background:#e3ecf8}
.jw-confirm-glyph{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;margin-bottom:20px;font-size:25px;font-weight:900;background:#edf5ff;color:#1766b5;border:1px solid #d7e8ff}
.jw-confirm-glyph.jw-confirm-danger{background:#fff0f2;border-color:#fbd4d9;color:#c03b51}
.jw-confirm-glyph.jw-confirm-success{background:#eaf7f1;border-color:#cdecdc;color:#23885b}
.jw-confirm-glyph.jw-confirm-warning{background:#fff7e8;border-color:#f6e4be;color:#aa761c}
.jw-confirm-eyebrow{display:block;margin-bottom:6px;font-size:9px;letter-spacing:1.5px;font-weight:850;color:#567ba3}
.jw-confirm-card h2{font:850 22px/1.27 Manrope,system-ui,sans-serif;letter-spacing:-.55px;color:#102d51;margin:0 36px 10px 0}
.jw-confirm-card p{color:#607996;font-size:13px;line-height:1.7;margin:0 0 19px;white-space:pre-line}
.jw-confirm-details{border:1px solid #dfebf7;border-radius:13px;background:#f6f9fe;overflow:hidden;margin:18px 0}
.jw-confirm-detail{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 13px;font-size:11px;border-bottom:1px solid #e2ebf6}
.jw-confirm-detail:last-child{border-bottom:0}
.jw-confirm-detail span{color:#6b8199}
.jw-confirm-detail strong{color:#183a5f;text-align:right;word-break:break-word}
.jw-confirm-verify{margin:18px 0}
.jw-confirm-verify label{display:block;font-weight:700;color:#375671;font-size:11px;margin-bottom:8px}
.jw-confirm-verify input{width:100%;padding:13px;border:1px solid #bfd0e6;border-radius:11px;font-size:13px;outline:none;color:#173452;background:#fff}
.jw-confirm-verify input:focus{border-color:#1872ce;box-shadow:0 0 0 3px #2784dc1c}
.jw-confirm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}
.jw-confirm-secondary,.jw-confirm-primary{border-radius:11px;min-height:43px;padding:12px 15px;font-size:12px;font-weight:800;cursor:pointer;border:1px solid transparent;transition:transform .15s,background .15s,box-shadow .15s}
.jw-confirm-secondary{background:#f5f8fc;color:#46617d;border-color:#d8e3f2}
.jw-confirm-secondary:hover{background:#eaf1f9}
.jw-confirm-primary{background:#0d68c9;color:#fff;box-shadow:0 5px 14px #1564b829}
.jw-confirm-primary:hover:not(:disabled){background:#075ab2;transform:translateY(-1px)}
.jw-confirm-primary.is-danger{background:#c43b50;box-shadow:0 5px 14px #d33e5620}
.jw-confirm-primary.is-danger:hover:not(:disabled){background:#a92d42}
.jw-confirm-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
body.jw-night .jw-confirm-card{background:#15263e;border-color:#314a6a;color:#e8f0fd}
body.jw-night .jw-confirm-card h2{color:#f2f7ff}
body.jw-night .jw-confirm-eyebrow{color:#9fc8f3}
body.jw-night .jw-confirm-card p,body.jw-night .jw-confirm-detail span{color:#b0c3da}
body.jw-night .jw-confirm-details{background:#1a304d;border-color:#36516e}
body.jw-night .jw-confirm-detail{border-color:#36516e}
body.jw-night .jw-confirm-detail strong{color:#edf5ff}
body.jw-night .jw-confirm-secondary,body.jw-night .jw-confirm-close{background:#243c59;border-color:#45607c;color:#d8e8fa}
body.jw-night .jw-confirm-verify input{background:#1b3252;border-color:#385477;color:#fff}
body.jw-night .table-action-danger{background:#4e2935!important;color:#ffc4cb!important;border-color:#754150!important}
@media(max-width:550px){.jw-confirm-card{padding:22px;border-radius:18px}.jw-confirm-actions{flex-direction:column-reverse}.jw-confirm-actions button{width:100%}.jw-confirm-detail{flex-wrap:wrap}.jw-confirm-detail strong{text-align:left}}
@media(prefers-reduced-motion:reduce){.jw-confirm-card,.jw-confirm-backdrop{animation:none}}
