
/* INMUJAL Product Hub admin and dynamic catalog */
.site-shell,.admin-shell{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:24px 0 56px}.site-shell.narrow{max-width:960px}.brand.small{justify-content:flex-start;margin:0}.brand.small img{width:250px}.hero-copy{text-align:center;max-width:760px;margin:0 auto 30px}.hero-copy h1,.product-heading h1{font-size:clamp(38px,7vw,64px);margin:10px 0;color:#063865}.hero-copy p,.product-heading p{color:#647181;line-height:1.65;font-size:17px}.pill{display:inline-flex;padding:8px 13px;border-radius:999px;background:#edf4fa;color:#063865;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.pill.green{background:#eef8e8;color:#377c16}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.catalog-product-card{background:#fff;border:1px solid #dbe3ea;border-radius:22px;overflow:hidden;text-decoration:none;box-shadow:0 14px 32px rgba(6,56,101,.09);transition:.2s}.catalog-product-card:hover{transform:translateY(-3px);box-shadow:0 20px 38px rgba(6,56,101,.14)}.catalog-card-image{height:230px;background:#f4f1ec;display:grid;place-items:center;overflow:hidden}.catalog-card-image img{width:100%;height:100%;object-fit:contain}.catalog-card-image.placeholder{font-weight:800;color:#063865;font-size:28px}.catalog-card-body{padding:20px}.small-label{font-size:11px;font-weight:800;letter-spacing:.11em;color:#718090;text-transform:uppercase}.catalog-card-body h2{font-size:27px;color:#063865;margin:7px 0}.catalog-card-body p{font-weight:800;color:#76563f;margin:0 0 18px}.card-link{font-size:13px;font-weight:800;color:#063865}.site-footer{text-align:center;color:#718090;font-size:12px;margin-top:30px}.back-link{text-decoration:none;color:#063865;font-weight:800;display:inline-flex;margin-bottom:18px}.product-heading{text-align:center;margin-bottom:25px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.access-card{min-height:245px;background:#fff;border:1px solid #dbe3ea;border-radius:22px;padding:25px;text-decoration:none;display:flex;flex-direction:column;box-shadow:0 14px 32px rgba(6,56,101,.08);position:relative;overflow:hidden}.access-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#063865}.access-card.buyer:before{background:#69b42d}.access-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:#edf4fa;font-size:24px;margin-bottom:15px}.buyer .access-icon{background:#eef8e8;color:#377c16}.access-card h2{color:#063865;font-size:26px;margin:0 0 8px}.access-card p{color:#647181;line-height:1.6}.access-card strong{margin-top:auto;color:#063865}.buyer-layout,.seller-grid,.admin-panel,.login-card{background:#fff;border:1px solid #dbe3ea;border-radius:24px;box-shadow:0 18px 45px rgba(6,56,101,.12);padding:clamp(20px,4vw,38px)}.buyer-top,.seller-header,.top-actions{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.buyer-top h1,.seller-header h1{font-size:clamp(38px,7vw,62px);color:#423630;margin:10px 0}.big-price{background:#79583f;color:#fff;padding:14px 20px;border-radius:14px;font-size:clamp(25px,4vw,40px);font-weight:800;white-space:nowrap}.product-photo,.catalog-preview{background:#f6f2ed;border-radius:22px;overflow:hidden;margin:22px 0}.product-photo img,.catalog-preview img{width:100%;display:block;max-height:780px;object-fit:contain}.info-panel{background:#ece8e1;border-radius:22px;padding:22px}.info-panel h2{color:#312a25}.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}.data-table th{background:#79583f;color:#fff;text-align:left}.data-table th,.data-table td{padding:14px;border-bottom:1px solid #ddd0c5}.data-table.compact td{padding:10px}.notice{color:#647181;font-size:13px}.seller-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:22px}.seller-summary{background:#f7f9fb;border:1px solid #dbe3ea;border-radius:20px;padding:21px}.seller-summary h2,.seller-summary h3{color:#063865}.fabric-list{list-style:none;padding:0;margin:0 0 20px}.fabric-list li{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px dashed #c9d4de}.fabric-list span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#79583f;color:#fff;font-weight:800}.seller-notes{background:#fff;border-radius:14px;padding:14px;line-height:1.55;margin-bottom:18px}.button{border:0;border-radius:12px;padding:12px 16px;font:inherit;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.button.primary{background:#063865;color:#fff}.button.light{background:#edf3f7;color:#063865;border:1px solid #d5e0e8}.button.danger{background:#fff0f3;color:#b61038;border:1px solid #ffd0db}.button.full{width:100%}.admin-login-shell{width:min(560px,calc(100% - 24px));margin:0 auto;padding:40px 0}.login-card h1{color:#063865;font-size:38px}.login-card p{color:#647181;line-height:1.6}.login-card label,.product-form label{display:grid;gap:7px;color:#063865;font-weight:800;font-size:13px;margin:15px 0}.login-card input,.product-form input,.product-form textarea,.product-form select{width:100%;border:1px solid #ccd8e2;border-radius:12px;padding:13px 14px;font:inherit;background:#fff;color:#182431}.login-card input:focus,.product-form input:focus,.product-form textarea:focus,.product-form select:focus{outline:none;border-color:#5487ae;box-shadow:0 0 0 4px rgba(6,56,101,.08)}.alert{border-radius:13px;padding:12px 14px;margin:15px 0;font-size:13px;font-weight:700}.alert.error{background:#fff0f3;color:#a80d34;border:1px solid #ffc6d4}.alert.info{background:#eef6fc;color:#174e78;border:1px solid #cfe4f4}.admin-header{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}.admin-header>div:first-child{display:flex;align-items:center;gap:24px}.admin-header h1{color:#063865;margin:8px 0 4px;font-size:40px}.admin-header p{color:#647181;margin:0}.header-actions,.row-actions{display:flex;gap:9px;flex-wrap:wrap}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.admin-stats article{background:#fff;border:1px solid #dbe3ea;border-radius:18px;padding:20px;box-shadow:0 10px 25px rgba(6,56,101,.07)}.admin-stats strong{display:block;color:#063865;font-size:34px}.admin-stats span{color:#647181;font-size:13px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.panel-title h1,.panel-title h2{color:#063865;margin:8px 0 4px}.panel-title p{color:#647181;margin:0}.admin-product-list{display:grid;gap:11px}.admin-product-row{display:grid;grid-template-columns:70px minmax(200px,1fr) 100px 100px auto;gap:14px;align-items:center;border:1px solid #dbe3ea;border-radius:16px;padding:12px;background:#fafdff}.admin-thumb{width:70px;height:58px;border-radius:10px;background:#eef3f7;overflow:hidden;display:grid;place-items:center;color:#718090;font-weight:800}.admin-thumb img{width:100%;height:100%;object-fit:contain}.admin-product-info h3{color:#063865;margin:0 0 4px}.admin-product-info p{color:#718090;font-size:12px;margin:0}.status{display:inline-flex;justify-content:center;padding:7px 9px;border-radius:999px;font-size:11px;font-weight:800}.status.published{background:#edf8e7;color:#377c16}.status.draft{background:#fff7e5;color:#8b6100}.status.hidden{background:#eef1f4;color:#586675}.scan-count{font-size:12px;color:#718090}.empty-state{text-align:center;padding:38px;background:#f7fafc;border-radius:18px;color:#647181}.form-page{max-width:1100px}.product-form{display:grid;gap:18px}.form-section{border-top:1px solid #e0e7ed;padding-top:18px}.form-section:first-of-type{border-top:0}.form-section h2{color:#063865}.form-section>p{color:#647181}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:repeat(3,1fr)}.repeat-row{display:grid;grid-template-columns:.7fr 1.3fr;gap:12px;margin:10px 0}.repeat-row.fabric{grid-template-columns:44px 1fr;align-items:center}.repeat-row.fabric span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#79583f;color:#fff;font-weight:800}.field-help{font-size:12px}.existing-files{display:flex;flex-direction:column;gap:8px;background:#f7fafc;padding:15px;border-radius:14px}.existing-files a{color:#063865;font-weight:700}.sticky-save{position:sticky;bottom:12px;display:flex;justify-content:flex-end;gap:10px;background:rgba(255,255,255,.95);border:1px solid #dbe3ea;border-radius:15px;padding:12px;box-shadow:0 12px 28px rgba(6,56,101,.13)}.success-icon{width:64px;height:64px;border-radius:20px;background:#eef8e8;color:#2c8a2e;display:grid;place-items:center;font-size:40px}.table-list{columns:2;line-height:1.9}.top-actions{margin-bottom:15px}.success h1{font-size:34px}
@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,1fr)}.seller-grid{grid-template-columns:1fr}.admin-product-row{grid-template-columns:60px 1fr auto}.scan-count{display:none}.row-actions{grid-column:2/4}.admin-header{align-items:flex-start}.admin-header>div:first-child{display:block}.brand.small{margin-bottom:14px}.form-grid.three{grid-template-columns:1fr}}
@media(max-width:650px){.catalog-grid,.access-grid,.admin-stats,.form-grid.two{grid-template-columns:1fr}.buyer-top,.seller-header,.admin-header,.panel-title,.top-actions{display:block}.big-price{display:inline-block;margin:10px 0}.header-actions{margin-top:15px}.admin-product-row{grid-template-columns:54px 1fr}.status{grid-column:2}.row-actions{grid-column:1/3}.repeat-row{grid-template-columns:1fr}.catalog-card-image{height:200px}.brand.small img{width:min(250px,80vw)}}


/* V2 layout refinements */
.buyer-layout.refined{padding:clamp(22px,4vw,38px);background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%)}
.buyer-top.refined{align-items:flex-start;margin-bottom:20px}
.buyer-intro{max-width:700px;color:#647181;line-height:1.65;margin:8px 0 0}
.buyer-content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:24px;align-items:start}
.buyer-visual-card{background:#f7f9fb;border:1px solid #e1e8ef;border-radius:24px;padding:18px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.product-photo.refined{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #edf1f4;min-height:520px;margin:0;border-radius:18px;padding:18px}
.product-photo.refined img{width:100%;max-height:520px;object-fit:contain}
.product-photo.refined.empty{background:linear-gradient(180deg,#fbfaf7 0,#f4efe7 100%)}
.empty-photo{color:#718090;font-weight:800;font-size:18px}
.buyer-side-stack{display:grid;gap:18px}
.info-panel.summary-card,.info-panel.measures-card{background:#f4f1ec;border:1px solid #e1d8ce}
.info-panel h2{font-size:28px;margin-bottom:14px;color:#2f2824}
.summary-text{color:#4d5864;line-height:1.7;margin:0 0 16px;font-size:15px}
.summary-meta{display:flex;flex-wrap:wrap;gap:10px}
.meta-chip{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #ddd0c5;color:#4f4034;font-size:13px;font-weight:700}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table td strong{color:#063865}
@media(max-width:960px){
  .buyer-content{grid-template-columns:1fr}
  .product-photo.refined{min-height:320px}
  .product-photo.refined img{max-height:380px}
}
@media(max-width:700px){
  .buyer-top.refined{flex-direction:column;align-items:flex-start}
  .big-price{white-space:normal;width:100%;text-align:center}
  .buyer-layout.refined{padding:20px}
  .buyer-visual-card{padding:12px}
  .product-photo.refined{min-height:240px;padding:12px}
  .info-panel h2{font-size:24px}
  .meta-chip{width:100%;justify-content:center}
}


.alert.success{background:#eef8e8;color:#2c7e1b;border:1px solid #cfe9bf}
.premium-shell .admin-panel,.premium-shell .buyer-layout.refined{border-radius:28px}
.premium-panel{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
.premium-header{margin-bottom:24px}
.premium-row{grid-template-columns:70px minmax(220px,1fr) 150px auto;align-items:center;padding:14px 16px}
.product-meta-stack{display:grid;gap:8px;justify-items:start}
.premium-actions{justify-content:flex-end}
.qr-admin-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}
.qr-mini-card,.qr-link-card,.qr-sheet-card{background:#f8fbfd;border:1px solid #dbe3ea;border-radius:22px;padding:18px}
.qr-mini-card img{width:100%;max-width:260px;display:block;margin:10px auto 14px;border-radius:18px;background:#fff;padding:10px;border:1px solid #e3ebf2}
.qr-mini-card h3,.qr-link-card h3,.qr-sheet-card h2{margin:0 0 8px;color:#063865}
.qr-link-card .link-list{display:grid;gap:12px;margin:14px 0}
.qr-link-card .link-list div{background:#fff;border:1px solid #e2eaf1;border-radius:14px;padding:12px}
.qr-link-card .link-list strong{display:block;color:#063865;margin-bottom:4px;font-size:13px;text-transform:uppercase;letter-spacing:.05em}
.qr-link-card .link-list a,.qr-target{color:#526171;word-break:break-all;font-size:13px;text-decoration:none}
.mini-actions{display:flex;gap:10px;align-items:center}.mini-actions.wrap{flex-wrap:wrap}
.qr-page-shell{padding-bottom:48px}
.qr-sheet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.qr-sheet-card{text-align:center;background:linear-gradient(180deg,#fff 0%,#f7fafc 100%)}
.qr-sheet-card p{color:#647181;min-height:40px}
.qr-sheet-card img{width:100%;max-width:280px;margin:8px auto 14px;display:block;background:#fff;border:1px solid #dfe7ee;border-radius:18px;padding:12px}
@media(max-width:960px){.qr-admin-grid,.qr-sheet-grid{grid-template-columns:1fr}.premium-row{grid-template-columns:70px minmax(0,1fr)}.product-meta-stack,.premium-actions{grid-column:2 / -1}}

/* V4 Asignador QR */
.assigned-qr-strip{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:18px;background:#eef6fc;border:1px solid #cfe4f4;border-radius:18px;padding:16px}.assigned-qr-strip h3{margin:0 0 4px;color:#063865}.assigned-qr-strip p{margin:0;color:#647181}.assigned-qr-list{display:grid;gap:9px;margin-top:12px}.assigned-qr-list a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;background:#fff;border:1px solid #dbe3ea;border-radius:13px;padding:11px 13px}.assigned-qr-list strong{color:#063865}.assigned-qr-list span{color:#647181;font-size:12px}
.qr-benefit-banner{display:flex;gap:10px;align-items:center;background:#eef8e8;border:1px solid #cfe9bf;color:#2f641f;border-radius:16px;padding:14px 16px;margin-bottom:18px}.qr-benefit-banner code{background:#fff;padding:3px 7px;border-radius:7px}
.qr-inventory-list{display:grid;gap:12px}.qr-inventory-row{display:grid;grid-template-columns:78px minmax(240px,1fr) 150px auto;gap:15px;align-items:center;border:1px solid #dbe3ea;border-radius:18px;padding:13px;background:#fbfdff}.qr-inventory-image{width:78px;height:78px;background:#fff;border:1px solid #e2eaf1;border-radius:13px;padding:6px}.qr-inventory-image img{width:100%;height:100%;object-fit:contain}.qr-inventory-info h3{margin:0 0 4px;color:#063865}.qr-inventory-info p{margin:0 0 5px;color:#647181}.qr-inventory-info span{font-size:12px;color:#718090}
.qr-editor-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:26px}.qr-editor-preview{text-align:center;background:linear-gradient(180deg,#f8fbfd,#edf4f8);border:1px solid #dbe3ea;border-radius:22px;padding:24px;align-self:start;position:sticky;top:18px}.qr-editor-preview h2{color:#063865;font-size:32px;margin:12px 0}.qr-editor-preview img{width:100%;max-width:330px;background:#fff;border-radius:18px;border:1px solid #dfe7ee;padding:12px}.qr-editor-preview p{font-size:12px;color:#647181;word-break:break-all}.qr-assignment-form h1{color:#063865;font-size:40px;margin:8px 0}.qr-assignment-form>div>p{color:#647181;line-height:1.6}
.print-qr-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:#eef3f7}.print-qr-label{width:min(460px,100%);background:#fff;border:1px solid #dbe3ea;border-radius:26px;padding:30px;text-align:center;box-shadow:0 18px 45px rgba(6,56,101,.12)}.print-qr-label .brand img{max-width:300px}.print-qr-label h1{font-size:34px;color:#063865;margin:16px 0}.print-qr-label>img{width:100%;max-width:340px;padding:12px;border:1px solid #dfe7ee;border-radius:20px}.print-qr-label>strong{display:block;font-size:24px;color:#063865;margin-top:14px}.print-qr-label>p{color:#647181}.no-print{margin-top:18px}
.qr-unavailable{text-align:center}.qr-unavailable .brand img{max-width:320px}
@media(max-width:960px){.qr-inventory-row{grid-template-columns:78px minmax(0,1fr)}.qr-inventory-row .product-meta-stack,.qr-inventory-row .row-actions{grid-column:2 / -1}.qr-editor-layout{grid-template-columns:1fr}.qr-editor-preview{position:static}.assigned-qr-strip{align-items:flex-start;flex-direction:column}}
@media print{body{background:#fff}.topline,.no-print{display:none!important}.print-qr-page{padding:0;background:#fff}.print-qr-label{box-shadow:none;border:0;width:100%;max-width:480px}.print-qr-label .brand{margin-top:0}}
