:root{--orange:#C9952E;--orange-dark:#A97820;--green:#149447;--red:#dc3f48;--blue:#2563eb;--ink:#071633;--muted:#64748b;--bg:#f4f6f8;--line:#dbe2ea;--card:#fff;--sidebar:#071633;--sidebar-active:#112B58}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:285px;position:fixed;inset:0 auto 0 0;background:var(--sidebar);color:#f8fafc;display:flex;flex-direction:column;z-index:20}.brand{padding:18px 22px;border-bottom:1px solid #30343a;font-size:23px;font-weight:800;line-height:1.25}.brand small{display:block;color:#9ca3af;font-size:12px;margin-top:5px;font-weight:500}.nav{padding:18px 0;flex:1;overflow:auto}.nav-title{padding:12px 22px 8px;color:#8fa2b8;font-size:12px;font-weight:800;letter-spacing:.07em}.nav a{display:flex;gap:11px;align-items:center;padding:14px 22px;color:#f1f5f9;border-left:4px solid transparent}.nav a:hover{background:#20242a}.nav a.active{background:var(--sidebar-active);border-left-color:var(--orange);font-weight:700}.sidebar-footer{border-top:1px solid #30343a;padding:18px 22px;font-size:14px}.sidebar-footer form{margin-top:8px}.main{margin-left:285px;min-width:0;flex:1;padding:24px 44px 50px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.topbar h1{margin:0;font-size:29px}.muted{color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:20px}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.card h2,.card h3{margin-top:0}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.btn{border:0;border-radius:9px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;cursor:pointer;white-space:nowrap}.btn-sm{padding:7px 11px;font-size:13px}.btn-primary{background:var(--orange);color:#fff}.btn-primary:hover{background:var(--orange-dark)}.btn-secondary{background:#edf1f5;color:#111827}.btn-success{background:var(--green);color:#fff}.btn-danger{background:var(--red);color:#fff}.btn-outline{background:#fff;border:1px solid var(--line)}.btn-link{background:transparent;color:var(--orange);padding:0}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:7px}.field label{font-weight:700;font-size:13px}.input,.select,.textarea{width:100%;border:1px solid #cfd8e3;border-radius:9px;background:#fff;padding:10px 12px;min-height:42px}.textarea{min-height:100px;resize:vertical}.input:focus,.select:focus,.textarea:focus{outline:3px solid rgba(201,149,46,.14);border-color:var(--orange)}.help{font-size:12px;color:var(--muted)}.required:after{content:" *";color:var(--red)}.checkbox{display:flex;gap:9px;align-items:flex-start}.checkbox input{margin-top:3px}.alert{border-radius:10px;padding:14px 18px;margin-bottom:18px}.alert-success{background:#dff2e7;color:#087b39}.alert-danger{background:#fde4e6;color:#a91924}.alert-info{background:#e5efff;color:#1e4f9e}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th{font-size:12px;color:#475569;text-transform:uppercase;letter-spacing:.03em;text-align:left;padding:12px;border-bottom:1px solid var(--line)}.table td{padding:14px 12px;border-bottom:1px solid #edf1f4;vertical-align:middle}.table tr:last-child td{border-bottom:0}.doc-link{font-weight:800}.doc-link:hover{color:var(--orange)}.badge{display:inline-flex;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:700}.badge-gray{background:#eef1f4;color:#536170}.badge-green{background:#dff3e7;color:#087c39}.badge-blue{background:#e2ecff;color:#245db7}.badge-red{background:#fde2e4;color:#b91c2a}.badge-orange{background:#fff0df;color:#b14d00}.filters{display:grid;grid-template-columns:minmax(220px,1fr) 130px 130px 180px auto;gap:10px;margin-bottom:14px}.money{white-space:nowrap;font-variant-numeric:tabular-nums}.image-thumb{width:76px;height:76px;border:1px solid var(--line);border-radius:10px;object-fit:contain;background:#fff}.logo-preview{max-width:150px;max-height:90px;border:1px solid var(--line);border-radius:10px;padding:8px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.stat strong{display:block;font-size:25px;margin-top:6px}.document-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.document-meta{color:var(--muted);line-height:1.7}.totals{width:320px;margin-left:auto;margin-top:20px}.totals-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}.totals-row.total{font-size:18px;font-weight:800;border-bottom:0}.action-panel{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.items-table input,.items-table select{min-width:90px}.items-table .description{min-width:250px}.items-table .code{min-width:110px}.items-table .line-total{font-weight:700;white-space:nowrap}.modal{display:none;position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:100;align-items:center;justify-content:center;padding:24px}.modal.open{display:flex}.modal-dialog{background:#fff;border-radius:14px;width:min(1100px,96vw);max-height:90vh;overflow:auto;padding:24px}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.catalog-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px}.catalog-card img{width:100%;height:180px;object-fit:contain;background:#f8fafc;border-radius:10px}.catalog-card h3{font-size:16px;margin:0}.catalog-price{font-size:20px;font-weight:800;color:var(--orange)}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#071633,#102B58)}.login-card{width:min(440px,100%);background:#fff;border-radius:18px;padding:32px;box-shadow:0 24px 60px rgba(0,0,0,.25)}.login-card h1{margin-top:0}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-item{border:1px solid var(--line);border-radius:9px;padding:11px}.pagination{display:flex;gap:5px;list-style:none;padding:0}.page-link{display:block;padding:7px 11px;border:1px solid var(--line);border-radius:7px;background:#fff}.page-item.active .page-link{background:var(--orange);color:#fff}.page-item.disabled .page-link{opacity:.45}.public-header{background:var(--sidebar);color:#fff;padding:22px 5vw;display:flex;align-items:center;justify-content:space-between}.public-main{max-width:1250px;margin:28px auto;padding:0 20px}.empty{padding:35px;text-align:center;color:var(--muted)}.progress{height:9px;border-radius:99px;background:#edf1f5;overflow:hidden}.progress span{display:block;height:100%;background:var(--orange)}code{background:#eef1f4;border-radius:5px;padding:2px 5px}.danger-zone{border-color:#f4b7bd;background:#fffafa}.nowrap{white-space:nowrap}@media(max-width:1100px){.grid-4,.catalog-grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr 1fr}.filters .search{grid-column:1/-1}.main{padding:22px}.sidebar{width:240px}.main{margin-left:240px}}@media(max-width:760px){.sidebar{position:static;width:100%;height:auto}.app-shell{display:block}.main{margin-left:0;padding:16px}.nav{display:grid;grid-template-columns:1fr 1fr}.nav-title{grid-column:1/-1}.sidebar-footer{display:none}.grid-2,.grid-3,.grid-4,.stats,.permission-grid,.catalog-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.filters .search,.filters .seller{grid-column:1/-1}.topbar,.card-header,.document-head{flex-direction:column}.card{padding:16px}.totals{width:100%}}
/* SaaS v7 */
.wide-card{width:min(860px,100%)}.auth-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.auth-footer{text-align:center;color:var(--muted);margin:18px 0 0}.plan-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.plan-choice{display:flex;gap:10px;border:1px solid var(--line);border-radius:12px;padding:14px;cursor:pointer}.plan-choice:has(input:checked){border-color:var(--orange);box-shadow:0 0 0 3px rgba(201,149,46,.14)}.plan-choice input{margin-top:4px}.plan-choice span{display:flex;flex-direction:column;gap:4px}.plan-choice small{color:var(--muted)}.subscription-banner{background:#e8f4ff;border:1px solid #b9dcff;border-radius:12px;padding:12px 16px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.subscription-banner div{display:flex;gap:10px;align-items:center}.subscription-banner.warning{background:#fff2dc;border-color:#ffd29a}.subscription-stats{grid-template-columns:repeat(3,1fr)}.usage-box{border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px}.usage-box span{color:var(--muted)}.usage-box b{font-size:20px}.saas-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.saas-plan-card{border:1px solid var(--line);border-radius:14px;padding:20px;background:#fff}.saas-plan-card.selected{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,116,0,.1)}.saas-plan-card h3{margin-bottom:5px}.saas-plan-card ul{padding-left:20px;min-height:130px}.plan-price{font-size:26px;font-weight:800;color:var(--orange);margin:14px 0}.plan-price small{font-size:13px;color:var(--muted)}.admin-stats{grid-template-columns:repeat(5,1fr)}.admin-sidebar{background:#101827}.compact-filters{grid-template-columns:minmax(250px,1fr) 180px auto}.legal-content{max-width:900px;margin:25px auto;line-height:1.7}.legal-content h1,.legal-content h2{margin-top:1.5em}.admin-sidebar .nav a.active{background:#17365e;border-left-color:#60a5fa}
@media(max-width:1100px){.admin-stats{grid-template-columns:repeat(3,1fr)}.saas-plan-grid{grid-template-columns:1fr}.plan-selector{grid-template-columns:1fr}}
@media(max-width:760px){.subscription-banner,.subscription-banner div,.auth-heading{align-items:flex-start;flex-direction:column}.subscription-stats,.admin-stats{grid-template-columns:1fr}.compact-filters{grid-template-columns:1fr}}
.api-key-display{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.api-key-display code{word-break:break-all;padding:10px;display:block;flex:1}
/* SaaS v8 - dominios y personalización */
.sidebar-brand-logo{display:inline-block;vertical-align:middle;max-width:42px;max-height:34px;object-fit:contain;background:#fff;border-radius:7px;padding:3px;margin-right:5px}.login-brand-logo{max-width:58px;max-height:48px;vertical-align:middle;object-fit:contain;margin-right:8px}.favicon-preview{width:48px;height:48px;object-fit:contain;border:1px solid var(--line);border-radius:8px;padding:5px}.color-field{display:grid;grid-template-columns:54px 1fr;gap:8px;align-items:center}.color-field input[type=color]{width:54px;height:42px;padding:2px;border:1px solid var(--line);border-radius:9px;background:#fff}.branding-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.branding-colors.is-disabled{opacity:.65}.branding-preview{display:grid;grid-template-columns:210px 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:280px}.preview-sidebar{background:var(--preview-sidebar);color:#fff;padding:22px;display:flex;flex-direction:column;gap:15px}.preview-sidebar b{font-size:19px;margin-bottom:10px}.preview-sidebar span{padding:10px;border-radius:8px}.preview-sidebar .selected{background:var(--preview-active)}.preview-main{padding:24px;background:#f5f7fa}.preview-main button{background:var(--preview-primary);color:#fff;border:0;border-radius:8px;padding:10px 15px;font-weight:700}.preview-document{margin-top:24px;background:#fff;border-radius:10px;padding:20px;border-top:6px solid var(--preview-primary)}.dns-instructions{background:#f8fafc;border-radius:10px;padding:16px}.dns-instructions code{display:block;margin-top:5px;word-break:break-all;padding:8px}.steps{line-height:1.9}.domain-admin-actions{display:grid;grid-template-columns:150px 150px auto;gap:6px;align-items:center}.public-brand{display:flex;align-items:center;gap:13px}.public-brand img{max-height:62px;max-width:170px;background:#fff;border-radius:8px;padding:5px}.public-brand strong{font-size:22px;display:block}.public-brand span{display:block;color:#cbd5e1;font-size:13px;margin-top:3px}.public-footer,.tenant-footer{padding:25px 5vw;background:var(--sidebar);color:#fff;display:flex;justify-content:space-between;gap:20px}.public-footer small,.tenant-footer small{color:#aeb8c7}.tenant-home{margin:0;background:#fff}.tenant-home-header{height:82px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:20}.tenant-home-header nav{display:flex;align-items:center;gap:20px}.tenant-home-brand{display:flex;align-items:center;gap:12px;font-size:21px}.tenant-home-brand img{max-height:52px;max-width:170px;object-fit:contain}.tenant-hero{min-height:520px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:50px;padding:70px 8vw;background:linear-gradient(135deg,#fff 55%,color-mix(in srgb,var(--orange) 13%,#fff))}.tenant-hero h1{font-size:56px;line-height:1.05;margin:18px 0}.tenant-hero p{font-size:18px;color:var(--muted)}.eyebrow{color:var(--orange);text-transform:uppercase;font-weight:800;letter-spacing:.08em}.tenant-hero-card{background:var(--sidebar);color:#fff;border-radius:20px;padding:38px;font-size:18px;box-shadow:0 25px 60px rgba(15,23,42,.18)}.tenant-hero-card strong{font-size:28px}.catalog-placeholder{height:180px;display:grid;place-items:center;background:#f8fafc;border-radius:10px}.platform-credit{font-size:12px}.document-footer{margin-top:28px;padding-top:10px;border-top:1px solid #ddd;text-align:center;color:#666;font-size:9px}
@media(max-width:1000px){.branding-colors{grid-template-columns:repeat(2,1fr)}.tenant-hero{grid-template-columns:1fr}.domain-admin-actions{grid-template-columns:1fr}}
@media(max-width:760px){.branding-colors,.branding-preview{grid-template-columns:1fr}.preview-sidebar{display:none}.tenant-home-header{height:auto;padding:16px;align-items:flex-start;gap:15px}.tenant-home-header nav{gap:10px}.tenant-hero{padding:45px 20px}.tenant-hero h1{font-size:40px}.public-footer,.tenant-footer{flex-direction:column}}
/* SaaS v9 - Compras e inventario */
.stock-chip{display:inline-block;padding:4px 8px;margin:2px;border-radius:999px;background:#eef4ff;color:#274c77;font-size:12px}.low-stock-row{background:#fff5f5}.text-success{color:#118847}.text-danger{color:#c92a2a}.checkbox-stack{display:flex;flex-direction:column;gap:10px;justify-content:center}.nav .nav-title{margin-top:13px}.purchase-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.purchase-summary>div{border:1px solid var(--line);border-radius:10px;padding:12px}.table .input,.table .select{font-size:13px}
@media(max-width:760px){.purchase-summary{grid-template-columns:1fr}}

/* QoriFlow v10.3 - cotizaciones con historial tipo chatter */
.quote-workspace{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(320px,.82fr);gap:0;align-items:start;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-height:660px}.quote-document-pane{min-width:0;padding:18px;background:#f8fafc;border-right:1px solid var(--line)}.quote-document-pane>.card:last-child{margin-bottom:0}.quote-action-panel{padding:0 0 14px;margin-bottom:0}.quote-status-card{padding:18px}.quote-detail-card{margin-bottom:18px}.quote-form-actions{padding:2px 0 20px}.quote-chatter{background:#fff;min-width:0;position:sticky;top:14px;max-height:calc(100vh - 45px);display:flex;flex-direction:column}.quote-chatter-tabs{display:flex;gap:7px;padding:12px;border-bottom:1px solid var(--line);overflow-x:auto;background:#fff}.quote-chatter-tabs form{margin:0}.quote-chatter-tab{border:0;background:#e9eef3;color:#111827;border-radius:7px;padding:9px 11px;font-weight:700;white-space:nowrap;cursor:pointer}.quote-chatter-tab.primary{background:#5d96b3;color:#fff}.quote-chatter-tab:disabled{opacity:.45;cursor:not-allowed}.quote-note-form{padding:12px;border-bottom:1px solid var(--line);background:#fbfcfd}.quote-note-form textarea{width:100%;min-height:90px;border:1px solid #cfd8e3;border-radius:8px;padding:10px;resize:vertical}.quote-note-form>div{display:flex;justify-content:flex-end;gap:7px;margin-top:8px}.quote-chatter-scroll{padding:14px 14px 28px;overflow:auto}.quote-chatter-date{text-align:center;font-weight:800;color:#6b7280;font-size:13px;padding:11px 0 14px;position:relative}.quote-chatter-date:before,.quote-chatter-date:after{content:"";position:absolute;top:50%;height:1px;background:#edf0f3;width:23%}.quote-chatter-date:before{left:0}.quote-chatter-date:after{right:0}.quote-timeline{position:relative;padding-left:2px}.quote-timeline-entry{display:grid;grid-template-columns:42px 1fr;gap:10px;padding:9px 0}.quote-avatar{width:40px;height:40px;border-radius:6px;background:#6d3bc5;color:#fff;display:grid;place-items:center;font-weight:800}.quote-entry-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.quote-entry-head strong{font-size:13px}.quote-entry-head span{font-size:11px;color:var(--muted)}.quote-entry-action{font-size:13px;color:#4b5563;margin-top:2px}.quote-entry-note{margin-top:7px;padding:10px 11px;border-radius:8px;background:#fff7e8;border:1px solid #ffe1ae;white-space:pre-line;font-size:13px}.quote-timeline-body small{display:block;color:var(--muted);margin-top:5px}.quote-chatter-empty{padding:45px 20px;text-align:center;color:var(--muted)}
@media(max-width:1200px){.quote-workspace{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr)}.quote-document-pane{padding:14px}}
@media(max-width:900px){.quote-workspace{grid-template-columns:1fr}.quote-document-pane{border-right:0;border-bottom:1px solid var(--line)}.quote-chatter{position:static;max-height:none}.quote-chatter-scroll{max-height:520px}.quote-topbar{align-items:flex-start}}

/* QoriFlow v10.3 - navegación superior y lanzador de aplicaciones tipo Odoo */
.qf-topnav{position:fixed;inset:0 0 auto 0;height:48px;background:#263b45;color:#fff;z-index:120;display:flex;align-items:center;gap:8px;padding:0 12px;box-shadow:0 1px 3px rgba(15,23,42,.18)}.qf-apps-button{width:36px;height:36px;border:0;background:transparent;color:#fff;font-size:23px;cursor:pointer;border-radius:6px}.qf-apps-button:hover{background:rgba(255,255,255,.1)}.qf-topnav-links{display:flex;height:100%;align-items:stretch}.qf-topnav-links a{display:flex;align-items:center;padding:0 13px;font-size:14px;color:#eef3f7;border-bottom:3px solid transparent}.qf-topnav-links a:hover,.qf-topnav-links a.active{background:rgba(0,0,0,.12);border-bottom-color:var(--orange)}.qf-topnav-user{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:13px}.qf-status-dot{width:9px;height:9px;border-radius:50%;background:#ef476f}.qf-user-avatar{width:30px;height:30px;border-radius:5px;background:#6d3bc5;display:grid;place-items:center;font-weight:800}.qf-launcher{position:fixed;inset:48px 0 0 0;background:linear-gradient(135deg,#365464,#527d91);z-index:115;padding:34px 46px;overflow:auto}.qf-launcher[hidden]{display:none}.qf-launcher-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:34px 28px;max-width:1100px;margin:0 auto}.qf-launcher-grid a{display:flex;flex-direction:column;align-items:center;gap:9px;color:#fff;text-align:center;font-size:14px}.qf-launcher-grid b{width:78px;height:78px;background:#fff;color:#304a58;border-radius:8px;display:grid;place-items:center;font-size:37px;box-shadow:0 6px 18px rgba(15,23,42,.16)}.qf-launcher-grid a:hover b{transform:translateY(-2px);box-shadow:0 10px 26px rgba(15,23,42,.22)}
.app-shell>.sidebar{top:48px!important}.app-shell>.main{padding-top:72px}.qb-focus-mode .qf-topnav{display:none!important}.qb-focus-mode .qf-launcher{display:none!important}
@media(max-width:1100px){.qf-launcher-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.qf-topnav-user strong{display:none}}
@media(max-width:760px){.qf-topnav-links{display:none}.qf-launcher{padding:24px 18px}.qf-launcher-grid{grid-template-columns:repeat(3,minmax(90px,1fr));gap:24px 14px}.qf-launcher-grid b{width:66px;height:66px;font-size:31px}.app-shell>.main{padding-top:68px}.app-shell>.sidebar{top:auto!important}}

/* QoriFlow 10.4 — navegación compacta, launcher corporativo y workspaces */
.qf-topnav{display:none!important}.app-shell>.sidebar{top:0!important}.main{margin-left:285px;padding-top:24px;transition:margin-left .22s ease}.sidebar{transition:width .22s ease;overflow:hidden}.qf-sidebar-top{height:44px;display:flex;align-items:center;justify-content:space-between;padding:6px 9px;border-bottom:1px solid rgba(255,255,255,.11);flex:0 0 auto}.qf-sidebar-collapse,.qf-sidebar-apps{width:34px;height:32px;border:0;border-radius:7px;background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;font-size:18px}.qf-sidebar-collapse:hover,.qf-sidebar-apps:hover{background:rgba(255,255,255,.1)}.qf-brand-main{display:flex;align-items:center;gap:9px;min-width:0}.qf-brand-copy{display:block;overflow:hidden;text-overflow:ellipsis}.qf-brand-fallback{width:34px;height:34px;display:grid;place-items:center;background:rgba(255,255,255,.12);border-radius:8px}.brand{padding:14px 18px}.brand small{padding-left:45px}.nav{padding:8px 0 14px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.nav-group{border-bottom:1px solid rgba(255,255,255,.05)}.nav-group-toggle{width:100%;border:0;background:transparent;color:#b8c8d9;display:grid;grid-template-columns:27px minmax(0,1fr) 22px;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;font-size:12px;font-weight:800;letter-spacing:.06em;text-align:left}.nav-group-toggle:hover{background:rgba(255,255,255,.055);color:#fff}.nav-group-chevron{text-align:center;font-size:18px;transition:transform .18s ease}.nav-group.is-closed .nav-group-chevron{transform:rotate(-90deg)}.nav-group.is-closed .nav-group-items{display:none}.nav-group-items a{padding:12px 18px;display:grid;grid-template-columns:29px minmax(0,1fr);gap:10px;align-items:center}.nav-icon{font-size:19px;text-align:center;line-height:1.1}.nav-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{flex:0 0 auto}.qf-launcher{inset:0!important;z-index:400!important;background:linear-gradient(135deg,color-mix(in srgb,var(--qf-secondary) 82%,var(--qf-primary)),color-mix(in srgb,var(--qf-secondary) 52%,var(--qf-accent)))!important;padding:0 42px 42px!important}.qf-launcher-head{height:72px;display:flex;align-items:center;justify-content:space-between;color:#fff;max-width:1180px;margin:0 auto;border-bottom:1px solid rgba(255,255,255,.18)}.qf-launcher-head strong{display:block;font-size:20px}.qf-launcher-head span{opacity:.8;font-size:13px}.qf-launcher-close{border:0;background:rgba(255,255,255,.13);color:#fff;width:38px;height:38px;border-radius:50%;font-size:26px;cursor:pointer}.qf-launcher-grid{padding-top:34px!important;max-width:1180px!important}.qf-launcher-grid a{font-weight:650}.qf-launcher-grid b.qf-app-icon{width:88px;height:88px;border-radius:18px;color:#fff!important;border:1px solid rgba(255,255,255,.32);box-shadow:0 12px 30px rgba(0,0,0,.2)}.qf-app-icon.app-sales,.qf-app-icon.app-builder,.qf-app-icon.app-company{background:linear-gradient(145deg,var(--qf-primary),color-mix(in srgb,var(--qf-primary) 62%,#000))!important}.qf-app-icon.app-orders,.qf-app-icon.app-web,.qf-app-icon.app-subscription{background:linear-gradient(145deg,var(--qf-accent),color-mix(in srgb,var(--qf-accent) 62%,#000))!important}.qf-app-icon.app-clients,.qf-app-icon.app-inventory,.qf-app-icon.app-users{background:linear-gradient(145deg,color-mix(in srgb,var(--qf-primary) 58%,var(--qf-accent)),var(--qf-secondary))!important}.qf-app-icon.app-products,.qf-app-icon.app-purchases,.qf-app-icon.app-brand,.qf-app-icon.app-leads,.qf-app-icon.app-admin{background:linear-gradient(145deg,color-mix(in srgb,var(--qf-secondary) 72%,var(--qf-primary)),var(--qf-secondary))!important}
body.qf-sidebar-collapsed .sidebar{width:76px}body.qf-sidebar-collapsed .main{margin-left:76px}body.qf-sidebar-collapsed .qf-sidebar-top{justify-content:center;gap:2px;padding-inline:3px}body.qf-sidebar-collapsed .qf-sidebar-collapse,body.qf-sidebar-collapsed .qf-sidebar-apps{width:32px}body.qf-sidebar-collapsed .brand{padding:12px 10px;display:flex;justify-content:center}body.qf-sidebar-collapsed .qf-brand-copy,body.qf-sidebar-collapsed .brand small,body.qf-sidebar-collapsed .nav-group-label,body.qf-sidebar-collapsed .nav-group-chevron,body.qf-sidebar-collapsed .nav-label{display:none!important}body.qf-sidebar-collapsed .nav-group-toggle{grid-template-columns:1fr;padding:13px 8px}body.qf-sidebar-collapsed .nav-group-icon{font-size:20px;text-align:center}body.qf-sidebar-collapsed .nav-group-items{display:block!important}body.qf-sidebar-collapsed .nav-group-items a{grid-template-columns:1fr;padding:13px 8px;border-left-width:3px}body.qf-sidebar-collapsed .sidebar-footer{padding:12px 8px;text-align:center}body.qf-sidebar-collapsed .sidebar-footer .btn-link{display:block;margin:auto}
.record-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,390px);gap:18px;align-items:start}.record-pane{min-width:0}.record-history{background:#fff;border:1px solid var(--line);border-radius:12px;position:sticky;top:18px;max-height:calc(100vh - 36px);display:flex;flex-direction:column;overflow:hidden}.record-history-tabs{display:flex;gap:7px;padding:11px;border-bottom:1px solid var(--line);overflow-x:auto}.record-history-tab{border:0;background:#e9eef3;border-radius:7px;padding:9px 11px;font-weight:700;white-space:nowrap;cursor:pointer}.record-history-tab.primary{background:color-mix(in srgb,var(--qf-primary) 72%,#fff);color:#fff}.record-history-note{padding:12px;border-bottom:1px solid var(--line)}.record-history-note textarea{width:100%;min-height:90px}.record-history-note-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.record-history-scroll{padding:14px;overflow:auto}.record-history-empty{padding:40px 18px;text-align:center;color:var(--muted)}.record-history-date{text-align:center;color:#6b7280;font-weight:800;font-size:12px;margin:10px 0 14px;position:relative}.record-history-date:before,.record-history-date:after{content:"";position:absolute;top:50%;height:1px;background:#e9edf1;width:26%}.record-history-date:before{left:0}.record-history-date:after{right:0}.record-history-entry{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;margin-bottom:17px}.record-history-avatar{width:36px;height:36px;border-radius:8px;background:color-mix(in srgb,var(--qf-primary) 74%,#5b21b6);color:#fff;display:grid;place-items:center;font-weight:800}.record-history-head{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.record-history-head span{font-size:12px;color:#9ca3af}.record-history-action{font-size:13px;color:#475569;margin-top:3px}.record-history-body{margin-top:7px;background:#f8fafc;border-radius:8px;padding:9px;white-space:pre-wrap}.record-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:14px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px}.record-toolbar-title{margin-right:auto;display:flex;align-items:center;gap:8px}.record-toolbar-title strong{font-size:15px}.record-icon-btn{width:38px;height:38px;border:1px solid transparent;background:#eef2f5;border-radius:8px;display:grid;place-items:center;cursor:pointer;font-size:18px;color:#334155}.record-icon-btn:hover{background:#e2e8f0}.record-icon-btn.save{background:var(--qf-primary);color:#fff}.record-menu{position:relative}.record-menu-panel{position:absolute;top:44px;left:0;min-width:190px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 28px rgba(15,23,42,.16);border-radius:9px;z-index:80;padding:5px}.record-menu-panel[hidden]{display:none}.record-menu-panel a,.record-menu-panel button{display:flex;width:100%;gap:8px;align-items:center;border:0;background:transparent;padding:10px 11px;border-radius:6px;cursor:pointer;text-align:left}.record-menu-panel a:hover,.record-menu-panel button:hover{background:#f1f5f9}.document-inline-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:11px 4px 0}.document-inline-action{border:0;background:transparent;color:#57739a;cursor:pointer;padding:3px 2px;font-weight:500}.document-inline-action:hover{color:var(--qf-primary);text-decoration:underline}.document-line-section td{background:#eef3f8;font-weight:800;color:#334155}.document-line-note td{background:#fbfbfc;color:#64748b;font-style:italic}.document-line-section .description,.document-line-note .description{min-width:420px}.line-type-hidden{display:none!important}
@media(max-width:1100px){.record-workspace{grid-template-columns:1fr}.record-history{position:static;max-height:600px}.qf-launcher-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}}
@media(max-width:760px){.sidebar{position:fixed!important;width:76px!important;height:100vh!important}.main{margin-left:76px!important;padding:16px!important}.brand{padding:12px 10px!important}.qf-brand-copy,.brand small,.nav-group-label,.nav-group-chevron,.nav-label{display:none!important}.nav-group-toggle,.nav-group-items a{grid-template-columns:1fr!important;padding:12px 7px!important}.nav-group-items{display:block!important}.qf-sidebar-collapse{display:none}.qf-launcher{padding:0 15px 25px!important}.qf-launcher-grid{grid-template-columns:repeat(3,minmax(85px,1fr))!important;gap:22px 10px!important}.qf-launcher-grid b.qf-app-icon{width:64px;height:64px;font-size:28px}.record-workspace{display:block}.record-history{margin-top:16px}}
.app-shell>.main{padding-top:24px!important}.sidebar{width:285px}

/* QoriConnect WhatsApp */
.app-whatsapp{background:color-mix(in srgb,var(--qf-accent) 18%,white)!important;color:var(--qf-accent)!important}
.wa-account-status{display:flex;flex-direction:column;gap:5px;padding:16px;border:1px solid #dbe2ea;border-radius:14px;background:#f8fafc}.wa-account-status.ok{border-color:#b7e4c7;background:#f0fff5}.wa-account-status.bad{border-color:#fecaca;background:#fff7f7}.code-box{padding:12px 14px;border-radius:10px;background:#0f172a;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.wa-inbox-card{padding:0;overflow:hidden}.wa-inbox-card>.toolbar{padding:16px;border-bottom:1px solid #e5e7eb}.wa-conversation-list{display:flex;flex-direction:column}.wa-conversation-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #eef2f7;color:inherit;text-decoration:none}.wa-conversation-row:hover{background:#f8fafc}.wa-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:color-mix(in srgb,var(--qf-primary) 16%,white);color:var(--qf-primary)}.wa-row-main{flex:1;min-width:0}.wa-row-head{display:flex;justify-content:space-between;gap:12px}.wa-row-head span{font-size:12px;color:#64748b}.wa-unread{min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--qf-accent);color:white;display:grid;place-items:center;font-weight:800;font-size:12px}.wa-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.wa-chat-card{padding:0;overflow:hidden}.wa-window-state{padding:10px 16px;font-size:13px;border-bottom:1px solid #e5e7eb}.wa-window-state.open{background:#ecfdf5;color:#166534}.wa-window-state.closed{background:#fff7ed;color:#9a3412}.wa-chat-messages{height:58vh;min-height:420px;overflow-y:auto;padding:20px;background:#f4f0ea;display:flex;flex-direction:column;gap:9px}.wa-bubble-row{display:flex}.wa-bubble-row.outbound{justify-content:flex-end}.wa-bubble{max-width:min(78%,680px);padding:10px 12px;border-radius:12px;background:white;box-shadow:0 1px 2px rgba(15,23,42,.08);white-space:pre-wrap;overflow-wrap:anywhere}.wa-bubble-row.outbound .wa-bubble{background:#d9fdd3}.wa-bubble small{display:block;margin-top:5px;color:#64748b;font-size:11px}.wa-compose{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px;border-top:1px solid #e5e7eb;background:white}.wa-template-box{padding:12px 14px;border-top:1px solid #e5e7eb}.wa-template-box summary{cursor:pointer;font-weight:700}.wa-context-panel{position:sticky;top:16px}.wa-context-panel h4{margin:20px 0 8px}.wa-context-link{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #eef2f7;text-decoration:none;color:inherit}.wa-context-link span{font-weight:700}.empty-state{padding:50px 20px;text-align:center;color:#64748b}
@media(max-width:1000px){.wa-workspace{grid-template-columns:1fr}.wa-context-panel{position:static}.wa-chat-messages{height:50vh}.wa-compose{grid-template-columns:1fr}.wa-bubble{max-width:90%}}
.nav-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;margin-left:6px;border-radius:999px;background:var(--qf-accent);color:#fff;font-size:11px;font-weight:800}
/* QoriConnect 11.1 · campañas */
.wa-consent-box{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.wa-client-picker{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fafc}.wa-client-list{margin-top:10px;max-height:390px;overflow:auto;border-top:1px solid var(--line)}.wa-client-option{padding:10px 4px;border-bottom:1px solid #e7ecf1;align-items:flex-start}.wa-client-option span{display:flex;flex-direction:column;gap:2px}.wa-client-option small{color:var(--muted)}.wa-campaign-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.wa-template-preview{border:1px solid #dbe2ea;border-radius:12px;padding:16px;background:#f8fafc;white-space:pre-wrap}.wa-template-preview p{line-height:1.6;margin-bottom:0}@media(max-width:1200px){.wa-campaign-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.wa-campaign-stats{grid-template-columns:1fr 1fr}}

/* QoriConnect 11.2 · preview en vivo, multimedia y plantillas robustas */
.wa-campaign-editor-grid{align-items:start}.wa-live-preview-card{position:sticky;top:18px}.wa-phone-preview{max-width:430px;margin:0 auto;border:1px solid #d6dde5;border-radius:24px;overflow:hidden;background:#efeae2;box-shadow:0 12px 30px rgba(15,23,42,.10)}.wa-phone-topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#075e54;color:#fff;font-weight:800}.wa-phone-chat{padding:24px 14px 28px;min-height:430px;background:linear-gradient(rgba(255,255,255,.40),rgba(255,255,255,.40)),#efeae2}.wa-preview-bubble{width:min(92%,370px);margin-left:auto;background:#d9fdd3;border-radius:10px 10px 2px 10px;padding:8px;box-shadow:0 1px 2px rgba(15,23,42,.13);overflow:hidden}.wa-preview-media{margin:-8px -8px 8px;background:#dfe5e8;min-height:120px;display:grid;place-items:center;color:#64748b;text-align:center}.wa-preview-media[hidden]{display:none!important}.wa-preview-media img,.wa-preview-media video{display:block;width:100%;max-height:250px;object-fit:cover;background:#000}.wa-preview-document{padding:28px 12px;font-weight:800}.wa-preview-header-text{font-weight:800;margin:3px 2px 7px}.wa-preview-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.wa-preview-footer{font-size:12px;color:#667085;margin-top:7px}.wa-preview-buttons{margin:9px -8px -8px;border-top:1px solid rgba(15,23,42,.09)}.wa-preview-buttons[hidden]{display:none!important}.wa-preview-button{padding:9px;text-align:center;color:#027eb5;border-bottom:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.45);font-weight:700}.wa-preview-button:last-child{border-bottom:0}.wa-preview-time{text-align:right;color:#667085;font-size:10px;margin-top:4px}.wa-preview-note{margin-top:14px}.wa-media-editor{margin-top:14px;padding:14px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc}.wa-media-editor[hidden]{display:none!important}.wa-media-or{display:grid;place-items:center;padding:8px;color:#94a3b8}.wa-media-or span{background:#f8fafc;padding:0 8px}.wa-template-details summary{cursor:pointer;color:#334155}.wa-template-mini-preview{margin-top:10px;border:1px solid #dbe2ea;border-radius:10px;padding:12px;background:#f8fafc;white-space:pre-wrap}.wa-preview-media-placeholder{padding:14px;border-radius:8px;background:#e8edf2;color:#64748b;text-align:center;margin-bottom:8px}.wa-preview-header-text{font-weight:800}.wa-template-mini-preview small{display:block;color:#64748b;margin-top:8px}.wa-template-mini-preview .wa-preview-buttons{margin:10px 0 0;border:0;display:flex;gap:6px;flex-wrap:wrap}.wa-template-mini-preview .wa-preview-buttons span{border:1px solid #cfd8e3;border-radius:7px;background:#fff;padding:6px 9px;color:#027eb5;font-size:12px}
@media(max-width:1000px){.wa-live-preview-card{position:static}.wa-campaign-editor-grid{grid-template-columns:1fr}.wa-phone-preview{max-width:100%}}

/* QoriConnect v11.3 */
.wa-product-card{display:flex;align-items:center;gap:14px;margin-top:12px;padding:12px;border:1px solid #dbe2ea;border-radius:12px;background:#f8fafc}.wa-product-card[hidden]{display:none!important}.wa-product-card img{width:76px;height:76px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid #e5e7eb}.wa-token-box{margin-top:14px;padding:12px 14px;border-radius:12px;background:#eff6ff;border:1px solid #dbeafe;color:#1e40af}.wa-token-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.wa-token-list code{padding:5px 7px;border-radius:7px;background:#fff;color:#1d4ed8}.wa-segment-editor{padding:14px;border:1px solid #dbe2ea;border-radius:12px;background:#f8fafc}.wa-template-builder-grid{align-items:start}.wa-template-body-editor{min-height:180px}.wa-template-button-editor{margin-top:10px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.grid.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media(max-width:1000px){.grid.grid-3{grid-template-columns:1fr}.wa-product-card{align-items:flex-start}}

/* QoriConnect 11.4 */
.wa-media-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.wa-rejection-reason{max-width:260px;margin-top:6px;font-size:12px;line-height:1.35;color:#b91c1c}.wa-analytics-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.wa-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.wa-kpi-grid>div{padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;display:flex;flex-direction:column;gap:4px}.wa-kpi-grid span{font-size:12px;color:#64748b}.wa-kpi-grid strong{font-size:24px}.tpl-button-value-box[hidden]{display:none!important}@media(max-width:1100px){.wa-analytics-stats{grid-template-columns:repeat(3,1fr)}.wa-media-source-grid{grid-template-columns:1fr}}@media(max-width:760px){.wa-analytics-stats,.wa-kpi-grid{grid-template-columns:1fr 1fr}}

/* QoriFlow 11.6 · QoriPay + QoriFactura Foundation */
.app-pay{background:color-mix(in srgb,var(--qf-primary) 18%,white)!important;color:var(--qf-primary)!important;font-size:24px!important}.app-invoice{background:color-mix(in srgb,var(--qf-accent) 16%,white)!important;color:var(--qf-accent)!important}.qf-suite-strip{background:linear-gradient(135deg,#fff,#f8fafc)}.qf-suite-box{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}.qf-suite-box h3{margin:4px 0 6px}.qf-suite-box form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.qf-copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.qf-json-preview{max-height:440px;overflow:auto;background:#0f172a;color:#dbeafe;padding:16px;border-radius:12px;font-size:12px;line-height:1.5;white-space:pre-wrap}.qoripay-public{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(135deg,#071633,#112B58)}.qoripay-public-card{width:min(560px,100%);background:#fff;border-radius:22px;padding:34px;box-shadow:0 28px 70px rgba(0,0,0,.28)}.qoripay-public-brand{font-size:23px;font-weight:900}.qoripay-public-shield{display:inline-flex;margin:12px 0;padding:7px 10px;border-radius:999px;background:#ecfdf5;color:#047857;font-weight:800;font-size:12px}.qoripay-public-card h1{margin:12px 0}.qoripay-public-amount{font-size:42px;font-weight:900;margin:4px 0 24px;color:var(--ink)}@media(max-width:760px){.qf-suite-box{align-items:flex-start;flex-direction:column}.qf-copy-row{grid-template-columns:1fr}.qoripay-public-card{padding:24px}.qoripay-public-amount{font-size:34px}}


/* QoriFlow 11.7 · identidad Oro Andino Digital + QoriPay multicanal */
.qf-platform-mark{background:#fff!important;padding:3px;overflow:hidden}.qf-platform-mark img{display:block;width:100%;height:100%;object-fit:contain}.qf-admin-brand{display:flex;align-items:center;gap:10px}.qf-admin-brand .qf-platform-mark{width:36px;height:36px;border-radius:10px;display:grid}.login-qoriflow-logo{display:block;width:min(310px,78vw);max-height:86px;object-fit:contain;margin:0 auto}.login-card h1:has(.login-qoriflow-logo){margin-bottom:18px}.sidebar-brand-logo{max-width:160px;max-height:46px;object-fit:contain}.qpay-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.qpay-method-card{display:flex;gap:13px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,#f8fafc)}.qpay-method-card .qpay-method-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--qf-primary) 13%,white);color:var(--qf-primary);font-size:22px;font-weight:900}.qpay-method-card b,.qpay-method-card small{display:block}.qpay-method-card small{margin-top:4px;color:var(--muted)}.qpay-toggle span{display:flex;flex-direction:column;gap:4px}.qpay-toggle small{color:var(--muted)}.qpay-config-item,.qpay-add-box{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:12px;overflow:hidden}.qpay-config-item>summary,.qpay-add-box>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;cursor:pointer;list-style:none;background:#f8fafc}.qpay-config-item>summary::-webkit-details-marker,.qpay-add-box>summary::-webkit-details-marker{display:none}.qpay-config-form{padding:18px}.qpay-wallet-edit{padding-bottom:4px}.qpay-qr-manager{display:flex;gap:18px;align-items:center;padding:14px;margin:14px 18px;background:#f8fafc;border:1px solid var(--line);border-radius:12px}.qpay-qr-manager img{width:150px;height:150px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px}.qpay-proof-list{display:grid;gap:14px}.qpay-proof-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fbfcfe}.qpay-proof-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.qpay-proof-head span:not(.badge){display:block;color:var(--muted);font-size:12px;margin-top:4px}.qpay-proof-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.qpay-proof-actions form{display:grid;grid-template-columns:1fr auto;gap:8px}.qpay-public-wide{width:min(760px,100%)}.qoripay-public-brand{display:flex;align-items:center;gap:12px}.qoripay-public-brand small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.qf-public-mark{width:44px;height:44px;border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden;border:1px solid #e5e7eb}.qf-public-mark img{width:100%;height:100%;object-fit:contain}.qpay-public-methods{display:grid;gap:14px}.qpay-public-method{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}.qpay-public-method-title{display:flex;gap:12px;align-items:center;margin-bottom:14px}.qpay-public-method-title>span{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#f7f1e5;color:#9b6b12;font-size:21px}.qpay-public-method-title b,.qpay-public-method-title small{display:block}.qpay-public-method-title small{color:var(--muted);margin-top:3px}.qpay-destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.qpay-destination-grid>div{padding:11px;border-radius:10px;background:#f8fafc;border:1px solid #e7ecf1;overflow-wrap:anywhere}.qpay-destination-grid span{display:block;font-size:11px;color:var(--muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.04em}.qpay-wallet-public{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center}.qpay-wallet-public img{width:180px;height:180px;object-fit:contain;border:1px solid var(--line);border-radius:14px;background:#fff}.qpay-send-proof{margin-top:15px;border-top:1px solid var(--line);padding-top:12px}.qpay-send-proof summary{cursor:pointer;font-weight:800;color:var(--qf-primary)}.qpay-send-proof form{margin-top:14px}.qpay-public-foot{margin-top:22px;text-align:center}.copy-value{word-break:break-all}.qpay-config-item .toolbar form{padding:0;margin:0}.qpay-config-item .toolbar{padding:0 18px 18px}.qpay-config-item .qpay-config-form+.toolbar{padding-top:0}
@media(max-width:1050px){.qpay-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.qpay-stats{grid-template-columns:1fr}.qpay-destination-grid,.qpay-proof-actions,.qpay-proof-actions form{grid-template-columns:1fr}.qpay-wallet-public{grid-template-columns:1fr}.qpay-wallet-public img{width:min(260px,100%);height:auto;margin:auto}.qpay-qr-manager{align-items:flex-start;flex-direction:column}.qpay-public-wide{padding:22px}}

.login-tenant-name{display:block;margin-top:8px;font-size:.72em;line-height:1.15;color:var(--ink);font-weight:800}

/* QoriFlow 11.8 · QoriLogística + QoriReparto Foundation */
.app-logistics{background:#eef2ff!important;color:#3730a3!important}.app-reparto{background:#ecfeff!important;color:#0e7490!important}.logistics-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.logistics-timeline{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:8px;margin:0 0 20px;overflow:auto}.logistics-step{min-width:110px;padding:12px;border:1px solid var(--line);background:#fff;border-radius:11px;text-align:center;color:var(--muted);position:relative}.logistics-step.done{border-color:color-mix(in srgb,var(--qf-primary) 35%,#dbe2ea);background:color-mix(in srgb,var(--qf-primary) 7%,white);color:var(--ink)}.logistics-step.done:before{content:"✓";display:block;color:var(--qf-primary);font-weight:900}.logistics-public-status{margin:16px 0}.logistics-public-steps{display:grid;gap:8px;margin:18px 0}.logistics-public-steps>div{display:flex;gap:10px;align-items:center;padding:10px;border-left:3px solid #dbe2ea}.logistics-public-steps span{color:var(--qf-primary)}
@media(max-width:1050px){.logistics-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.logistics-stats{grid-template-columns:1fr}}

/* QoriFlow 11.9 · QoriFactura Locales + QoriReparto 1.0 */
.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.fiscal-location-table{min-width:1350px}.fiscal-address{min-width:220px}.fiscal-series-list{display:grid;gap:5px;min-width:310px}.fiscal-series-list>div{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;align-items:center;padding:5px 0;border-bottom:1px dashed #e5e7eb}.fiscal-series-list>div:last-child{border-bottom:0}.fiscal-series-list span{font-size:12px}.fiscal-series-list b{font-size:13px}.fiscal-series-list small{grid-column:1/-1;color:#b45309;font-size:11px}.fiscal-pdf-list{display:grid;gap:4px;min-width:160px}.fiscal-pdf-list span{display:flex;justify-content:space-between;gap:10px;font-size:12px}.reparto-public-body{min-height:100vh;background:#f5f7fa}.reparto-public-header{min-height:78px;padding:14px max(24px,5vw);background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;position:sticky;top:0;z-index:30}.reparto-public-brand{display:flex;align-items:center;gap:18px;font-weight:900;font-size:20px}.reparto-public-brand img{width:168px;max-height:48px;object-fit:contain}.reparto-public-brand span{padding-left:16px;border-left:1px solid var(--line);color:#0e7490}.reparto-public-main{width:min(1250px,calc(100% - 32px));margin:28px auto 60px}.reparto-public-footer{padding:25px max(24px,5vw);background:#071633;color:#e2e8f0;display:flex;justify-content:space-between;gap:20px}.reparto-public-footer span{color:#94a3b8}.reparto-hero{background:linear-gradient(135deg,#071633,#112b58);color:#fff;border-radius:20px;padding:42px;margin-bottom:20px;position:relative;overflow:hidden}.reparto-hero:after{content:"Q";position:absolute;right:25px;top:-75px;font-size:300px;line-height:1;color:rgba(255,255,255,.045);font-weight:900}.reparto-hero h1{font-size:42px;margin:12px 0}.reparto-hero p{max-width:720px;font-size:18px;color:#dbeafe;line-height:1.6}.reparto-form-card{padding:28px}.reparto-choice{border:1px solid var(--line);border-radius:13px;padding:16px;cursor:pointer;display:flex;gap:10px;align-items:center;background:#fff}.reparto-choice:has(input:checked){border-color:var(--orange);box-shadow:0 0 0 3px rgba(201,149,46,.12)}.reparto-choice span{font-weight:800}.reparto-big-button{font-size:17px;padding:14px 22px}.reparto-login-card{margin:8vh auto}.reparto-partner-top{margin-bottom:18px}.reparto-kpis{margin-bottom:20px}.reparto-kpis .stat strong{font-size:22px}.reparto-requirements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.reparto-requirement{border:1px solid var(--line);background:#f8fafc;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px}.reparto-requirement span{font-size:12px;color:var(--muted)}.reparto-requirement small{color:var(--muted)}.text-success{color:#087c39}.reparto-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reparto-service-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}.reparto-service-card p{line-height:1.45}.reparto-assigned{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.reparto-admin-filters{grid-template-columns:minmax(260px,1fr) 180px auto}.app-reparto{background:#ecfeff!important;color:#0e7490!important}
@media(max-width:1100px){.grid-5{grid-template-columns:repeat(3,1fr)}.reparto-requirements{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.grid-5,.reparto-requirements,.reparto-service-grid{grid-template-columns:1fr}.reparto-public-header{position:static;align-items:flex-start;flex-direction:column}.reparto-public-brand img{width:145px}.reparto-public-footer{flex-direction:column}.reparto-hero{padding:28px}.reparto-hero h1{font-size:32px}.reparto-assigned{flex-direction:column}.reparto-admin-filters{grid-template-columns:1fr}}
/* QoriFlow 11.9 · QoriLogística refinements */
.logistics-kpi-grid{margin-bottom:20px}.text-danger{color:var(--red)}.text-success{color:var(--green)}
.qf-master-create{padding:0;overflow:hidden}.qf-master-create>summary{cursor:pointer;list-style:none;padding:20px 22px;font-size:17px;font-weight:800;background:#f8fafc}.qf-master-create>summary::-webkit-details-marker{display:none}.qf-master-create[open]>summary{border-bottom:1px solid var(--line)}.qf-master-create form{padding:20px 22px}.qf-master-create .field{margin-bottom:12px}
@media(max-width:900px){.logistics-kpi-grid,.transport-master-actions{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.logistics-kpi-grid,.transport-master-actions{grid-template-columns:1fr}}

/* QoriFlow 11.10 · QoriReparto compliance + GPS */
.text-danger{color:#b91c2a}.btn:disabled{opacity:.55;cursor:not-allowed}.reparto-company-fields{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.reparto-optional-muted label:after{content:" · opcional";font-weight:500;color:var(--muted);font-size:11px}.reparto-gps-box{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;margin:12px 0;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.reparto-gps-box b,.reparto-gps-box small{display:block}.reparto-gps-box small{color:var(--muted);margin-top:3px}.reparto-live-location .stat strong{font-size:17px}.qf-master-create>summary{cursor:pointer;list-style:none;font-weight:800}.qf-master-create>summary::-webkit-details-marker{display:none}.qf-master-create:not([open]){padding-bottom:16px}.qf-master-create:not([open])>form{display:none}
@media(max-width:760px){.reparto-gps-box{align-items:flex-start;flex-direction:column}}

/* QoriFlow 11.13 · QoriReparto 1.4 */
.reparto-card-compact{padding-top:20px;padding-bottom:20px}.reparto-card-compact .card-header{margin-bottom:12px}.reparto-kpis-compact{gap:12px;margin-bottom:16px}.reparto-kpis-compact .stat{padding:14px 16px}.reparto-empty-compact{padding:18px 20px 10px}.reparto-empty-compact p{margin-top:0}.reparto-compatible-groups{display:grid;gap:8px;margin:0 0 16px}.reparto-compatible-group{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid #cfe6d8;background:#f3fbf6;border-radius:10px}
@media(max-width:1100px){.reparto-kpis-compact.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.reparto-kpis-compact.grid-4{grid-template-columns:1fr}.reparto-compatible-group{align-items:flex-start;flex-direction:column}}
