html, body { margin: 0; min-height: 100%; font-family: Arial, Helvetica, sans-serif; background: #f4f7fb; color: #0f172a; }
.apc-shell { min-height: 100vh; display: flex; justify-content: center; background: linear-gradient(180deg, #f97316 0%, #fb923c 120px, #f4f7fb 120px); }
.apc-app { width: 100%; max-width: 460px; padding: 16px 14px 28px; box-sizing: border-box; }
.apc-card { background: #fff; border-radius: 22px; padding: 18px; box-shadow: 0 14px 34px rgba(15, 23, 42, .14); margin-bottom: 14px; }
.apc-header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.apc-robot { width: 44px; height: 44px; object-fit: contain; flex: 0 0 auto; }
.apc-home-main .apc-robot { width: 76px; height: 76px; }
.apc-brand { font-size: 14px; color: #1e3a8a; font-weight: 800; }
.apc-title { margin: 2px 0 0; font-size: 28px; line-height: 1; font-weight: 800; color: #111827; }
.apc-sub { margin: 8px 0 0; color: #475569; font-weight: 700; line-height: 1.35; }
.apc-form { display: grid; gap: 10px; margin-top: 14px; }
.apc-label { font-size: 13px; font-weight: 800; color: #0f172a; }
.apc-input, .apc-select, .apc-textarea { width: 100%; box-sizing: border-box; border: 1px solid #cbd5e1; border-radius: 14px; min-height: 48px; padding: 11px 13px; font-size: 16px; background: #fff; }
.apc-textarea { min-height: 92px; resize: vertical; }
.apc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.apc-btn { border: 0; border-radius: 16px; min-height: 50px; padding: 12px 14px; font-weight: 800; font-size: 16px; text-decoration: none; display: flex; align-items: center; justify-content: center; cursor: pointer; box-sizing: border-box; }
.apc-btn-primary { background: #1e3a8a; color: #fff; }
.apc-btn-green { background: #16a34a; color: #fff; }
.apc-btn-soft { background: #e5e7eb; color: #111827; }
.apc-btn-outline { background: #fff; color: #1e3a8a; border: 2px solid #bfdbfe; }
.apc-link { color: #1e3a8a; font-weight: 800; text-decoration: none; }
.apc-actions { display: grid; gap: 10px; margin-top: 14px; }
.apc-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 12px; }
.apc-tab { min-height: 42px; border-radius: 14px; background: #fff; border: 1px solid #cbd5e1; color: #334155; font-weight: 800; text-decoration: none; display: flex; align-items: center; justify-content: center; font-size: 13px; }
.apc-tab-active { background: #1e3a8a; color: #fff; border-color: #1e3a8a; }
.apc-metric { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid #e2e8f0; font-weight: 700; }
.apc-metric:last-child { border-bottom: 0; }
.apc-money { color: #166534; font-weight: 800; }
.apc-list { display: grid; gap: 10px; margin-top: 12px; }
.apc-item { border: 1px solid #e2e8f0; background: #f8fafc; border-radius: 16px; padding: 12px; }
.apc-item-title { font-weight: 800; margin-bottom: 4px; }
.apc-muted { color: #64748b; font-size: 14px; line-height: 1.35; }
.apc-status { border-radius: 14px; padding: 10px 12px; background: #eff6ff; color: #1e3a8a; font-weight: 700; margin-top: 10px; }
.apc-warning { background: #fff7ed; color: #9a3412; }
.apc-search-results { display: grid; gap: 9px; margin-top: 10px; }
/* HOTFIX 22-04 problema 2: fila input + boton BUSCAR explicito (la
   busqueda en vivo ya funcionaba sola, esto es solo la afordancia
   visual -- ver apcBusinessSearchGo en cliente_v3.js). */
.apc-search-field-row{display:flex;gap:8px;align-items:stretch;margin-top:2px}
.apc-search-field-row .apc-input{width:auto;flex:1;min-width:0}
.apc-search-go-btn{flex:none;min-height:48px;padding:0 16px;border:0;border-radius:14px;background:#2563eb;color:#fff;font-weight:900;font-size:14px;white-space:nowrap;cursor:pointer}
.apc-search-go-btn:active{transform:scale(.97);filter:brightness(.95)}
.apc-business { text-align: left; width: 100%; border: 1px solid #e2e8f0; background: #fff; border-radius: 16px; padding: 12px; cursor: pointer; }
.apc-business strong { display: block; color: #0f172a; font-size: 16px; }
.apc-business span { display: block; color: #64748b; font-size: 13px; margin-top: 4px; }
.apc-empty { padding: 18px; text-align: center; color: #64748b; font-weight: 800; border: 1px dashed #cbd5e1; border-radius: 16px; background: #f8fafc; }
.apc-qr-box { height: 118px; border-radius: 18px; background: repeating-linear-gradient(45deg, #0f172a 0 8px, #fff 8px 16px); opacity: .14; margin-top: 10px; }
@media (max-width: 380px) { .apc-row, .apc-tabs { grid-template-columns: 1fr; } .apc-title { font-size: 25px; } }

.apc-message { border-radius: 14px; padding: 10px 12px; background: #ecfdf5; color: #166534; font-weight: 700; }
.apc-message-error { background: #fef2f2; color: #991b1b; }

.apc-file-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.apc-mini-btn { border: 1px solid #fecaca; background: #fff; color: #991b1b; border-radius: 12px; min-height: 38px; padding: 8px 10px; font-weight: 800; cursor: pointer; }

.apc-thumb { width: 48px; height: 48px; border-radius: 12px; background: #e0f2fe; color: #075985; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; flex: 0 0 auto; }
.apc-summary-row { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 10px; }
.apc-warning-inline { margin-top: 5px; color: #991b1b; font-weight: 800; font-size: 13px; }
.apc-config-form { display: grid; gap: 10px; }
.apc-choice-grid { display: grid; gap: 10px; }
.apc-choice { display: flex; align-items: center; gap: 10px; border: 2px solid #bfdbfe; border-radius: 14px; padding: 12px; font-weight: 800; color: #1e3a8a; cursor: pointer; }
.apc-choice input { width: 18px; height: 18px; margin: 0; }

/* M084-E flujo cliente estilo Mostrador */
.apc-flow-shell { background: #eef3f8; }
.apc-flow-app { max-width: 760px; }
.apc-work-panel { border-radius: 8px; box-shadow: 0 10px 24px rgba(15,23,42,.10); border: 1px solid #dbe4f0; }
.apc-flow-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.apc-step-pill { flex: 0 0 auto; border-radius: 999px; background: #fff7ed; color: #9a3412; border: 1px solid #fed7aa; padding: 8px 11px; font-weight: 800; font-size: 13px; }
.apc-section-title { margin-top: 16px; font-weight: 800; color: #0f172a; font-size: 15px; }
.apc-upload-zone { margin-top: 14px; border: 2px dashed #93c5fd; background: #eff6ff; border-radius: 8px; padding: 18px; min-height: 190px; display: grid; place-items: center; text-align: center; gap: 12px; cursor: pointer; box-sizing: border-box; }
.apc-upload-zone input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.apc-upload-icon { width: 64px; height: 64px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: #1e3a8a; color: #fff; font-size: 42px; line-height: 1; font-weight: 800; }
.apc-upload-title { font-size: 24px; font-weight: 800; color: #0f172a; }
.apc-upload-sub { color: #475569; font-weight: 800; margin-top: 4px; }
.apc-wide-btn { width: 100%; max-width: 360px; justify-self: center; }
.apc-work-list { gap: 12px; }
.apc-work-card { background: #fff; border: 1px solid #dbe4f0; border-radius: 8px; padding: 14px; box-shadow: 0 8px 18px rgba(15,23,42,.06); display: grid; gap: 10px; }
.apc-work-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.apc-file-badge { min-width: 58px; border-radius: 6px; padding: 7px 9px; background: #dbeafe; color: #1d4ed8; font-weight: 800; font-size: 12px; text-align: center; }
.apc-file-badge-image { background: #dcfce7; color: #166534; }
.apc-work-title { font-weight: 800; font-size: 18px; color: #111827; overflow-wrap: anywhere; }
.apc-work-meta { color: #64748b; font-size: 14px; font-weight: 700; line-height: 1.35; }
.apc-work-note { border-radius: 8px; background: #f8fafc; border: 1px solid #e2e8f0; padding: 9px 10px; color: #334155; font-weight: 700; }
.apc-flow-actions { grid-template-columns: 1fr; }
.apc-config-card .apc-input, .apc-config-card .apc-select { border-radius: 8px; min-height: 46px; }
.apc-control-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.apc-control-grid label, .apc-control-block { display: grid; gap: 6px; font-weight: 800; color: #0f172a; }
.apc-control-grid span, .apc-control-block span { font-size: 13px; }
.apc-price-chip { border-radius: 6px; background: #ecfdf5; color: #166534; padding: 7px 9px; font-weight: 800; }
.apc-config-result { border-radius: 8px; background: #f8fafc; color: #334155; padding: 9px 10px; font-weight: 800; }
.apc-destination-box { margin-top: 12px; border-radius: 8px; background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412; padding: 11px 12px; font-weight: 800; }
.apc-total-panel { margin-top: 14px; border: 1px solid #dbe4f0; border-radius: 8px; padding: 4px 12px; background: #f8fafc; }
.apc-summary-price { color: #166534; font-size: 20px; }
.apc-confirm-btn { min-height: 62px; font-size: 18px; }
.apc-order-result { margin-top: 14px; }
.apc-order-done { background: #ecfdf5; color: #14532d; border: 1px solid #bbf7d0; }
.apc-qr-panel { display: grid; grid-template-columns: 1fr 160px; align-items: center; gap: 14px; }
.apc-order-sent { font-weight: 800; font-size: 20px; color: #14532d; }
.apc-order-code { margin-top: 6px; font-size: 18px; font-weight: 800; color: #0f172a; overflow-wrap: anywhere; }
.apc-real-qr { width: 160px; height: 160px; object-fit: contain; background: #fff; border-radius: 8px; padding: 8px; box-sizing: border-box; border: 1px solid #bbf7d0; }
.apc-actions-done .apc-confirm-btn { display: none; }
@media (min-width: 620px) { .apc-flow-actions { grid-template-columns: 1fr 1fr; } .apc-flow-actions .apc-confirm-btn { grid-column: 1 / -1; } }
@media (max-width: 520px) { .apc-flow-head, .apc-qr-panel { grid-template-columns: 1fr; display: grid; } .apc-control-grid { grid-template-columns: 1fr; } .apc-real-qr { width: 100%; max-width: 220px; height: auto; justify-self: center; } }

/* M084-F clon visual App Cliente desde archivo hasta QR */
.apc-mostrador-shell{background:#f4f7fb;display:flex;justify-content:center;min-height:100vh}.apc-mostrador-app{max-width:560px;width:100%;padding:12px;box-sizing:border-box}.apc-m-card{background:#fff;border-radius:24px;padding:16px;box-shadow:0 14px 34px rgba(15,23,42,.12);box-sizing:border-box}.apc-m-header{text-align:center;margin-bottom:14px}.apc-m-header h1{margin:0;font-size:29px;line-height:1;font-weight:800;color:#0f172a}.apc-m-header p{margin:7px 0 0;font-size:16px;font-weight:800;color:#64748b}.apc-m-upload{margin:12px 0}.apc-m-upload input{display:none}.apc-m-upload-btn{min-height:180px;border:3px dashed #93c5fd;border-radius:22px;background:#eff6ff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;color:#1e3a8a}.apc-m-upload-icon{width:58px;height:58px;border-radius:18px;background:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:800}.apc-m-upload-main{font-size:24px;font-weight:800}.apc-m-upload-sub{font-size:14px;font-weight:800;color:#475569}.apc-m-status-card{background:#f8fafc;border:1px solid #dbe4f0;border-radius:16px;padding:12px;margin:12px 0;display:grid;gap:8px}.apc-m-counter{font-weight:800;color:#0f172a}.apc-m-status{border-radius:14px;background:#eff6ff;color:#1d4ed8;padding:10px 12px;font-weight:800}.apc-m-warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:12px;font-weight:800;margin:10px 0}.apc-m-file-grid{display:grid;gap:10px;margin-top:12px}.apc-m-file-mini{border:1px solid #dbe4f0;border-radius:16px;background:#fff;padding:12px;display:grid;gap:6px}.apc-m-file-mini strong{overflow-wrap:anywhere}.apc-m-file-mini span{color:#64748b;font-weight:800;font-size:14px}.apc-m-file-mini button{justify-self:start;border:1px solid #fecaca;background:#fff;color:#991b1b;border-radius:12px;min-height:38px;padding:8px 12px;font-weight:800}.apc-m-actions{display:grid;gap:12px;margin-top:14px}.apc-m-main-btn,.apc-m-back-btn,.apc-m-danger-btn{min-height:54px;border-radius:18px;border:0;text-decoration:none;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;cursor:pointer;box-sizing:border-box}.apc-m-main-btn{background:#2563eb;color:#fff}.apc-m-back-btn{background:#fff;color:#111827;border:1px solid #e2e8f0;box-shadow:0 10px 22px rgba(15,23,42,.08)}.apc-m-danger-btn{background:#fff;color:#991b1b;border:1px solid #fecaca}.apc-disabled{opacity:.45;pointer-events:none}.apc-m-color-grid{display:grid;gap:12px}.apc-m-color-option{min-height:104px;border:0;border-radius:24px;padding:16px;display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.16);color:#fff}.apc-m-bn{background:linear-gradient(180deg,#111827,#030712)}.apc-m-color{background:linear-gradient(180deg,#0f172a,#1e293b)}.apc-m-bn-icon,.apc-m-cmyk{width:62px;height:62px;border-radius:18px;background:#fff;flex:0 0 62px}.apc-m-bn-icon{color:#111827;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800}.apc-m-cmyk{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:9px;box-sizing:border-box}.apc-m-cmyk i{border-radius:999px}.apc-m-cmyk i:nth-child(1){background:#00a3ff}.apc-m-cmyk i:nth-child(2){background:#ff2aa1}.apc-m-cmyk i:nth-child(3){background:#ffd400}.apc-m-cmyk i:nth-child(4){background:#111827}.apc-m-color-option strong{display:block;font-size:22px;line-height:1;font-weight:800}.apc-m-color-option span{display:block;margin-top:7px;font-size:14px;font-weight:800;line-height:1.25}.apc-m-info{background:#fff7ed;border:1px solid #fdba74;border-radius:12px;padding:14px;margin-bottom:16px;display:grid;gap:6px;color:#c2410c}.apc-m-info b{font-weight:800}.apc-m-info span{line-height:1.5;font-weight:800;color:#7c2d12}.apc-m-dist-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.apc-m-dist-btn{min-height:108px;border:0;border-radius:18px;background:#2563eb;color:#fff;padding:14px;font-weight:800;box-shadow:0 10px 22px rgba(37,99,235,.22);cursor:pointer}.apc-m-dist-btn strong{display:block;font-size:18px}.apc-m-dist-btn span{display:block;margin-top:6px;font-size:13px;opacity:.9}.apc-m-specific{display:grid;gap:10px;margin-top:12px}.apc-m-copy-box{display:grid;grid-template-columns:80px 1fr 80px;align-items:center;gap:12px;margin:18px 0}.apc-m-copy-num{height:120px;border-radius:24px;background:#f8fafc;border:1px solid #dbe4f0;display:flex;align-items:center;justify-content:center;font-size:64px;font-weight:800;color:#0f172a}.apc-m-minus,.apc-m-plus{height:80px;border:0;border-radius:22px;color:#fff;font-size:42px;font-weight:800;cursor:pointer}.apc-m-minus{background:#dc2626}.apc-m-plus{background:#16a34a}.apc-m-total-big{font-size:48px;line-height:1;font-weight:800;color:#16a34a;text-align:center;margin:8px 0 14px}.apc-m-preview{height:128px;border-radius:18px;background:#f8fafc;border:1px dashed #cbd5e1;display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:800}.apc-m-job-card,.apc-m-confirm-card{background:#fff;border:1px solid #dbe4f0;border-radius:16px;padding:12px;display:grid;gap:6px;margin-top:12px}.apc-m-job-card strong,.apc-m-confirm-card strong{font-size:18px;color:#0f172a}.apc-m-job-card span,.apc-m-confirm-card span{color:#64748b;font-weight:800}.apc-m-destination{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:12px;font-weight:800;margin-top:10px}.apc-m-summary-list{display:grid;gap:10px;margin-top:12px}.apc-m-total-box{background:#f8fafc;border:1px solid #dbe4f0;border-radius:18px;padding:14px;margin:14px 0;text-align:center;display:grid;gap:6px}.apc-m-total-box span,.apc-m-total-box small{font-weight:800;color:#64748b}.apc-m-total-box b{font-size:42px;color:#16a34a}.apc-m-order-result{margin-top:14px}.apc-m-qr-done{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:18px;padding:14px;display:grid;gap:10px;text-align:center}.apc-m-qr-done strong{font-size:22px;color:#14532d}.apc-m-qr-done span{font-size:18px;font-weight:800;color:#0f172a}.apc-m-qr-done img{width:210px;height:210px;object-fit:contain;justify-self:center;background:#fff;border-radius:12px;border:1px solid #bbf7d0;padding:8px;box-sizing:border-box}.apc-home-simple .apc-actions{grid-template-columns:1fr}.apc-home-order{border:1px solid #dbe4f0;border-radius:14px;padding:10px;display:grid;grid-template-columns:1fr 72px;gap:10px;align-items:center;background:#fff}.apc-home-order strong{display:block;overflow-wrap:anywhere}.apc-home-order span{display:block;color:#64748b;font-weight:800;margin-top:4px}.apc-home-order img{width:72px;height:72px;object-fit:contain}
@media(max-width:420px){.apc-m-dist-grid,.apc-m-copy-box{grid-template-columns:1fr}.apc-m-copy-box{gap:8px}.apc-m-minus,.apc-m-plus{height:58px}.apc-m-header h1{font-size:25px}.apc-m-total-big{font-size:40px}}


/* M084-G App Cliente clon visual segun dibujos */
.apc-wallet-shell{min-height:100vh;background:#f4f7fb;display:flex;justify-content:center;align-items:flex-start;padding:18px 12px;box-sizing:border-box;color:#0f172a}.apc-wallet-app{width:100%;max-width:520px}.apc-wallet-title{text-align:center;margin:4px 0 2px;font-size:30px;line-height:1;font-weight:800}.apc-wallet-subtitle{text-align:center;font-size:16px;font-weight:800;color:#1e3a8a;margin-bottom:14px}.apc-wallet-card{background:#fff;border-radius:22px;padding:16px;box-shadow:0 14px 34px rgba(15,23,42,.12)}.apc-wallet-hello{margin:0;font-size:22px;font-weight:800}.apc-wallet-copy{margin:5px 0 16px;color:#64748b;font-weight:700}.apc-wallet-balance-row{display:grid;grid-template-columns:1fr 58px auto;align-items:center;gap:10px;margin-bottom:14px}.apc-wallet-balance{font-size:20px;font-weight:800}.apc-wallet-balance b{color:#166534}.apc-wallet-add{width:58px;height:58px;border-radius:12px;background:#16a34a;color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:800;line-height:1}.apc-wallet-add-text{font-size:13px;font-weight:800;color:#0f172a;text-decoration:none}.apc-wallet-orders{border:1px solid #dbe4f0;background:#f8fafc;border-radius:18px;min-height:230px;padding:12px}.apc-wallet-orders h2{font-size:18px;margin:0 0 12px;font-weight:800}.apc-wallet-order-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px}.apc-wallet-order{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px;text-align:center;display:grid;gap:7px;justify-items:center}.apc-wallet-order img{width:86px;height:86px;object-fit:contain;background:#fff}.apc-wallet-order b{font-size:17px;color:#166534}.apc-wallet-order span{font-size:13px;font-weight:800;color:#475569}.apc-wallet-order select{width:100%;border:1px solid #cbd5e1;border-radius:8px;min-height:34px;font-weight:800}.apc-wallet-payment{width:100%;border:1px solid #dbe4f0;background:#f8fafc;border-radius:10px;padding:8px;display:grid;gap:7px;box-sizing:border-box}.apc-wallet-payment span{font-size:12px;color:#334155}.apc-wallet-payment b{font-size:13px;color:#0f172a}.apc-wallet-payment button{border:0;border-radius:9px;background:#2563eb;color:#fff;min-height:34px;font-weight:800;cursor:pointer}.apc-wallet-payment small{color:#64748b;font-weight:800}.apc-wallet-exit{display:flex;justify-content:center;align-items:center;margin:14px auto 0;min-height:44px;max-width:150px;border-radius:12px;background:#e5e7eb;color:#111827;text-decoration:none;font-weight:800}
.apc-dest-shell{min-height:100vh;background:#f4f7fb;display:flex;justify-content:center;align-items:flex-start;padding:18px 12px;box-sizing:border-box}.apc-dest-app{width:100%;max-width:520px}.apc-dest-card{background:#fff;border-radius:22px;padding:16px;box-shadow:0 14px 34px rgba(15,23,42,.12)}.apc-dest-card h1{margin:0 0 14px;text-align:center;font-size:30px;line-height:1;font-weight:800}.apc-dest-box{border:1px solid #dbe4f0;background:#f8fafc;border-radius:16px;padding:14px;display:grid;gap:6px}.apc-dest-box strong{font-size:22px}.apc-dest-box span{font-weight:700;color:#64748b}.apc-dest-change,.apc-dest-continue,.apc-dest-back{min-height:52px;border-radius:14px;border:0;text-decoration:none;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;cursor:pointer;box-sizing:border-box}.apc-dest-change{width:100%;background:#eff6ff;color:#1d4ed8;margin:12px 0}.apc-dest-actions{display:grid;gap:10px;margin-top:14px}.apc-dest-continue{background:#16a34a;color:#fff}.apc-dest-back{background:#fff;color:#111827;border:1px solid #e2e8f0}.apc-payment-choice{border:1px solid #dbe4f0;border-radius:16px;background:#f8fafc;padding:12px;margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.apc-payment-choice p{grid-column:1/-1;margin:0;font-weight:800}.apc-payment-choice button{min-height:48px;border:0;border-radius:12px;background:#2563eb;color:#fff;font-weight:800}.apc-payment-choice button.active{background:#16a34a}.apc-business em{display:block;margin-top:5px;color:#1d4ed8;font-style:normal;font-weight:800}
.apc-dest-box[hidden]{display:none}
.apc-mostrador-shell{background:#f4f7fb;display:flex;justify-content:center;min-height:100vh}.apc-mostrador-app{max-width:560px;width:100%;padding:10px 12px 22px;box-sizing:border-box}.apc-m-card{background:#fff;border-radius:24px;padding:16px;box-shadow:0 14px 34px rgba(15,23,42,.12);box-sizing:border-box}.apc-m-header{text-align:center;margin-bottom:14px}.apc-m-header h1{margin:0;font-size:29px;line-height:1;font-weight:800;color:#0f172a}.apc-m-header p{margin:7px 0 0;font-size:16px;font-weight:800;color:#64748b}.apc-m-upload{margin:12px 0}.apc-m-upload input{display:none}.apc-m-upload-btn{min-height:180px;border:3px dashed #93c5fd;border-radius:22px;background:#eff6ff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;color:#1e3a8a}.apc-m-upload-icon{width:58px;height:58px;border-radius:999px;background:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:800}.apc-m-upload-main{font-size:24px;font-weight:800;color:#1e40af}.apc-m-upload-sub{font-size:14px;font-weight:800;color:#475569}.apc-m-status-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.apc-m-counter,.apc-m-status{border-radius:14px;padding:11px 12px;font-weight:800}.apc-m-counter{background:#f8fafc;border:1px solid #dbe4f0;color:#0f172a}.apc-m-status{background:#eff6ff;color:#1d4ed8}.apc-m-warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:12px;font-weight:800;margin:10px 0}.apc-m-file-grid{display:grid;gap:10px;margin-top:12px}.apc-m-file-grid.apc-empty{padding:18px;text-align:center;color:#64748b;font-weight:800;border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc}.apc-m-file-mini{border:1px solid #dbe4f0;border-radius:16px;background:#fff;padding:12px;display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center}.apc-m-file-icon{width:52px;height:52px;border-radius:12px;background:#eff6ff;color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-weight:800}.apc-m-file-mini strong{display:block;overflow-wrap:anywhere}.apc-m-file-mini span{display:block;color:#64748b;font-weight:800;font-size:14px;margin-top:3px}.apc-m-file-mini button{border:1px solid #fecaca;background:#fff;color:#991b1b;border-radius:12px;min-height:38px;padding:8px 12px;font-weight:800}.apc-m-actions{display:grid;gap:12px;margin-top:14px}.apc-m-main-btn,.apc-m-back-btn,.apc-m-danger-btn,.apc-m-blue-btn{min-height:54px;border-radius:18px;border:0;text-decoration:none;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;cursor:pointer;box-sizing:border-box}.apc-m-main-btn{background:#2563eb;color:#fff}.apc-m-green{background:#16a34a;color:#fff}.apc-m-blue-btn{background:#2563eb;color:#fff}.apc-m-back-btn{background:#fff;color:#111827;border:1px solid #e2e8f0;box-shadow:0 10px 22px rgba(15,23,42,.08)}.apc-m-danger-btn{background:#dc2626;color:#fff;border:0}.apc-m-alone{margin-top:14px}.apc-disabled{opacity:.45;pointer-events:none}.apc-m-color-grid{display:grid;gap:12px}.apc-m-color-option{min-height:104px;border:0;border-radius:24px;padding:16px;display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.16);color:#fff}.apc-m-bn,.apc-m-color{background:linear-gradient(180deg,#111827,#030712)}.apc-m-bn-icon,.apc-m-cmyk{width:62px;height:62px;border-radius:18px;background:#fff;flex:0 0 62px}.apc-m-bn-icon{color:#111827;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800}.apc-m-cmyk{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:9px;box-sizing:border-box}.apc-m-cmyk i{border-radius:999px}.apc-m-cmyk i:nth-child(1){background:#00a3ff}.apc-m-cmyk i:nth-child(2){background:#ff2aa1}.apc-m-cmyk i:nth-child(3){background:#ffd400}.apc-m-cmyk i:nth-child(4){background:#111827}.apc-m-color-option strong{display:block;font-size:22px;line-height:1;font-weight:800}.apc-m-color-option span{display:block;margin-top:7px;font-size:14px;font-weight:800;line-height:1.25}.apc-m-example{background:#eff6ff;border:1px solid #93c5fd;border-radius:12px;padding:14px;margin-bottom:16px;display:grid;gap:7px;color:#1d4ed8;font-weight:700;line-height:1.45}.apc-m-example b{font-weight:800}.apc-m-example strong{font-weight:800}.apc-m-dist-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.apc-m-dist-btn{min-height:132px;border:0;border-radius:18px;background:#2563eb;color:#fff;padding:14px;font-weight:800;box-shadow:0 10px 22px rgba(37,99,235,.22);cursor:pointer}.apc-m-dist-btn strong{display:block;font-size:18px}.apc-m-dist-btn span{display:block;margin-top:6px;font-size:13px;opacity:.9}.apc-m-rects{margin:10px auto 0;display:grid;justify-content:center;gap:4px}.apc-m-rects i{width:18px;height:26px;border:2px solid #bfdbfe;border-radius:4px;background:#eff6ff}.apc-m-rects-1{grid-template-columns:42px}.apc-m-rects-1 i{width:42px;height:56px}.apc-m-rects-2{grid-template-columns:repeat(2,26px)}.apc-m-rects-4{grid-template-columns:repeat(2,20px)}.apc-m-rects-6{grid-template-columns:repeat(3,16px)}.apc-m-rects-8{grid-template-columns:repeat(4,12px)}.apc-m-rects-10{grid-template-columns:repeat(5,10px)}.apc-m-rects-6 i{width:16px;height:22px}.apc-m-rects-8 i{width:12px;height:18px}.apc-m-rects-10 i{width:10px;height:15px}.apc-m-specific{display:grid;gap:10px;margin-top:12px}.qty-shell{display:flex;justify-content:center;padding:0}.qty-card{width:100%;background:#fff;border-radius:28px;padding:0}.qty-header{text-align:center}.qty-header h1{margin:0;font-size:29px;line-height:1;font-weight:800}.qty-header p{font-size:16px;font-weight:800;color:#64748b}.qty-display-box{background:#111827;color:#fff;border-radius:24px;min-height:150px;display:grid;place-items:center;margin:16px 0}.qty-label{font-weight:800;color:#cbd5e1}.qty-number{font-size:76px;font-weight:800;line-height:.9}.qty-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px}.qty-btn{height:82px;border:0;border-radius:22px;color:#fff;font-size:42px;font-weight:800}.qty-minus{background:#dc2626}.qty-plus{background:#16a34a}.qty-tip{text-align:center;margin:14px 0;color:#64748b;font-weight:700}.qty-actions{display:grid;gap:12px}.qty-next-btn,.qty-back-btn{min-height:54px;border-radius:18px;border:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;text-decoration:none}.qty-next-btn{background:#16a34a;color:#fff}.qty-back-btn{background:#fff;color:#111827;border:1px solid #e2e8f0}.apc-m-summary-top{background:#111827;color:#fff;border-radius:18px;padding:16px;text-align:center;display:grid;gap:6px}.apc-m-summary-top span{font-weight:800;color:#cbd5e1}.apc-m-summary-top b{font-size:44px;color:#fff}.apc-m-preview{min-height:150px;border-radius:18px;background:#f8fafc;border:1px dashed #cbd5e1;display:grid;place-items:center;text-align:center;color:#64748b;font-weight:800;margin-top:14px;padding:14px}.apc-m-preview strong{color:#0f172a;overflow-wrap:anywhere}.apc-m-work-count{margin:14px 0 8px;text-align:center;font-weight:800}.apc-m-section-title{margin:0 0 10px;font-size:18px}.apc-m-work-card,.apc-m-confirm-card{background:#fff;border:1px solid #dbe4f0;border-radius:16px;padding:12px;display:grid;gap:8px;margin-top:10px}.apc-m-work-card{grid-template-columns:1fr auto;align-items:start}.apc-m-work-card strong,.apc-m-confirm-card strong{display:block;font-size:18px;color:#0f172a}.apc-m-work-card span,.apc-m-confirm-card span{display:block;color:#64748b;font-weight:700;margin-top:4px}.apc-m-work-card b{font-size:20px;color:#166534}.apc-m-work-card button{grid-column:1/-1;min-height:42px;border:1px solid #fecaca;background:#fff;color:#991b1b;border-radius:12px;font-weight:800}.apc-m-destination{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:12px;font-weight:800;margin-top:10px}.apc-m-summary-list{display:grid;gap:10px;margin-top:12px}.apc-m-confirm-summary{border:1px solid #dbe4f0;background:#f8fafc;border-radius:16px;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.apc-m-confirm-summary div{background:#fff;border-radius:12px;padding:10px;display:grid;gap:4px}.apc-m-confirm-summary span{font-size:13px;color:#64748b;font-weight:800}.apc-m-confirm-summary b{font-size:20px}.apc-m-total-box{background:#f8fafc;border:1px solid #dbe4f0;border-radius:18px;padding:14px;margin:14px 0;text-align:center;display:grid;gap:6px}.apc-m-total-box span,.apc-m-total-box small{font-weight:800;color:#64748b}.apc-m-total-box b{font-size:42px;color:#16a34a}.apc-m-payment-read{background:#eff6ff;color:#1d4ed8;border-radius:14px;padding:12px;font-weight:800}.apc-m-order-result{margin-top:14px}.apc-m-qr-done{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:18px;padding:14px;display:grid;gap:10px;text-align:center}.apc-m-qr-done strong{font-size:22px;color:#14532d}.apc-m-qr-done span{font-size:18px;font-weight:800;color:#0f172a}.apc-m-qr-done img{width:230px;height:230px;object-fit:contain;justify-self:center;background:#fff;border-radius:12px;border:1px solid #bbf7d0;padding:8px;box-sizing:border-box}.apc-actions-done #apcGenerateOrder{display:none}
@media(max-width:420px){.apc-wallet-balance-row{grid-template-columns:1fr 54px}.apc-wallet-add-text{grid-column:1/-1;text-align:right}.apc-m-status-card,.apc-m-dist-grid,.apc-m-confirm-summary,.qty-controls{grid-template-columns:1fr}.apc-m-file-mini{grid-template-columns:44px 1fr}.apc-m-file-mini button{grid-column:1/-1}.apc-m-header h1,.qty-header h1{font-size:25px}.apc-m-summary-top b,.apc-m-total-box b{font-size:38px}}

/* AutoPrint Express App V2 Design System */
:root{
  --apc-orange:#f97316;
  --apc-orange-deep:#ea580c;
  --apc-blue:#1d4ed8;
  --apc-blue-deep:#1e3a8a;
  --apc-green:#19b85a;
  --apc-green-deep:#119447;
  --apc-bg:#f4f7fb;
  --apc-card:#ffffff;
  --apc-text:#0f172a;
  --apc-muted:#64748b;
  --apc-muted-2:#475569;
  --apc-muted-3:#334155;
  --apc-line:#dbe4f0;
  --apc-line-soft:#e2e8f0;
  --apc-line-dashed:#cbd5e1;
  --apc-soft:#f8fafc;
  --apc-danger:#dc2626;
  --apc-danger-bg:#fef2f2;
  --apc-danger-border:#fecaca;
  --apc-danger-text:#991b1b;
  --apc-money:#166534;
  --apc-money-deep:#14532d;
  --apc-success-bg:#ecfdf5;
  --apc-success-border:#bbf7d0;
  --apc-info-bg:#eff6ff;
  --apc-info-text:#1d4ed8;
  --apc-warning-bg:#fff7ed;
  --apc-warning-border:#fed7aa;
  --apc-warning-text:#9a3412;
  --apc-dark-chip:#111827;
  --apc-dark-chip-deep:#030712;
  --apc-radius:16px;
  --apc-shadow:0 12px 28px rgba(15,23,42,.10);
}

/* M428 continuacion (Black Edition): mismo bloque de tokens, valores
   oscuros -- paleta identica a android-web/historial.html para que la
   app y esa pantalla local luzcan consistentes.
   Selector en :root (=html) porque el script anti-flash de
   _theme_bootstrap.html debe poder marcarlo antes de que <body> exista.
   Este bloque NO modifica ninguna regla existente, solo redefine
   variables -- el tema Claro (por defecto, web/PWA) queda intacto. */
:root[data-theme="black"]{
  --apc-orange:#39ff88;
  --apc-orange-deep:#19b85a;
  --apc-blue:#60a5fa;
  --apc-blue-deep:#3b82f6;
  --apc-green:#39ff88;
  --apc-green-deep:#19b85a;
  --apc-bg:#050505;
  --apc-card:#0b0f0c;
  --apc-text:#f8fafc;
  --apc-muted:#9ca3af;
  --apc-muted-2:#cbd5e1;
  --apc-muted-3:#e5e7eb;
  --apc-line:#1f2937;
  --apc-line-soft:#1f2937;
  --apc-line-dashed:#334155;
  --apc-soft:#0d120f;
  --apc-danger:#fb7185;
  --apc-danger-bg:rgba(251,113,133,.14);
  --apc-danger-border:rgba(251,113,133,.4);
  --apc-danger-text:#fb7185;
  --apc-money:#39ff88;
  --apc-money-deep:#39ff88;
  --apc-success-bg:rgba(57,255,136,.18);
  --apc-success-border:rgba(57,255,136,.34);
  --apc-info-bg:rgba(96,165,250,.14);
  --apc-info-text:#93c5fd;
  --apc-warning-bg:rgba(251,191,36,.14);
  --apc-warning-border:rgba(251,191,36,.4);
  --apc-warning-text:#fbbf24;
  --apc-dark-chip:#111827;
  --apc-dark-chip-deep:#030712;
  --apc-shadow:0 12px 28px rgba(0,0,0,.55);
}
html,body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--apc-bg);color:var(--apc-text);font-size:16px}
body *{letter-spacing:0}
.apc-page,.apc-shell,.apc-wallet-shell,.apc-dest-shell,.apc-mostrador-shell{min-height:100vh;background:radial-gradient(circle at 50% -140px,rgba(249,115,22,.28) 0 220px,transparent 221px),linear-gradient(180deg,#fff7ed 0,#f4f7fb 190px,#f4f7fb 100%);display:flex;justify-content:center;align-items:flex-start}
.apc-container,.apc-app,.apc-wallet-app,.apc-dest-app,.apc-mostrador-app{width:100%;max-width:520px;padding:16px;box-sizing:border-box}
.apc-screen-header{display:grid;gap:8px;margin:8px 0 16px;text-align:left}
.apc-screen-kicker{color:var(--apc-orange-deep);font-weight:800;font-size:13px;text-transform:uppercase}
.apc-screen-header h1,.apc-title,.apc-wallet-title,.apc-dest-card h1,.apc-m-header h1,.qty-header h1{margin:0;color:var(--apc-text);font-size:30px;line-height:1.05;font-weight:800}
.apc-screen-header p,.apc-sub,.apc-wallet-copy,.apc-m-header p,.qty-header p{margin:0;color:var(--apc-muted);font-size:16px;line-height:1.4;font-weight:600}
.apc-brand,.apc-wallet-subtitle{color:var(--apc-blue-deep);font-weight:800}
.apc-card-ui,.apc-card,.apc-wallet-card,.apc-dest-card,.apc-m-card{background:var(--apc-card);border:1px solid rgba(219,228,240,.9);border-radius:var(--apc-radius);padding:16px;box-shadow:var(--apc-shadow);box-sizing:border-box}
.apc-card,.apc-wallet-card,.apc-dest-card,.apc-m-card{margin-bottom:16px}
.apc-progress{display:grid;gap:8px;margin:0 0 16px}
.apc-progress-label{display:flex;justify-content:space-between;align-items:center;color:var(--apc-blue-deep);font-size:13px;font-weight:800;text-transform:uppercase}
.apc-progress-track{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.apc-progress-fill{display:block;height:100%;width:var(--apc-progress,0%);border-radius:999px;background:linear-gradient(90deg,var(--apc-orange),var(--apc-green));box-shadow:0 0 18px rgba(25,184,90,.28)}
.apc-button,.apc-btn,.apc-dest-change,.apc-dest-continue,.apc-dest-back,.apc-m-main-btn,.apc-m-back-btn,.apc-m-danger-btn,.apc-m-blue-btn,.qty-next-btn,.qty-back-btn,.apc-wallet-exit,.apc-wallet-payment button,.apc-payment-choice button{min-height:56px;border-radius:16px;border:0;padding:12px 16px;font-size:16px;font-weight:800;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-sizing:border-box;transition:transform .14s ease,filter .14s ease,box-shadow .14s ease,background .14s ease}
/* M429: display:flex de arriba tiene la misma especificidad que el
   [hidden] del UA stylesheet pero se carga despues, asi que le gana --
   un elemento .apc-button con el atributo hidden puesto por JS se queda
   visible. Mismo bug y mismo arreglo que .apc-item-row[hidden] mas abajo. */
.apc-button[hidden],.apc-btn[hidden]{display:none}
.apc-button:active,.apc-btn:active,.apc-dest-change:active,.apc-dest-continue:active,.apc-dest-back:active,.apc-m-main-btn:active,.apc-m-back-btn:active,.apc-m-danger-btn:active,.apc-m-blue-btn:active,.qty-next-btn:active,.qty-back-btn:active{transform:scale(.97);filter:brightness(.96)}
.apc-button-primary,.apc-btn-primary,.apc-btn-green,.apc-dest-continue,.apc-m-green,.qty-next-btn{background:linear-gradient(180deg,var(--apc-green),var(--apc-green-deep));color:#fff;box-shadow:0 12px 24px rgba(25,184,90,.28)}
.apc-button-secondary,.apc-btn-soft,.apc-dest-back,.apc-m-back-btn,.qty-back-btn,.apc-wallet-exit{background:#fff;color:var(--apc-text);border:1px solid var(--apc-line);box-shadow:0 8px 18px rgba(15,23,42,.06)}
.apc-button-ghost,.apc-btn-outline,.apc-dest-change{background:#eff6ff;color:var(--apc-blue-deep);border:1px solid #bfdbfe}
.apc-button-danger,.apc-m-danger-btn{background:var(--apc-danger);color:#fff}
.apc-button-blue,.apc-m-main-btn:not(.apc-m-green),.apc-m-blue-btn,.apc-payment-choice button,.apc-wallet-payment button{background:linear-gradient(180deg,#2563eb,var(--apc-blue-deep));color:#fff}
.apc-primary-pulse{animation:apcPrimaryPulse 2s ease-in-out infinite}
@keyframes apcPrimaryPulse{0%,100%{box-shadow:0 12px 24px rgba(25,184,90,.28),0 0 0 0 rgba(25,184,90,.34)}50%{box-shadow:0 16px 30px rgba(25,184,90,.36),0 0 0 8px rgba(25,184,90,0)}}

/* AUTOPRINT EXPERIENCES -- PRINT & READY / AUTOPRINT MATIC. Cambio
   quirúrgico confinado a #apcChannelChoice; reutiliza los mismos
   tokens de color/tema (claro y Black Edition) que ya usa el resto de
   la pantalla, no define ninguno nuevo. Pulso deliberadamente mas
   lento y con menor delta de sombra que apcPrimaryPulse (respiracion,
   no parpadeo). */
.apc-experience-choice{display:grid;gap:12px;margin-top:14px}
.apc-experience-choice[hidden]{display:none}
.apc-experience-label{margin:0;font-weight:800;color:var(--apc-text);font-size:14px}
.apc-experience-card{position:relative;display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--apc-card);border:1.5px solid var(--apc-line);border-radius:calc(var(--apc-radius) + 4px);padding:16px;cursor:pointer;box-sizing:border-box;transition:transform .14s ease,filter .14s ease,box-shadow .18s ease,border-color .18s ease,opacity .18s ease;animation:apcExperiencePulse 3.4s ease-in-out infinite}
/* BUSINESS-FIRST MODES UX (2026-09-04): hallazgo real de revision visual
   -- display:flex de la regla de arriba (origen autor) gana contra el
   [hidden]{display:none} del navegador (origen user-agent) aunque las
   especificidades numericas empaten, porque el autor siempre gana sobre
   UA en el cascade. Antes esto nunca importaba (las tarjetas de esta
   pantalla eran siempre 2 y siempre visibles); ahora que apcRenderModeCards()
   oculta condicionalmente por capabilities, sin esta regla las tarjetas
   deshabilitadas para un negocio se seguian mostrando igual. */
.apc-experience-card[hidden]{display:none}
.apc-experience-card:active{transform:scale(.98);filter:brightness(.97)}
.apc-experience-card:disabled,.apc-experience-card.apc-checking{cursor:progress;opacity:.72;animation-play-state:paused}
.apc-experience-icon{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;box-sizing:border-box}
.apc-experience-icon-ring{border:3px solid var(--apc-green);box-shadow:0 0 0 3px rgba(25,184,90,.16),0 0 14px rgba(25,184,90,.35) inset}
.apc-experience-icon-ring::after{content:"";width:14px;height:14px;border-radius:999px;background:var(--apc-green);box-shadow:0 0 8px rgba(25,184,90,.6)}
.apc-experience-icon-kiosk{background:rgba(37,99,235,.10);color:var(--apc-blue-deep)}
.apc-experience-icon-buzon{background:rgba(234,88,12,.12);font-size:22px}
/* HOTFIX 22-04 problema 1: icono para la tarjeta de "negocio ya
   elegido" (#apcSelectedDestination), mismo patron de color de las
   variantes de arriba -- no se inventa un sistema nuevo. */
.apc-experience-icon-store{background:rgba(37,99,235,.10);color:var(--apc-blue-deep);font-size:22px}
.apc-dest-selected-kicker{display:block;font-size:11px;font-weight:900;letter-spacing:.4px;color:var(--apc-muted);text-transform:uppercase}
.apc-dest-selected-cta{display:block;margin-top:4px;font-size:12px;font-weight:900;color:var(--apc-blue-deep)}
.apc-experience-body{display:grid;gap:3px;min-width:0}
.apc-dest-box-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.apc-dest-box-info{display:grid;gap:2px;min-width:0}
.apc-dest-box-row .apc-dest-change{width:auto;margin:0;padding:10px 14px;white-space:nowrap;min-height:auto}
.apc-link-btn{background:none;border:0;color:var(--apc-blue-deep,#1d4ed8);font-weight:700;font-size:13.5px;padding:8px 2px;text-decoration:underline;cursor:pointer;text-align:left}
/* TOP FLOW SIMPLIFICATION: el enlace de Cajero pierde protagonismo (era
   el mismo azul/negrita que un enlace normal, compitiendo visualmente) --
   se usa junto con .apc-link-btn (hereda cursor/padding/underline),
   solo se apaga el color y el tamaño. */
.apc-link-btn-quiet{display:block;margin-top:6px;color:var(--apc-muted,#94a3b8);font-size:12px;font-weight:600}
/* TOP FLOW SIMPLIFICATION: separacion entre "ultima papeleria" (bloque
   grande y propio) y "buscar otra" -- antes eran un solo bloque sin
   division visual clara. */
#apcLastBusinessBlock{margin-bottom:18px}
#apcLastBusinessBlock .apc-experience-label{margin-bottom:8px}
.apc-experience-name{font-weight:900;font-size:16px;letter-spacing:.2px;color:var(--apc-text)}
.apc-experience-copy{font-size:12.5px;line-height:1.35;font-weight:600;color:var(--apc-muted)}
.apc-experience-mostrador{--apc-experience-accent:var(--apc-green);--apc-experience-glow:rgba(25,184,90,.5);--apc-experience-tint:rgba(25,184,90,.12)}
.apc-experience-atm{--apc-experience-accent:var(--apc-blue-deep);--apc-experience-glow:rgba(37,99,235,.5);--apc-experience-tint:rgba(37,99,235,.12)}
/* Estado "seleccionada" mucho mas evidente que antes (pedido explicito
   de revision visual): borde mas grueso, halo de color, fondo con tinte
   sutil del acento, y una insignia "✓ SELECCIONADO". La tarjeta hermana
   se atenua via :has() (sin tocar JS). */
.apc-experience-card.active{
  border-color:var(--apc-experience-accent);
  border-width:2.5px;
  background:linear-gradient(180deg,var(--apc-experience-tint),var(--apc-card) 65%);
  box-shadow:0 14px 30px rgba(15,23,42,.18),0 0 0 3px var(--apc-experience-accent),0 0 26px 3px var(--apc-experience-glow);
  animation:none;
}
.apc-experience-card.active::after{
  content:"✓ SELECCIONADO";
  position:absolute;top:10px;right:12px;
  font-size:10px;font-weight:900;letter-spacing:.4px;
  color:#050505;background:var(--apc-experience-accent);
  padding:3px 9px;border-radius:999px;
  box-shadow:0 3px 8px rgba(0,0,0,.3);
  white-space:nowrap;
}
.apc-experience-choice:has(.apc-experience-card.active) .apc-experience-card:not(.active){opacity:.58;filter:saturate(.85)}
.apc-experience-status-inline{display:block;margin-top:2px;font-weight:800;font-size:12.5px;color:var(--apc-green-deep)}
@keyframes apcExperiencePulse{0%,100%{box-shadow:0 8px 18px rgba(15,23,42,.08)}50%{box-shadow:0 10px 22px rgba(15,23,42,.08),0 0 0 6px rgba(15,23,42,.03)}}
@media(max-width:430px){.apc-experience-card{padding:13px;gap:11px}.apc-experience-icon{width:40px;height:40px}.apc-experience-name{font-size:14.5px}.apc-experience-copy{font-size:11.5px}.apc-experience-card.active::after{font-size:9px;padding:2px 7px;top:8px;right:9px}}

/* AUTOPRINT EXPERIENCES -- ajuste quirurgico del selector de Forma de
   pago (#apcPaymentChoice). Selectores prefijados con #apcPaymentChoice
   a proposito: la regla vieja compartida ".apc-payment-choice button"
   (mas arriba en este mismo archivo, usada tambien fuera de esta
   pantalla) tiene mayor especificidad que una clase sola, asi que sin
   el ID esta nueva no la ganaria. No se toco esa regla vieja ni ninguna
   clase de #apcChannelChoice (PRINT & READY / AUTOPRINT MATIC).
   Problema real que se corrige: antes AMBAS opciones ya tenian el mismo
   azul por defecto (solo la activa cambiaba a verde), asi que costaba
   distinguir cual era la elegida. Ahora ninguna tiene color por defecto
   -- solo la seleccionada lo recibe, con halo + insignia. */
#apcPaymentChoice.apc-payment-choice{border:none;background:transparent;padding:0;margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
#apcPaymentChoice .apc-payment-label{grid-column:1/-1;margin:0 0 2px;font-weight:800;color:var(--apc-text);font-size:14px}
#apcPaymentChoice .apc-payment-option{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;width:100%;background:var(--apc-card);border:1.5px solid var(--apc-line);border-radius:calc(var(--apc-radius) + 2px);padding:14px 10px;min-height:0;cursor:pointer;box-sizing:border-box;transition:transform .14s ease,filter .14s ease,box-shadow .18s ease,border-color .18s ease,opacity .18s ease}
#apcPaymentChoice .apc-payment-option:active{transform:scale(.97);filter:brightness(.97)}
#apcPaymentChoice .apc-payment-icon{color:var(--apc-muted);display:flex;align-items:center;justify-content:center;gap:10px;min-height:26px}
/* Visa/Mastercard: misma altura fija para ambos, ancho automatico por
   marca -- mismo criterio ya usado para estos logos en
   backend/kiosco_idle.html (".trustIcon{height:...} svg{height:100%;
   width:auto}"), sin recolorear sus fills reales. */
#apcPaymentChoice .apc-payment-visa,#apcPaymentChoice .apc-payment-mastercard{display:flex;align-items:center;height:18px}
#apcPaymentChoice .apc-payment-visa svg,#apcPaymentChoice .apc-payment-mastercard svg{height:100%;width:auto;display:block}
#apcPaymentChoice .apc-payment-name{font-weight:900;font-size:14.5px;color:var(--apc-text)}
#apcPaymentChoice .apc-payment-copy{font-size:11px;line-height:1.3;font-weight:600;color:var(--apc-muted)}
#apcPaymentChoice .apc-payment-coins{--apc-payment-accent:var(--apc-green);--apc-payment-glow:rgba(25,184,90,.5);--apc-payment-tint:rgba(25,184,90,.12)}
#apcPaymentChoice .apc-payment-card{--apc-payment-accent:var(--apc-blue-deep);--apc-payment-glow:rgba(37,99,235,.5);--apc-payment-tint:rgba(37,99,235,.12)}
#apcPaymentChoice .apc-payment-option.active{border-color:var(--apc-payment-accent);border-width:2.5px;background:linear-gradient(180deg,var(--apc-payment-tint),var(--apc-card) 65%);box-shadow:0 12px 26px rgba(15,23,42,.16),0 0 0 3px var(--apc-payment-accent),0 0 22px 3px var(--apc-payment-glow)}
#apcPaymentChoice .apc-payment-option.active .apc-payment-icon{color:var(--apc-payment-accent)}
#apcPaymentChoice .apc-payment-option.active .apc-payment-name{color:var(--apc-payment-accent)}
#apcPaymentChoice .apc-payment-option.active::after{content:"✓ SELECCIONADO";position:absolute;top:8px;right:8px;font-size:8.5px;font-weight:900;letter-spacing:.3px;color:#050505;background:var(--apc-payment-accent);padding:2px 6px;border-radius:999px;box-shadow:0 3px 8px rgba(0,0,0,.3);white-space:nowrap}
#apcPaymentChoice.apc-payment-choice:has(.apc-payment-option.active) .apc-payment-option:not(.active){opacity:.55;filter:saturate(.85)}
@media(max-width:430px){#apcPaymentChoice .apc-payment-option{padding:11px 8px}#apcPaymentChoice .apc-payment-name{font-size:13px}#apcPaymentChoice .apc-payment-copy{font-size:10px}#apcPaymentChoice .apc-payment-option.active::after{font-size:7.5px;padding:2px 5px;top:6px;right:6px}}
@media(prefers-reduced-motion:reduce){#apcPaymentChoice .apc-payment-option{transition:none}}
/* HOTFIX 22-01 bug2: #apcPaymentChoice.apc-payment-choice (arriba) tiene
   display:grid con la misma especificidad ID+clase que ganaria el
   [hidden] generico de mas abajo -- sin este selector explicito, el
   atributo hidden puesto por JS/HTML no ocultaba el bloque antes de
   elegir negocio. Mismo patron ya usado en este archivo para
   .apc-button[hidden]/.apc-experience-card[hidden]. */
#apcPaymentChoice[hidden]{display:none}
.apc-form{gap:12px}.apc-label{font-size:14px;font-weight:700}.apc-input,.apc-select,.apc-textarea{border-radius:16px;min-height:56px;padding:12px 16px;font-size:16px}
.apc-actions,.apc-m-actions,.apc-dest-actions,.qty-actions{display:grid;gap:12px;margin-top:16px}
.apc-tabs{gap:8px}.apc-tab{min-height:48px;border-radius:16px;font-weight:700}.apc-tab-active{background:var(--apc-orange);border-color:var(--apc-orange);color:#fff}
.apc-empty,.apc-m-file-grid.apc-empty{border-radius:16px;background:var(--apc-soft);border:1px dashed #cbd5e1;color:var(--apc-muted);font-weight:700}
.apc-wallet-title{text-align:left;margin:0}.apc-wallet-subtitle{text-align:left;margin:0 0 16px}
.apc-wallet-balance-row{grid-template-columns:1fr;gap:12px}
/* HOTFIX 22-04 problema 3: esta tarjeta naranja gigante (usada SOLO en
   Home, .apc-wallet-balance no aparece en ninguna otra pantalla) hacia
   parecer el saldo sumado de todos los negocios como dinero universal
   listo para cualquier pedido, encima de "NUEVO PEDIDO". Se deja como
   resumen chico de una sola linea, sin fondo ni numero gigante -- el
   saldo real, por negocio, se muestra despues de elegir donde imprimir
   (ver #apcWalletInfo en nuevo.html, HOTFIX 22-04 tambien). */
.apc-wallet-balance{background:none;color:var(--apc-muted,#64748b);border-radius:0;padding:0;font-size:13px;font-weight:700}
.apc-wallet-balance b{display:inline;color:var(--apc-text,#0f172a);font-size:15px;margin-top:0;margin-left:4px}
.apc-wallet-add{display:none}.apc-wallet-add-text{min-height:64px;border-radius:18px;background:linear-gradient(180deg,var(--apc-green),var(--apc-green-deep));color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:20px;font-weight:800;box-shadow:0 14px 28px rgba(25,184,90,.30);animation:apcPrimaryPulse 2s ease-in-out infinite}
.apc-wallet-orders{background:var(--apc-soft);border-radius:16px;min-height:0;padding:16px}.apc-wallet-orders h2{font-weight:800}
.apc-wallet-order{border-radius:16px;padding:12px;gap:8px;text-align:left;justify-items:stretch}.apc-wallet-order img{width:96px;height:96px;justify-self:center}.apc-wallet-order b{font-weight:800}.apc-wallet-order span{font-weight:700}
.apc-dest-box,.apc-m-status-card,.apc-m-confirm-summary,.apc-m-total-box,.apc-m-summary-top,.qty-display-box{border-radius:16px}
.apc-m-upload-btn{min-height:220px;border-radius:16px;border-color:#93c5fd;background:linear-gradient(180deg,#eff6ff,#fff);gap:12px}
.apc-m-upload-icon{background:linear-gradient(180deg,var(--apc-orange),var(--apc-orange-deep));font-weight:800}
.apc-m-upload-main,.apc-m-upload-sub,.apc-m-counter,.apc-m-status,.apc-m-warning,.apc-m-file-mini span,.apc-m-work-card span,.apc-m-confirm-card span{font-weight:700}
.apc-m-file-mini,.apc-m-work-card,.apc-m-confirm-card{border-radius:16px}
.apc-m-dist-btn,.apc-m-color-option{border-radius:16px;background:linear-gradient(180deg,#2563eb,var(--apc-blue-deep));font-weight:800}
.qty-number{font-weight:800}.qty-btn{border-radius:16px;font-weight:800}
.apc-qr-screen{display:grid;gap:16px;text-align:center;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid var(--apc-line);border-radius:20px;padding:16px;box-shadow:var(--apc-shadow)}
.apc-qr-title{font-size:30px;line-height:1;font-weight:800;color:var(--apc-text)}
.apc-qr-subtitle{font-size:16px;font-weight:600;color:var(--apc-muted)}
/* ARRIVE & PRINT UX + WALLET TRUTHFULNESS PASS (2026-09-04): titulo largo
   ("TU PEDIDO ESTA LISTO PARA LLEVAR A MOSTRADOR", una sentencia, no las
   2 palabras cortas de .apc-qr-title) + lista de pasos -- clase propia en
   vez de :has() para no depender de soporte de navegador variable dentro
   del WebView de la app. */
.apc-qr-title-long{font-size:20px;line-height:1.25;font-weight:800;color:var(--apc-text)}
.apc-qr-steps{list-style:decimal;text-align:left;margin:0;padding-left:22px;display:grid;gap:6px;font-size:15px;font-weight:600;color:var(--apc-text)}
.apc-qr-frame{width:min(50vw,200px);height:min(50vw,200px);min-width:170px;min-height:170px;justify-self:center;background:#fff;border:8px solid #fff;border-radius:20px;box-shadow:0 18px 40px rgba(15,23,42,.16);object-fit:contain}
.apc-qr-meta{display:grid;gap:8px;text-align:left;background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:16px}
.apc-qr-meta div{display:flex;justify-content:space-between;gap:12px;font-weight:700}.apc-qr-meta span{color:var(--apc-muted)}.apc-qr-meta b{color:var(--apc-text)}
.apc-ad-card{width:100%;min-height:170px;max-height:220px;border-radius:18px;border:1px solid var(--apc-line);background:#f8fafc;overflow:hidden;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.apc-ad-image{width:100%;height:100%;max-height:220px;object-fit:contain;display:block}
.apc-ad-fallback{width:100%;height:100%;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;box-sizing:border-box;color:var(--apc-muted)}
.apc-ad-fallback-logo{width:48px;height:48px;object-fit:contain;opacity:.75}
.apc-ad-fallback span{font-weight:700;font-size:14px}
.apc-qr-actions{display:grid;gap:12px}.apc-qr-actions-secondary{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.apc-qr-icon-button{border:0;background:#fff;border-radius:16px;padding:0;cursor:pointer}
.apc-qr-overlay{position:fixed;inset:0;background:rgba(15,23,42,.78);display:grid;place-items:center;z-index:9999;padding:16px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
/* UX-PEDIDO-QR-001: el overlay del QR (desde "Pedidos") mide ~1160px en un telefono de 873px; sin scroll, "Compartir", "Guardar QR" y "Volver al inicio" quedaban fuera de pantalla. */
.apc-qr-overlay-card{width:min(100%,430px);background:#fff;border-radius:20px;padding:16px;display:grid;gap:16px;text-align:center}
@media(max-width:430px){.apc-container,.apc-app,.apc-wallet-app,.apc-dest-app,.apc-mostrador-app{padding:12px}.apc-screen-header h1,.apc-title,.apc-wallet-title,.apc-dest-card h1,.apc-m-header h1,.qty-header h1{font-size:28px}.apc-qr-actions-secondary{grid-template-columns:1fr}.apc-wallet-add-text{font-size:18px}.apc-m-status-card,.apc-m-confirm-summary{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.apc-primary-pulse,.apc-wallet-add-text,.apc-experience-card{animation:none}.apc-button,.apc-btn,.apc-dest-change,.apc-dest-continue,.apc-dest-back,.apc-m-main-btn,.apc-m-back-btn,.apc-m-danger-btn,.apc-m-blue-btn,.qty-next-btn,.qty-back-btn{transition:none}}
/* UX review micro-adjustments */
.apc-link{display:flex;align-items:center;justify-content:center;min-height:56px;text-align:center;border-radius:16px;color:var(--apc-blue-deep);font-weight:700}
.apc-m-color-option{min-height:96px}

/* AutoPrint Compact V1: reduce scroll without changing identity or flow */
:root{--apc-compact-button:46px;--apc-compact-gap:8px;--apc-compact-pad:12px}
.apc-container,.apc-app,.apc-wallet-app,.apc-dest-app,.apc-mostrador-app{padding:10px 12px 14px}
.apc-card-ui,.apc-card,.apc-wallet-card,.apc-dest-card,.apc-m-card{padding:12px;border-radius:16px;box-shadow:0 8px 20px rgba(15,23,42,.08);margin-bottom:10px}
.apc-screen-header{gap:4px;margin:2px 0 10px}
.apc-screen-kicker{font-size:12px;line-height:1.1}
.apc-screen-header h1,.apc-title,.apc-wallet-title,.apc-dest-card h1,.apc-m-header h1,.qty-header h1{font-size:26px;line-height:1.05}
.apc-screen-header p,.apc-sub,.apc-wallet-copy,.apc-m-header p,.qty-header p{font-size:15px;line-height:1.25}
.apc-progress{gap:6px;margin:0 0 10px}.apc-progress-label{font-size:12px}.apc-progress-track{height:8px}
.apc-button,.apc-btn,.apc-dest-change,.apc-dest-continue,.apc-dest-back,.apc-m-main-btn,.apc-m-back-btn,.apc-m-danger-btn,.apc-m-blue-btn,.qty-next-btn,.qty-back-btn,.apc-wallet-exit,.apc-wallet-payment button,.apc-payment-choice button{min-height:var(--apc-compact-button);height:auto;border-radius:14px;padding:9px 12px;font-size:15px;line-height:1.15}
.apc-link{min-height:44px;font-size:14px}
.apc-actions,.apc-m-actions,.apc-dest-actions,.qty-actions{gap:8px;margin-top:10px}
.apc-form{gap:8px;margin-top:10px}.apc-label{font-size:13px}.apc-input,.apc-select,.apc-textarea{min-height:46px;border-radius:14px;padding:9px 12px;font-size:15px}.apc-textarea{min-height:76px}
.apc-tabs{gap:6px;margin-bottom:8px}.apc-tab{min-height:42px;border-radius:14px;font-size:13px}
.apc-empty,.apc-m-file-grid.apc-empty{padding:12px}
.apc-wallet-balance-row{gap:8px;margin-bottom:10px}.apc-wallet-balance{padding:12px;font-size:16px}.apc-wallet-balance b{font-size:28px;margin-top:2px}.apc-wallet-add-text{min-height:48px;border-radius:16px;font-size:17px}.apc-wallet-orders{padding:10px;border-radius:16px}.apc-wallet-orders h2{font-size:16px;margin:0 0 8px}.apc-wallet-order-grid{gap:8px;grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}.apc-wallet-order{padding:8px;gap:5px}.apc-wallet-order img{width:74px;height:74px}.apc-wallet-order b{font-size:16px}.apc-wallet-order span{font-size:12px;line-height:1.2}
.apc-metric{padding:8px 0}.apc-list{gap:8px;margin-top:8px}.apc-item{padding:10px;border-radius:14px}.apc-muted{font-size:14px;line-height:1.25}
.apc-dest-box{padding:10px;gap:4px}.apc-dest-box strong{font-size:20px}.apc-dest-change{margin:8px 0}.apc-payment-choice{padding:10px;gap:8px;margin-top:8px}
.apc-m-upload{margin:8px 0}.apc-m-upload-btn{min-height:150px;border-radius:16px;gap:6px;border-width:2px}.apc-m-upload-icon{width:48px;height:48px;font-size:34px}.apc-m-upload-main{font-size:20px}.apc-m-upload-sub{font-size:13px}.apc-m-status-card{gap:8px;margin:8px 0}.apc-m-counter,.apc-m-status{padding:8px 10px;font-size:14px}.apc-m-warning{padding:10px;margin:8px 0}.apc-m-file-grid{gap:8px;margin-top:8px}.apc-m-file-mini{padding:10px;gap:8px;grid-template-columns:44px 1fr auto}.apc-m-file-icon{width:44px;height:44px}.apc-m-file-mini button{min-height:42px;padding:7px 10px}
.apc-m-color-grid{gap:8px}.apc-m-color-option{min-height:84px;border-radius:16px;padding:12px;gap:10px}.apc-m-bn-icon,.apc-m-cmyk{width:52px;height:52px;border-radius:14px;flex-basis:52px}.apc-m-color-option strong{font-size:18px}.apc-m-color-option span{font-size:13px;margin-top:4px}.apc-m-dist-grid{gap:8px}.apc-m-dist-btn{min-height:96px;border-radius:16px;padding:12px}.qty-display-box{min-height:112px;border-radius:16px;margin:10px 0}.qty-number{font-size:56px}.qty-btn{height:62px;border-radius:16px;font-size:34px}.qty-tip{margin:8px 0}.apc-m-summary-top{padding:12px;border-radius:16px}.apc-m-summary-top b{font-size:34px}.apc-m-preview{min-height:112px;margin-top:8px;padding:10px}.apc-m-work-count{margin:10px 0 6px}.apc-m-work-card,.apc-m-confirm-card{padding:10px;gap:5px;margin-top:8px}.apc-m-work-card strong,.apc-m-confirm-card strong{font-size:16px}.apc-m-work-card span,.apc-m-confirm-card span{margin-top:2px;font-size:14px;line-height:1.2}.apc-m-destination{padding:9px 10px;margin-top:8px}.apc-m-summary-list{gap:8px;margin-top:8px}.apc-m-confirm-summary{padding:8px;gap:8px}.apc-m-confirm-summary div{padding:8px;border-radius:12px}.apc-m-confirm-summary b{font-size:18px}.apc-m-total-box{padding:10px;margin:10px 0;border-radius:16px;gap:3px}.apc-m-total-box b{font-size:34px}.apc-m-total-box small{font-size:13px;line-height:1.25}
.apc-qr-screen{gap:12px;padding:12px;border-radius:18px}.apc-qr-title{font-size:28px}.apc-qr-subtitle{font-size:15px}.apc-qr-frame{width:min(46vw,180px);height:min(46vw,180px);min-width:150px;min-height:150px;border-width:6px;border-radius:18px}.apc-qr-meta{padding:10px;gap:6px}.apc-qr-actions{gap:8px}.apc-qr-actions-secondary{gap:8px}.apc-ad-card{min-height:150px;max-height:190px}.apc-ad-image{max-height:190px}.apc-ad-fallback{min-height:150px;padding:12px}.apc-ad-fallback-logo{width:40px;height:40px}
@media(max-width:430px){.apc-container,.apc-app,.apc-wallet-app,.apc-dest-app,.apc-mostrador-app{padding:8px 10px 12px}.apc-screen-header h1,.apc-title,.apc-wallet-title,.apc-dest-card h1,.apc-m-header h1,.qty-header h1{font-size:25px}.apc-wallet-add-text{font-size:16px}.apc-m-status-card,.apc-m-confirm-summary{grid-template-columns:1fr}
  /* HOTFIX 22-03 bug B: .apc-dest-box-row es flex sin wrap y el boton
     "Cambiar negocio" tiene white-space:nowrap -- en moviles angostos
     (Moto G53 ~393px) el boton no se achica, le roba ancho fijo a
     .apc-dest-box-info y el nombre/direccion del negocio quedan en una
     columna demasiado angosta (la direccion se parte casi palabra por
     palabra). Aqui, y solo aqui, la fila pasa a envolver: el bloque de
     texto ocupa el 100% y el boton cae a su propia linea debajo, sin
     tocar el layout de escritorio/tablet (arriba de este breakpoint). */
  .apc-dest-box-row{flex-wrap:wrap}
  .apc-dest-box-info{flex:1 1 100%}
  .apc-dest-box-row .apc-dest-change{margin-top:6px}
}

/* M096: tarjetas de trabajo por bloque (imagenes/documentos) y resumen editable */
.apc-item-card{background:#fff;border:1px solid var(--apc-line);border-radius:16px;padding:12px;display:grid;gap:10px;margin-top:10px;position:relative}
.apc-item-head{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:center}
.apc-item-thumb{width:56px;height:56px;border-radius:12px;object-fit:contain;background:#f8fafc;border:1px solid var(--apc-line)}
.apc-item-thumb-icon{display:flex;align-items:center;justify-content:center;color:#1d4ed8;font-weight:800;font-size:13px}
.apc-item-head strong{display:block;overflow-wrap:anywhere;color:var(--apc-text)}
.apc-item-head span{display:block;color:var(--apc-muted);font-weight:800;font-size:14px;margin-top:2px}
.apc-item-fields{display:grid;gap:10px}
.apc-item-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px}
.apc-item-row[hidden]{display:none}
.apc-item-row>span{font-weight:800;color:var(--apc-muted);font-size:14px}
.apc-item-toggle{display:flex;border-radius:14px;overflow:hidden;border:1px solid var(--apc-line)}
.apc-item-toggle button{flex:1;border:0;background:#fff;padding:10px 8px;font-weight:800;color:var(--apc-text);cursor:pointer}
.apc-item-toggle button.active{background:linear-gradient(180deg,#111827,#030712);color:#fff}
.apc-item-copies{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.apc-item-copies button{width:36px;height:36px;border-radius:10px;border:0;background:var(--apc-soft);color:var(--apc-text);font-size:20px;font-weight:800;cursor:pointer}
.apc-item-copies b{min-width:22px;text-align:center}
.apc-item-check{display:flex;align-items:center;gap:8px;justify-content:flex-end;font-weight:800;color:var(--apc-text)}
.apc-item-actions{display:flex;flex-wrap:wrap;gap:8px}
.apc-item-actions button{flex:1;min-width:70px;min-height:38px;border-radius:12px;border:1px solid var(--apc-line);background:#fff;color:var(--apc-text);font-weight:800;cursor:pointer}
.apc-item-actions [data-action="delete"]{border-color:#fecaca;color:#991b1b}
.apc-block-actions{margin-bottom:4px}
.apc-savings{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;border-radius:12px;padding:8px 10px;font-weight:800;font-size:13px}
@media(max-width:420px){.apc-item-row{grid-template-columns:1fr}.apc-item-row>span{margin-bottom:-4px}}

/* M097: Cliente V2 mobile compact previews and PWA install polish */
html,body{max-width:100%;overflow-x:hidden}
.apc-page,.apc-shell,.apc-wallet-shell,.apc-dest-shell,.apc-mostrador-shell{overflow-x:hidden}
.apc-container,.apc-app,.apc-wallet-app,.apc-dest-app,.apc-mostrador-app{max-width:520px;overflow-x:hidden}
.apc-card-ui,.apc-card,.apc-wallet-card,.apc-dest-card,.apc-m-card{max-width:100%;overflow:hidden}
.apc-m-upload-btn{min-height:132px}
.apc-m-preview{max-height:180px;min-height:96px;overflow:hidden}
.apc-m-preview img,.apc-m-preview canvas{max-width:100%;max-height:180px;object-fit:contain}
.apc-m-header{margin-bottom:10px}
.apc-m-header h1,.apc-screen-header h1,.apc-title,.apc-wallet-title,.apc-dest-card h1,.qty-header h1{font-size:24px;line-height:1.08}
.apc-m-header p,.apc-screen-header p,.apc-sub,.qty-header p{font-size:14px;line-height:1.25}
.apc-item-card{padding:9px;gap:7px;margin-top:8px;border-radius:12px;overflow:hidden}
.apc-item-card-summary{gap:8px}
.apc-item-head{grid-template-columns:78px minmax(0,1fr);gap:9px;align-items:start}
.apc-item-head>div{min-width:0;display:grid;gap:3px;align-content:start}
.apc-item-title-text,.apc-item-head strong{display:block;min-width:0;font-size:15px;line-height:1.18;overflow-wrap:anywhere;word-break:normal;color:var(--apc-text)}
.apc-item-meta-stack{display:grid;gap:3px;min-width:0}
.apc-item-kind,.apc-item-price{display:block;margin:0;color:var(--apc-muted);font-size:13px;line-height:1.2;font-weight:800;overflow-wrap:anywhere}
.apc-item-price{color:#166534}
.apc-price-pending{display:inline-flex;width:max-content;max-width:100%;align-items:center;border:1px dashed #cbd5e1;border-radius:999px;background:#f8fafc;color:#64748b;padding:2px 8px;font-size:12px;line-height:1.25;white-space:normal}
.apc-item-thumb-wrap{position:relative;width:78px;height:78px;max-width:100%;border-radius:10px;background:#f8fafc;border:1px solid var(--apc-line);display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box}
.apc-item-thumb{width:100%;height:100%;max-width:100%;max-height:180px;border:0;border-radius:10px;object-fit:contain;background:#f8fafc;display:block}
.apc-item-thumb-icon{display:flex;align-items:center;justify-content:center;color:#1d4ed8;font-size:13px;font-weight:800}
.apc-item-thumb-count{position:absolute;right:5px;bottom:5px;min-width:28px;min-height:24px;border-radius:999px;background:rgba(15,23,42,.88);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;padding:0 7px;box-sizing:border-box}
/* HOTFIX 22-03 bug A: apcItemPreviewHtml() ahora reusa apcConfigPreviewHtml()
   (la grilla de .apc-config-preview-sheet que ya dibuja la preview
   principal) dentro de la miniatura del carrito, que es mucho mas chica
   (34-78px segun el contexto, ver .apc-item-thumb-wrap y sus variantes
   .apc-order-row/.apc-config-page). Sin este override la hoja se queda
   con su tamaño de pantalla completa (min-width:250px) y desborda. Se
   conserva su aspect-ratio (asi la orientacion vertical/horizontal
   sigue siendo verdad visual), solo se limita a caber en la caja.*/
.apc-item-thumb-wrap .apc-config-preview-sheet{width:auto;height:auto;max-width:100%;max-height:100%;min-width:0;min-height:0;border-radius:6px;padding:2px;gap:1px;box-shadow:none}
.apc-item-thumb-wrap .apc-preview-slot{border-width:1px;border-radius:2px}
.apc-item-thumb-wrap .apc-config-preview-pdf strong,.apc-item-thumb-wrap .apc-config-preview-pdf span{display:none}
.apc-item-fields{gap:7px}
.apc-item-row{gap:7px}
.apc-item-row>span{font-size:13px;line-height:1.2}
.apc-item-toggle button{min-height:42px;padding:8px 7px}
.apc-item-copies{justify-content:space-between;gap:8px}
.apc-item-copies button{width:40px;height:40px}
.apc-item-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;margin-top:1px}
.apc-item-actions button{min-width:0;min-height:44px;padding:8px 10px;border-radius:12px;line-height:1.15;white-space:normal}
.apc-m-confirm-summary{gap:7px;padding:7px}
.apc-m-confirm-summary div{padding:7px;min-width:0}
.apc-m-confirm-summary span,.apc-m-confirm-summary b{overflow-wrap:anywhere}
.apc-m-summary-list{gap:7px;margin-top:8px}
.apc-m-total-box{padding:9px;margin:9px 0;gap:3px}
.apc-m-total-box b{font-size:clamp(18px,7vw,30px);line-height:1.12;overflow-wrap:anywhere;color:#16a34a}
.apc-m-total-box small{font-size:12px;line-height:1.25}
.apc-m-main-btn,.apc-m-back-btn,.apc-m-danger-btn,.apc-button,.apc-btn{min-height:46px}
@media(max-width:430px){
  .apc-container,.apc-app,.apc-wallet-app,.apc-dest-app,.apc-mostrador-app{padding:8px 9px 12px}
  .apc-card-ui,.apc-card,.apc-wallet-card,.apc-dest-card,.apc-m-card{padding:10px}
  .apc-item-head{grid-template-columns:72px minmax(0,1fr)}
  .apc-item-thumb-wrap{width:72px;height:72px}
  .apc-m-header h1,.apc-screen-header h1,.apc-title,.apc-wallet-title,.apc-dest-card h1,.qty-header h1{font-size:22px}
}
@media(max-width:360px){
  .apc-container,.apc-app,.apc-wallet-app,.apc-dest-app,.apc-mostrador-app{padding-left:8px;padding-right:8px}
  .apc-item-card{padding:8px}
  .apc-item-head{grid-template-columns:64px minmax(0,1fr);gap:8px}
  .apc-item-thumb-wrap{width:64px;height:64px}
  .apc-item-title-text,.apc-item-head strong{font-size:14px}
  .apc-item-kind,.apc-item-price{font-size:12px}
  .apc-item-actions{grid-template-columns:1fr 1fr}
  .apc-m-header h1,.apc-screen-header h1,.apc-title,.apc-wallet-title,.apc-dest-card h1,.qty-header h1{font-size:20px}
}

/* UX friction pass (Cliente V3 unicamente): confirmaciones y avisos propios
   en vez de alert()/confirm() nativos, estados de espera visibles en
   acciones con red, y ajustes menores de legibilidad. */
.apc-toast-stack{position:fixed;left:0;right:0;bottom:14px;display:grid;gap:8px;justify-items:center;z-index:10000;padding:0 14px;box-sizing:border-box;pointer-events:none}
.apc-toast{pointer-events:auto;max-width:420px;width:100%;border-radius:14px;padding:12px 16px;font-weight:700;font-size:14px;line-height:1.35;box-shadow:0 14px 30px rgba(15,23,42,.24);background:#111827;color:#fff;animation:apcToastIn .18s ease-out;box-sizing:border-box;overflow-wrap:anywhere}
.apc-toast-success{background:#14532d}
.apc-toast-error{background:#7f1d1d}
@keyframes apcToastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.apc-confirm-overlay{position:fixed;inset:0;background:rgba(15,23,42,.78);display:grid;place-items:center;z-index:9999;padding:16px}
.apc-confirm-card{width:min(100%,380px);background:#fff;border-radius:20px;padding:18px;display:grid;gap:14px;text-align:center;box-shadow:0 20px 44px rgba(15,23,42,.28);box-sizing:border-box}
.apc-confirm-card p{margin:0;font-weight:700;color:var(--apc-text);font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.apc-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.apc-wallet-locked{color:var(--apc-muted)!important;font-weight:600!important}
@media(max-width:420px){.apc-confirm-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.apc-toast{animation:none}}

.apc-config-page .apc-container{max-width:980px}
.apc-library-file{cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease;min-width:0}
.apc-library-file:hover{border-color:#93c5fd;background:#f8fbff}
.apc-library-selected{border-color:#16a34a;background:#ecfdf5;box-shadow:0 0 0 2px rgba(22,163,74,.16)}
.apc-library-thumb-img{width:52px;height:52px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid #dbe4f0;box-sizing:border-box;display:block}
.apc-library-panel,.apc-library-cart{margin-top:12px;display:grid;gap:10px}
.apc-library-panel-empty{border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#64748b;font-weight:800;text-align:center;padding:14px;min-height:96px;display:grid;place-items:center}
.apc-library-config-card{margin-top:0;align-content:start}
.apc-library-config-card .apc-m-warning{margin:0}
.apc-library-config-card #apcLibraryAddToCart{margin-top:2px}
.apc-library-cart{border-top:1px solid #e2e8f0;padding-top:12px}
.apc-library-cart-item span{display:block;color:#64748b;font-weight:800;margin-top:4px;overflow-wrap:anywhere}

.apc-config-layout{display:grid;gap:12px;align-items:start}
.apc-config-files{margin-top:0;align-content:start;max-height:560px;overflow:auto;padding-right:2px}
.apc-config-workbench{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(280px,1.1fr);gap:12px;margin-top:0;align-items:stretch;min-width:0}
.apc-config-preview{border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;min-height:320px;display:grid;place-items:center;padding:14px;box-sizing:border-box;min-width:0}
.apc-config-preview-sheet{--apc-sheet-ratio:8.5/11;width:min(100%,250px);aspect-ratio:var(--apc-sheet-ratio);min-height:260px;border:1px solid #dbe4f0;border-radius:12px;background:#fff;display:grid;gap:8px;place-items:center;text-align:center;padding:14px;box-sizing:border-box;color:#64748b;font-weight:800;box-shadow:0 10px 22px rgba(15,23,42,.08)}
/* M428 cierre UX: toggle vertical/horizontal -- data-orientation lo pone
   apcConfigPreviewHtml() solo en modo imagen; una sola regla cubre las
   demas apariciones de aspect-ratio de abajo porque todas ya usan la
   variable en vez del literal. */
.apc-config-preview-sheet[data-orientation="horizontal"]{--apc-sheet-ratio:11/8.5}
.apc-config-preview-sheet strong{color:#0f172a;overflow-wrap:anywhere;max-width:100%;font-size:14px;line-height:1.2}
.apc-config-preview-images{align-items:stretch;position:relative}
.apc-preview-dist-1{grid-template-columns:1fr;grid-template-rows:1fr}.apc-preview-dist-2{grid-template-columns:1fr;grid-template-rows:repeat(2,1fr)}.apc-preview-dist-4{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.apc-preview-dist-6{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr)}.apc-preview-dist-8{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,1fr)}
.apc-preview-slot{display:grid;place-items:center;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;min-width:0;min-height:0;overflow:hidden}
.apc-preview-slot img{width:100%;height:100%;object-fit:contain;background:#fff;display:block}
.apc-preview-empty{background:repeating-linear-gradient(135deg,#f8fafc,#f8fafc 7px,#eef2f7 7px,#eef2f7 14px)}
.apc-config-preview-images em{position:absolute;right:8px;bottom:8px;border-radius:999px;background:#111827;color:#fff;padding:6px 10px;font-style:normal;font-weight:900}
.apc-dist-row{grid-template-columns:1fr;align-items:start}
.apc-dist-options{display:grid;grid-template-columns:repeat(5,minmax(54px,1fr));gap:8px;width:100%}
.apc-dist-option{border:1px solid #cbd5e1;background:#fff;border-radius:12px;min-height:76px;padding:7px 5px;display:grid;gap:5px;place-items:center;color:#0f172a;font-weight:900;cursor:pointer}
.apc-dist-option.active{border-color:#16a34a;background:#ecfdf5;box-shadow:0 0 0 2px rgba(22,163,74,.16)}
.apc-dist-sheet{width:38px;height:48px;border:1px solid #94a3b8;border-radius:5px;background:#fff;display:grid;gap:3px;padding:4px;box-sizing:border-box}
.apc-dist-sheet i{display:block;background:#dbeafe;border:1px solid #93c5fd;border-radius:3px;min-width:0;min-height:0}
.apc-dist-1{grid-template-columns:1fr;grid-template-rows:1fr}.apc-dist-2{grid-template-columns:1fr;grid-template-rows:repeat(2,1fr)}.apc-dist-4{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.apc-dist-6{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr)}.apc-dist-8{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,1fr)}
.apc-dist-option>span:last-child{font-size:12px;line-height:1}
@media(min-width:860px){.apc-config-layout{grid-template-columns:minmax(260px,.8fr) minmax(520px,1.6fr)}.apc-config-files{max-height:620px}.apc-config-preview{min-height:360px}}
@media(max-width:859px){.apc-config-page .apc-container{max-width:520px}.apc-config-layout{grid-template-columns:1fr}.apc-config-workbench{grid-template-columns:1fr}.apc-config-files{max-height:none;overflow:visible}.apc-config-preview{min-height:260px}.apc-config-preview-sheet{min-height:220px}.apc-dist-options{grid-template-columns:repeat(5,minmax(48px,1fr))}}
@media(max-width:430px){.apc-dist-options{grid-template-columns:repeat(3,minmax(64px,1fr))}.apc-config-preview{min-height:230px}.apc-config-preview-sheet{min-height:200px}.apc-dist-option{min-height:72px}}

/* Cliente V3 dibujo oficial configurar/resumen compacto */
.apc-config-page .apc-screen-header{margin-bottom:8px}
.apc-config-page .apc-screen-header p{display:none}
.apc-config-page .apc-m-card{padding:12px}
.apc-config-page .apc-m-wizard{display:grid;gap:10px}
.apc-config-page .apc-config-layout{grid-template-columns:minmax(230px,.72fr) minmax(520px,1.6fr);gap:10px}
.apc-config-page .apc-config-files{border:1px solid #dbe4f0;border-radius:10px;background:#f8fafc;padding:6px;gap:4px;max-height:510px;overflow:auto}
.apc-config-page .apc-config-file-row{grid-template-columns:34px minmax(0,1fr) 28px;padding:5px;gap:6px;border-radius:8px;margin:0;min-height:44px;background:#fff}
.apc-config-page .apc-config-file-row strong{font-size:11px;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.apc-config-page .apc-config-file-row span{font-size:10px;line-height:1.05;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.apc-config-page .apc-config-file-row .apc-library-thumb-img,.apc-config-page .apc-config-file-row .apc-m-file-icon{width:34px;height:34px;border-radius:7px;font-size:10px}
.apc-file-remove{width:26px;height:26px;min-height:0!important;padding:0!important;border:1px solid #fecaca!important;border-radius:8px!important;background:#fff!important;color:#991b1b!important;font-size:18px!important;line-height:1!important;font-weight:900!important;align-self:center}
.apc-config-page .apc-config-workbench{grid-template-columns:1fr;gap:8px}
.apc-config-page .apc-config-preview{min-height:280px;border-radius:10px;padding:10px;align-self:start}
.apc-config-page .apc-config-preview-sheet{width:min(100%,220px);min-height:250px;border-radius:8px;padding:10px}
.apc-current-controls{display:grid;gap:7px;border:1px solid #dbe4f0;border-radius:10px;background:#fff;padding:8px}
.apc-selected-title{font-size:11px;line-height:1.15;font-weight:900;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.apc-current-controls .apc-item-fields{gap:6px}
.apc-current-controls .apc-item-row{grid-template-columns:78px minmax(0,1fr);gap:6px;align-items:center}
.apc-current-controls .apc-dist-row{grid-template-columns:1fr;gap:5px}
.apc-current-controls .apc-item-row>span{font-size:11px;line-height:1;color:#64748b}
.apc-current-controls .apc-input{min-height:30px;padding:5px 7px;font-size:12px;border-radius:8px}
.apc-current-controls .apc-item-toggle{border-radius:8px}
.apc-current-controls .apc-item-toggle button{padding:7px 6px;font-size:11px;line-height:1}
.apc-current-controls .apc-item-copies{gap:7px;justify-content:flex-start}
.apc-current-controls .apc-item-copies button,.apc-summary-qty button{width:28px;height:28px;border-radius:8px;font-size:17px}
.apc-current-controls .apc-item-copies b,.apc-summary-qty b{min-width:18px;font-size:13px;text-align:center}
.apc-current-controls .apc-dist-options{grid-template-columns:repeat(5,42px);gap:6px;justify-content:start}
.apc-current-controls .apc-dist-option{min-height:46px;width:42px;padding:4px;border-radius:8px}
.apc-current-controls .apc-dist-sheet{width:26px;height:34px;border-radius:4px;gap:2px;padding:3px}
.apc-current-controls #apcLibraryAddToCart{min-height:42px;border-radius:10px;font-size:13px;letter-spacing:0;margin-top:2px}
.apc-config-page .apc-library-cart{margin-top:8px;padding-top:8px;gap:5px}
.apc-cart-title{font-size:14px;line-height:1;margin:0 0 3px;color:#0f172a}
.apc-order-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:7px;align-items:center;border:1px solid #e2e8f0;border-radius:9px;background:#fff;padding:6px;margin:0}
.apc-order-row .apc-item-thumb-wrap{width:42px;height:42px}.apc-order-row .apc-item-thumb{width:42px;height:42px;border-radius:8px}.apc-order-row .apc-item-thumb-count{font-size:10px;padding:1px 4px}
.apc-order-row-main{min-width:0}.apc-order-row-main strong{display:block;font-size:12px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apc-order-row-main span{font-size:10px;line-height:1.1;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#64748b;font-weight:800}
.apc-order-row-actions{display:flex;gap:4px}.apc-order-row-actions button{min-height:28px;padding:4px 7px;border-radius:8px;border:1px solid #dbe4f0;background:#fff;font-size:11px;font-weight:900}.apc-order-row-actions [data-action="delete"]{border-color:#fecaca;color:#991b1b}
.apc-summary-page .apc-container{max-width:680px}.apc-summary-page .apc-screen-header p{display:none}.apc-summary-page .apc-m-card{padding:12px}.apc-summary-page #apcQuoteStatus{font-size:12px;padding:7px 9px}.apc-summary-page .apc-m-destination{font-size:12px;padding:7px 9px;margin-top:6px}.apc-summary-page .apc-m-summary-list{gap:5px;margin-top:8px}
.apc-summary-row{display:grid;grid-template-columns:42px 78px 112px 82px 34px;grid-template-areas:"thumb price mode qty del" "meta meta meta meta meta";gap:6px;align-items:center;border:1px solid #e2e8f0;border-radius:9px;background:#fff;padding:6px}
.apc-summary-row .apc-item-thumb-wrap{grid-area:thumb;width:42px;height:42px}.apc-summary-row .apc-item-thumb{width:42px;height:42px;border-radius:8px}.apc-summary-price{grid-area:price;font-size:13px;font-weight:900;color:#0f172a}.apc-summary-mode{grid-area:mode;display:flex;border:1px solid #dbe4f0;border-radius:8px;overflow:hidden}.apc-summary-mode button{flex:1;border:0;background:#fff;padding:7px 5px;font-size:10px;font-weight:900}.apc-summary-mode button.active{background:#111827;color:#fff}.apc-summary-qty{grid-area:qty;display:flex;align-items:center;gap:4px}.apc-summary-delete{grid-area:del;width:30px;height:30px;border:1px solid #fecaca;border-radius:8px;background:#fff;color:#991b1b}.apc-summary-meta{grid-area:meta;min-width:0}.apc-summary-meta strong{display:block;font-size:11px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apc-summary-meta span{display:block;font-size:10px;line-height:1.1;color:#64748b;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.apc-summary-page .apc-m-total-box{margin:10px 0 8px;padding:10px;border-radius:10px}.apc-summary-page .apc-m-total-box span{font-size:12px}.apc-summary-page .apc-m-total-box b{font-size:30px}.apc-summary-page .apc-m-total-box small{display:none}.apc-summary-page #apcGenerateOrder{min-height:48px;border-radius:12px;text-transform:uppercase}.apc-summary-page #apcAddAnotherFile{display:none}
@media(max-width:760px){.apc-config-page .apc-config-layout{grid-template-columns:1fr}.apc-config-page .apc-config-files{max-height:240px}.apc-config-page .apc-config-preview{min-height:240px}.apc-config-page .apc-config-preview-sheet{min-height:220px}.apc-current-controls .apc-dist-options{grid-template-columns:repeat(5,42px)}}
@media(max-width:520px){.apc-summary-row{grid-template-columns:38px 1fr 92px 76px 30px;grid-template-areas:"thumb price mode qty del" "meta meta meta meta meta";gap:5px;padding:5px}.apc-summary-price{font-size:12px}.apc-summary-mode button{font-size:9px;padding:6px 3px}.apc-summary-qty button{width:24px;height:24px}.apc-summary-delete{width:26px;height:26px}.apc-current-controls .apc-item-row{grid-template-columns:1fr}.apc-current-controls .apc-dist-options{grid-template-columns:repeat(5,38px)}.apc-current-controls .apc-dist-option{width:38px}.apc-current-controls .apc-dist-sheet{width:24px;height:31px}}

.apc-library-disabled{opacity:.38;background:#f1f5f9!important;cursor:not-allowed}.apc-library-disabled strong,.apc-library-disabled span{color:#94a3b8!important}.apc-library-disabled .apc-file-remove{opacity:1;cursor:pointer}
.apc-pdf-thumb{border:0;pointer-events:none;background:#fff;overflow:hidden}
.apc-preview-mode-bn img,.apc-preview-mode-bn iframe,.apc-preview-mode-bn canvas{filter:grayscale(1)}
.apc-preview-mode-label{position:absolute;left:8px;bottom:8px;border-radius:999px;background:#111827;color:#fff;padding:4px 8px;font-size:10px;line-height:1}
.apc-config-preview-pdf{position:relative;grid-template-rows:1fr auto auto;overflow:hidden}.apc-config-preview-pdf iframe{width:100%;height:100%;min-height:150px;border:1px solid #e2e8f0;border-radius:7px;background:#fff}.apc-config-preview-pdf span{font-size:11px;color:#64748b;font-weight:900}
.apc-preview-empty-state{min-height:210px;width:100%;display:grid;place-items:center;border:1px dashed #cbd5e1;border-radius:10px;color:#94a3b8;font-weight:900;background:#f8fafc}
.apc-order-row{grid-template-columns:42px minmax(0,1fr) 72px 40px 34px auto}.apc-order-price{font-size:12px;color:#0f172a;white-space:nowrap}.apc-order-mode,.apc-order-qty{font-size:11px;font-weight:900;color:#475569;text-align:center}.apc-order-row-actions{justify-self:end}
.apc-summary-row .apc-pdf-thumb,.apc-order-row .apc-pdf-thumb{width:42px;height:42px}.apc-config-file-row .apc-pdf-thumb{width:34px;height:34px}.apc-config-page .apc-config-file-row.apc-library-disabled{box-shadow:none}
@media(max-width:760px){.apc-order-row{grid-template-columns:38px minmax(0,1fr) 58px 34px 28px}.apc-order-row-actions{grid-column:1/-1;justify-self:stretch}.apc-order-row-actions button{flex:1}.apc-order-price{font-size:11px}.apc-order-mode,.apc-order-qty{font-size:10px}}


/* Cliente V3 final UX polish */
.apc-wallet-order-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.apc-wallet-order{position:relative;padding:12px;gap:10px;text-align:center;justify-items:center;border-color:#e5e7eb;box-shadow:0 8px 18px rgba(15,23,42,.05)}
.apc-wallet-order .apc-qr-icon-button{width:100%;display:grid;place-items:center;padding:8px;border:1px solid #e2e8f0;background:#fff;border-radius:14px}
.apc-wallet-order .apc-qr-icon-button img,.apc-wallet-order img{width:min(100%,150px);height:auto;aspect-ratio:1/1;object-fit:contain;display:block;background:#fff}
.apc-wallet-order-main{display:grid;gap:4px;justify-items:center;min-width:0;width:100%}
.apc-wallet-order-main b{font-size:18px;color:#166534;line-height:1.1}
.apc-wallet-order-main span{font-size:12px;line-height:1.25;color:#475569;font-weight:700;overflow-wrap:anywhere}
.apc-wallet-buzon-badge{display:inline-block;font-size:11px;font-weight:800;color:#78350f;background:#fde68a;border-radius:999px;padding:2px 9px;line-height:1.4}
/* MISION 22-10 (PEDIDOS + WALLET 60M): usa variables de tema (--apc-text/
   --apc-green), no colores fijos -- .apc-wallet-order y .apc-wallet-order-main
   ya tienen su propio soporte de modo oscuro (linea ~1034/1065 mas abajo,
   sin cambios); esta tarjeta reusa esa misma clase base a proposito. */
.apc-wallet-recharge-card{border-style:dashed}
.apc-wallet-recharge-kicker{font-size:11px;font-weight:900;letter-spacing:.06em;color:#64748b}
.apc-wallet-recharge-negocio{font-size:12px;font-weight:700;color:var(--apc-text,#0f172a)}
.apc-wallet-recharge-urgent{color:#b45309;font-weight:900}
/* HOTFIX 22-04 problema 4: folio/codigo visible debajo del QR en cada
   tarjeta de "Pedidos activos" -- antes solo vivia en un data-attribute,
   nunca como texto. Mismo codigo canonico (o.pedido_codigo) que ya usa
   el QR grande (apcQrScreenHtml), no se inventa uno nuevo. */
.apc-order-code-block{width:100%;margin-top:2px;padding-top:6px;border-top:1px dashed #e2e8f0;display:grid;gap:3px;justify-items:center}
.apc-order-code-label{font-size:10px;font-weight:900;letter-spacing:.4px;color:var(--apc-muted,#64748b);text-transform:uppercase}
.apc-order-code-value{font-size:13px;font-weight:800;color:#0f172a;letter-spacing:.3px;word-break:break-all;user-select:all}
.apc-order-code-copy{margin-top:2px;min-height:32px;padding:0 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#1d4ed8;font-weight:800;font-size:11.5px;cursor:pointer}
.apc-order-code-copy:active{transform:scale(.96);filter:brightness(.96)}
.apc-wallet-order-actions{width:100%;min-height:46px;display:grid;grid-template-columns:1fr;gap:8px;align-items:center}
.apc-wallet-order-actions .apc-button{width:100%;min-height:38px;border-radius:12px;font-size:13px;padding:7px 10px}
.apc-library-file{position:relative;border-color:#e2e8f0;box-shadow:none}
.apc-library-selected{border-color:#93c5fd!important;background:#f8fbff!important;box-shadow:0 1px 8px rgba(15,23,42,.06)!important}
.apc-library-selected::after{content:"✓";position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:999px;background:#16a34a;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:900;line-height:1;box-shadow:0 1px 4px rgba(15,23,42,.18)}
.apc-library-thumb-img,.apc-item-thumb,.apc-preview-slot img,.apc-m-preview img,.apc-config-preview img{object-fit:contain!important;background:#fff}
.apc-library-thumb-img{padding:2px}
.apc-config-page .apc-config-file-row{grid-template-columns:34px minmax(0,1fr) 28px}
.apc-file-remove{font-size:0!important;display:grid!important;place-items:center!important;color:#991b1b!important}
.apc-file-remove::before{content:"🗑";font-size:14px;line-height:1}
.apc-order-row-actions [data-action="delete"]{font-size:0!important;display:grid;place-items:center}
.apc-order-row-actions [data-action="delete"]::before{content:"🗑";font-size:14px;line-height:1}
.apc-summary-page #apcQuoteStatus{background:transparent;border:0;color:#64748b;padding:0;text-align:center}
@media(max-width:430px){.apc-wallet-order-grid{grid-template-columns:1fr}.apc-wallet-order .apc-qr-icon-button img,.apc-wallet-order img{width:min(72vw,230px)}.apc-wallet-order-main b{font-size:20px}}

.apc-quote-preview{border:1px solid #bbf7d0;background:#ecfdf5;color:#166534;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:900;line-height:1.25}
.apc-quote-preview.apc-quote-error,.apc-order-total.apc-quote-error{border-color:#fecaca;background:#fef2f2;color:#991b1b}
.apc-order-total{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;border:1px solid #bbf7d0;background:#ecfdf5;color:#14532d;border-radius:10px;padding:9px 10px;font-weight:900}
.apc-order-total span{font-size:12px;letter-spacing:0;color:inherit}
.apc-order-total b{font-size:16px;color:inherit;text-align:right}
.apc-summary-page .apc-m-total-box span{text-transform:uppercase}
@media(max-width:430px){.apc-order-total{grid-template-columns:1fr}.apc-order-total b{text-align:left}}


/* Cliente V3 configurar preview optimizado */
.apc-config-page .apc-config-workbench{grid-template-columns:minmax(250px,1fr) minmax(210px,.78fr);gap:10px;align-items:start}
.apc-config-page .apc-config-preview{min-height:auto;border:0;background:transparent;padding:0;border-radius:0;display:flex;align-items:flex-start;justify-content:center}
.apc-config-page .apc-config-preview-sheet{width:min(100%,300px);min-height:auto;aspect-ratio:var(--apc-sheet-ratio);border-radius:7px;padding:9px;box-shadow:0 16px 34px rgba(15,23,42,.16);border-color:#d4dae3}
.apc-config-page .apc-config-preview-images{gap:7px}
.apc-config-page .apc-preview-slot{border-radius:5px;background:#fff;border-color:#d8dee8}
.apc-config-page .apc-config-preview-pdf{gap:7px}
.apc-config-page .apc-config-preview-pdf iframe{min-height:0;border-radius:5px}
.apc-config-side{display:grid;gap:10px;min-width:0}
.apc-config-info-card,.apc-premium-card{border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:10px;box-shadow:0 8px 18px rgba(15,23,42,.05);box-sizing:border-box}
.apc-config-info-card{display:grid;grid-template-columns:1fr;gap:5px}
.apc-config-info-card span{font-size:11px;line-height:1;text-transform:uppercase;font-weight:900;color:#64748b}
.apc-config-info-card b{font-size:17px;line-height:1.15;color:#0f172a;overflow-wrap:anywhere}
.apc-config-info-card b.apc-quote-error{color:#991b1b}
.apc-premium-card{display:grid;gap:9px;background:#f8fafc}
/* Banner administrado desde Kamisama (App Premium): mismo contenedor
   .apc-premium-card que el mensaje que reemplaza, solo se agrega el
   tamaño del media -- llena la caja ya existente (alto fijo por
   breakpoint definido mas abajo en este archivo), sin layout nuevo. */
.apc-premium-card[data-app-banner-card]:not([hidden]){display:flex;align-items:center;justify-content:center;padding:0;background:#000;overflow:hidden}
.apc-app-banner-media{display:block;width:100%;height:100%;object-fit:contain}
.apc-premium-card > a{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.apc-premium-card h2{margin:0;font-size:16px;line-height:1.18;color:#0f172a}
.apc-premium-card ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.apc-premium-card li{display:grid;grid-template-columns:18px 1fr;gap:6px;align-items:start;font-size:12px;line-height:1.18;font-weight:800;color:#475569}
.apc-premium-card li::before{content:"✓";width:16px;height:16px;border-radius:999px;background:#e0f2fe;color:#0369a1;display:grid;place-items:center;font-size:10px;font-weight:900;line-height:1;margin-top:-1px}
.apc-premium-card button{min-height:34px;border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:9px;font-size:12px;font-weight:900;padding:7px 9px;cursor:not-allowed}
.apc-config-page .apc-library-panel{grid-column:1/-1;margin-top:0}
.apc-config-page .apc-preview-empty-state{min-height:300px;border-radius:7px;background:#fff}
@media(min-width:1120px){.apc-config-page .apc-container{max-width:1080px}.apc-config-page .apc-config-layout{grid-template-columns:minmax(230px,.62fr) minmax(680px,1.8fr)}.apc-config-page .apc-config-preview-sheet{width:min(100%,330px)}}
@media(max-width:760px){.apc-config-page .apc-config-workbench{grid-template-columns:1fr}.apc-config-page .apc-config-preview-sheet{width:min(100%,300px)}.apc-config-side{grid-template-columns:1fr}.apc-config-page .apc-library-panel{grid-column:auto}.apc-config-page .apc-preview-empty-state{min-height:220px}}
/* HOTFIX 22-01 bug5: en movil, .apc-m-preview.apc-preview-empty-state
   (unico combo que usa apcConfigPreviewHtml() en cliente_v3.js cuando NO
   hay archivo seleccionado) seguia reservando 220px+ y empujaba el
   carrito. Selector mas especifico (3 clases) que el de arriba (2
   clases) para no depender del orden y sin tocar .apc-preview-empty-state
   generico (usado tambien por slots ya poblados/otros estados). */
@media(max-width:760px){.apc-config-page .apc-m-preview.apc-preview-empty-state{min-height:48px;padding:12px 0;font-size:12.5px}}
@media(max-width:430px){.apc-config-page .apc-config-preview-sheet{width:min(100%,260px);padding:8px}.apc-premium-card li{font-size:11px}.apc-config-info-card b{font-size:16px}}

/* Cliente V3 configurar: layout oficial del dibujo */
.apc-config-page{background:#eef2f7}
.apc-config-page .apc-page{min-height:100vh;padding:6px;box-sizing:border-box}
.apc-config-page .apc-container{max-width:440px;width:100%;margin:0 auto}
.apc-config-page .apc-progress{display:none}
.apc-config-page .apc-m-card{min-height:calc(100vh - 12px);padding:8px;border-radius:18px;box-shadow:0 8px 22px rgba(15,23,42,.12);display:flex;flex-direction:column;box-sizing:border-box}
.apc-config-page .apc-screen-header{margin:0 0 4px;text-align:left}
.apc-config-page .apc-screen-kicker{display:none}
.apc-config-page .apc-screen-header h1{font-size:18px;line-height:1.05;margin:0}
.apc-config-page .apc-m-wizard{display:flex;flex-direction:column;gap:6px;flex:1;min-height:0}
.apc-config-page .apc-config-layout{display:grid!important;grid-template-columns:1fr!important;gap:6px;min-height:0}
.apc-config-page .apc-config-files{height:70px;max-height:70px;display:flex;align-items:center;gap:6px;overflow-x:auto;overflow-y:hidden;border:0;background:transparent;border-radius:0;padding:0;margin:0;scrollbar-width:thin}
.apc-config-page .apc-config-file-row{flex:0 0 62px;width:62px;height:64px;min-height:64px;display:grid;grid-template-columns:1fr!important;place-items:center;padding:4px;border-radius:12px;background:#fff;border:1px solid #dbe4f0;box-shadow:0 2px 8px rgba(15,23,42,.06);position:relative;box-sizing:border-box}
.apc-config-page .apc-config-file-row>div:nth-child(2),.apc-config-page .apc-config-file-row .apc-file-remove{display:none!important}
.apc-config-page .apc-config-file-row .apc-library-thumb-img,.apc-config-page .apc-config-file-row .apc-m-file-icon,.apc-config-page .apc-config-file-row .apc-pdf-thumb{width:52px!important;height:52px!important;border-radius:9px!important;font-size:10px!important;object-fit:contain!important;background:#fff}
.apc-config-page .apc-library-selected{border-color:#2563eb!important;background:#eff6ff!important;box-shadow:0 0 0 2px rgba(37,99,235,.16)!important}
.apc-config-page .apc-library-selected::after{top:3px;right:3px;width:16px;height:16px;font-size:10px;background:#2563eb}
.apc-config-page .apc-config-workbench{display:grid!important;grid-template-columns:74px minmax(0,1fr) 74px!important;gap:6px;align-items:stretch;margin:0;min-width:0}
.apc-config-page .apc-premium-card,.apc-config-page .apc-config-info-card,.apc-config-page .apc-config-preview{height:244px;min-height:244px;max-height:244px;box-sizing:border-box}
.apc-config-page .apc-config-preview{grid-column:2;border:0;background:transparent;padding:0;border-radius:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.apc-config-page .apc-config-preview-sheet{height:244px;width:auto;max-width:100%;min-height:0;aspect-ratio:var(--apc-sheet-ratio);border-radius:7px;padding:7px;box-shadow:0 10px 24px rgba(15,23,42,.16);border:1px solid #cfd8e3;background:#fff;box-sizing:border-box}
.apc-config-page .apc-config-preview-images{gap:5px}
.apc-config-page .apc-preview-slot{border-radius:5px;overflow:hidden;background:#fff}
.apc-config-page .apc-preview-slot img,.apc-config-page .apc-config-preview img{object-fit:contain!important;background:#fff}
.apc-config-page .apc-config-preview-pdf iframe{min-height:0;border-radius:5px}
.apc-config-page .apc-preview-mode-label{font-size:9px;padding:3px 6px;left:6px;bottom:6px}
.apc-config-page .apc-premium-card{grid-column:1;grid-row:1;border:1px solid #dbe4f0;background:#fff;border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:5px;overflow:hidden;box-shadow:none}
.apc-config-page .apc-premium-card h2{font-size:11px;line-height:1.08;margin:0;color:#0f172a}
.apc-config-page .apc-premium-card ul{display:grid;gap:3px;margin:0;padding:0;list-style:none;overflow:hidden}
.apc-config-page .apc-premium-card li{display:grid;grid-template-columns:10px 1fr;gap:3px;font-size:8.5px;line-height:1.05;font-weight:800;color:#475569}
.apc-config-page .apc-premium-card li::before{width:8px;height:8px;font-size:6px;margin-top:1px;background:#dbeafe;color:#1d4ed8}
.apc-config-page .apc-premium-card button{margin-top:auto;min-height:22px;border-radius:6px;padding:3px 4px;font-size:8px;line-height:1.05;background:#f8fafc;color:#334155}
.apc-config-page .apc-config-info-card{grid-column:3;grid-row:1;border:1px solid #dbe4f0;background:#fff;border-radius:10px;padding:7px;display:flex;flex-direction:column;justify-content:center;gap:5px;box-shadow:none;overflow:hidden}
.apc-config-page .apc-config-info-card span{font-size:8px;line-height:1;text-transform:uppercase;color:#64748b;font-weight:900}
.apc-config-page .apc-config-info-card b{font-size:12px;line-height:1.08;color:#0f172a;overflow-wrap:anywhere}
.apc-config-page .apc-library-panel{grid-column:1/-1;grid-row:2;margin:0;display:block;min-width:0}
.apc-config-page .apc-current-controls{display:grid;grid-template-columns:minmax(0,1fr) 78px 112px;grid-template-rows:auto auto auto auto;gap:5px;border:0;background:transparent;border-radius:0;padding:0}
.apc-config-page .apc-selected-title{display:none}
.apc-config-page .apc-current-controls .apc-item-fields{display:contents}
.apc-config-page .apc-current-controls .apc-item-row{margin:0;min-width:0}
.apc-config-page .apc-current-controls .apc-item-row>span{display:none}
.apc-config-page .apc-current-controls .apc-dist-row{grid-column:1/-1;grid-row:1;display:block}
.apc-config-page .apc-current-controls .apc-dist-options{grid-template-columns:repeat(5,1fr);gap:5px;width:100%;justify-content:stretch}
.apc-config-page .apc-current-controls .apc-dist-option{width:auto;min-height:38px;height:38px;padding:3px;border-radius:9px}
.apc-config-page .apc-current-controls .apc-dist-sheet{width:22px;height:28px;padding:2px;gap:1px;border-radius:3px}
.apc-config-page .apc-current-controls .apc-orient-row{grid-column:1/-1;grid-row:2;display:block}
.apc-config-page .apc-current-controls .apc-item-toggle-row{grid-column:1;grid-row:3;display:block}
.apc-config-page .apc-current-controls .apc-item-toggle{height:36px;border-radius:9px}
.apc-config-page .apc-current-controls .apc-item-toggle button{font-size:12px;padding:0 7px;min-height:34px}
.apc-config-page .apc-current-controls .apc-item-copies{height:36px;justify-content:center;gap:6px;background:#fff;border:1px solid #dbe4f0;border-radius:9px;box-sizing:border-box}
.apc-config-page .apc-current-controls .apc-item-copies button{width:30px;height:30px;border-radius:7px;font-size:18px}
.apc-config-page .apc-current-controls .apc-item-copies b{font-size:13px;min-width:16px}
.apc-config-page .apc-current-controls .apc-item-row:has(.apc-item-copies){grid-column:2;grid-row:3;display:block}
.apc-config-page .apc-current-controls #apcLibraryAddToCart{grid-column:3;grid-row:3;min-height:36px;height:36px;border-radius:9px;font-size:10px;line-height:1.05;padding:4px 6px;margin:0;text-align:center}
.apc-config-page .apc-current-controls .apc-m-warning{grid-column:1/-1;grid-row:4;margin:0;padding:6px;font-size:11px}
.apc-config-page .apc-current-controls .apc-pdf-pages,.apc-config-page .apc-current-controls .apc-item-rango-row,.apc-config-page .apc-current-controls .apc-item-check{font-size:10px}
.apc-config-page .apc-current-controls .apc-input{min-height:30px;font-size:11px;border-radius:8px;padding:4px 6px}
.apc-config-page .apc-library-cart{height:118px;max-height:118px;overflow:auto;border:1px solid #dbe4f0;background:#f8fafc;border-radius:12px;padding:6px;margin:0;display:block;box-sizing:border-box;scrollbar-width:thin}
.apc-config-page .apc-cart-title{position:sticky;top:0;background:#f8fafc;z-index:1;margin:0 0 5px;padding-bottom:4px;font-size:12px}
.apc-config-page .apc-empty-compact{font-size:12px;padding:10px;border-radius:8px}
.apc-config-page .apc-order-row{grid-template-columns:34px minmax(0,1fr) 58px 28px 26px;gap:4px;padding:4px;border-radius:8px;margin:0 0 5px;min-height:42px}
.apc-config-page .apc-order-row .apc-item-thumb-wrap,.apc-config-page .apc-order-row .apc-item-thumb{width:34px;height:34px;border-radius:7px}
.apc-config-page .apc-order-row-main strong{font-size:10px;line-height:1.05}
.apc-config-page .apc-order-row-main span{font-size:9px;line-height:1.05}
.apc-config-page .apc-order-price{font-size:9px;white-space:normal;line-height:1.05}
.apc-config-page .apc-order-mode,.apc-config-page .apc-order-qty{font-size:9px}
.apc-config-page .apc-order-row-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.apc-config-page .apc-order-row-actions button{min-height:26px;font-size:10px;border-radius:7px}
.apc-config-page .apc-order-total{position:sticky;bottom:0;grid-template-columns:1fr auto;padding:6px 8px;border-radius:8px;margin-top:5px;background:#ecfdf5;font-size:11px}
.apc-config-page .apc-order-total b{font-size:13px}
.apc-config-page .apc-m-actions{position:sticky;bottom:0;z-index:5;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0;padding-top:5px;background:#fff}
.apc-config-page .apc-m-actions .apc-m-back-btn,.apc-config-page .apc-m-actions .apc-m-main-btn{min-height:42px;border-radius:11px;font-size:14px}
@media(max-width:360px){.apc-config-page .apc-config-workbench{grid-template-columns:66px minmax(0,1fr) 66px!important}.apc-config-page .apc-premium-card,.apc-config-page .apc-config-info-card,.apc-config-page .apc-config-preview{height:220px;min-height:220px;max-height:220px}.apc-config-page .apc-config-preview-sheet{height:220px}.apc-config-page .apc-current-controls{grid-template-columns:minmax(0,1fr) 70px 96px}.apc-config-page .apc-premium-card li{font-size:7.5px}.apc-config-page .apc-config-info-card b{font-size:10px}}
@media(min-width:760px){.apc-config-page .apc-container{max-width:760px}.apc-config-page .apc-config-workbench{grid-template-columns:150px minmax(0,1fr) 150px!important}.apc-config-page .apc-premium-card,.apc-config-page .apc-config-info-card,.apc-config-page .apc-config-preview{height:360px;min-height:360px;max-height:360px}.apc-config-page .apc-config-preview-sheet{height:360px}.apc-config-page .apc-premium-card h2{font-size:16px}.apc-config-page .apc-premium-card li{font-size:12px;grid-template-columns:16px 1fr;gap:6px}.apc-config-page .apc-premium-card li::before{width:14px;height:14px;font-size:9px}.apc-config-page .apc-premium-card button{font-size:12px;min-height:34px}.apc-config-page .apc-config-info-card span{font-size:11px}.apc-config-page .apc-config-info-card b{font-size:18px}.apc-config-page .apc-library-cart{height:150px;max-height:150px}.apc-config-page .apc-config-files{height:78px;max-height:78px}.apc-config-page .apc-config-file-row{flex-basis:70px;width:70px;height:72px;min-height:72px}.apc-config-page .apc-config-file-row .apc-library-thumb-img,.apc-config-page .apc-config-file-row .apc-m-file-icon,.apc-config-page .apc-config-file-row .apc-pdf-thumb{width:60px!important;height:60px!important}}


/* Cliente V3 Configurar móvil: corrección compacta y sin deformación */
.apc-preview-img-rotated{transform:rotate(90deg);transform-origin:center center;object-fit:contain!important;max-width:none!important;max-height:none!important}
.apc-config-page .apc-preview-mode-label{display:none!important}
.apc-config-page .apc-config-preview-sheet{aspect-ratio:var(--apc-sheet-ratio);height:auto!important;min-height:0!important;align-self:center;justify-self:center;display:grid}
.apc-config-page .apc-config-preview{align-items:center!important;justify-content:center!important;overflow:visible!important}
@media(max-width:759px){
  .apc-config-page .apc-container{max-width:520px}
  .apc-config-page .apc-m-card{min-height:calc(100vh - 12px);overflow:visible}
  .apc-config-page .apc-config-layout{gap:7px!important}
  .apc-config-page .apc-config-workbench{grid-template-columns:minmax(0,1fr) 96px!important;gap:7px!important;align-items:start!important}
  .apc-config-page .apc-config-preview{grid-column:1!important;grid-row:1!important;height:auto!important;min-height:0!important;max-height:none!important;align-self:start!important}
  .apc-config-page .apc-config-preview-sheet{width:min(100%,236px)!important;max-width:100%!important;padding:7px!important;box-shadow:0 8px 18px rgba(15,23,42,.14)}
  .apc-config-page .apc-config-info-card{grid-column:2!important;grid-row:1!important;height:auto!important;min-height:0!important;max-height:none!important;align-self:start!important;padding:8px!important;gap:7px!important;justify-content:start!important}
  .apc-config-page .apc-config-info-card span{font-size:9px!important}.apc-config-page .apc-config-info-card b{font-size:12px!important;line-height:1.12!important}
  .apc-config-page .apc-library-panel{grid-column:1/-1!important;grid-row:2!important}
  .apc-config-page .apc-current-controls{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto auto auto auto!important;gap:6px!important}
  .apc-config-page .apc-current-controls .apc-dist-row{grid-column:1!important;grid-row:1!important;display:block!important}
  .apc-config-page .apc-current-controls .apc-dist-options{grid-template-columns:repeat(5,1fr)!important;gap:5px!important}
  .apc-config-page .apc-current-controls .apc-dist-option{height:40px!important;min-height:40px!important;width:auto!important}
  .apc-config-page .apc-current-controls .apc-orient-row{grid-column:1!important;grid-row:2!important;display:block!important}
  .apc-config-page .apc-current-controls .apc-item-toggle-row{grid-column:1!important;grid-row:3!important;display:block!important}
  .apc-config-page .apc-current-controls .apc-item-toggle{height:40px!important}.apc-config-page .apc-current-controls .apc-item-toggle button{min-height:38px!important;font-size:13px!important}
  .apc-config-page .apc-current-controls .apc-item-row:has(.apc-item-copies){grid-column:1!important;grid-row:4!important;display:block!important}
  .apc-config-page .apc-current-controls .apc-item-copies{height:40px!important;justify-content:center!important;gap:14px!important}
  .apc-config-page .apc-current-controls #apcLibraryAddToCart{grid-column:1!important;grid-row:5!important;height:42px!important;min-height:42px!important;font-size:13px!important}
  .apc-config-page .apc-library-cart{height:230px!important;max-height:230px!important;overflow:auto!important;margin-top:0!important;padding:8px!important}
  .apc-config-page .apc-order-row{grid-template-columns:42px minmax(0,1fr) 72px 36px 34px!important;gap:6px!important;padding:7px!important;min-height:66px!important;margin-bottom:7px!important}
  .apc-config-page .apc-order-row .apc-item-thumb-wrap,.apc-config-page .apc-order-row .apc-item-thumb{width:42px!important;height:42px!important}
  .apc-config-page .apc-order-row-main strong{font-size:12px!important;line-height:1.15!important}.apc-config-page .apc-order-row-main span{font-size:10px!important;line-height:1.15!important;white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .apc-config-page .apc-order-price{font-size:11px!important;line-height:1.1!important;white-space:normal!important}.apc-config-page .apc-order-mode,.apc-config-page .apc-order-qty{font-size:10px!important}
  .apc-config-page .apc-order-row-actions{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important}.apc-config-page .apc-order-row-actions button{min-height:30px!important;font-size:11px!important}
  .apc-config-page .apc-order-total{position:static!important;margin-top:7px!important;padding:8px 10px!important}
  .apc-config-page .apc-m-actions{grid-template-columns:1fr 1.35fr!important;position:sticky;bottom:0;margin:0!important;padding:6px 0 0!important}.apc-config-page .apc-m-actions .apc-m-main-btn{font-size:12px!important;text-transform:uppercase!important}
  .apc-config-page>.apc-premium-card,.apc-config-page .apc-m-wizard>.apc-premium-card,.apc-config-page #apcConfigList>.apc-premium-card{height:auto!important;min-height:0!important;max-height:120px!important;grid-column:auto!important;grid-row:auto!important;margin-top:6px!important;padding:8px!important;overflow:auto!important}
  .apc-config-page .apc-premium-card h2{font-size:12px!important}.apc-config-page .apc-premium-card li{font-size:9px!important}.apc-config-page .apc-premium-card button{min-height:26px!important;font-size:10px!important}
}
@media(max-width:390px){
  .apc-config-page .apc-config-workbench{grid-template-columns:1fr!important}
  .apc-config-page .apc-config-info-card{grid-column:1!important;grid-row:2!important;display:grid!important;grid-template-columns:1fr 1fr!important;align-items:center!important}
  .apc-config-page .apc-library-panel{grid-row:3!important}
  .apc-config-page .apc-config-preview-sheet{width:min(100%,230px)!important}
}
@media(min-width:760px){
  .apc-config-page .apc-config-workbench{grid-template-columns:minmax(0,1fr) 150px!important;align-items:start!important}
  .apc-config-page .apc-config-preview{grid-column:1!important;height:auto!important;min-height:0!important;max-height:none!important}
  .apc-config-page .apc-config-preview-sheet{width:min(100%,330px)!important}
  .apc-config-page .apc-config-info-card{grid-column:2!important;height:auto!important;min-height:0!important;max-height:none!important}
  .apc-config-page .apc-premium-card{height:auto!important;min-height:0!important;max-height:none!important}
}


/* Cliente V3 Configurar móvil: composición PC reducida */
@media(max-width:759px){
  .apc-config-page .apc-config-workbench{grid-template-columns:minmax(0,7fr) minmax(74px,3fr)!important;gap:7px!important;align-items:start!important}
  .apc-config-page .apc-config-preview{grid-column:1!important;grid-row:1!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;align-self:start!important;justify-content:center!important;overflow:visible!important}
  .apc-config-page .apc-config-info-card{grid-column:2!important;grid-row:1!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;align-self:start!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important}
  .apc-config-page .apc-library-panel{grid-column:1/-1!important;grid-row:2!important}
  .apc-config-page .apc-config-preview-sheet{width:min(100%,220px)!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:var(--apc-sheet-ratio)!important}
}
@media(max-width:390px){
  .apc-config-page .apc-config-workbench{grid-template-columns:minmax(0,7fr) minmax(70px,3fr)!important}
  .apc-config-page .apc-config-info-card{grid-column:2!important;grid-row:1!important;grid-template-columns:1fr!important}
  .apc-config-page .apc-library-panel{grid-column:1/-1!important;grid-row:2!important}
  .apc-config-page .apc-config-preview-sheet{width:min(100%,196px)!important}
}
@media(max-width:340px){
  .apc-config-page .apc-config-workbench{grid-template-columns:minmax(0,7fr) minmax(64px,3fr)!important;gap:5px!important}
  .apc-config-page .apc-config-preview-sheet{width:min(100%,178px)!important;padding:5px!important}
  .apc-config-page .apc-config-info-card{padding:6px!important}
  .apc-config-page .apc-config-info-card span{font-size:8px!important}.apc-config-page .apc-config-info-card b{font-size:10px!important}
}


/* Cliente V3 Configurar móvil: controles con misma composición de PC */
@media(max-width:759px){
  .apc-config-page .apc-current-controls{display:grid!important;grid-template-columns:minmax(0,1fr) 76px 108px!important;grid-template-rows:auto auto auto!important;gap:6px!important}
  .apc-config-page .apc-current-controls .apc-item-fields{display:contents!important}
  .apc-config-page .apc-current-controls .apc-dist-row{grid-column:1/-1!important;grid-row:1!important;display:block!important}
  .apc-config-page .apc-current-controls .apc-dist-options{grid-template-columns:repeat(5,1fr)!important;gap:5px!important;width:100%!important}
  .apc-config-page .apc-current-controls .apc-dist-option{height:38px!important;min-height:38px!important;width:auto!important;padding:3px!important}
  .apc-config-page .apc-current-controls .apc-orient-row{grid-column:1/-1!important;grid-row:2!important;display:block!important}
  .apc-config-page .apc-current-controls .apc-item-toggle-row{grid-column:1!important;grid-row:3!important;display:block!important}
  .apc-config-page .apc-current-controls .apc-item-toggle{height:38px!important;border-radius:9px!important}
  .apc-config-page .apc-current-controls .apc-item-toggle button{min-height:36px!important;font-size:12px!important;padding:0 6px!important}
  .apc-config-page .apc-current-controls .apc-item-row:has(.apc-item-copies){grid-column:2!important;grid-row:3!important;display:block!important}
  .apc-config-page .apc-current-controls .apc-item-copies{height:38px!important;justify-content:center!important;gap:5px!important}
  .apc-config-page .apc-current-controls .apc-item-copies button{width:28px!important;height:28px!important}
  .apc-config-page .apc-current-controls #apcLibraryAddToCart{grid-column:3!important;grid-row:3!important;height:38px!important;min-height:38px!important;font-size:10px!important;line-height:1.05!important;padding:4px 6px!important;margin:0!important}
}
@media(max-width:390px){
  .apc-config-page .apc-current-controls{grid-template-columns:minmax(0,1fr) 70px 96px!important;gap:5px!important}
  .apc-config-page .apc-current-controls .apc-item-toggle button{font-size:11px!important;padding:0 5px!important}
  .apc-config-page .apc-current-controls #apcLibraryAddToCart{font-size:9px!important;padding:3px 5px!important}
}
@media(max-width:340px){
  .apc-config-page .apc-current-controls{grid-template-columns:minmax(0,1fr) 64px 86px!important;gap:4px!important}
  .apc-config-page .apc-current-controls .apc-item-copies{gap:3px!important}
  .apc-config-page .apc-current-controls .apc-item-copies button{width:24px!important;height:26px!important}
  .apc-config-page .apc-current-controls .apc-item-copies b{font-size:12px!important;min-width:12px!important}
}


/* AUTOPRINT CLIENTE V3 QR COMPACTO FINAL */

.apc-preview-mode-bn img,
.apc-preview-mode-bn iframe,
.apc-preview-mode-bn canvas{
  filter:grayscale(1) !important;
}

.apc-preview-mode-color img,
.apc-preview-mode-color iframe,
.apc-preview-mode-color canvas{
  filter:none !important;
}

.apc-cart-success-message{
  margin:7px 0;
  padding:9px 10px;
  border:1px solid #86efac;
  border-radius:10px;
  background:#f0fdf4;
  color:#166534;
  font-size:12px;
  line-height:1.25;
  font-weight:900;
  text-align:center;
}

#apcLibraryAddToCart.apc-cart-added{
  background:#15803d !important;
  color:#fff !important;
}

.apc-m-qr-done{
  padding:8px !important;
  gap:5px !important;
  margin-top:6px !important;
}

.apc-m-qr-done img,
.apc-qr-box img,
#apcOrderQr,
#apcGeneratedQr{
  width:150px !important;
  height:150px !important;
  max-width:150px !important;
  max-height:150px !important;
  object-fit:contain !important;
  padding:4px !important;
}

.apc-wallet-order .apc-qr-icon-button img,
.apc-wallet-order > img{
  width:115px !important;
  max-width:115px !important;
}

@media(max-width:520px){
  .apc-m-qr-done img,
  .apc-qr-box img,
  #apcOrderQr,
  #apcGeneratedQr{
    width:135px !important;
    height:135px !important;
    max-width:135px !important;
    max-height:135px !important;
  }
}

/* Confirmacion previa al QR (pantalla/modal "Imprimiras en:") */
body.apc-modal-open{overflow:hidden}
.apc-confirm-modal{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
.apc-confirm-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);border:0;padding:0;margin:0;cursor:pointer}
.apc-confirm-modal .apc-confirm-screen{position:relative;width:100%;max-width:420px;max-height:calc(100vh - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.apc-confirm-screen{gap:14px}
.apc-confirm-photo{width:100%;max-height:150px;height:150px;object-fit:cover;border-radius:16px;border:1px solid var(--apc-line);box-shadow:0 10px 22px rgba(15,23,42,.10);display:block}
.apc-confirm-photo-fallback{width:100%;height:150px;border-radius:16px;background:linear-gradient(180deg,#fff7ed,#ffedd5);border:1px solid #fed7aa;display:grid;place-items:center;text-align:center;padding:12px;box-sizing:border-box}
.apc-confirm-photo-fallback b{font-size:18px;color:#9a3412;overflow-wrap:anywhere}
.apc-confirm-photo-fallback span{display:block;margin-top:4px;font-size:14px;font-weight:700;color:#c2410c;overflow-wrap:anywhere}
.apc-confirm-place{background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:12px 14px;text-align:left}
.apc-confirm-place-label{font-size:13px;font-weight:800;color:#9a3412;text-transform:uppercase;letter-spacing:.02em}
.apc-buzon-promo-banner{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:16px;padding:14px;text-align:left;display:grid;gap:4px}
.apc-buzon-promo-banner strong{font-size:13px;font-weight:900;letter-spacing:.04em;color:#166534;text-transform:uppercase}
.apc-buzon-promo-banner span{font-size:14px;font-weight:700;color:#14532d;line-height:1.35}
.apc-confirm-place b{display:block;margin-top:4px;font-size:19px;color:#0f172a;overflow-wrap:anywhere}
.apc-confirm-place span{display:block;margin-top:2px;font-size:14px;font-weight:700;color:#7c2d12;overflow-wrap:anywhere}
.apc-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.apc-confirm-actions .apc-button{min-height:52px;font-size:15px;padding:10px 8px;text-align:center}
@media(max-width:600px){.apc-confirm-modal{padding:10px}.apc-confirm-photo,.apc-confirm-photo-fallback{max-height:120px;height:120px}}
@media(max-width:360px){.apc-confirm-actions{gap:8px}.apc-confirm-actions .apc-button{font-size:12.5px;padding:10px 4px}.apc-confirm-photo,.apc-confirm-photo-fallback{max-height:100px;height:100px}}

/* ===================================================================
   M428 continuacion: Black Edition -- reglas aditivas, NUNCA se edita
   una regla existente arriba. Todo vive bajo el atributo [data-theme=
   "black"] (ver :root[data-theme="black"]{...} cerca de la linea 128
   para los tokens). Cero riesgo para el tema Claro/web: estas reglas
   simplemente no existen si el atributo no esta presente.

   Excluidos a proposito (se quedan literal blanco/color real en ambos
   temas, oscurecerlos rompe su funcion): vista previa de documento/hoja
   (.apc-config-preview-sheet, .apc-preview-slot img, .apc-config-preview
   img, .apc-dist-sheet), miniaturas de archivo (.apc-library-thumb-img,
   .apc-item-thumb, .apc-pdf-thumb), el QR real (.apc-real-qr, .apc-m-qr-
   done img, #apcOrderQr, #apcGeneratedQr, .apc-qr-frame, .apc-wallet-
   order img), los swatches CMYK (.apc-m-cmyk i), y los "chips" que ya
   eran oscuros en Claro (.apc-toast, .qty-display-box, .apc-m-summary-
   top, .apc-m-bn/.apc-m-color, .apc-item-toggle button.active). =====*/

[data-theme="black"] html,[data-theme="black"] body{background:var(--apc-bg) !important;color:var(--apc-text) !important;}
[data-theme="black"] .apc-page,[data-theme="black"] .apc-shell,[data-theme="black"] .apc-wallet-shell,[data-theme="black"] .apc-dest-shell,[data-theme="black"] .apc-mostrador-shell{background:radial-gradient(circle at 50% -140px,rgba(57,255,136,.10) 0 220px,transparent 221px),linear-gradient(180deg,#0a0f0a 0,var(--apc-bg) 190px,var(--apc-bg) 100%) !important;}
[data-theme="black"] .apc-flow-shell{background:var(--apc-bg) !important;}

/* Formularios y botones base */
[data-theme="black"] .apc-label{color:var(--apc-text) !important;}
[data-theme="black"] .apc-input,[data-theme="black"] .apc-select,[data-theme="black"] .apc-textarea{background:var(--apc-card) !important;border-color:var(--apc-line) !important;color:var(--apc-text) !important;}
[data-theme="black"] .apc-btn-soft{background:var(--apc-soft) !important;color:var(--apc-text) !important;}
[data-theme="black"] .apc-brand{color:var(--apc-blue) !important;}
[data-theme="black"] .apc-button-secondary,[data-theme="black"] .apc-dest-back,[data-theme="black"] .apc-m-back-btn,[data-theme="black"] .qty-back-btn,[data-theme="black"] .apc-wallet-exit{background:var(--apc-card) !important;border-color:var(--apc-line) !important;}
[data-theme="black"] .apc-button-ghost,[data-theme="black"] .apc-btn-outline,[data-theme="black"] .apc-dest-change{background:var(--apc-info-bg) !important;color:var(--apc-info-text) !important;border-color:rgba(96,165,250,.34) !important;}
[data-theme="black"] .apc-progress-track{background:var(--apc-line-soft) !important;}
[data-theme="black"] .apc-empty,[data-theme="black"] .apc-m-file-grid.apc-empty,[data-theme="black"] .apc-library-panel-empty,[data-theme="black"] .apc-preview-empty-state,[data-theme="black"] .apc-price-pending{border-color:var(--apc-line-dashed) !important;}
[data-theme="black"] .apc-m-file-grid.apc-empty,[data-theme="black"] .apc-preview-empty-state,[data-theme="black"] .apc-cart-title,[data-theme="black"] .apc-config-files,[data-theme="black"] .apc-current-controls,[data-theme="black"] .apc-item-copies,[data-theme="black"] .apc-m-copy-num{background:var(--apc-soft) !important;}
[data-theme="black"] .apc-config-file-row,[data-theme="black"] .apc-home-order,[data-theme="black"] .apc-tab{background:var(--apc-card) !important;border-color:var(--apc-line) !important;}
[data-theme="black"] .apc-tab{color:var(--apc-text) !important;}
[data-theme="black"] .apc-dist-option,[data-theme="black"] .apc-m-copy-num,[data-theme="black"] .apc-cart-title{color:var(--apc-text) !important;}
[data-theme="black"] .apc-qr-box{background:repeating-linear-gradient(45deg,var(--apc-text) 0 8px,var(--apc-card) 8px 16px) !important;}
[data-theme="black"] .apc-status,[data-theme="black"] .apc-m-status,[data-theme="black"] .apc-m-file-icon,[data-theme="black"] .apc-m-payment-read,[data-theme="black"] .apc-m-example{background:var(--apc-info-bg) !important;color:var(--apc-info-text) !important;}
[data-theme="black"] .apc-warning,[data-theme="black"] .apc-m-warning,[data-theme="black"] .apc-destination-box,[data-theme="black"] .apc-step-pill,[data-theme="black"] .apc-m-destination,[data-theme="black"] .apc-confirm-place,[data-theme="black"] .apc-confirm-photo-fallback,[data-theme="black"] .apc-m-info{background:var(--apc-warning-bg) !important;border-color:var(--apc-warning-border) !important;color:var(--apc-warning-text) !important;}
[data-theme="black"] .apc-m-warning{border-width:1px !important;border-style:solid !important;}
[data-theme="black"] .apc-confirm-place-label,[data-theme="black"] .apc-confirm-photo-fallback b,[data-theme="black"] .apc-confirm-place span,[data-theme="black"] .apc-confirm-photo-fallback span,[data-theme="black"] .apc-m-info span{color:var(--apc-warning-text) !important;}
[data-theme="black"] .apc-confirm-place b{color:var(--apc-text) !important;}
[data-theme="black"] .apc-message,[data-theme="black"] .apc-savings,[data-theme="black"] .apc-cart-success-message,[data-theme="black"] .apc-order-total,[data-theme="black"] .apc-quote-preview,[data-theme="black"] .apc-m-qr-done,[data-theme="black"] .apc-order-done{background:var(--apc-success-bg) !important;border-color:var(--apc-success-border) !important;color:var(--apc-money) !important;}
[data-theme="black"] .apc-order-total,[data-theme="black"] .apc-order-done,[data-theme="black"] .apc-m-qr-done strong{color:var(--apc-money-deep) !important;}
[data-theme="black"] .apc-message-error,[data-theme="black"] .apc-mini-btn,[data-theme="black"] .apc-quote-preview.apc-quote-error,[data-theme="black"] .apc-order-total.apc-quote-error,[data-theme="black"] .apc-summary-delete,[data-theme="black"] .apc-order-row-actions button,[data-theme="black"] .apc-order-row-actions [data-action="delete"],[data-theme="black"] .apc-item-actions [data-action="delete"],[data-theme="black"] .apc-file-remove,[data-theme="black"] .apc-m-file-mini button,[data-theme="black"] .apc-m-work-card button,[data-theme="black"] .apc-m-danger-btn{background:var(--apc-danger-bg) !important;border-color:var(--apc-danger-border) !important;color:var(--apc-danger-text) !important;}
[data-theme="black"] .apc-m-danger-btn{background:var(--apc-danger) !important;color:#fff !important;}
[data-theme="black"] .apc-warning-inline{color:var(--apc-danger-text) !important;}

/* Superficies tipo tarjeta que no consumen var(--apc-card) hoy */
[data-theme="black"] .apc-business,[data-theme="black"] .apc-item,[data-theme="black"] .apc-work-card,[data-theme="black"] .apc-item-card,[data-theme="black"] .apc-item-toggle button,[data-theme="black"] .apc-item-actions button,[data-theme="black"] .apc-summary-row,[data-theme="black"] .apc-order-row,[data-theme="black"] .apc-summary-mode button,[data-theme="black"] .apc-config-preview,[data-theme="black"] .apc-preview-slot,[data-theme="black"] .apc-config-info-card,[data-theme="black"] .apc-premium-card,[data-theme="black"] .apc-dist-option,[data-theme="black"] .apc-library-cart,[data-theme="black"] .apc-m-counter,[data-theme="black"] .apc-m-total-box,[data-theme="black"] .apc-m-file-mini,[data-theme="black"] .apc-m-job-card,[data-theme="black"] .apc-m-confirm-card,[data-theme="black"] .apc-m-upload-btn,[data-theme="black"] .apc-confirm-card,[data-theme="black"] .apc-qr-icon-button,[data-theme="black"] .apc-qr-overlay-card,[data-theme="black"] .apc-ad-card,[data-theme="black"] .apc-wallet-order,[data-theme="black"] .apc-wallet-payment,[data-theme="black"] .apc-payment-choice{background:var(--apc-card) !important;border-color:var(--apc-line) !important;}
[data-theme="black"] .apc-config-preview,[data-theme="black"] .apc-preview-slot,[data-theme="black"] .apc-preview-empty,[data-theme="black"] .apc-library-panel-empty,[data-theme="black"] .apc-price-pending,[data-theme="black"] .apc-m-preview,[data-theme="black"] .apc-config-result,[data-theme="black"] .apc-work-note,[data-theme="black"] .apc-total-panel,[data-theme="black"] .apc-m-total-box,[data-theme="black"] .apc-wallet-orders,[data-theme="black"] .apc-config-page .apc-library-cart,[data-theme="black"] .apc-config-page .apc-cart-title,[data-theme="black"] .apc-dest-box,[data-theme="black"] .apc-item,[data-theme="black"] .apc-m-status-card,[data-theme="black"] .apc-m-confirm-summary,[data-theme="black"] .apc-m-confirm-summary div,[data-theme="black"] .apc-work-panel{background:var(--apc-soft) !important;}
[data-theme="black"] .apc-preview-empty{background:repeating-linear-gradient(135deg,var(--apc-soft),var(--apc-soft) 7px,var(--apc-bg) 7px,var(--apc-bg) 14px) !important;}
[data-theme="black"] .apc-library-file:hover{border-color:rgba(96,165,250,.5) !important;background:var(--apc-soft) !important;}
[data-theme="black"] .apc-library-selected{border-color:var(--apc-green) !important;background:var(--apc-success-bg) !important;}
[data-theme="black"] .apc-dist-option.active{border-color:var(--apc-green) !important;background:var(--apc-success-bg) !important;}
[data-theme="black"] .apc-library-disabled{background:rgba(255,255,255,.04)!important;}
[data-theme="black"] .apc-library-disabled strong,[data-theme="black"] .apc-library-disabled span{color:var(--apc-muted)!important;}
[data-theme="black"] .apc-item-thumb-icon,[data-theme="black"] .apc-thumb{background:var(--apc-info-bg) !important;color:var(--apc-info-text) !important;}
[data-theme="black"] .apc-file-badge{background:var(--apc-info-bg) !important;color:var(--apc-info-text) !important;}
[data-theme="black"] .apc-file-badge-image{background:var(--apc-success-bg) !important;color:var(--apc-money) !important;}

/* Texto atenuado que hoy es hex literal */
[data-theme="black"] .apc-business strong,[data-theme="black"] .apc-config-info-card b,[data-theme="black"] .apc-cart-title,[data-theme="black"] .apc-selected-title,[data-theme="black"] .apc-premium-card h2,[data-theme="black"] .apc-summary-price,[data-theme="black"] .apc-order-price,[data-theme="black"] .apc-m-counter,[data-theme="black"] .apc-m-preview strong,[data-theme="black"] .apc-work-title,[data-theme="black"] .apc-m-work-card strong,[data-theme="black"] .apc-m-confirm-card strong,[data-theme="black"] .apc-m-job-card strong,[data-theme="black"] .apc-order-code,[data-theme="black"] .apc-m-qr-done span,[data-theme="black"] .apc-config-preview-sheet strong{color:var(--apc-text) !important;}
[data-theme="black"] .apc-business span,[data-theme="black"] .apc-dest-box span,[data-theme="black"] .apc-work-meta,[data-theme="black"] .apc-config-info-card span,[data-theme="black"] .apc-item-kind,[data-theme="black"] .apc-summary-meta span,[data-theme="black"] .apc-order-row-main span,[data-theme="black"] .apc-library-cart-item span,[data-theme="black"] .apc-premium-card li,[data-theme="black"] .apc-m-total-box span,[data-theme="black"] .apc-m-total-box small,[data-theme="black"] .apc-m-work-card span,[data-theme="black"] .apc-m-confirm-card span,[data-theme="black"] .apc-m-job-card span,[data-theme="black"] .apc-m-upload-sub,[data-theme="black"] .apc-m-preview{color:var(--apc-muted) !important;}
[data-theme="black"] .apc-item-price,[data-theme="black"] .apc-work-card b,[data-theme="black"] .apc-m-work-card b,[data-theme="black"] .apc-m-total-box b{color:var(--apc-money) !important;}
[data-theme="black"] .apc-premium-card button{border-color:var(--apc-line-dashed) !important;background:var(--apc-card) !important;color:var(--apc-muted-3) !important;}
[data-theme="black"] .apc-premium-card li::before{background:var(--apc-info-bg) !important;color:var(--apc-info-text) !important;}
[data-theme="black"] .apc-config-page .apc-config-file-row,[data-theme="black"] .apc-config-page .apc-order-row,[data-theme="black"] .apc-config-page .apc-m-actions{background:var(--apc-card)!important;border-color:var(--apc-line) !important;}
[data-theme="black"] .apc-config-page .apc-library-selected{border-color:var(--apc-blue)!important;background:rgba(96,165,250,.14)!important;}
[data-theme="black"] .apc-config-page{background:var(--apc-bg) !important;}
[data-theme="black"] .apc-config-page .apc-m-card{background:var(--apc-card) !important;}

/* Subida y acciones azules */
[data-theme="black"] .apc-m-upload-btn{border-color:rgba(96,165,250,.5) !important;background:var(--apc-info-bg) !important;}
[data-theme="black"] .apc-m-upload-icon,[data-theme="black"] .apc-upload-icon{background:var(--apc-blue) !important;color:#050505 !important;}
[data-theme="black"] .apc-m-upload-main,[data-theme="black"] .upload-title,[data-theme="black"] .apc-upload-title{color:var(--apc-blue) !important;}
[data-theme="black"] .apc-m-main-btn,[data-theme="black"] .apc-m-blue-btn,[data-theme="black"] .apc-m-dist-btn,[data-theme="black"] .apc-m-color-option{background:var(--apc-blue) !important;color:#050505 !important;}
[data-theme="black"] .apc-m-green,[data-theme="black"] .apc-btn-green{background:var(--apc-green) !important;color:#050505 !important;}

/* Wallet / QR */
[data-theme="black"] .apc-wallet-order-main b,[data-theme="black"] .apc-summary-price{color:var(--apc-money) !important;}
[data-theme="black"] .apc-qr-screen{background:linear-gradient(180deg,var(--apc-card),var(--apc-soft)) !important;}
[data-theme="black"] .apc-qr-meta{background:var(--apc-warning-bg) !important;border-color:var(--apc-warning-border) !important;}
[data-theme="black"] .apc-qr-meta b{color:var(--apc-text) !important;}
[data-theme="black"] .apc-ad-fallback{color:var(--apc-muted) !important;}

/* M428 biometria: overlay de bloqueo (ver templates/cliente_v3/_biometric_gate.html) */
.apc-bio-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:var(--apc-bg);padding:24px;box-sizing:border-box}
.apc-bio-overlay-box{max-width:320px;width:100%;text-align:center;background:var(--apc-card);border:1px solid var(--apc-line,rgba(219,228,240,.9));border-radius:var(--apc-radius,16px);box-shadow:var(--apc-shadow,0 8px 18px rgba(15,23,42,.06));padding:28px 20px;box-sizing:border-box}
.apc-bio-overlay-msg{color:var(--apc-text);font-weight:700;font-size:16px;line-height:1.4;margin-bottom:16px}
.apc-bio-overlay-box [data-bio-retry]{width:100%}

/* M431 correccion: SHARE & PRINT NO es tarjeta/boton/opcion seleccionable
   -- es solo un aviso informativo de una linea, texto secundario, sin
   fondo, sin borde, sin sombra, sin capsula grande, sin cursor:pointer,
   sin onclick. Reemplaza el bloque M429 anterior (que sí tenia aspecto de
   tarjeta -- error corregido aqui). Bloque aislado, no toca
   .apc-dest-*/.apc-experience-*. */
/* TOP COPY FINAL: vuelve a ser un recordatorio chico y discreto (se quito
   el bloque grande con tarjeta/marca de la mision anterior, y con el la
   correccion M429 -- sin fondo, sin borde, sin cursor:pointer, sin
   onclick, nada que sugiera que se puede tocar). Va ARRIBA del
   encabezado principal, que ahora es lo dominante. */
.apc-share-notice-wrap{margin:0 0 10px}
.apc-share-icons-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:4px 0 0}
.apc-share-icon{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;color:var(--apc-muted);flex:none}
.apc-share-icon svg{display:block}
.apc-share-etc{font-size:11px;font-weight:700;color:var(--apc-muted);margin-left:2px}
/* M436 hallazgo (auditoria visual real): max-height:40px + overflow:hidden
   cortaba el texto a mitad de palabra en viewports angostos (~420px), donde
   el mensaje ocupa 2 lineas. Se quita el recorte -- el texto ya es corto y
   secundario por diseno (M431), no necesitaba una altura maxima forzada
   para verse discreto; ahora simplemente envuelve completo. */
.apc-share-notice{margin:0;padding:0;display:block;text-align:left;font-size:11.5px;line-height:1.3;font-weight:600;color:var(--apc-muted);cursor:default}
.apc-share-notice-count{margin:4px 0 0;padding:0;text-align:left;font-size:11px;font-weight:700;color:var(--apc-muted-2);cursor:default}

/* M430 identidad de submarca -- PRINT & READY / AUTOPRINT MATIC / SHARE &
   PRINT como wordmarks de una misma familia: palabra principal en
   negrita solida + calificador en capsula solida de color de acento,
   mismo lenguaje visual que la insignia "SELECCIONADO" de las tarjetas
   de experiencia (arriba, texto oscuro sobre acento, capsula redonda).
   Reutiliza --apc-experience-accent ya definido por cada tarjeta; solo
   se agrega la variante para el aviso de Share & Print. Puramente
   tipografico -- no cambia ningun layout, contenedor ni logica. */
:root{--apc-share-accent:#f2b134;--apc-share-accent-deep:#c98a12}
:root[data-theme="black"]{--apc-share-accent:#ffd166;--apc-share-accent-deep:#fbbf24}
.apc-wordmark-share{--apc-experience-accent:var(--apc-share-accent)}
.apc-wordmark{display:inline-flex;align-items:baseline;gap:6px;flex-wrap:wrap;line-height:1.15}
.apc-wordmark-main{font-weight:900}
.apc-wordmark-pill{display:inline-block;font-weight:900;font-size:.74em;letter-spacing:.5px;color:#050505;background:var(--apc-experience-accent);padding:2px 8px 3px;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.18);white-space:nowrap;vertical-align:middle}
.apc-wordmark-suffix{font-size:.7em;font-weight:800;letter-spacing:.3px;color:var(--apc-muted)}

/* M432 AutoPrint Wallet. Dos bloques nuevos y aislados:
   1) .apc-wallet-info -- bloque informativo en NEGOCIO 1/4 (nunca calcula
      total/restante ahi, el precio final no existe todavia en ese punto
      del flujo). No toca #apcChannelChoice, #apcPaymentChoice, el
      buscador de negocio ni el resto de NEGOCIO 1/4.
   2) .apc-wallet-preview -- desglose Total/Wallet aplicado/Restante,
      inyectado dentro del modal ya existente de saldo/NIP en Resumen
      (apcSaldoQuestionHtml/apcSaldoPinHtml, ver cliente_v3.js) -- ese
      modal y su logica de descuento/NIP ya existian, no se crea nada
      paralelo. */
.apc-wallet-info{margin:12px 0 0;padding:12px 14px;border-radius:var(--apc-radius,16px);background:var(--apc-soft);border:1px solid var(--apc-line);display:grid;gap:8px}
/* HOTFIX 22-01 bug1: sin este selector, el atributo hidden que pone
   apcWireWalletInfo() (cliente_v3.js) antes de resolver negocio o con
   saldo<=0 no ocultaba nada -- se veia el placeholder "$0.00" fijo del
   HTML. Mismo patron que #apcPaymentChoice[hidden] mas arriba. */
#apcWalletInfo[hidden]{display:none}
.apc-wallet-info-title{font-weight:900;font-size:12px;letter-spacing:.4px;color:var(--apc-muted)}
.apc-wallet-info-row{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:14px;color:var(--apc-text)}
.apc-wallet-info-row b{color:var(--apc-money);font-size:18px}
.apc-wallet-info-toggle{justify-self:start;min-height:38px;padding:0 16px;border-radius:999px;border:1.5px solid var(--apc-green);background:transparent;color:var(--apc-green-deep);font-weight:800;font-size:13px;cursor:pointer}
.apc-wallet-info-toggle[aria-pressed="true"]{background:var(--apc-green);color:#050505;border-color:var(--apc-green)}
.apc-wallet-preview{margin:10px 0;padding:12px;border-radius:14px;background:var(--apc-soft);border:1px solid var(--apc-line);display:grid;gap:6px}
.apc-wallet-preview>div{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:14px;color:var(--apc-text)}
.apc-wallet-preview-total{border-top:1px dashed var(--apc-line-dashed);padding-top:6px;margin-top:2px}
.apc-wallet-preview-total b{color:var(--apc-warning-text)}
.apc-wallet-preview-paid{text-align:center;font-weight:900;letter-spacing:.3px;font-size:13px;color:var(--apc-money);padding-top:2px}


/* DIA CERO RC -- seleccion de negocio: tarjeta con CTA explicito y aviso de
   que falta bajo "Continuar". Solo agrega reglas; no toca las existentes. */
.apc-business{min-height:56px}
.apc-business em{font-size:14px}
.apc-continue-hint{margin:0;text-align:center;font-size:14px;font-weight:700;color:var(--apc-muted,#64748b)}
.apc-continue-hint[hidden]{display:none}
#apcBusinessSearchBox{margin-top:14px}

/* WALLET RECHARGE QR V0 -- pantalla Recargar (solo agrega reglas). */
.apc-recarga-chips{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:10px 0}
.apc-recarga-chip{min-height:56px;border-radius:14px;border:2px solid #dbe4f0;background:#fff;font-size:20px;font-weight:800;color:#0f172a;cursor:pointer}
.apc-recarga-chip.active{border-color:#16a34a;background:#ecfdf5;color:#14532d}
.apc-recarga-terms{margin:12px 0;padding-left:18px;font-size:14px;color:#64748b;line-height:1.5}
.apc-recarga-monto{font-size:44px;font-weight:900;text-align:center;color:#16a34a;margin:6px 0}
.apc-recarga-cobra{text-align:center;font-weight:800;margin:4px 0}
.apc-recarga-nota{text-align:center;font-size:13px;color:#64748b}
.apc-recarga-ok{color:#16a34a;font-size:18px}
.apc-recarga-urgente{color:#b45309;font-weight:900}
/* MISION 22-09 (WALLET RECOVERY + MANUAL CODE): usa variables de tema
   (--apc-card/--apc-line/--apc-text), no colores fijos -- por eso no hace
   falta una regla aparte para [data-theme="black"] (a diferencia del bug
   real de .apc-recarga-chip.active, ver mas arriba). */
.apc-recarga-codigo-box{margin:14px 0;padding:12px;border:2px dashed var(--apc-line,#dbe4f0);border-radius:12px;text-align:center;background:var(--apc-card,#fff)}
.apc-recarga-codigo-label{margin:0 0 4px;font-size:11px;font-weight:900;letter-spacing:.08em;color:#64748b}
.apc-recarga-codigo{margin:0;font-size:28px;font-weight:900;letter-spacing:.08em;font-family:Consolas,Monaco,monospace;color:var(--apc-text,#0f172a)}
.apc-recarga-codigo-ayuda{margin:6px 0 0;font-size:12px;color:#64748b}
[data-theme="black"] .apc-recarga-chip{background:var(--apc-card);border-color:var(--apc-line);color:var(--apc-text)}
/* MISION 22-08 (WALLET DIA CERO, Parte A): faltaba esta regla -- sin ella,
   [data-theme="black"] .apc-recarga-chip (misma especificidad, declarada
   despues) le ganaba a .apc-recarga-chip.active y el monto elegido se veia
   IGUAL que los demas en modo oscuro (el bug real reportado). */
[data-theme="black"] .apc-recarga-chip.active{border-color:var(--apc-green);background:rgba(57,255,136,.12);color:var(--apc-green)}
.apc-experience-wallet{--apc-experience-accent:#16a34a;--apc-experience-glow:rgba(22,163,74,.45);--apc-experience-tint:rgba(22,163,74,.12)}
#apcRecargaImg{display:block;margin:10px auto;width:min(260px,80%);height:auto}
/* ANDROID-SHARE-V2: pantalla Archivos simple. Un pedido, archivos agrupados
   solo visualmente (Documentos / Imagenes), boton de anadir compacto. */
.apc-archivo-v2 .apc-m-upload-btn{min-height:0;flex-direction:row;gap:10px;padding:12px 14px;border-width:2px;border-radius:14px}
.apc-archivo-v2 .apc-m-upload-icon{width:36px;height:36px;font-size:26px;flex:0 0 36px}
.apc-archivo-v2 .apc-m-upload-main{font-size:17px}
.apc-archivo-v2 .apc-m-upload-sub{font-size:12px;margin-left:auto}
.apc-archivo-v2 .apc-m-file-grid.apc-empty{padding:18px;text-align:center}
.apc-files-grouped{gap:6px}
.apc-files-group-title{margin:8px 0 2px;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--apc-muted);display:flex;align-items:center;gap:8px}
.apc-files-group-title span{background:var(--apc-soft);border:1px solid var(--apc-line);border-radius:999px;padding:1px 9px;font-size:12px;color:var(--apc-text)}
.apc-files-docs{display:grid;gap:8px}
.apc-file-doc{display:grid;grid-template-columns:44px 1fr 40px;gap:10px;align-items:center;border:1px solid var(--apc-line);border-radius:14px;background:var(--apc-card);padding:10px}
.apc-file-doc strong{display:block;overflow-wrap:anywhere;color:var(--apc-text)}
.apc-file-doc span{display:block;color:var(--apc-muted);font-weight:700;font-size:14px;margin-top:2px}
.apc-file-doc .apc-m-file-icon{width:44px;height:44px;font-size:13px}
.apc-files-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.apc-file-photo{position:relative;margin:0;aspect-ratio:3/4;border-radius:12px;overflow:hidden;border:1px solid var(--apc-line);background:var(--apc-soft)}
.apc-file-photo img{width:100%;height:100%;object-fit:cover;display:block}
.apc-file-doc .apc-file-remove,.apc-file-photo .apc-file-remove{width:36px;height:36px;min-height:36px;border-radius:999px;border:1px solid var(--apc-line);background:var(--apc-card);color:var(--apc-text);font-size:20px;line-height:1;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer}
.apc-file-photo .apc-file-remove{position:absolute;top:6px;right:6px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.apc-share-received{border-radius:14px;padding:10px 12px;font-weight:700;background:#ecfdf5;border:1px solid #bbf7d0;color:#14532d;margin:6px 0}
.apc-share-received.apc-share-received-warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.apc-share-hint{margin:10px 2px 0;font-size:14px;line-height:1.4;color:var(--apc-muted)}
.apc-share-hint b{color:var(--apc-text)}
.apc-home-share-hint{margin:12px 0 0;padding:10px 12px;border-radius:14px;border:1px dashed var(--apc-line);background:var(--apc-soft)}
[data-theme="black"] .apc-share-received{background:rgba(57,255,136,.10);border-color:rgba(57,255,136,.35);color:#bbf7d0}
[data-theme="black"] .apc-share-received.apc-share-received-warn{background:var(--apc-warning-bg);border-color:var(--apc-warning-border);color:var(--apc-warning-text)}
.apc-archivo-v2 [hidden],.apc-share-hint[hidden]{display:none !important}
.apc-share-resume{margin-left:6px;min-height:36px;padding:4px 14px;border-radius:999px;border:0;background:#16a34a;color:#fff;font-weight:800;cursor:pointer}
/* D1: donde se imprime (siempre visible) y "Repetir pedido anterior" como
   accion secundaria, mas discreta que "Añadir archivos". */
.apc-where{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 8px;padding:9px 12px;border:1px solid var(--apc-line);border-radius:14px;background:var(--apc-soft);font-size:15px;color:var(--apc-text)}
.apc-where strong{overflow-wrap:anywhere}
.apc-where em{font-style:normal;color:var(--apc-muted);font-weight:700;font-size:13px}
.apc-where a{flex:0 0 auto;font-weight:800;color:var(--apc-info-text);text-decoration:none;padding:4px 2px}
.apc-repeat-btn{display:block;width:100%;margin:8px 0 0;min-height:44px;padding:8px 14px;border-radius:14px;border:1px solid var(--apc-line);background:var(--apc-card);color:var(--apc-text);font-size:15px;font-weight:700;cursor:pointer}
.apc-repeat-msg{margin:6px 2px 0;font-size:14px;font-weight:700;color:var(--apc-money)}
.apc-repeat-msg.apc-repeat-msg-warn{color:var(--apc-warning-text)}
.apc-archivo-v2 .apc-repeat-btn[hidden],.apc-repeat-msg[hidden]{display:none !important}

/* UX-CLIENTE-V1: jerarquía móvil sin alterar lógica comercial. */
.apc-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.apc-section-heading h2{margin:1px 0 0;font-size:18px;line-height:1.2}
.apc-section-heading a,.apc-home-history-link{min-height:44px;display:inline-flex;align-items:center;color:var(--apc-info-text);font-weight:800;text-decoration:none}
.apc-section-eyebrow{display:block;color:var(--apc-muted);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.apc-home-pending .apc-wallet-order-grid{gap:8px}
.apc-home-order-compact{grid-template-columns:minmax(0,1fr) auto!important;padding:10px 12px!important}
.apc-home-order-compact .apc-button{min-height:44px;padding:8px 12px}
.apc-home-history-link{justify-content:center;border-top:1px solid var(--apc-line);margin-top:4px}
.apc-wallet-recharge-card.apc-recharge-aplicada{border-color:rgba(22,163,74,.45)}
.apc-wallet-recharge-card.apc-recharge-expirada,.apc-wallet-recharge-card.apc-recharge-cancelada{opacity:.72}

.apc-share-guide{margin:8px 0 2px;padding:12px 14px;border:1px solid var(--apc-line);border-radius:14px;background:var(--apc-soft);color:var(--apc-text)}
.apc-share-guide strong{display:block;margin-bottom:6px;font-size:14px}
.apc-share-guide ul{margin:0;padding-left:20px;color:var(--apc-muted);font-size:13px;line-height:1.45}
.apc-share-guide small{display:block;margin-top:7px;color:var(--apc-muted);font-size:12px}
.apc-file-doc .apc-file-remove,.apc-file-photo .apc-file-remove,.apc-config-file-row .apc-file-remove{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border:0!important;border-radius:999px!important;background:#B91C1C!important;color:#fff!important;box-shadow:0 2px 10px rgba(0,0,0,.36)!important}
.apc-file-remove svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.apc-file-remove::before{content:none!important}
.apc-config-page .apc-config-file-row .apc-file-remove{display:flex!important;position:absolute;top:4px;right:4px;transform:scale(.82);transform-origin:top right}
.apc-config-file-row{position:relative}
.apc-file-photo .apc-file-remove{top:7px!important;right:7px!important}

.apc-config-progress{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;margin:0 0 10px;padding:8px 12px;border:1px solid var(--apc-line);border-radius:14px;background:var(--apc-soft);color:var(--apc-muted);font-size:13px;text-align:center}
.apc-config-progress strong{color:var(--apc-text);font-size:16px}
.apc-config-progress-done{border-color:rgba(22,163,74,.55);background:var(--apc-success-bg);color:var(--apc-money)}
.apc-library-configured{border-color:rgba(22,163,74,.55)!important}
.apc-library-configured:not(.apc-library-selected){background:var(--apc-success-bg)!important}
.apc-cart-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}
.apc-cart-summary>div{display:grid;gap:2px;padding:8px;border:1px solid var(--apc-line);border-radius:10px;background:var(--apc-card);text-align:center}
.apc-cart-summary span{font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--apc-muted)}
.apc-cart-summary b{font-size:15px;color:var(--apc-text);overflow-wrap:normal;word-break:normal}
.apc-config-page .apc-library-cart{height:auto!important;min-height:0!important;max-height:230px!important;overflow:auto!important}
.apc-order-price{display:grid;gap:2px;min-width:72px;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;text-align:right}
.apc-order-price span{font-size:9px;color:var(--apc-muted);text-transform:uppercase}
.apc-preview-optional-note{display:block;margin-top:5px;font-size:9px;line-height:1.25;color:var(--apc-muted);text-align:center}
@media(max-width:390px){
  .apc-config-page .apc-order-row{grid-template-columns:42px minmax(0,1fr) 78px!important}
  .apc-config-page .apc-order-price{grid-column:3;grid-row:1/3;align-self:center;font-size:12px!important}
  .apc-config-page .apc-order-mode,.apc-config-page .apc-order-qty{display:none}
  .apc-file-doc{grid-template-columns:44px minmax(0,1fr) 44px}
}

/* PDF-SELECT-ARCADE-001: selector de paginas (miniaturas locales con PDF.js) */
.apc-pages-error{margin:-2px 0 0;padding:8px 10px;border-radius:10px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;font-size:13px;font-weight:700;line-height:1.35}
.apc-pages-error[hidden]{display:none}
.apc-input[aria-invalid="true"]{border-color:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.18)}
.apc-page-picker{display:grid;gap:8px}
.apc-page-picker[hidden]{display:none}
.apc-page-picker-hint{margin:0;color:var(--apc-muted);font-size:13px;font-weight:700;line-height:1.3}
.apc-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;max-height:min(52vh,420px);overflow-y:auto;padding:2px;overscroll-behavior:contain}
.apc-page-thumb{position:relative;display:grid;grid-template-rows:1fr auto;gap:4px;min-height:96px;padding:6px;border:2px solid var(--apc-line);border-radius:12px;background:#fff;color:var(--apc-text);cursor:pointer;font:inherit;touch-action:manipulation}
.apc-page-thumb b{font-size:13px;line-height:1.1}
.apc-page-thumb.active{border-color:#16a34a;background:#f0fdf4;box-shadow:0 0 0 2px rgba(22,163,74,.22)}
.apc-page-thumb.active::after{content:"✓";position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#16a34a;color:#fff;font-size:13px;font-weight:900}
.apc-page-canvas{display:grid;place-items:center;min-height:64px;border-radius:6px;background:#f3f4f6;overflow:hidden}
.apc-page-canvas canvas{display:block;width:100%;height:auto;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.apc-page-picker-plain .apc-page-canvas{display:none}
.apc-page-picker-plain .apc-page-thumb{min-height:48px;place-items:center}
.apc-page-picker-more{grid-column:1/-1;margin:0;color:var(--apc-muted);font-size:12px}
/* PDF-SELECT-ARCADE-001: en Configurar (cuadricula compacta de 3 columnas)
   el campo, el aviso y las miniaturas ocupan todo el ancho debajo de los
   botones; sin esto caian en celdas sueltas de 78 px. */
.apc-config-page .apc-current-controls .apc-item-rango-row:not([hidden]){grid-column:1/-1!important;grid-row:4!important;display:block!important}
.apc-config-page .apc-current-controls .apc-item-rango-row .apc-input{width:100%;min-height:44px!important;font-size:16px!important;padding:8px 12px!important;box-sizing:border-box}
.apc-config-page .apc-current-controls .apc-pages-error:not([hidden]){grid-column:1/-1!important;grid-row:5!important}
.apc-config-page .apc-current-controls .apc-page-picker:not([hidden]){grid-column:1/-1!important;grid-row:6!important}
.apc-config-page .apc-current-controls .apc-m-warning{grid-row:7!important}
/* PDF-SELECT-ARCADE-001: en documentos, Todas/Elegir paginas iba en la MISMA
   celda que BN/Color (ambos .apc-item-toggle-row -> fila 3, col 1) y tapaba
   BN/Color. Ahora: conteo arriba, paginas en su fila, BN/Color + copias +
   añadir en la fila 3, y debajo el campo, el aviso y las miniaturas. */
.apc-config-page .apc-current-controls .apc-pdf-pages{grid-column:1/-1!important;grid-row:1!important}
.apc-config-page .apc-current-controls .apc-pages-toggle-row{grid-column:1/-1!important;grid-row:2!important}
.apc-config-page .apc-current-controls .apc-mono-badge{grid-column:1/-1!important;grid-row:7!important}
.apc-config-page .apc-current-controls .apc-m-warning{grid-row:8!important}
/* PDF-SELECT-ARCADE-001: modal "Confirma tu pedido" en pantallas angostas:
   titulo y tarjetas mas compactos para que no ocupe toda la pantalla. */
@media(max-width:420px){
  .apc-confirm-modal .apc-confirm-screen{gap:10px}
  .apc-confirm-modal .apc-qr-title{font-size:22px;line-height:1.15}
  .apc-confirm-modal .apc-confirm-place{padding:10px 12px}
  .apc-confirm-modal .apc-confirm-place b{font-size:17px}
  .apc-confirm-modal .apc-confirm-place span{font-size:13px}
  .apc-confirm-modal .apc-m-total-box{padding:8px 10px}
}

/* CLIENT-FIRST-PDF-001: hoja local para elegir paginas ANTES de subir. */
.apc-cf-sheet{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:flex-end;justify-content:center;background:rgba(15,23,42,.55);padding:0}
.apc-cf-card{width:100%;max-width:520px;max-height:92vh;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:10px;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;background:#fff;color:#111827;box-sizing:border-box;box-shadow:0 -8px 30px rgba(0,0,0,.25)}
.apc-cf-head{display:grid;gap:2px;min-width:0}
.apc-cf-name{font-size:16px;line-height:1.25;overflow-wrap:anywhere}
.apc-cf-meta{color:#4b5563;font-size:13px;font-weight:700}
.apc-cf-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.apc-cf-modes[hidden]{display:none}
.apc-cf-modes button{min-height:48px;border-radius:12px;border:2px solid #d1d5db;background:#fff;color:#111827;font-size:15px;font-weight:800}
.apc-cf-modes button.active{border-color:#16a34a;background:#f0fdf4;color:#166534}
.apc-cf-range{display:grid;gap:4px}
.apc-cf-range[hidden]{display:none}
.apc-cf-range label{font-size:13px;font-weight:800;color:#374151}
.apc-cf-range .apc-input{width:100%;min-height:48px;font-size:16px;padding:8px 12px;box-sizing:border-box}
.apc-cf-sheet .apc-page-grid{max-height:min(42vh,360px)}
.apc-cf-note{margin:0;color:#4b5563;font-size:12px;line-height:1.35}
.apc-cf-status{margin:0;min-height:1em;color:#166534;font-size:13px;font-weight:800}
.apc-cf-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 2fr;gap:8px;padding-top:6px;background:#fff}
.apc-cf-actions button{min-height:52px;width:100%;margin:0;font-size:15px;white-space:normal;line-height:1.15}
.apc-cf-actions button[hidden]{display:none}
.apc-cf-actions button:disabled{opacity:.5;cursor:not-allowed}
.apc-cf-actions:has(button[hidden]){grid-template-columns:1fr}
.apc-cf-prepared b{font-size:13px;color:#166534}
@media (min-width:640px){.apc-cf-sheet{align-items:center;padding:16px}.apc-cf-card{border-radius:18px}}
