@font-face{font-family:Montserrat;src:url('/fonts/montserrat-latin-wght-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
[hidden]{display:none!important}
:root{--navy:#153a5b;--blue:#2f7fc4;--green:#6e914c;--gold:#edae45;--orange:#ef7d35;--purple:#65358f;--red:#cf4055;--ink:#172335;--muted:#647487;--line:#d7e2ea;--pale:#f4f8fb;--white:#fff;--shadow:0 18px 50px rgba(21,58,91,.12);font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:#edf3f7;color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 0 0,rgba(47,127,196,.13),transparent 32rem),#edf3f7}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(47,127,196,.35);outline-offset:2px}a{color:inherit}.eyebrow{display:block;color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,460px);background:var(--white);border:1px solid rgba(255,255,255,.7);border-radius:28px;box-shadow:var(--shadow);padding:34px}.login-logo{display:block;width:210px;max-width:70%;height:auto;margin:0 auto 28px}.login-card h1{margin:7px 0 8px;color:var(--navy);font-size:clamp(2rem,7vw,2.7rem)}.login-card>p{color:var(--muted);line-height:1.55;margin:0 0 22px}.login-mode{display:grid;grid-template-columns:1fr 1fr;background:var(--pale);border-radius:14px;padding:4px;margin-bottom:18px}.login-mode button{border:0;background:transparent;color:var(--muted);font-weight:700;border-radius:11px;padding:10px}.login-mode button.active{background:var(--white);color:var(--navy);box-shadow:0 4px 14px rgba(21,58,91,.12)}label{display:grid;gap:7px;color:var(--navy);font-size:.78rem;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);padding:11px 12px;transition:.18s border-color,.18s box-shadow}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(47,127,196,.1);outline:0}textarea{resize:vertical}.login-card form{display:grid;gap:14px}.login-card small{color:var(--muted);font-size:.72rem;line-height:1.45}.button{border:0;border-radius:12px;padding:10px 14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.button.primary{background:var(--navy);color:var(--white)}.button.secondary{background:#e8f1f7;color:var(--navy)}.button.ghost{background:transparent;color:var(--navy);border:1px solid var(--line)}.button.full{width:100%;min-height:46px}.back-link{display:block;text-align:center;margin-top:20px;color:var(--blue);font-size:.8rem;font-weight:700;text-decoration:none}.form-message{min-height:1.25em;margin:0;color:var(--green);font-size:.78rem;line-height:1.45}.form-message.error{color:var(--red)}.portal-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;min-height:76px;padding:12px clamp(18px,4vw,48px);background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;margin-right:auto}.brand img{width:150px;height:auto}.brand span{display:grid;border-left:1px solid var(--line);padding-left:14px}.brand strong{color:var(--navy);font-size:.82rem}.brand small{color:var(--muted);font-size:.68rem}.account-chip{display:flex;align-items:center;gap:10px}.account-chip>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:800;font-size:.75rem}.account-chip div{display:grid}.account-chip strong{font-size:.8rem;color:var(--navy)}.account-chip small{font-size:.68rem;color:var(--muted)}.portal-nav{position:sticky;top:76px;z-index:19;display:flex;gap:6px;overflow:auto;padding:9px clamp(18px,4vw,48px);background:#153a5b}.portal-nav button{flex:0 0 auto;border:0;border-radius:10px;background:transparent;color:#c8d8e5;padding:9px 13px;font-size:.78rem;font-weight:700}.portal-nav button.active{background:#fff;color:var(--navy)}.portal-main{width:min(1460px,100%);margin:0 auto;padding:clamp(24px,4vw,52px)}.portal-page{display:none}.portal-page.active{display:block}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.page-heading h1{margin:6px 0 5px;color:var(--navy);font-size:clamp(1.8rem,4vw,2.65rem)}.page-heading p{margin:0;color:var(--muted);line-height:1.55;max-width:760px}.month-badge,.count-chip{display:inline-flex;border-radius:999px;background:#e5eff6;color:var(--navy);padding:8px 12px;font-size:.76rem;font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric-card{display:grid;gap:8px;min-height:132px;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 8px 28px rgba(21,58,91,.06)}.metric-card.hero{background:linear-gradient(135deg,var(--navy),#245b83);color:#fff;border:0}.metric-card span{color:var(--muted);font-size:.76rem;font-weight:700}.metric-card.hero span,.metric-card.hero small{color:#d7e8f4}.metric-card strong{font-size:clamp(1.35rem,3vw,2rem);color:var(--navy)}.metric-card.hero strong{color:#fff}.metric-card small{color:var(--muted);line-height:1.4}.panel{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 8px 28px rgba(21,58,91,.05);margin-bottom:22px}.section-heading,.progress-copy{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading h2,.progress-copy h2{margin:4px 0 0;color:var(--navy);font-size:1.25rem}.progress-copy>strong{font-size:.82rem;color:var(--navy)}.progress-track{height:14px;background:#e8eff4;border-radius:999px;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--orange),var(--red),var(--purple),var(--blue),var(--green));border-radius:inherit;transition:width .4s ease}.tier-scale{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:12px}.tier-scale span{border-top:3px solid var(--line);padding-top:7px;color:var(--muted);font-size:.67rem;font-weight:700}.tier-scale span.active{border-color:var(--green);color:var(--green)}.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.quote-list,.doctor-list,.payment-list{display:grid;gap:12px}.quote-card{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(105px,.55fr)) auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.quote-card h3{margin:0 0 5px;color:var(--navy);font-size:.98rem}.quote-card p,.quote-card small{margin:0;color:var(--muted);font-size:.74rem;line-height:1.45}.quote-stat{display:grid;gap:4px}.quote-stat span{font-size:.66rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.quote-stat strong{font-size:.84rem;color:var(--navy)}.status-badge{display:inline-flex;width:max-content;border-radius:999px;padding:6px 9px;background:#eef3f6;color:var(--muted);font-size:.66rem;font-weight:800}.status-badge.paid-delivered{background:#e7f3e1;color:#4e7436}.status-badge.paid-undelivered{background:#eee8f6;color:#65358f}.status-badge.partial{background:#e8f1f7;color:#2f7fc4}.empty-state{padding:34px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}.two-column-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full,.consent-options{grid-column:1/-1}.doctor-card{display:grid;grid-template-columns:1fr auto;gap:12px;border:1px solid var(--line);border-radius:15px;padding:15px}.doctor-card h3{margin:0 0 5px;color:var(--navy);font-size:.92rem}.doctor-card p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.5}.doctor-card span{font-size:.65rem;font-weight:800;color:var(--blue);text-transform:uppercase}.consent-options{border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.consent-options legend{color:var(--navy);font-size:.78rem;font-weight:800;padding:0 7px}.consent-options label{display:flex;align-items:center;gap:8px;background:var(--pale);border-radius:10px;padding:10px}.consent-options input{width:auto}.button-row{display:flex;gap:10px;flex-wrap:wrap}.catalog-search{max-width:480px;margin-bottom:16px}.catalog-product{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;min-width:270px}.catalog-product-image{display:grid;place-items:center;width:64px;height:64px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#f7fafc;color:var(--blue);font-size:.65rem;font-weight:850}.catalog-product-image img{display:block;width:58px;height:58px;object-fit:contain;mix-blend-mode:multiply}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px 14px;font-size:.77rem}th{position:sticky;top:0;background:#eaf2f7;color:var(--navy);font-size:.69rem;text-transform:uppercase;letter-spacing:.05em}tbody tr:last-child td{border-bottom:0}td strong{display:block;color:var(--navy)}td small{display:block;color:var(--muted);margin-top:4px}.month-selector{min-width:220px}.payment-card{display:grid;grid-template-columns:1fr repeat(3,minmax(120px,.45fr));gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:14px}.payment-card strong{color:var(--navy)}.payment-card span,.payment-card small{color:var(--muted);font-size:.72rem}.fine-print{color:var(--muted);font-size:.72rem;line-height:1.5;margin:14px 0 0}#toast{position:fixed;right:22px;bottom:22px;z-index:50;max-width:min(420px,calc(100vw - 44px));padding:13px 16px;border-radius:12px;background:var(--navy);color:#fff;box-shadow:var(--shadow);font-size:.78rem;font-weight:700;opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s}#toast.visible{opacity:1;transform:none}
.quote-downloads{display:grid;gap:7px;min-width:170px}.quote-downloads .button{white-space:nowrap;font-size:.69rem}.quote-card{position:relative;overflow:hidden;box-shadow:0 8px 24px rgba(21,58,91,.06);transition:border-color .18s,background .18s,box-shadow .18s}.quote-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#c8d8e5}.quote-card.sold{border-color:#82b96a;background:linear-gradient(135deg,#eff9eb,#fff);box-shadow:0 10px 26px rgba(78,116,54,.14)}.quote-card.sold::before{background:var(--green)}.quote-card.sold .status-badge{background:#dcefd4;color:#3f692c}.quote-card p strong{color:var(--navy)}.quote-preview-dialog{width:min(940px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;border:0;border-radius:22px;box-shadow:0 28px 80px rgba(21,58,91,.3)}.quote-preview-dialog::backdrop{background:rgba(17,35,52,.58);backdrop-filter:blur(4px)}.quote-preview-shell{padding:24px;background:#fff}.quote-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.quote-preview-header h2{margin:5px 0 0;color:var(--navy)}.quote-preview-close{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);font-size:1.45rem}.quote-preview-summary{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(130px,.75fr));gap:10px;margin-bottom:14px}.quote-preview-summary>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f7fafc}.quote-preview-summary span,.quote-preview-summary strong{display:block}.quote-preview-summary span{margin-bottom:4px;color:var(--muted);font-size:.66rem;font-weight:750}.quote-preview-summary strong{color:var(--navy);font-size:.82rem}.quote-preview-table-wrap{max-height:46vh;overflow:auto;border:1px solid var(--line);border-radius:14px}.quote-preview-table{min-width:660px}.quote-preview-table th{background:var(--navy);color:#fff}.quote-preview-table th:not(:first-child),.quote-preview-table td:not(:first-child){text-align:right}.quote-preview-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px}.quote-preview-totals>div{display:grid;gap:4px;padding:11px 12px;border-radius:11px;background:#f2f6f9}.quote-preview-totals span{color:var(--muted);font-size:.66rem}.quote-preview-totals strong{color:var(--navy);font-size:.82rem}.quote-preview-totals .grand{background:var(--navy)}.quote-preview-totals .grand span,.quote-preview-totals .grand strong{color:#fff}.quote-preview-actions{display:flex;justify-content:flex-end;margin-top:18px}
@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(2,1fr)}.quote-card{grid-template-columns:1fr 1fr}.quote-card>div:first-child{grid-column:1/-1}.two-column-layout{grid-template-columns:1fr}.account-chip div{display:none}}
@media(max-width:700px){.topbar{min-height:66px;padding:10px 14px}.brand img{width:120px}.brand span{display:none}.topbar>.button{padding:9px 10px;font-size:.7rem}.portal-nav{top:66px;padding:8px 14px}.portal-main{padding:24px 14px}.page-heading{align-items:flex-start;flex-direction:column}.metric-grid{grid-template-columns:1fr}.filters,.form-grid{grid-template-columns:1fr}.form-grid .full,.consent-options{grid-column:auto}.consent-options{grid-template-columns:1fr}.quote-card,.payment-card{grid-template-columns:1fr}.quote-downloads{width:100%}.tier-scale{grid-template-columns:repeat(3,1fr)}.login-card{padding:27px 22px;border-radius:22px}.quote-preview-shell{padding:18px}.quote-preview-summary,.quote-preview-totals{grid-template-columns:1fr 1fr}}

/* La escala comparte el mismo eje porcentual que la barra: 50% queda justo a la mitad. */
.tier-scale{position:relative;display:block;height:49px;margin-top:12px;border-top:3px solid var(--line)}
.tier-scale span{position:absolute;top:-3px;left:var(--tier-position);display:grid;width:max-content;max-width:104px;padding-top:9px;color:var(--muted);font-size:.62rem;font-weight:700;line-height:1.2;text-align:center;transform:translateX(-50%)}
.tier-scale span::before{content:"";position:absolute;top:-3px;left:50%;width:3px;height:8px;border-radius:3px;background:var(--line);transform:translateX(-50%)}
.tier-scale span b{font-size:.68rem}.tier-scale span small{margin-top:2px;color:inherit;font-size:.56rem;white-space:nowrap}
.tier-scale span.active{color:var(--green)}.tier-scale span.active::before{background:var(--green)}
.tier-scale span.edge-start{transform:none;text-align:left}.tier-scale span.edge-start::before{left:0;transform:none}
.tier-scale span.edge-end{transform:translateX(-100%);text-align:right}.tier-scale span.edge-end::before{left:100%;transform:translateX(-100%)}
.payment-card{grid-template-columns:minmax(220px,1fr) repeat(4,minmax(125px,.52fr))}.payment-card>div{display:grid;gap:5px;min-width:0}.payment-card>div strong,.payment-card>div span,.payment-card>div small{display:block}.payment-card>div strong{overflow-wrap:anywhere}.payment-card>div:first-child small{line-height:1.4}
@media(max-width:1200px){.payment-card{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-card>div:first-child{grid-column:1/-1}}
@media(max-width:700px){.tier-scale{height:37px}.tier-scale span{max-width:32px;font-size:.5rem}.tier-scale span b{font-size:.55rem}.tier-scale span small{display:none}.payment-card{grid-template-columns:1fr}.payment-card>div:first-child{grid-column:auto}}
.quote-stat.commissionable{align-self:stretch;padding:10px 12px;border:1px solid #b9d7aa;border-radius:12px;background:#f0f8ec}.quote-stat.commissionable small{max-width:230px;color:#567047;font-size:.58rem;line-height:1.35}
.brand{border:0;background:transparent;padding:0;text-align:left}.portal-version{flex:0 0 auto;border-radius:999px;background:#e5eff6;color:var(--navy);padding:7px 10px;font-size:.68rem;font-weight:800;white-space:nowrap}@media(max-width:700px){.portal-version{padding:6px 8px;font-size:.6rem}}
.doctor-card{align-items:start}.doctor-card-actions{display:grid;justify-items:end;gap:10px;max-width:220px}.doctor-card-actions small{color:var(--muted);font-size:.72rem;line-height:1.45;text-align:right}.doctor-card-actions .button{font-size:.7rem}@media(max-width:700px){.doctor-card{grid-template-columns:1fr}.doctor-card-actions{justify-items:start;max-width:none}.doctor-card-actions small{text-align:left}}
.language-switch{display:inline-grid;grid-template-columns:repeat(2,1fr);flex:0 0 auto;padding:3px;border:1px solid var(--line);border-radius:999px;background:#edf3f7}.language-switch button{min-width:34px;min-height:30px;padding:5px 8px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.67rem;font-weight:850}.language-switch button.active{background:var(--navy);color:#fff;box-shadow:0 3px 9px rgba(21,58,91,.18)}.login-language-row{display:flex;justify-content:flex-end;margin-bottom:4px}.portal-nav{scrollbar-width:thin;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.portal-nav button{min-height:40px;scroll-snap-align:start;white-space:nowrap}.portal-page[data-page="recursos"]{min-height:52vh}
.resource-folder-root{padding:8px 0}.resource-folder-card{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;min-height:108px;padding:16px;border:1px solid #cbdce8;border-radius:19px;background:linear-gradient(135deg,#fff 0%,#edf5fa 100%);color:var(--navy);text-align:left;box-shadow:0 10px 28px rgba(21,58,91,.08);transition:transform .18s,border-color .18s,box-shadow .18s}.resource-folder-card:hover{transform:translateY(-2px);border-color:var(--blue);box-shadow:0 15px 34px rgba(21,58,91,.13)}.resource-folder-card>span:nth-child(2){display:grid;gap:4px}.resource-folder-card small{color:var(--blue);font-size:.62rem;font-style:normal;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.resource-folder-card strong{font-size:clamp(1rem,2vw,1.35rem);line-height:1.2}.resource-folder-card>b{font-size:1.45rem}.resource-folder-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(145deg,#f8c35e,#e99c29);box-shadow:inset 0 1px rgba(255,255,255,.5),0 8px 16px rgba(237,174,69,.2)}.resource-folder-icon svg{width:42px;fill:#fff4d9;stroke:#9a6617;stroke-width:2;stroke-linejoin:round}.resource-folder-toolbar{display:grid;grid-template-columns:auto minmax(240px,1fr);align-items:end;gap:16px;margin-bottom:20px}.resource-search{display:grid;gap:6px;color:var(--navy);font-size:.78rem;font-weight:800}.resource-search input{min-height:48px;padding:0 16px;border:1px solid var(--line);border-radius:16px;outline:0;background:#fff;color:var(--navy);font:inherit;box-shadow:0 5px 16px rgba(21,58,91,.05);transition:border-color .18s,box-shadow .18s}.resource-search input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(47,131,199,.13),0 7px 18px rgba(21,58,91,.07)}.technical-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.technical-resource-card{display:grid;grid-template-rows:190px minmax(120px,1fr) auto;overflow:hidden;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 10px 28px rgba(21,58,91,.07);transition:transform .18s,border-color .18s,box-shadow .18s}.technical-resource-card:hover{transform:translateY(-2px);border-color:#a8c8df;box-shadow:0 15px 34px rgba(21,58,91,.12)}.technical-resource-image{display:flex;align-items:center;justify-content:center;gap:8px;min-height:190px;overflow:hidden;padding:10px;background:radial-gradient(circle at 50% 35%,#fff 0%,#eaf3f8 72%)}.technical-resource-image img{display:block;width:auto;max-width:74%;height:170px;object-fit:contain;filter:drop-shadow(0 9px 10px rgba(21,58,91,.15))}.technical-resource-image.multiple img{width:min(78px,42%)}.technical-resource-image.image-count-3{gap:5px;padding-inline:12px}.technical-resource-image.image-count-3 img{width:min(72px,30%)}.technical-resource-image .blend-product-cutout{mix-blend-mode:normal}.technical-resource-copy{display:grid;align-content:start;gap:8px;padding:17px 18px 13px}.technical-resource-copy span{color:var(--blue);font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.technical-resource-copy h3{margin:0;color:var(--navy);font-size:1rem;line-height:1.4}.technical-resource-copy p{margin:0;color:var(--muted);font-size:.75rem}.resource-download{justify-content:space-between;min-height:46px;margin:0 16px 16px;background:var(--navy);color:#fff}.resource-download b{font-size:1.15rem}.resource-empty{grid-column:1/-1;display:grid;gap:6px;padding:40px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);text-align:center}.resource-empty strong{color:var(--navy)}
@media(max-width:950px){.technical-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.resource-folder-card{grid-template-columns:64px minmax(0,1fr);padding:18px}.resource-folder-card>b{display:none}.resource-folder-icon{width:60px;height:60px;border-radius:16px}.resource-folder-icon svg{width:38px}.resource-folder-toolbar{grid-template-columns:1fr}.technical-resource-grid{grid-template-columns:1fr}}
@media(max-width:700px){body{overflow-x:hidden}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:auto auto;gap:6px 8px;min-height:84px;padding:9px 12px}.brand{grid-column:1;grid-row:1;margin-right:0;min-width:0}.brand img{width:min(112px,100%)}.account-chip{display:none}.topbar .language-switch{grid-column:2;grid-row:1}.topbar #logout-button{grid-column:3;grid-row:1;min-height:36px;padding:7px 9px;white-space:nowrap}.portal-version{grid-column:1;grid-row:2;justify-self:start;padding:4px 7px;font-size:.56rem}.portal-nav{top:84px;gap:5px;padding:7px 12px}.portal-nav button{min-height:42px;padding:9px 12px}.portal-main{width:100%;padding:22px 12px}.panel{padding:17px;border-radius:18px}.page-heading{gap:14px;margin-bottom:20px}.page-heading h1{font-size:clamp(1.65rem,9vw,2.15rem)}.page-heading .button-row{display:grid;grid-template-columns:1fr;width:100%}.button-row{width:100%}.button-row .button{flex:1 1 150px;min-height:42px}.filters{gap:11px}.quote-card{padding:14px}.quote-downloads{min-width:0}.quote-downloads .button{min-height:42px}.catalog-product{min-width:220px}.table-wrap{max-width:100%}.quote-preview-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.quote-preview-table-wrap{max-height:42dvh}}
@media(max-width:430px){.topbar{grid-template-columns:minmax(94px,1fr) auto auto}.topbar #logout-button{max-width:84px;font-size:.58rem;line-height:1.1}.language-switch button{min-width:30px;padding-inline:6px}.quote-preview-summary,.quote-preview-totals{grid-template-columns:1fr}.login-shell{padding:12px}.login-card{padding:22px 17px}.login-logo{width:185px;margin-bottom:22px}.metric-card{min-height:116px;padding:17px}.tier-scale span{max-width:28px}}

/* Escala tipográfica uniforme del portal. */
:root{--type-xs:.69rem;--type-sm:.78rem;--type-md:.88rem;--type-lg:1rem;--type-h2:1.32rem;--type-section:clamp(1.55rem,2.1vw,2rem);--type-page:clamp(2rem,3.5vw,2.65rem)}body{font-size:var(--type-md);line-height:1.5}.eyebrow,.quote-stat span,.quote-preview-summary span,.quote-preview-totals span{font-size:var(--type-xs)}label,.portal-nav button,.button,.account-chip strong,.progress-copy>strong,.month-badge,.count-chip{font-size:var(--type-sm)}input,select,textarea{font-size:var(--type-md);line-height:1.35}.page-heading h1{font-size:var(--type-page);line-height:1.08}.section-heading h2,.progress-copy h2{font-size:var(--type-h2);line-height:1.2}.page-heading p,.doctor-card p,.quote-card p,.quote-card small,.payment-card span,.payment-card small,.fine-print,.form-message{font-size:var(--type-sm)}.brand strong,.metric-card span,.quote-stat strong,.quote-preview-summary strong,.quote-preview-totals strong,td{font-size:var(--type-md)}.brand small,.account-chip small,.login-card small,td small{font-size:var(--type-xs)}.quote-card h3,.doctor-card h3{font-size:var(--type-lg)}.quote-downloads .button,.doctor-card-actions .button{font-size:var(--type-sm)}.resource-folder-card strong{font-size:var(--type-section);line-height:1.15}.technical-resource-copy h3,.video-resource-copy strong{font-size:var(--type-lg)}.technical-resource-copy p,.video-resource-copy small,.video-resource-copy b,.video-resource-copy em{font-size:var(--type-xs)}
.catalog-download-actions{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));width:min(100%,720px)}.catalog-download{min-height:48px;padding:11px 15px;border:1px solid transparent;box-shadow:0 7px 18px rgba(21,58,91,.1);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.catalog-download:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(21,58,91,.16)}.catalog-download.doctor{border-color:#a7cbe7;background:#e7f2fa;color:#164e78}.catalog-download.patient{border-color:#b8d8aa;background:#edf7e9;color:#3d6a2c}.catalog-download.combined{border-color:#ceb9e2;background:#f3edf8;color:#5c3282}
@media(max-width:1050px){.catalog-download-actions{grid-template-columns:1fr;width:100%}}@media(max-width:700px){.catalog-download{width:100%;min-height:46px}.page-heading p{font-size:.8rem}}
.activation-panel{display:grid;gap:10px;padding:14px;border:1px solid #c9ddea;border-radius:14px;background:#f5f9fc}.activation-panel strong{color:var(--navy);font-size:.84rem}.activation-panel p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.5}

/* Carpetas de recursos y videoteca del representante. */
.resource-folder-root{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.resource-folder-card{ text-decoration:none }.resource-folder-card.video-folder .resource-folder-icon{background:linear-gradient(145deg,#418dcc,#225f96);box-shadow:inset 0 1px rgba(255,255,255,.45),0 10px 20px rgba(47,127,196,.22)}.resource-folder-card.video-folder .resource-folder-icon svg{fill:#dceefb;stroke:#123e62}.resource-folder-card.video-folder .resource-folder-icon .play{fill:#fff;stroke:#fff}.resource-folder-card.patient-briefs-folder .resource-folder-icon{background:linear-gradient(145deg,#8aaa69,#5f8550);box-shadow:inset 0 1px rgba(255,255,255,.45),0 10px 20px rgba(94,132,78,.22)}.resource-folder-card.patient-briefs-folder .resource-folder-icon svg{fill:#edf6e9;stroke:#3f6735}.resource-back-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 18px!important;border:1px solid var(--navy)!important;border-radius:14px!important;background:var(--navy)!important;color:#fff!important;font-weight:850!important;box-shadow:0 8px 20px rgba(21,58,91,.2);transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.resource-back-button:hover{background:#0f304c!important;transform:translateY(-1px);box-shadow:0 11px 25px rgba(21,58,91,.26)}
.resource-folder-card.protocol-folder .resource-folder-icon{background:linear-gradient(145deg,#8755ad,#5d2c84);box-shadow:inset 0 1px rgba(255,255,255,.45),0 10px 20px rgba(107,57,151,.22)}.resource-folder-card.protocol-folder .resource-folder-icon svg{fill:#f2e8fa;stroke:#452163}
.resource-folder-illustration{display:block;width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(21,58,91,.14))}.representative-magazine-card{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(24px,4vw,52px);padding:clamp(22px,3vw,38px);border:1px solid #c9dce8;border-top:5px solid var(--blue);border-radius:28px;background:linear-gradient(140deg,#fff,#eef6fa);box-shadow:0 18px 48px rgba(21,58,91,.11)}.representative-magazine-cover{overflow:hidden;border-radius:22px;box-shadow:0 16px 34px rgba(21,58,91,.18)}.representative-magazine-cover img{display:block;width:100%;height:auto}.representative-magazine-copy h2{margin:6px 0 14px;color:var(--navy);font-size:clamp(2rem,4vw,3rem)}.representative-magazine-copy p{max-width:620px;margin:0 0 22px;color:var(--muted);line-height:1.65}.representative-magazine-actions{display:flex;flex-wrap:wrap;gap:12px}.representative-magazine-actions .button{min-height:48px;border-radius:15px;text-decoration:none}
@media(max-width:680px){.resource-folder-illustration{width:64px;height:64px;transform:scale(.78);transform-origin:left center}.representative-magazine-card{grid-template-columns:1fr;border-radius:22px}.representative-magazine-actions{display:grid}.representative-magazine-actions .button{width:100%}}
.video-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.video-resource-card{display:grid;grid-template-rows:158px minmax(142px,1fr);overflow:hidden;padding:0;border:1px solid var(--line);border-radius:19px;background:#fff;color:var(--navy);text-align:left;box-shadow:0 10px 28px rgba(21,58,91,.07);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.video-resource-card:hover{transform:translateY(-2px);border-color:#8bbadb;box-shadow:0 15px 34px rgba(21,58,91,.12)}.video-resource-thumb{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#e8f2f8,#cadfea)}.video-resource-thumb img{width:100%;height:100%;object-fit:cover}.video-resource-thumb i{position:absolute;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(21,58,91,.92);color:#fff;font-size:1.1rem;font-style:normal;box-shadow:0 8px 20px rgba(15,35,54,.3)}.video-resource-copy{display:grid;align-content:start;gap:7px;padding:17px 18px 18px}.video-resource-copy small{color:var(--blue);font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.video-resource-copy b{color:var(--muted);font-size:.68rem}.video-resource-copy strong{font-size:.92rem;line-height:1.4}.video-resource-copy em{align-self:end;margin-top:5px;color:var(--blue);font-size:.72rem;font-style:normal;font-weight:850}.video-player-dialog{width:min(960px,calc(100vw - 28px))}.video-player-shell{width:100%}.video-player-frame{position:relative;overflow:hidden;width:100%;padding-top:56.25%;border-radius:19px;background:#071521;box-shadow:0 16px 40px rgba(7,21,33,.22)}.video-player-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:950px){.resource-folder-root,.video-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.resource-folder-root,.video-resource-grid{grid-template-columns:1fr}.resource-folder-card{min-height:125px}.resource-back-button{width:100%}.video-resource-card{grid-template-rows:180px minmax(130px,1fr)}}
.resource-download-language { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 0 0 20px; padding: 13px 16px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(135deg,#fff,#eef6fa); color: var(--navy); box-shadow: 0 8px 22px rgba(21,58,91,.07); }
.resource-download-language .resource-language-label { display: block; margin: 0; padding: 0; font-size: var(--type-sm, 13px); font-weight: 700; }
.resource-download-language > div { display: inline-flex; padding: 4px; gap: 4px; border: 1px solid var(--line); border-radius: 14px; background: #edf4f9; }
.resource-download-language button { min-height: 42px; min-width: 104px; padding: 9px 18px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--navy); font: inherit; font-size: var(--type-sm, 13px); font-weight: 700; cursor: pointer; }
.resource-download-language button[aria-pressed="true"] { background: var(--navy); color: #fff; box-shadow: 0 3px 9px rgba(21,58,91,.12); }
.resource-download-language button:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
.resource-language-menu-top { position: sticky; top: 96px; z-index: 5; }
.digital-compendium-card { display: grid; grid-template-columns: 200px minmax(0,1fr); align-items: center; gap: 26px; margin-top: 28px; padding: 24px; border: 1px solid #d7c8e5; border-top: 3px solid #65358f; border-radius: 19px; background: linear-gradient(120deg,#faf7fc,#fff 65%); color: var(--navy); }
.digital-compendium-image { display: flex; align-items: center; justify-content: center; min-width: 0; }
.digital-compendium-book { display: block; width: 200px; max-width: 100%; }
.digital-compendium-image .digital-compendium-book img { display: block; width: 100%; max-width: 100%; height: 270px; object-fit: contain; mix-blend-mode: multiply; }
.digital-compendium-copy { min-width: 0; }
.digital-compendium-copy h3 { margin: 6px 0 12px; font-size: clamp(1.05rem,2vw,1.45rem); line-height: 1.35; }
.digital-compendium-copy p { margin: 0 0 12px; font-size: var(--type-sm,13px); line-height: 1.65; color: var(--muted); }
.digital-compendium-copy .digital-compendium-note { font-size: var(--type-xs,12px); }
.digital-compendium-copy .button { display: inline-flex; gap: 12px; align-items: center; justify-content: center; max-width: 100%; min-height: 44px; padding: 12px 18px; text-align: center; text-decoration: none; white-space: normal; background: var(--navy); color: #fff; border-radius: 12px; }
@media (max-width: 620px) { .digital-compendium-card { grid-template-columns: 1fr; gap: 16px; padding: 20px; }.digital-compendium-image img { height: 210px; }.digital-compendium-copy .button { width: 100%; } }
.patient-resource-card .patient-resource-image { align-items: center; padding: 10px; background: linear-gradient(180deg,#dcebf5 0%,#e8f2f7 100%); box-shadow: inset 0 -1px rgba(21,58,91,.06); }
.patient-resource-card .patient-resource-image img { display: block; width: auto; max-width: 74%; height: 170px; max-height: 94%; object-fit: contain; filter: drop-shadow(0 8px 9px rgba(21,58,91,.13)); }
.patient-resource-card .technical-resource-copy span { color: #4d2d78; }
.patient-compendium-card { border-color: #c7b2da; background: linear-gradient(145deg,#fff 0%,#f5f0f9 100%); }
.resource-folder-card.magazine-folder { grid-column: auto; }
.resource-folder-card { min-width: 0; grid-template-columns: 52px minmax(0,1fr) 12px; gap: 10px; padding: 14px; }
.resource-folder-card > span:nth-child(2) { min-width: 0; }
.resource-folder-card strong { font-size: .9rem; line-height: 1.35; overflow-wrap: normal; word-break: normal; hyphens: none; }
.resource-folder-illustration { width: 52px; height: 64px; }
.resource-folder-card.news-folder { border-color:#d6c8e3; background:linear-gradient(135deg,#fff 0%,#f4eef8 100%); }

.resource-download-language { justify-content: center; box-sizing: border-box; min-width: 0; text-align: center; padding: 18px 20px; }
@media(max-width:600px) { .resource-download-language { flex-direction: column; gap: 12px; } .resource-download-language > div { max-width: 100%; } .resource-download-language button { min-width: 0; flex: 1; } }

/* Human and veterinary collections share the existing in-site resource view. */
.resource-compendium-volumes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:30px; }
.resource-compendium-volumes .resource-compendium-volume { display:flex; flex-direction:column; min-width:0; margin:0; padding:24px; border-top:5px solid #67358e; }
.resource-compendium-volume[data-audience="veterinary"] { border-top-color:#6e914d; }
.resource-compendium-volume .digital-compendium-image { width:100%; padding:20px; box-sizing:border-box; }
.resource-compendium-volume .digital-compendium-book { width:min(100%,290px); margin:auto; }
.resource-compendium-volume .digital-compendium-copy { display:flex; flex-direction:column; flex:1; padding-top:22px; }
.resource-compendium-volume .digital-compendium-copy h3 { font-size:clamp(23px,2.5vw,32px); line-height:1.2; }
.resource-compendium-volume .digital-compendium-copy .button { margin-top:auto; }
.resource-audience-heading { grid-column:1 / -1; margin:22px 0 0; color:#173d62; font-size:24px; }
@media(max-width:700px) { .resource-compendium-volumes { grid-template-columns:1fr; } }

.representative-resource-shortcuts{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 20px}.representative-resource-shortcuts>a,.representative-resource-shortcuts>button{display:flex;align-items:center;gap:12px;flex:1;min-width:200px;min-height:64px;padding:12px 16px;border:1px solid #d5e1eb;border-inline-start:5px solid #3c8db8;border-radius:12px;background:linear-gradient(115deg,#fff,#f5f8fc);color:#163a5b;font:600 15px/1.4 Montserrat,Arial,sans-serif;text-decoration:none;text-align:left}.representative-resource-shortcuts>a{border-inline-start-color:#583181}.representative-resource-shortcuts img{width:32px;height:38px;object-fit:contain}.representative-resource-shortcuts span{flex:1}.representative-resource-shortcuts b{color:#8094a5}

/* Biounity: shared screen theme for staff, representatives and their access views.
 * Append after the existing UI styles in both entry points. Shared .rb-* rules
 * must remain after the .resource-browser marker in standalone/app.css so the
 * existing build includes them in public/resource-browser.css.
 * Presentation only: no grid, flex, sizing, spacing, visibility, scrolling,
 * transform or interaction changes. Print roots and PDF generators are excluded.
 */
@media screen {
  :root {
    --ink: #3c4043;
    --navy: #3c4043;
    --navy-deep: #303438;
    --muted: #5f6368;
    --slate: #5f6368;
    --line: #dfe5ee;
    --canvas: #f5f8fd;
    --pale: #f5f8fd;
    --white: #fff;
    --blue: #0b57d0;
    --blue-soft: #eaf2ff;
    --teal: #00777f;
    --teal-soft: #edf8f6;
    --green: #137333;
    --success: #137333;
    --gold: #f2b83d;
    --orange: #8d5d00;
    --red: #b3261e;
    --danger: #b3261e;
    --purple: #7627bb;
    --state-blue: #eaf2ff;
    --state-mint: #e6f4ea;
    --state-ivory: #fef7e0;
    --state-rose: #fce8e6;
    --state-lilac: #f3e8fd;
    --shadow: none;
  }

  html, body { background: var(--canvas); color: var(--ink); }
  body.locked { background: var(--canvas); }
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view,
      .staff-view-as-banner, #toast) {
    color: var(--ink);
    font-family: "Montserrat", Arial, sans-serif;
  }
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view)
      :is(h1, h2, h3, h4) { color: var(--ink); font-weight: 600; }
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view)
      :is(.subcopy, .fine-print, .results-count, .version, .quote-number) {
    color: var(--muted);
  }

  /* Access and chrome. Keep the original logo, Google mark and content. */
  .access-gate, .staff-auth-view { background: var(--canvas); }
  :is(.access-card, .login-card) {
    background: #fff; border-color: var(--line); border-radius: 22px; box-shadow: none;
  }
  .access-card::before, #app .topbar::before { background: var(--blue); }
  :is(#app, #portal-view) .topbar {
    background: #fff; border-color: var(--line); box-shadow: none; backdrop-filter: none;
  }
  #app .active-system-user {
    background: var(--blue-soft); border-color: var(--line); color: var(--ink);
  }
  #app .active-system-user b, #portal-view .account-chip > span {
    background: var(--blue); color: #fff;
  }
  :is(#app, #portal-view) :is(.brand-meta, .brand small, .account-chip small) {
    color: var(--muted); border-color: var(--line);
  }
  #portal-view :is(.brand strong, .account-chip strong) { color: var(--ink); }
  #portal-view .portal-nav { background: #fff; border-color: var(--line); }
  :is(#app, #portal-view) :is(.nav-button, .portal-nav button) {
    color: var(--muted); box-shadow: none; font-weight: 600;
  }
  :is(#app, #portal-view) :is(.nav-button.active, .portal-nav button.active) {
    background: var(--blue); border-color: var(--blue); color: #fff; box-shadow: none;
  }
  :is(#app, #portal-view) :is(.nav-button:not(.active), .portal-nav button:not(.active)):hover {
    background: var(--blue-soft); color: var(--blue);
  }

  /* Native controls; keep their dimensions and the existing mobile font scale. */
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view)
      :is(.button, .nav-button, .price-option, .category-button, .field) {
    font-weight: 600;
  }
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view)
      :is(.button, .icon-button, .add-button) { box-shadow: none; }
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view)
      .button.primary,
  #app .add-button {
    background: var(--blue); border-color: var(--blue); color: #fff;
  }
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view)
      .button.primary:hover,
  #app .add-button:hover {
    background: #0849b2; border-color: #0849b2; color: #fff;
  }
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view)
      :is(.button.secondary, .button.ghost, .icon-button) {
    background: #fff; border-color: var(--line); color: var(--blue);
  }
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view)
      :is(.button.secondary, .button.ghost, .icon-button):hover {
    background: var(--blue-soft); border-color: #bdcfee;
  }
  :is(#app, .modal) .button.danger {
    background: var(--state-rose); border-color: #e6ceca; color: var(--danger);
  }
  :is(#app, .modal) :is(.button.warning, .annual-price-button) {
    background: var(--state-ivory); border-color: #e3d7bc; color: #8d5d00;
  }
  :is(#app, .modal) .button.sale {
    background: var(--state-mint); border-color: #bedbc8; color: var(--success);
  }
  #app .button.status {
    background: var(--blue-soft); border-color: #bdcfee; color: var(--blue);
  }
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view)
      :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]) {
    color: var(--ink); border-color: var(--line);
  }
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view)
      :is(button, input, select, textarea, a, summary):focus-visible {
    outline: 3px solid #9dbff1; outline-offset: 2px; box-shadow: none;
  }
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .staff-auth-view) :is(input[type="checkbox"], input[type="radio"]) {
    accent-color: var(--blue);
  }
  :is(#app, #login-view, #portal-view) :is(.interface-switch,
      .print-language-switch, .market-switch, .currency-switch, .price-switcher,
      .language-switch, .login-mode) {
    background: var(--canvas); border-color: var(--line); box-shadow: none;
  }
  :is(#app, #login-view, #portal-view) :is(.interface-switch button.active,
      .print-language-switch button.active, .price-option.active,
      .language-switch button.active, .login-mode button.active) {
    background: var(--blue); color: #fff; box-shadow: none;
  }
  #app .price-option.active small { color: #fff; }
  #app :is(.market-switch button.active, .currency-switch button.active, .category-button.active) {
    background: var(--blue-soft); border-color: #bdcfee; color: var(--blue);
  }
  #app .category-button { border-radius: 12px; border-color: var(--line); }
  #app :is(.stepper button, .quote-option-menu-toggle b) {
    background: var(--canvas); color: var(--blue);
  }
  #app :is(.total-row.grand, .price, .quote-item-name, .quote-item-total) { color: var(--ink); }

  /* Principal cards and all currently used flat report/resource surfaces. */
  :is(#app, #portal-view, .modal, .quote-preview-dialog)
      :is(.panel, .product-card, .quote-item, .client-card, .history-card,
      .metric-card, .quote-card, .doctor-card, .payment-card, .report-kpis article,
      .internal-summary, .resource-folder-card, .technical-resource-card,
      .resource-tool-card, .magazine-download-card, .infographic-download-card,
      .representative-magazine-card, .video-resource-card, .digital-compendium-card,
      .patient-compendium-card, .resource-quick-button, .rc-panel, .rc-metrics article,
      .lot-operator-card) {
    background: #fff; border-color: var(--line); box-shadow: none;
  }
  :is(#app, #portal-view, .modal)
      :is(.panel, .client-card, .history-card, .metric-card, .resource-folder-card,
      .magazine-download-card, .infographic-download-card, .representative-magazine-card,
      .digital-compendium-card, .rc-panel, .rc-metrics article, .lot-operator-card) {
    border-radius: 20px;
  }
  :is(#app, #portal-view, .modal, .quote-preview-dialog)
      :is(.product-card, .quote-item, .quote-card, .doctor-card, .payment-card,
      .technical-resource-card, .resource-tool-card, .video-resource-card,
      .resource-quick-button) { border-radius: 14px; }
  :is(#app, #portal-view, .modal, .quote-preview-dialog)
      :is(.product-card, .client-card, .history-card, .quote-card,
      .resource-folder-card, .technical-resource-card, .resource-tool-card,
      .video-resource-card, .resource-quick-button):hover { box-shadow: none; }
  :is(#app, #portal-view, .modal, .quote-preview-dialog)
      :is(.quote-panel-header, .product-visual, .quote-item-image, .shipping-box,
      .history-preview-summary > div, .quote-preview-summary > div,
      .quote-preview-totals > div, .quote-price-summary > div, .report-mode-control,
      .representative-client-editor, .representative-private-client-card,
      .representative-recipient-box, .technical-resource-image,
      .patient-resource-card .patient-resource-image, .video-resource-thumb,
      .book-download-cover, .resource-download-language, .activation-panel,
      .consent-picker-section, .resource-tools-shell, .technical-resources-shell,
      .video-library-shell, .lot-product-row, .history-status-details > div) {
    background: var(--canvas); border-color: var(--line); box-shadow: none;
  }
  #app .product-card::before { background: var(--blue); }
  #app .special-custom-card { background: #faf7fd; border-color: #e5d9f4; }
  #app .special-custom-card::before { background: var(--purple); }
  :is(#app, .modal) :is(.certification-courtesy-card, .certification-benefit-item,
      .annual-price-controls, .cinthia-preferred-pricing, .cinthia-preferred-notice,
      .cabrera-pricing-control, .cabrera-quote-context.patient-selected,
      .cabrera-fee-item, .doctor-patients-editor, .patient-profile-summary,
      .history-card.cabrera-bundle) {
    background: #fcfaf5; border-color: #e3d7bc; box-shadow: none;
  }
  #app .certification-courtesy-card::before { background: var(--gold); }
  #app .courtesy-price { background: var(--success); color: #fff; }
  :is(#app, .modal) :is(.custom-pricing-control, .quote-benefits-notice,
      .duplicate-client-card) {
    background: var(--blue-soft); border-color: #bdcfee; box-shadow: none;
  }
  #app .quote-option-menu-items .sale-check,
  #app .quote-option-menu-items .sale-check.confirmed {
    background: var(--quote-option-bg); box-shadow: none;
  }
  #app .client-card.follow-up-three { background: #fcfaf5; border-color: #e3d7bc; }
  #app .client-card.follow-up-six { background: #fcf7f6; border-color: #e6ceca; }
  #app .client-card.commission-distributor-client { background: #faf7fd; border-color: #e5d9f4; }
  #app .client-card.commission-distributor-client .client-type { background: var(--purple); color: #fff; }
  #app .client-credit-summary { background: var(--state-mint); border-color: #bedbc8; }

  /* Preserve every status and combined representative/event signal. */
  #app .history-card.sold { background: #f5faf7; border-color: #d2e3d9; }
  #app .history-card.status-paid-delivered {
    --status-color: #bedbc8; --status-ink: #137333; --status-border: #bedbc8; --status-fill: #f5faf7;
  }
  #app .history-card.status-no-cost {
    --status-color: #e3d7bc; --status-ink: #8d5d00; --status-border: #e3d7bc; --status-fill: #fcfaf5;
  }
  #app .history-card.status-delivered-unpaid {
    --status-color: #e6ceca; --status-ink: #b3261e; --status-border: #e6ceca; --status-fill: #fcf7f6;
  }
  #app .history-card.status-paid-undelivered {
    --status-color: #e5d9f4; --status-ink: #7627bb; --status-border: #e5d9f4; --status-fill: #faf7fd;
  }
  #app .history-card.status-partial-delivery {
    --status-color: #bdcfee; --status-ink: #0b57d0; --status-border: #bdcfee; --status-fill: #f4f8ff;
  }
  #app .history-card.status-special-event,
  #app .history-card.special-event-tagged {
    --status-color: #e3cbda; --status-ink: #8c3a66; --status-border: #e3cbda; --status-fill: #fcf5f9;
  }
  #app .history-card.status-in-process {
    --status-color: #e3d7bc; --status-ink: #8d5d00; --status-border: #e3d7bc; --status-fill: #fcfaf5;
  }
  #app .history-card.status-ineffective {
    --status-color: #dfe5ee; --status-ink: #5f6368; --status-border: #dfe5ee; --status-fill: #f3f5f8;
  }
  #app .history-card[class*="status-"],
  #app .history-card.special-event-tagged {
    background: var(--status-fill); border-color: var(--status-border); box-shadow: none;
  }
  #app .history-card.commission-distributor {
    --representative-border: #00777f;
    background: var(--teal-soft); border-color: #c9e6de; box-shadow: none;
  }
  #app .history-card.commission-distributor[class*="status-"],
  #app .history-card.commission-distributor.special-event-tagged {
    background: var(--status-fill);
    border-color: var(--status-border);
    border-inline-start-color: var(--representative-border);
    box-shadow: none;
  }
  #app .history-card.reversed { background: #fff; border-color: var(--line); }
  #portal-view .quote-card.sold { background: #f5faf7; border-color: #d2e3d9; }
  #portal-view .quote-card.sold::before { background: var(--success); }
  #portal-view .status-badge.paid-delivered,
  #portal-view .quote-card.sold .status-badge {
    background: var(--state-mint); color: var(--success);
  }
  #portal-view .status-badge.paid-undelivered { background: var(--state-lilac); color: var(--purple); }
  #portal-view .status-badge.partial { background: var(--blue-soft); color: var(--blue); }

  /* Metrics and charts: leave widths and all data-dependent custom properties. */
  #portal-view .metric-card.hero,
  .representative-commission-modal .rc-metrics article:first-child {
    background: var(--blue); border-color: var(--blue); color: #fff; box-shadow: none;
  }
  #portal-view .metric-card.hero :is(span, strong, small),
  .representative-commission-modal .rc-metrics article:first-child :is(span, strong, small) {
    color: #fff;
  }
  #portal-view :is(.metric-card strong, .quote-stat strong, .payment-card strong) { color: var(--ink); }
  #portal-view .metric-card.hero strong { color: #fff; }
  #app .monthly-sales-accent, #app .report-total-card::after { background: var(--blue); }
  :is(#app, #portal-view, .modal)
      :is(.monthly-progress-track i, .progress-track span, .rc-track i) {
    background: var(--teal); box-shadow: none;
  }
  #app .report-bar-track i { background: var(--report-color); box-shadow: none; }
  #app .monthly-remaining { background: #fcf7f6; border-color: #e6ceca; }
  #app .report-mode-switch button.active { background: var(--blue); color: #fff; box-shadow: none; }
  #app .report-kpis article.wide { background: #fcfaf5; border-color: #e3d7bc; }
  #portal-view :is(.month-badge, .count-chip) { background: var(--blue-soft); color: var(--blue); }
  #portal-view .tier-scale span.active { color: var(--teal); }
  #portal-view .tier-scale span.active::before { background: var(--teal); }
  #app .internal-table th { background: var(--blue-soft); color: var(--ink); border-color: var(--line); }
  #app .internal-table th.internal-pinned-quote { background: var(--blue-soft); box-shadow: none; }
  #app .internal-table th span { color: var(--muted); }
  :is(#app, #portal-view, .modal) :is(.admin-table th, .annual-price-table th,
      .history-preview-table th, .quote-preview-table th, .rc-table-wrap th) {
    background: var(--canvas); color: var(--ink);
  }

  /* Modals and overlay surfaces keep native stacking, focus and scrolling. */
  :is(.modal, .quote-preview-dialog, .resource-access-dialog) {
    background: #fff; color: var(--ink); border-radius: 22px; box-shadow: none;
  }
  :is(.modal, .quote-preview-dialog, .resource-access-dialog)::backdrop {
    background: rgb(36 44 54 / 45%); backdrop-filter: none;
  }
  .representative-commission-modal { background: var(--canvas); }
  :is(#app, .modal) :is(.annual-price-actions, .modal-actions) { box-shadow: none; }
  #app .lot-operator-shell { background: var(--canvas); }
  #app .lot-operator-topbar { background: #fff; border-image: none; border-top-color: var(--blue); box-shadow: none; }
  #app .lot-operator-card::before { background: var(--blue); }
  #toast { background: var(--blue); color: #fff; box-shadow: none; }

  /* Resource UI in both builds; preserve approved family accents and images. */
  :is(#app, #portal-view, .modal) .resource-folder-icon {
    background: #fef7e0; box-shadow: none;
  }
  :is(#app, #portal-view, .modal) .resource-folder-card.video-folder .resource-folder-icon {
    background: var(--blue-soft); box-shadow: none;
  }
  :is(#app, #portal-view, .modal) .resource-folder-card.patient-briefs-folder .resource-folder-icon {
    background: var(--state-mint); box-shadow: none;
  }
  :is(#app, #portal-view, .modal) .resource-folder-card.protocol-folder .resource-folder-icon {
    background: var(--state-lilac); box-shadow: none;
  }
  #portal-view .resource-folder-card.news-folder { background: #faf7fd; border-color: #e5d9f4; }
  :is(#app, #portal-view, .modal) :is(.resource-download, .digital-compendium-copy .button,
      .resource-download-language button[aria-pressed="true"]) {
    background: var(--blue); color: #fff; box-shadow: none;
  }
  :is(#app, #portal-view, .modal) .resource-back-button {
    background: var(--blue) !important; border-color: var(--blue) !important;
    color: #fff !important; box-shadow: none;
  }
  :is(#app, #portal-view, .modal) .resource-back-button:hover {
    background: #0849b2 !important; box-shadow: none;
  }
  #portal-view .representative-resource-shortcuts > :is(a, button) {
    background: #fff; color: var(--ink); box-shadow: none;
  }
  :is(#app, #portal-view, .modal) .resource-browser { color: var(--ink); }
  :is(#app, #portal-view, .modal) .resource-browser :is(.rb-folder, .rb-card) {
    background: #fff; color: var(--ink); border-radius: 14px; box-shadow: none;
    border-color: var(--line);
  }
  :is(#app, #portal-view, .modal) .resource-browser .rb-folder {
    border-inline-start-color: var(--rb-color);
  }
  :is(#app, #portal-view, .modal) .resource-browser .rb-card {
    border-top-color: var(--rb-color);
  }
  :is(#app, #portal-view, .modal) .resource-browser .rb-folder:hover {
    background: var(--canvas); box-shadow: none;
  }
  :is(#app, #portal-view, .modal) .resource-browser .rb-image { background: var(--canvas); }
  :is(#app, #portal-view, .modal) .resource-browser
      :is(.rb-folder small, .rb-heading > span, .rb-nav button small) { color: var(--muted); }
  :is(#app, #portal-view, .modal) .resource-browser .rb-nav button { color: var(--ink); }
  :is(#app, #portal-view, .modal) .resource-browser .rb-nav button[aria-pressed="true"] {
    background: var(--blue-soft); color: var(--blue);
  }
  :is(#app, #portal-view, .modal) .resource-browser :is(.rb-download, .rb-back) {
    background: #fff; color: var(--blue); border-color: var(--line); border-radius: 10px;
  }
  :is(#app, #portal-view, .modal) .resource-browser .rb-download {
    border-inline-start-color: var(--rb-color);
  }
  :is(#app, #portal-view, .modal) .resource-browser
      :is(.rb-toolbar input, .rb-toolbar select, .rb-mobile select) {
    color: var(--ink); border-color: var(--line); border-radius: 10px;
  }

  /* Staff Google/view-as integration. Descendant rules target native controls;
   * Google-hosted iframe content is intentionally outside this stylesheet.
   * The checkout did not yet contain child class names when this draft was made.
   */
  .staff-auth-view :is(form, section, article) {
    background: #fff; color: var(--ink); border-color: var(--line);
    border-radius: 22px; box-shadow: none;
  }
  .staff-auth-view button {
    background: var(--blue); border-color: var(--blue); color: #fff;
    border-radius: 12px; box-shadow: none; font-family: inherit; font-weight: 600;
  }
  .staff-auth-view button:hover { background: #0849b2; border-color: #0849b2; }
  .staff-auth-view :is(p, small, label) { color: var(--muted); }
  .staff-view-as-banner {
    background: var(--blue-soft); color: var(--ink); border-color: #bdcfee;
    border-radius: 14px; box-shadow: none;
  }
  .staff-view-as-banner :is(strong, b) { color: var(--blue); font-weight: 600; }
  .staff-view-as-banner :is(button, select) {
    background: #fff; color: var(--blue); border-color: #bdcfee;
    border-radius: 10px; box-shadow: none; font-family: inherit;
  }
  .staff-view-as-banner :is(button, select):focus-visible {
    outline: 3px solid #9dbff1; outline-offset: 2px;
  }

  @media (max-width: 760px) {
    #app .quote-panel { border-radius: 22px 22px 0 0; box-shadow: none; }
    #app .mobile-cart-bar { background: var(--blue); color: #fff; box-shadow: none; }
    #app .nav-button.active { border-color: var(--blue); }
    #app .product-card:active { background: var(--blue-soft); box-shadow: none; }
  }
}

/* Unified screen typography. Printed documents retain their own styles. */
@media screen {
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view,
      .staff-view-as-banner, #toast) {
    --type-xs: 12px;
    --type-sm: 14px;
    --type-md: 14px;
    --type-lg: 16px;
    --type-h2: 20px;
    --type-section: 20px;
    --type-page: 24px;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 14px;
  }

  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view) h1 {
    font-size: var(--type-page);
  }
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view) h2 {
    font-size: var(--type-h2);
  }
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view) h3 {
    font-size: var(--type-lg);
  }

  /* Product names remain compact; quote folios use the same 16px everywhere. */
  #app .product-copy h3 { font-size: 14px; }
  #app .history-folio,
  #app .lot-operator-card h2,
  #portal-view .quote-card h3 { font-size: 16px; }

  /* The active resource browser renders folder names as strong elements. */
  :is(#app, #portal-view, .modal) :is(.rb-folder strong, .rb-section-title) {
    font-size: 16px;
  }

  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view)
      :is(.button, .nav-button, .category-button, label,
          input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    font-size: 14px;
  }
  #app .price-option strong,
  #portal-view .portal-nav button { font-size: 14px; }

  @media (max-width: 760px) {
    :is(#app, #access-gate, #login-view, #portal-view, .modal,
        .quote-preview-dialog, .resource-access-dialog, .staff-auth-view) {
      --type-page: 22px;
    }
    /* Preserve readable native fields and avoid iOS focus zoom. */
    :is(#app, #access-gate, #login-view, #portal-view, .modal,
        .quote-preview-dialog, .resource-access-dialog, .staff-auth-view)
        :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
      font-size: 16px;
    }
  }
}

/* Calm interface weights; color and hierarchy carry the emphasis. */
@media screen {
  :is(#app, #access-gate, #login-view, #portal-view, .modal,
      .quote-preview-dialog, .resource-access-dialog, .staff-auth-view)
      :is(h1, h2, h3, h4, .eyebrow) { font-weight: 500; }
  :is(#app, #portal-view, .modal) :is(.button, .nav-button, .category-button, label,
      .rb-folder strong, .rb-nav button, .rb-download, .rb-back) { font-weight: 500; }
  #app .resource-quick-button strong { font-size: 14px; font-weight: 500; }
  #app .resource-quick-button small { font-size: 14px; font-weight: 400; }
  #app .resource-quick-button { font-weight: 400; }
  #app .custom-pricing-control :is(strong, span) { font-weight: 400; }
  #app .report-kpis article.wide { background: #fff; border-color: var(--line); }
  #app .report-total-breakdown div { background: var(--canvas); border-color: transparent; }
  #app .report-total-breakdown :is(span, small) { font-size: 12px; font-weight: 400; }
  #app .report-total-breakdown strong { font-size: 14px; font-weight: 600; }
  #app .monthly-progress-track i {
    background: linear-gradient(90deg, #e5ad4c 0%, #e5ad4c 16.67%,
      #e8804b 16.67%, #e8804b 33.33%, #d34e66 33.33%, #d34e66 50%,
      #8855ae 50%, #8855ae 66.67%, #2977d9 66.67%, #2977d9 83.33%,
      #338c6f 83.33%, #338c6f 100%);
    box-shadow: none;
  }
}

/* Keep the embedded controls usable at YouTube's minimum mobile player height. */
.video-player-frame{padding-top:0;aspect-ratio:16 / 9;min-height:200px}

.invoice-upload{border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-width:0;width:min(100%,560px)}
.invoice-upload legend{font-size:.78rem;font-weight:700;padding:0 6px}
.invoice-file-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-block:8px}
.invoice-file-tile{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:3px 10px;min-width:0;min-height:64px;border:1px solid var(--line);border-radius:10px;background:var(--pale);padding:10px 12px;text-align:left;cursor:pointer}
.invoice-file-badge{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#e4f1fb;color:var(--blue);font-size:.62rem;font-weight:800}
.invoice-file-tile strong{font-size:.8rem;line-height:1.3;color:var(--ink)}.invoice-file-tile>span:not(.invoice-file-badge){display:none}.invoice-file-tile small{grid-column:2;display:block;max-width:100%;font-size:.67rem;line-height:1.4;overflow-wrap:anywhere;color:var(--muted)}
.invoice-file-tile>input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.invoice-file-tile:focus-within,.invoice-upload.dragging{border-color:var(--blue);outline:2px solid var(--blue-soft)}
form[data-invoice-upload-form]>button[type=submit]{width:auto;justify-self:start;min-height:42px;padding:10px 16px}
#quote-preview-dialog .quote-preview-actions{gap:12px;flex-wrap:wrap;align-items:center}
#quote-preview-dialog .quote-preview-totals .grand{background:var(--navy)!important}
#quote-preview-dialog .quote-preview-totals .grand :is(span,strong){color:#fff!important}
@media(max-width:700px){.invoice-file-fields{grid-template-columns:1fr}.invoice-upload{padding:14px}#quote-preview-dialog .quote-preview-summary{grid-template-columns:1fr}#quote-preview-dialog .quote-preview-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}

.commission-invoice-list{display:grid;gap:18px;margin-block:18px}
.commission-invoice-card{padding:22px;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:20px;background:#fff;min-width:0}
.commission-invoice-card.paid{border-top-color:var(--green)}.commission-invoice-card.partial{border-top-color:var(--blue)}
.commission-invoice-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.commission-invoice-card .status-badge{margin-top:10px}
.invoice-card-amount{text-align:right}.invoice-card-amount span{display:block;font-size:.72rem;font-weight:700;color:var(--muted)}.invoice-card-amount strong{font-size:1.6rem;white-space:nowrap}
.commission-invoice-card h3{margin:20px 0 4px;font-size:1.18rem}.commission-invoice-card>p{margin:4px 0 20px;font-size:.82rem}
.invoice-card-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-block:18px}.invoice-card-data>div{padding:12px;border-radius:12px;background:var(--pale);min-width:0}.invoice-card-data .full{grid-column:1/-1}.invoice-card-data dt{font-size:.66rem;font-weight:750;color:var(--muted);text-transform:uppercase}.invoice-card-data dd{margin:6px 0 0;font-size:.82rem;line-height:1.5;overflow-wrap:anywhere}.commission-invoice-card>footer{border-top:1px solid var(--line);padding-top:16px}
@media(max-width:600px){.commission-invoice-card{padding:16px}.invoice-card-data{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-card-amount strong{font-size:1.3rem}}

.directory-type{max-width:320px;margin-bottom:12px}.directory-type>span{font-size:.7rem;color:var(--muted)}.directory-type select{min-height:44px;width:100%;background:#fff}.admin-brand-reload{display:block;margin-bottom:16px;background:transparent;border:0;padding:0}.admin-brand-reload img{display:block;max-width:100%}

.doctor-card-actions .directory-delete{color:var(--red);border-color:#efd0d5;background:#fff8f9}

/* Representative mobile layout; document/PDF rendering is unchanged. */
.mobile-portal-nav,.mobile-contact-action{display:none}
.mobile-more-dialog{width:min(440px,calc(100vw - 24px));padding:20px;border:1px solid var(--line);border-radius:20px;color:var(--ink);background:#fff}
.mobile-more-dialog::backdrop{background:rgba(23,35,53,.42)}
.mobile-more-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.mobile-more-dialog h2{margin:0;font-size:20px}.mobile-more-options{display:grid;gap:10px}.mobile-more-options .button{justify-content:space-between;min-height:48px;text-align:left}
@media screen and (max-width:1000px){
  .portal-body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  .portal-body .topbar{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 10px;padding:12px 14px;min-height:0}
  .topbar .brand{grid-column:1;grid-row:1;min-width:0;margin:0;padding:0;border:0;background:transparent}
  .topbar .brand img{width:112px;max-width:100%}.topbar .brand>span{display:none}
  .topbar .language-switch{grid-column:2;grid-row:1;margin:0}.topbar .language-switch button{min-height:44px;min-width:36px;padding:7px}
  .topbar #logout-button{grid-column:3;grid-row:1;min-height:44px;padding:8px;font-size:11px;white-space:normal}
  .topbar .account-chip{grid-column:1/3;grid-row:2;min-width:0;gap:8px}.topbar .account-chip>span{width:28px;height:28px;flex-shrink:0;font-size:10px}.topbar .account-chip div{display:grid;min-width:0}.topbar .account-chip strong{font-size:12px;overflow-wrap:anywhere}.topbar .account-chip small{font-size:10px}
  .topbar .portal-version{grid-column:3;grid-row:2;justify-self:end;padding:6px;font-size:9px}
  .topbar #return-representative-admin{grid-column:1/-1;grid-row:3;min-height:44px;justify-content:flex-start;font-size:13px;padding:10px 12px}
  .portal-nav{display:none}.portal-main{padding:20px 14px;min-width:0}
  .mobile-portal-nav{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:#fff;box-shadow:0 -3px 14px rgba(23,35,53,.06)}
  .mobile-portal-nav button{display:grid;justify-items:center;align-content:center;gap:4px;min-width:0;min-height:54px;padding:4px 0;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:10px;font-weight:650}
  .mobile-portal-nav button.active{background:var(--blue-soft);color:var(--blue)}.mobile-portal-nav svg{width:22px;height:22px}
  #toast{bottom:calc(82px + env(safe-area-inset-bottom,0px));left:14px;right:14px;max-width:none}
  .page-heading{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:20px}.page-heading p,.panel>p{font-size:13px;line-height:1.55}.page-heading h1{line-height:1.25;overflow-wrap:break-word}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.metric-card{padding:14px;min-height:104px;gap:6px;border-radius:16px}.metric-card.hero{grid-column:1/-1;min-height:104px}.metric-card strong{font-size:20px;overflow-wrap:anywhere}.metric-card span,.metric-card small{font-size:11px;line-height:1.4}
  .report-metrics .metric-card:last-child{grid-column:1/-1}.panel{padding:16px;margin-bottom:16px;border-radius:16px;min-width:0}.section-heading{align-items:flex-start;gap:10px;flex-wrap:wrap}.section-heading h2{font-size:18px}
  .filters,.form-grid,.two-column-layout{grid-template-columns:minmax(0,1fr)}.filters{gap:12px}.form-grid .full{grid-column:auto}.form-grid label{min-width:0}.form-grid :is(input,select,textarea){min-width:0;max-width:100%}.button{min-height:44px;white-space:normal;text-align:center}.button-row{gap:8px}
  .quote-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.quote-card>div:first-child,.quote-card .quote-downloads{grid-column:1/-1}.quote-card .quote-stat{min-width:0}.quote-card .quote-downloads{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quote-downloads .button{font-size:12px;white-space:normal;padding:10px 8px}.quote-card h3{overflow-wrap:anywhere}
  .doctor-card,.payment-card{grid-template-columns:minmax(0,1fr)}.doctor-card>div{min-width:0}.doctor-card p{overflow-wrap:anywhere}.doctor-card-actions{display:flex;flex-wrap:wrap;gap:8px}.doctor-card-actions small:empty{display:none}.directory-type{max-width:none}.mobile-contact-action{display:block;margin:0 0 16px}.directory-layout>section:last-child{order:-1}.directory-layout #directory-editor{display:none;scroll-margin-top:16px}.directory-layout #directory-editor.mobile-editing{display:block}
  .catalog-download-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.catalog-download-actions .combined{grid-column:1/-1}.catalog-download-actions .button{font-size:12px;min-width:0}
  .mobile-table{min-width:0;width:100%}.mobile-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.mobile-table tbody{display:block}.mobile-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;border-bottom:1px solid var(--line)}.mobile-table tr:last-child{border-bottom:0}.mobile-table td{min-width:0;border:0;padding:0;font-size:13px;overflow-wrap:anywhere;text-align:left!important}.mobile-table td::before{content:attr(data-label);display:block;color:var(--muted);font-size:10px;font-weight:650;margin-bottom:5px}.mobile-table td:first-child{grid-column:1/-1}.mobile-table td[colspan]{grid-column:1/-1}
  .catalog-product{grid-template-columns:48px minmax(0,1fr);min-width:0;gap:10px}.catalog-product-image{width:48px;height:48px}.catalog-product-image img{width:44px;height:44px}.catalog-product small{line-height:1.5;font-size:11px}.catalog-product strong{font-size:14px}
  #admin-representatives tr{gap:14px}#admin-representatives td:last-child{grid-column:1/-1}#admin-representatives .button{font-size:12px;padding:10px 12px}
  .representative-admin-body .page-heading>button{align-self:flex-start}.representative-admin-body .portal-main>section>p{font-size:12px;line-height:1.55}
  .quote-preview-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 24px);margin:auto;padding:0;border-radius:16px}.quote-preview-shell{padding:16px}.quote-preview-header{gap:12px}.quote-preview-header h2{font-size:18px;overflow-wrap:anywhere}.quote-preview-close{width:44px;height:44px;flex:0 0 44px}.quote-preview-summary{grid-template-columns:minmax(0,1fr)}.quote-preview-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-preview-table-wrap{max-height:38dvh;overscroll-behavior:contain}.quote-preview-actions{align-items:stretch;flex-direction:column}.quote-preview-actions .quote-downloads{min-width:0}.quote-preview-actions .button{font-size:13px}
  #commission-control-dialog{width:calc(100vw - 16px)!important;padding:16px!important;max-height:calc(100dvh - 24px)!important}.commission-invoice-card{padding:14px}.commission-invoice-card>header{flex-wrap:wrap;gap:12px}.invoice-card-data{grid-template-columns:minmax(0,1fr)}.invoice-card-data .full{grid-column:auto}.invoice-card-amount strong{font-size:20px}.invoice-file-fields{grid-template-columns:minmax(0,1fr);gap:8px}.invoice-upload{padding:10px;max-width:100%}.invoice-file-tile{min-height:60px;padding:10px;gap:3px 8px}.invoice-upload legend{font-size:11px}.invoice-file-tile strong{font-size:13px}
  .resource-language-menu-top{position:static}.representative-resource-shortcuts>a,.representative-resource-shortcuts>button{min-width:0;flex-basis:100%;min-height:52px}.empty-state{padding:22px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
@media screen and (max-width:1000px){
  .topbar .account-chip{display:flex}
  .quote-card .quote-stat.commissionable{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;align-items:center;padding:10px 12px}
  .quote-stat.commissionable small{grid-column:1/-1;max-width:none;font-size:11px;line-height:1.45}
  #regenerion-purchase-list .quote-stat:last-of-type{grid-column:1/-1}
  #quote-preview-downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#quote-preview-downloads .button{min-width:0;font-size:12px;padding:10px 8px}
}

@media screen and (min-width:1001px) and (max-width:1100px){.topbar{position:relative;flex-wrap:wrap;gap:10px}.topbar .brand{flex:1 1 260px}.portal-nav{top:0}.topbar>.button{min-height:44px}}
@media screen and (max-width:1000px) and (pointer:coarse){.portal-body :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px}}
