/* Visual parity layer for the Angular/PrimeNG Farmatrix UI. Loaded after module CSS. */
:root {
  --fm-primary-50:#eef5ff;--fm-primary-100:#d8e6ff;--fm-primary-200:#b3cdff;--fm-primary-300:#6f97dc;
  --fm-primary-400:#00409C;--fm-primary-500:#00398c;--fm-primary-600:#00327c;--fm-primary-700:#002b6b;
  --fm-primary-800:#00245b;--fm-primary-900:#001d4b;--fm-secondary-500:#01a6e7;
  --fm-bg:#FAFAFA;--fm-heading:#223646;--fm-text:#334155;--fm-muted:#6b7280;--fm-border:#e5e7eb;--fm-surface:#fff;
  --accent:var(--fm-primary-500);--accent-hover:var(--fm-primary-600);--bg:var(--fm-bg);--surface:#fff;
  --text:var(--fm-text);--muted:var(--fm-muted);--border:var(--fm-border);--danger:#dc2626;--radius:12px;
}
html,body{background:var(--fm-bg)!important;color:var(--fm-text)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:.85rem}
body{margin:0;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Cabin,Inter,sans-serif!important;color:var(--fm-heading)!important;font-weight:600}h1{font-size:40px;line-height:1.2}h2{font-size:32px;line-height:1.25}h3{line-height:1.3}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}

/* Prime-like controls */
.button,.fm-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:38px;padding:.5rem 1rem;border:1px solid var(--fm-primary-500)!important;border-radius:6px!important;background:var(--fm-primary-500)!important;color:#fff!important;font-weight:500!important;box-shadow:none!important;cursor:pointer;transition:.15s}
.button:hover,.fm-button:hover{background:var(--fm-primary-600)!important;border-color:var(--fm-primary-600)!important}.button:disabled,.fm-button:disabled{opacity:.55;cursor:not-allowed}
.button-secondary,.fm-button.secondary{background:#fff!important;border-color:#d1d5db!important;color:#475569!important}.button-secondary:hover,.fm-button.secondary:hover{background:#f8fafc!important}
.button-danger,.fm-button.danger{background:#fff!important;color:#dc2626!important;border-color:#fecaca!important}.fm-button.success{background:#16a34a!important;border-color:#16a34a!important;color:#fff!important}.button-small,.fm-button.small{min-height:32px;padding:.35rem .75rem;font-size:.8rem}
.fm-button.text{background:transparent!important;border-color:transparent!important;color:var(--fm-primary-500)!important;padding-left:.5rem;padding-right:.5rem}.fm-button.round{width:38px;height:38px;padding:0;border-radius:999px!important}
input,select,textarea{border:1px solid #d1d5db!important;border-radius:6px!important;background:#fff!important;color:#374151!important;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--fm-primary-400)!important;box-shadow:0 0 0 1px var(--fm-primary-400)!important}.qty-input{border-radius:6px!important}

/* Shared menubar shell, mirrors DashboardLayout/AdminLayout */
.fm-trial-message{display:flex;justify-content:center;align-items:center;gap:.6rem;padding:.45rem 1rem;background:#fff7ed;color:#9a3412;border-bottom:1px solid #fed7aa;font-size:.8rem}.fm-trial-message button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:1rem}
.fm-menubar-shell{background:#fff;border-bottom:1px solid #e5e7eb;position:relative;z-index:40}.fm-menubar{max-width:96rem;margin:0 auto;padding:0 1rem;min-height:58px;display:flex;align-items:center;gap:1rem}.fm-menubar-logo{width:6rem;height:auto;display:block;flex:none}.fm-menu{display:flex;align-items:center;gap:.15rem;flex:1;min-width:0}.fm-menu-item{position:relative}.fm-menu-link,.fm-menu-trigger{display:flex;align-items:center;gap:.45rem;padding:.75rem 1rem;border:0;border-radius:8px;background:transparent;color:#334155;white-space:nowrap;cursor:pointer}.fm-menu-link:hover,.fm-menu-trigger:hover,.fm-menu-link.active{background:#f1f5f9}.fm-menu-link.active{color:var(--fm-primary-500);font-weight:600}.fm-menu-dropdown{position:absolute;top:calc(100% + 3px);left:0;min-width:215px;padding:.35rem;background:white;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 12px 28px rgba(15,23,42,.14);display:none}.fm-menu-item.open .fm-menu-dropdown{display:block}.fm-menu-dropdown a{display:block;padding:.7rem .8rem;border-radius:6px;color:#334155}.fm-menu-dropdown a:hover{background:#f8fafc;color:var(--fm-primary-500)}
.fm-menu-end{margin-left:auto;display:flex;align-items:center;gap:1rem}.fm-header-search{display:flex;min-width:320px}.fm-header-search input{min-width:260px;min-height:34px;border-radius:6px 0 0 6px!important}.fm-header-search button{border-radius:0 6px 6px 0!important;min-height:34px;padding:0 .7rem}.fm-cart-link{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .6rem;color:#475569;border-radius:6px}.fm-cart-link:hover{background:#f8fafc}.fm-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid #e5e7eb;background:#f1f5f9;color:#64748b;cursor:pointer;font-size:1rem}.fm-user-wrap{position:relative}.fm-user-menu{position:absolute;right:0;top:calc(100% + 8px);width:240px;padding:.45rem;background:white;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 14px 34px rgba(15,23,42,.16);display:none}.fm-user-wrap.open .fm-user-menu{display:block}.fm-user-card{display:flex;gap:.7rem;align-items:center;padding:.55rem}.fm-user-copy{min-width:0}.fm-user-copy strong,.fm-user-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-user-copy span{font-size:.78rem;color:#64748b}.fm-user-group-title{padding:.55rem .7rem .3rem;color:var(--fm-primary-500);font-weight:700}.fm-user-menu a,.fm-user-menu button{display:flex;width:100%;align-items:center;gap:.6rem;padding:.65rem .7rem;border:0;border-radius:6px;background:transparent;color:#334155;text-align:left;cursor:pointer}.fm-user-menu a:hover,.fm-user-menu button:hover{background:#f8fafc}.fm-user-menu .danger{color:#ef4444}
.fm-page-shell{min-height:calc(100vh - 59px);display:flex}.fm-page-main{flex:1;min-width:0;padding:.5rem 0}.fm-page-inner{padding:.5rem 1rem 2rem;max-width:96rem;margin:0 auto}

/* generic Prime-like cards, tags, tables and paginator */
.table-card,.admin-card{position:relative;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:12px!important;overflow:hidden!important;box-shadow:0 1px 2px rgba(15,23,42,.04)!important}.admin-table-wrap{overflow:auto}.admin-table,.fm-table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}.admin-table th,.admin-table td,.fm-table th,.fm-table td{padding:.85rem 1rem;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}.admin-table th,.fm-table th{background:#fff;color:#334155;font-size:.78rem;font-weight:600}.admin-table tbody tr:hover,.fm-table tbody tr:hover{background:#f8fafc}.admin-table small,.fm-table small{display:block;margin-top:.25rem;color:#64748b}.admin-pagination,.fm-paginator{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1rem;background:#fff;color:#64748b;border-top:1px solid #e5e7eb;font-size:.78rem}.admin-pagination-actions{display:flex;align-items:center;gap:.6rem}.admin-empty{text-align:center!important;padding:2rem!important;color:#64748b!important}
.admin-badge,.fm-tag{display:inline-flex;align-items:center;width:max-content;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:500}.admin-badge.info,.fm-tag.info{background:#e0f2fe;color:#0369a1}.admin-badge.success,.fm-tag.success{background:#dcfce7;color:#15803d}.admin-badge.warn,.fm-tag.warn{background:#fef3c7;color:#a16207}.fm-tag.danger{background:#fee2e2;color:#b91c1c}.fm-tag.secondary{background:#f1f5f9;color:#64748b}.admin-action{background:transparent!important;border:0!important;color:var(--fm-primary-500)!important;font-size:.78rem;cursor:pointer;padding:.25rem .15rem}.admin-action.danger{color:#dc2626!important}
.search-status{color:#64748b!important}.search-status[data-tone="success"]{color:#15803d!important}.search-status[data-tone="error"]{color:#dc2626!important}.notice,.admin-notice{border-radius:6px!important}.admin-notice[data-tone="success"],.notice.visible{background:#ecfdf5!important;color:#047857!important}.admin-notice[data-tone="error"],.notice.error{background:#fef2f2!important;color:#b91c1c!important}

/* Dashboard search home */
body[data-view="search-home"]{overflow:hidden}.fm-search-stage{position:relative;min-height:calc(100vh - 75px);margin:-.5rem -1rem -2rem;display:flex;align-items:center;justify-content:center;overflow:hidden}.fm-search-stage::before{content:"";position:absolute;inset:-1.5rem;background:url('/imagenes/bg-buscar-v2.webp') center/cover no-repeat}.fm-search-center{position:relative;z-index:1;width:min(48rem,calc(100% - 2rem));padding:1rem}.fm-search-logo{display:block;width:min(32rem,100%);margin:0 auto 2rem}.fm-before-start{display:flex;align-items:center;gap:1.5rem;margin:1rem 0;padding:1.5rem;border-radius:16px;background:#163E62;color:#DBEAFE}.fm-before-start h4{color:#fff!important;margin:0 0 .35rem;font-size:1.35rem}.fm-before-start p{margin:0}.fm-search-title{text-align:center;margin:2rem 0}.fm-search-title h1{margin:0 0 .5rem}.fm-search-title p{margin:0;color:#4b5563}.fm-search-form{display:flex;width:100%;align-items:stretch}.fm-search-form select{width:176px;border-radius:6px 0 0 6px!important;min-height:48px;padding:0 .75rem}.fm-search-form input{flex:1;min-width:0;border-radius:0!important;min-height:48px;padding:0 .85rem}.fm-search-form button{border-radius:0 6px 6px 0!important;min-width:95px}.fm-search-steps{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:2.5rem;color:#4b5563;font-size:.9rem}.fm-search-step{background:#fff;padding:.55rem 1.25rem;border-radius:999px;box-shadow:0 1px 5px rgba(15,23,42,.1)}.fm-step-arrow{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--fm-primary-500);color:#fff}

/* Result pages */
.fm-results-page{max-width:96rem;margin:0 auto;padding:0 1rem 2rem}.fm-results-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.5rem}.fm-results-head h5{margin:0;font-size:1.1rem}.fm-found{margin-left:.5rem;color:#9ca3af;font-size:.8rem;font-weight:400}.fm-mode-switch{display:flex;border:1px solid #d1d5db;border-radius:6px;overflow:hidden;background:#fff}.fm-mode-switch a{padding:.55rem .8rem;color:#475569;border-right:1px solid #e5e7eb}.fm-mode-switch a:last-child{border-right:0}.fm-mode-switch a.active{background:var(--fm-primary-500);color:#fff}.fm-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}.product-group,.fm-product-card{display:flex;flex-direction:column;height:100%;background:#fff!important;padding:1.25rem!important;border:1px solid #d1d5db!important;border-radius:6px!important;box-shadow:0 12px 28px rgba(59,130,246,.05)!important}.product-group-head{min-height:auto!important;padding:0!important;border:0!important}.product-group-head img{width:100%!important;height:160px!important;margin:1.5rem auto!important;object-fit:contain!important}.product-group-head h3{font-size:1.1rem!important;font-weight:800!important;text-transform:uppercase}.product-group-foot{margin-top:auto!important;padding:1rem 0 0!important;border:0!important;background:transparent!important}.product-listing,.listing-row{background:#fff;border-radius:6px}.source-pill{background:#e0f2fe!important;color:#0369a1!important}.product-drawer,.fm-drawer{position:fixed;right:0;top:0;height:100vh;width:min(30rem,100%);background:#fff;z-index:100;padding:1.25rem;box-shadow:-10px 0 36px rgba(15,23,42,.18);overflow:auto}.fm-drawer-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:99}
.drugstore-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1.5rem!important}.drugstore-column{border:1px solid #d1d5db!important;border-radius:12px!important;background:#fff!important;box-shadow:0 12px 28px rgba(59,130,246,.05)!important}.drugstore-column-head{min-height:auto!important;padding:.75rem 1rem!important}.listing-stack{max-height:563px!important;padding:1rem!important;gap:.5rem;background:#fafafa}.listing-row{padding:1rem!important;border-bottom:1px solid #e5e7eb!important}.drugstore-column-foot{background:#fff!important;padding:1rem!important}.fm-pd-layout{display:flex;justify-content:center;gap:1.5rem;max-width:120rem;margin:0 auto}.fm-pd-grid{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;max-width:96rem}.fm-comparator-aside{width:28rem;min-width:24rem}.fm-comparator-sticky{position:sticky;top:1.5rem}

/* Provider cards */
.providers-page{width:auto!important;max-width:96rem!important;margin:0 auto!important;padding:0 1rem 2rem!important}.providers-head{display:block!important;margin:0 0 1.5rem!important}.providers-head h1{font-size:1.25rem!important;letter-spacing:0!important;margin:0!important}.providers-head p:not(.search-status){display:none}.provider-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1.5rem!important}.provider-card{display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:0!important;min-height:65px!important;padding:1.5rem!important;border:1px solid #e5e7eb!important;border-radius:12px!important;background:#fff!important;box-shadow:0 1px 2px rgba(15,23,42,.05)!important}.provider-card.connected{border-color:#e5e7eb!important;box-shadow:0 4px 10px rgba(15,23,42,.08)!important}.provider-card-top{display:block!important}.provider-logo-wrap{display:block!important;width:auto!important;height:auto!important;padding:0!important;border:0!important;background:transparent!important}.provider-logo-wrap img{width:8rem!important;max-width:8rem!important;height:auto!important;max-height:none!important;margin-bottom:1rem!important}.provider-state{position:absolute!important;top:1rem!important;right:1rem!important;width:24px!important;height:24px!important;padding:0!important;border-radius:50%!important;background:#22c55e!important;color:#fff!important;font-size:0!important;opacity:0;transform:scale(.75)}.provider-state::before{content:"✓"!important;width:auto!important;height:auto!important;background:transparent!important;font-size:.8rem}.provider-card.connected .provider-state{opacity:1;transform:scale(1);background:#22c55e!important;color:#fff!important}.provider-card h2{font-family:Poppins,Inter,sans-serif!important;font-size:1.05rem!important;margin:0 0 .5rem!important}.provider-card p{color:#6b7280!important;font-size:.82rem!important;line-height:1.5!important;margin:0 0 1.5rem!important}.provider-card-actions{justify-content:flex-start!important;padding:0!important}.provider-dialog{border-radius:8px!important}.provider-dialog-shell{border-radius:8px!important}.provider-dialog::backdrop,.admin-dialog::backdrop{background:rgba(15,23,42,.45)!important}

/* Cart */
.cart-page{width:auto!important;max-width:96rem!important;margin:0 auto!important;padding:0 1rem 2rem!important}.cart-head{display:block!important;margin:0 0 1.5rem!important}.cart-head h1{font-size:1.25rem!important;letter-spacing:0!important;margin:0!important}.cart-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1.5rem!important}.cart-group{border:1px solid #d1d5db!important;border-radius:12px!important;background:#fff!important;box-shadow:0 12px 28px rgba(59,130,246,.05)!important}.cart-group-head{padding:.75rem 1rem!important;border-bottom:1px solid #d1d5db!important}.cart-items{padding:1rem!important;gap:.5rem!important;background:#fafafa!important;max-height:563px!important}.cart-item{background:#fff!important;border:1px solid #d1d5db!important;border-radius:6px!important;padding:1rem!important;box-shadow:0 12px 28px rgba(59,130,246,.05)!important}.cart-group-foot{padding:1rem!important;background:#fff!important;border-top:1px solid #d1d5db!important}.cart-dialog{border-radius:8px!important}

/* Account */
.account-page{width:100%!important;max-width:32rem!important;margin:0 auto!important;padding:0 1rem 2rem!important}.account-head{margin:0 0 1.5rem!important}.account-head h1{font-size:1.25rem!important;letter-spacing:0!important}.account-layout{display:block!important}.account-card{border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}.account-card h2{font-size:.85rem!important;font-family:Inter,sans-serif!important}.org-card{border:.5px solid #e5e7eb;border-radius:10px;padding:.875rem 1rem;background:#fff;margin-bottom:1rem}.org-card .org-name{font-size:16px;font-weight:600;color:#111827;margin:0}.account-facts{display:none!important}.password-panel{border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}

/* Subscription / onboarding */
.onboarding-page,.subscription-page{background:#fafafa!important}.onboarding-shell{max-width:64rem!important;margin:0 auto!important;padding:3.5rem 1.5rem!important}.onboarding-brand img{width:11rem}.onboarding-grid{display:grid!important;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr)!important;gap:2rem!important;align-items:start}.onboarding-plan,.onboarding-choice{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}.onboarding-choice-card{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:16px!important;padding:1.5rem!important;box-shadow:0 1px 2px rgba(15,23,42,.05)!important}.onboarding-choice-card.selected{border-color:#2563eb!important;box-shadow:0 0 0 2px #2563eb,0 4px 12px rgba(37,99,235,.12)!important}.subscription-layout{max-width:96rem!important;margin:0 auto!important;padding:1rem!important}.subscription-card,.payment-card{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:16px!important;box-shadow:0 1px 2px rgba(15,23,42,.05)!important}

/* Payment result */
.payment-result-page{min-height:calc(100vh - 80px)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:3rem 1rem!important;background:#f9fafb!important}.payment-result-card{width:100%!important;max-width:24rem!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:16px!important;padding:2rem!important;text-align:center!important;box-shadow:none!important}

/* Bulk */
.bulk-page{max-width:96rem!important;width:auto!important;margin:0 auto!important;padding:0 1rem 2rem!important}.bulk-head h1{font-size:1.25rem!important;letter-spacing:0!important}.bulk-workspace,.bulk-panel{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:12px!important;box-shadow:none!important}.bulk-table-wrap{overflow:auto}.bulk-table{min-width:950px}

/* History */
.history-page,.history-detail-page{max-width:96rem!important;width:auto!important;margin:0 auto!important;padding:0 1rem 2rem!important}.history-head h1,.history-detail-head h1{font-size:1.25rem!important;letter-spacing:0!important}.history-card,.history-detail-card{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:12px!important;box-shadow:none!important;overflow:hidden}.history-table,.history-detail-table{width:100%;border-collapse:collapse}.history-table th,.history-table td,.history-detail-table th,.history-detail-table td{padding:.85rem 1rem;border-bottom:1px solid #e5e7eb;text-align:left}.history-table th,.history-detail-table th{font-size:.78rem;font-weight:600}.history-table tr:hover,.history-detail-table tr:hover{background:#f8fafc}

/* Admin */
.admin-body{background:#fafafa!important}.admin-header{display:none!important}.admin-main{max-width:96rem!important;margin:0 auto!important;padding:0 1rem 2rem!important}.admin-head{display:block!important;margin:0 0 1rem!important}.admin-head .eyebrow,.admin-head p:not(.admin-status){display:none!important}.admin-head h1{font-size:1.25rem!important;letter-spacing:0!important;margin:0!important}.admin-toolbar{margin-bottom:1.5rem!important}.admin-search{display:flex;max-width:500px}.admin-search::before{content:"⌕";display:grid;place-items:center;width:38px;border:1px solid #d1d5db;border-right:0;border-radius:6px 0 0 6px;background:#fff;color:#64748b}.admin-search input{flex:1;min-width:0;border-radius:0!important;border-left:0!important}.admin-search .button{border-radius:0 6px 6px 0!important}.admin-search [data-clear-search]{border-radius:0!important;border-left:0!important}.admin-dialog{width:min(31rem,calc(100% - 2rem))!important;border:0!important;border-radius:8px!important;padding:0!important}.admin-dialog-shell{padding:1.5rem!important;background:#fff!important;border-radius:8px!important}.admin-dialog-head h2{font-size:1.25rem!important}.admin-dialog-close{border:0!important;background:transparent!important;font-size:1.4rem!important}

/* Responsive */
@media(max-width:1100px){.fm-header-search{display:none}.fm-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fm-pd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-comparator-aside{display:none}.provider-grid,.cart-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){h1{font-size:30px}.fm-menubar{flex-wrap:wrap;padding:.5rem 1rem}.fm-menu{order:3;width:100%;overflow:auto}.fm-menu-link,.fm-menu-trigger{padding:.55rem .7rem}.fm-page-inner{padding:.5rem .5rem 1.5rem}.fm-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-pd-grid,.provider-grid,.cart-grid{grid-template-columns:1fr!important}.fm-search-form{display:grid;grid-template-columns:1fr}.fm-search-form select,.fm-search-form input,.fm-search-form button{width:100%;border-radius:6px!important}.fm-before-start{flex-direction:column;align-items:flex-start}.onboarding-grid{grid-template-columns:1fr!important}.admin-pagination,.fm-paginator{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.fm-product-grid{grid-template-columns:1fr}.fm-menu-end{gap:.4rem}.fm-cart-link{font-size:.75rem}.fm-user-menu{position:fixed;left:1rem;right:1rem;top:70px;width:auto}.fm-search-stage{min-height:calc(100vh - 110px)}}
