/* FraMar.Soft · shared visual language for the account and public portal.
   Only base.html opts in with portal-actual. POS, embedded modules and fast
   tickets keep their own styles; the three public landing pages are unchanged. */
body.portal-actual{
  --ink:var(--texto);--muted:var(--suave);--paper:var(--noche);--white:var(--azul);
  --blue:var(--cian-claro);--navy:var(--azul);--line:var(--linea);--radius:18px;
  --nc-dark:var(--texto);--nc-green:var(--cian-claro);--nc-cream:var(--noche);
  --nc-blue:var(--cian-claro);--shadow:0 12px 36px -26px rgba(0,0,0,.5);
  --portal-field:var(--noche);--portal-soft:rgba(var(--sup-rgb),.6);
  --portal-info:#9edff3;--portal-info-bg:#18323a;
  --portal-ok:#a6e4bc;--portal-ok-bg:#19372a;
  --portal-warn:#f6d38c;--portal-warn-bg:#3b301d;
  --portal-danger:#ffb5bd;--portal-danger-bg:#43252b;
  --portal-gold:#f0bf64;
  background:var(--noche);color:var(--texto);font:16px/1.6 var(--fuente);
  overflow-x:visible;
}
html[data-tema="claro"] body.portal-actual{
  --portal-field:var(--azul);--portal-soft:rgba(var(--sup-rgb),.55);
  --portal-info:#18566d;--portal-info-bg:#e5f4f8;
  --portal-ok:#215c3d;--portal-ok-bg:#e5f2e9;
  --portal-warn:#765214;--portal-warn-bg:#fff3d8;
  --portal-danger:#983042;--portal-danger-bg:#ffedf0;
  --portal-gold:#8d590b;
}

/* The shell uses the same Archivo typography and quiet graphite surfaces as
   Comercial/Industrial, without adding decorative animation to forms. */
body.portal-actual>.layout{width:100%;max-width:var(--ancho);min-height:calc(100svh - 240px);margin:0 auto}
body.portal-actual>.layout:not(.has-sidebar)>main,
body.portal-actual>.layout.has-sidebar>main{padding:clamp(28px,4vw,56px) clamp(20px,3vw,40px) 64px;min-width:0}
body.portal-actual>.layout.has-sidebar{max-width:1440px;grid-template-columns:minmax(180px,220px) minmax(0,1fr)}
body.portal-actual :is(main,.sidebar){overflow-wrap:anywhere}
body.portal-actual :is(.grid,.form-grid,.split-head,.actions,.filters,.inline-form)>*{min-width:0}
body.portal-actual main :is(h1,h2,h3,h4){color:var(--texto);font-family:var(--fuente);font-weight:750;text-wrap:balance}
body.portal-actual main h1{font-stretch:118%;font-size:clamp(34px,4.6vw,60px);line-height:1.06;letter-spacing:-.035em;margin:10px 0 18px}
body.portal-actual main h2{font-stretch:110%;font-size:clamp(23px,2.6vw,30px);line-height:1.18;letter-spacing:-.025em;margin:0 0 16px}
body.portal-actual main h3{font-size:20px;line-height:1.3;letter-spacing:-.015em;margin:0 0 12px}
body.portal-actual main p{margin:0 0 16px;line-height:1.65}
body.portal-actual main :is(.hint,.muted,.nr-note,.r18-kicker,.nc-kicker,.eyebrow,.nr-eyebrow){color:var(--suave)}
body.portal-actual main :is(.hint,.muted){font-size:14px}
body.portal-actual main :is(.eyebrow,.nr-eyebrow,.nc-kicker,.r18-kicker){font:500 11px/1.5 var(--mono);letter-spacing:.12em}
body.portal-actual main :is(.eyebrow,.nr-eyebrow){margin-bottom:12px}
body.portal-actual main a:not(.button):not(.btn){color:var(--cian-claro);text-underline-offset:4px}
body.portal-actual main :is(.pagehead,.page-head,.r18-pagehead){max-width:none;margin:0 0 32px;padding:0 0 28px;border-bottom:1px solid var(--linea)}
body.portal-actual main :is(.pagehead,.page-head,.r18-pagehead)>p{max-width:70ch;color:var(--suave);font-size:17px;margin-bottom:0}
body.portal-actual :is(.r4-hero,.guide-hero,.r18-hero){background:linear-gradient(115deg,var(--azul),var(--noche));color:var(--texto);border:1px solid var(--linea);border-radius:22px;padding:clamp(24px,4vw,44px);box-shadow:none;margin-bottom:28px}
body.portal-actual :is(.r4-hero,.r18-hero) h1 em,
body.portal-actual .nr-hero h1 em{color:var(--cian-claro);font-style:normal}
body.portal-actual :is(.r4-hero,.guide-hero,.r18-hero)>div>p,
body.portal-actual :is(.r4-hero,.guide-hero,.r18-hero)>p{color:var(--suave);font-size:16px;line-height:1.7;max-width:70ch}
body.portal-actual .r4-hero>div{min-width:0}
body.portal-actual .r4-hero>img{width:88px;height:88px;box-shadow:none;border-radius:20px}
body.portal-actual :is(.card,.r18-card,.nr-card,.nr-review-card,.nr-summary,.stat,.guide-card,.guide-step){background:var(--azul);border:1px solid var(--linea);color:var(--texto);border-radius:var(--radius);box-shadow:var(--shadow)}
body.portal-actual :is(.card,.r18-card,.nr-card,.nr-review-card){padding:clamp(20px,2.6vw,30px)}
body.portal-actual .card.hero{background:var(--azul);color:var(--texto);border:1px solid var(--linea);min-height:0;display:block;isolation:auto;overflow:visible}
body.portal-actual .card.hero::before,body.portal-actual .card.hero::after{content:none}
body.portal-actual .card.hero :is(p,.eyebrow){color:var(--suave)}
body.portal-actual :is(.grid.two,.r18-grid.two){grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}
body.portal-actual :is(.grid.three,.grid.four,.r18-grid.three){grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
body.portal-actual :is(.form-grid,.form-grid.three,.form-grid.four){grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
body.portal-actual :is(.grid,.form-grid){gap:20px}
body.portal-actual .grid .card{display:flex;flex-direction:column;align-items:stretch}
body.portal-actual .grid .card>.actions:last-child{margin-top:auto;padding-top:18px}
body.portal-actual :is(.split-head,.r4-section-head){gap:16px;flex-wrap:wrap}
body.portal-actual .split-head>div{min-width:0;flex:1 1 180px}
body.portal-actual :is(.stats,.r4-check-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}
body.portal-actual .stat :is(strong,span,small){color:var(--texto)}
body.portal-actual .stat :is(span,small){color:var(--suave)}
body.portal-actual .stat.highlight{background:var(--azul-2);border-color:var(--linea-fuerte)}

/* Existing form actions, names and validation remain untouched. */
body.portal-actual main label{color:var(--texto);font-size:14px;line-height:1.5}
body.portal-actual main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){
  min-width:0;max-width:100%;min-height:46px;border:1px solid var(--linea-fuerte);border-radius:10px;
  background:var(--portal-field);color:var(--texto);font-family:var(--fuente);font-size:16px;
  padding:11px 13px;box-shadow:none;
}
body.portal-actual main :is(input,textarea)::placeholder{color:var(--suave);opacity:.8}
body.portal-actual main :is(input,select,textarea):focus-visible{outline:3px solid rgba(0,179,237,.28);outline-offset:2px;border-color:var(--cian)}
body.portal-actual main input[readonly]{background:var(--azul-2);color:var(--suave)}
body.portal-actual main input[type="file"]{overflow:hidden;padding:8px;white-space:normal}
body.portal-actual main input::file-selector-button{max-width:100%;border:0;border-radius:7px;padding:7px 10px;margin-right:10px;background:var(--azul-3);color:var(--texto);font:inherit;cursor:pointer}
body.portal-actual main :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--cian);flex-shrink:0}
body.portal-actual small.password-status{color:var(--suave)}
body.portal-actual small.password-status[data-state="valid"]{color:var(--portal-ok)}
body.portal-actual small.password-status[data-state="invalid"]{color:var(--portal-danger)}
body.portal-actual .password-control>.password-toggle{color:var(--suave)}
body.portal-actual .password-control>.password-toggle:hover{background:var(--azul-2);color:var(--texto)}
body.portal-actual .password-control.is-valid>input[data-account-password]{border-color:var(--portal-ok);box-shadow:0 0 0 1px var(--portal-ok)}
body.portal-actual .password-control.is-invalid>input[data-account-password]{border-color:var(--portal-danger);box-shadow:0 0 0 1px var(--portal-danger)}
body.portal-actual main :is(.button,button.primary,button.secondary,button.danger){
  min-height:46px;max-width:100%;padding:11px 20px;border-radius:999px;
  border:1px solid var(--cian);background:var(--cian);color:var(--sobre-cian);
  font-size:14px;font-family:var(--fuente);font-weight:700;line-height:1.4;white-space:normal;
  overflow-wrap:anywhere;box-shadow:none;text-decoration:none;
  transition:background-color .15s,border-color .15s;
}
body.portal-actual main :is(.button,button.primary):hover:not(:disabled){background:var(--cian-hover);border-color:var(--cian-hover);color:var(--sobre-cian)}
body.portal-actual main :is(.button.secondary,button.secondary,.button.dark){background:transparent;border-color:var(--linea-fuerte);color:var(--texto)}
body.portal-actual main :is(.button.secondary,button.secondary,.button.dark):hover:not(:disabled){background:var(--azul-2);border-color:var(--suave);color:var(--texto)}
body.portal-actual main :is(.button.danger,button.danger){background:var(--portal-danger-bg);color:var(--portal-danger);border-color:var(--portal-danger)}
body.portal-actual main :is(.button.small,button.small){min-height:42px;font-size:13px;padding:9px 15px}
body.portal-actual main :is(.button[aria-disabled="true"],button:disabled){opacity:.55;cursor:not-allowed}
body.portal-actual main :is(a,button,summary):focus-visible{outline:3px solid var(--cian-claro);outline-offset:3px}
body.portal-actual main :is(.actions,.inline-form,.filters){gap:10px}
body.portal-actual main .actions form{max-width:100%}
body.portal-actual main .check{font-size:14px;font-weight:450}
body.portal-actual main details{background:var(--azul);color:var(--texto);border-color:var(--linea)}
body.portal-actual main summary{color:var(--texto);font-size:15px;min-height:32px;line-height:1.5}
body.portal-actual main pre{background:var(--azul-2);color:var(--texto);border:1px solid var(--linea);font-family:var(--mono);max-width:100%}
body.portal-actual :is(.empty,.nr-empty,.nr-load-error){color:var(--suave);background:var(--portal-soft);border-color:var(--linea-fuerte);border-radius:var(--radius)}
body.portal-actual :is(.empty,.nr-empty,.nr-load-error) h3{color:var(--texto)}
body.portal-actual :is(.empty-mark,.nr-empty-mark,.service-icon,.nr-signin-mark){background:var(--azul-2);color:var(--cian-claro)}
body.portal-actual .auth-wrap{max-width:520px;margin:12px auto 40px}
body.portal-actual .auth-wrap h1{font-size:clamp(30px,4vw,40px)}
body.portal-actual .auth-wrap .card{padding:clamp(22px,4vw,36px)}
body.portal-actual .auth-links{font-size:14px;gap:12px}

/* Status colors retain their meaning in both palettes. */
body.portal-actual :is(.notice,.nr-form-status,.nr-admin-message){background:var(--portal-info-bg);border-color:var(--portal-info);color:var(--portal-info);font-size:14px}
body.portal-actual :is(.notice.success,.nr-form-status.is-success,.nr-admin-message.is-success){background:var(--portal-ok-bg);border-color:var(--portal-ok);color:var(--portal-ok)}
body.portal-actual .notice.warning{background:var(--portal-warn-bg);border-color:var(--portal-warn);color:var(--portal-warn)}
body.portal-actual :is(.notice.error,.nr-form-status.is-error,.nr-admin-message.is-error){background:var(--portal-danger-bg);border-color:var(--portal-danger);color:var(--portal-danger)}
body.portal-actual .badge{font-size:11px;line-height:1.4;background:var(--azul-2);color:var(--suave);border:1px solid var(--linea)}
body.portal-actual :is(.badge.trial,.badge.blue){background:var(--portal-info-bg);color:var(--portal-info)}
body.portal-actual :is(.badge.active,.badge.posted,.badge.approved,.badge.green,.nr-status-badge.approved){background:var(--portal-ok-bg);color:var(--portal-ok)}
body.portal-actual :is(.badge.offer,.badge.overdue,.badge.pending,.badge.draft,.nr-status-badge.pending){background:var(--portal-warn-bg);color:var(--portal-warn)}
body.portal-actual :is(.badge.suspended,.badge.deleted,.badge.expired,.badge.void,.badge.error,.nr-status-badge.rejected){background:var(--portal-danger-bg);color:var(--portal-danger)}
body.portal-actual .table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--linea);border-radius:12px}
body.portal-actual main table{color:var(--texto);font-size:14px}
body.portal-actual main th{background:var(--azul-2);color:var(--suave);border-bottom-color:var(--linea);font-size:11px}
body.portal-actual main td{border-bottom-color:var(--linea);padding:14px 12px}
body.portal-actual main td small{color:var(--suave)}
body.portal-actual main tbody tr:hover{background:var(--portal-soft)}
body.portal-actual .table-wrap :is(input,select){min-width:150px}
body.portal-actual .table-wrap .row-actions{flex-wrap:wrap;min-width:150px}

/* Account and administration navigation keeps every original destination. */
body.portal-actual :is(.account-module-nav,.admin-module-nav){display:flex;gap:8px;padding:0 0 20px;margin:0 0 24px;border-bottom:1px solid var(--linea);flex-wrap:wrap;align-items:center}
body.portal-actual :is(.account-module-nav,.admin-module-nav)>form{margin:0}
body.portal-actual :is(.account-module-nav,.admin-module-nav) [aria-current="page"]{border-color:var(--cian);background:var(--portal-info-bg);color:var(--portal-info)}
body.portal-actual .sidebar{background:var(--azul);color:var(--texto);border:0;border-right:1px solid var(--linea);padding:32px 16px}
body.portal-actual .sidebar :is(small,.workspace-name span,.sidebar-note){color:var(--suave)}
body.portal-actual .sidebar nav a{color:var(--suave);min-height:44px;display:flex;align-items:center;white-space:normal}
body.portal-actual .sidebar nav a:hover{background:var(--azul-2);color:var(--texto)}
body.portal-actual .sidebar nav a.active{background:var(--portal-info-bg);color:var(--portal-info)}
body.portal-actual .sidebar nav::after{content:none}
body.portal-actual .sidebar-note{border-top-color:var(--linea)}

/* Opinions: use the same neutral cards, with gold reserved for ratings. */
body.portal-actual .nr-page{--nr-ink:var(--texto);--nr-muted:var(--suave);--nr-line:var(--linea);--nr-blue:var(--cian-claro);--nr-gold:var(--portal-gold);color:var(--texto);margin-bottom:0}
body.portal-actual .nr-hero{grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:40px;padding:8px 0 36px;border-color:var(--linea)}
body.portal-actual .nr-hero h1{font-size:clamp(36px,4.7vw,60px)}
body.portal-actual .nr-hero>div>p{font-size:16px}
body.portal-actual .nr-summary{min-height:190px;padding:26px}
body.portal-actual .nr-summary :is(strong,.nr-score){color:var(--texto)}
body.portal-actual .nr-summary-empty>span{color:var(--portal-gold)}
body.portal-actual .nr-layout{grid-template-columns:minmax(0,1fr) minmax(280px,350px);gap:24px}
body.portal-actual .nr-side{min-width:0}
body.portal-actual .nr-heading h2{font-size:clamp(23px,2.7vw,30px)}
body.portal-actual :is(.nr-note,.nr-total,.nr-review-comment,.nr-empty p,.nr-load-error p,.nr-signin p,.nr-own-item>p){color:var(--suave);font-size:14px}
body.portal-actual .nr-compose :is(label,legend){color:var(--texto);font-size:14px}
body.portal-actual .nr-compose :is(.nr-rating-hint,.nr-character-count,.nr-moderation-note){color:var(--suave);font-size:12px}
body.portal-actual .nr-compose #nr-name-help{font-size:12px;margin:0 0 16px}
body.portal-actual .nr-summary-heading{font:500 11px/1.5 var(--mono);color:var(--suave)}
body.portal-actual .nr-review-person strong{font-size:14px}
body.portal-actual .nr-review-person time{font-size:12px;color:var(--suave)}
body.portal-actual .nr-review-card h3{font-size:19px}
body.portal-actual :is(.nr-avatar,.nr-program,.nr-status-badge){background:var(--azul-2);color:var(--suave);border-color:var(--linea)}
body.portal-actual .nr-program{font-size:11px}
body.portal-actual .nr-rating-options label{background:var(--noche);border-color:var(--linea-fuerte);min-height:64px}
body.portal-actual .nr-rating-options :is(small,span){color:var(--suave)}
body.portal-actual .nr-rating-options label.is-selected{background:var(--portal-warn-bg);border-color:var(--portal-gold)}
body.portal-actual .nr-rating-options label.is-filled span{color:var(--portal-gold)}
body.portal-actual .nr-stars .nr-unfilled{color:var(--suave)}
body.portal-actual .nr-reply{border-color:var(--linea-fuerte)}
body.portal-actual .nr-reply strong{color:var(--cian-claro);font-size:12px}
body.portal-actual .nr-reply p{font-size:14px;color:var(--suave)}
body.portal-actual .nr-admin-guide{background:var(--azul-2)}
body.portal-actual .nr-admin-guide p{color:var(--suave)}
/* Original controls use !important for sizes; keep their touch targets usable. */
body.portal-actual .nr-own-actions button{min-height:44px!important;font-size:13px!important;padding:10px 14px!important}
body.portal-actual .nr-pagination button{min-height:44px;font-size:13px!important}
body.portal-actual .nr-consent{font-size:13px!important;color:var(--suave)}

/* Guide keeps its content hierarchy, now matching the public editorial style. */
body.portal-actual .guide-v2{gap:40px}
body.portal-actual .guide-hero{margin-bottom:0}
body.portal-actual .guide-hero h1{color:var(--texto);max-width:20ch}
body.portal-actual .guide-hero>p{color:var(--suave);max-width:72ch}
body.portal-actual .guide-section-head h2{color:var(--texto);font-size:clamp(28px,3.2vw,40px);max-width:28ch;margin:8px 0 14px}
body.portal-actual .guide-section-head p{color:var(--suave);font-size:16px}
body.portal-actual .guide-section-soft{background:var(--portal-soft);border-color:var(--linea);border-radius:20px;padding:clamp(20px,3vw,32px)}
body.portal-actual :is(.guide-steps,.guide-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:18px}
body.portal-actual .guide-account-grid{grid-template-columns:1fr}
body.portal-actual :is(.guide-step,.guide-card){padding:24px}
body.portal-actual .guide-number{font-family:var(--mono);background:var(--portal-info-bg);color:var(--portal-info);border:1px solid var(--linea);border-radius:12px}
body.portal-actual :is(.guide-step,.guide-card) h3{color:var(--texto)}
body.portal-actual :is(.guide-step,.guide-card) p{color:var(--suave);font-size:15px}
body.portal-actual .guide-card-kicker{color:var(--suave);font:500 11px/1.5 var(--mono)}
body.portal-actual .guide-faq details{background:var(--azul);border-color:var(--linea);padding:20px 22px}
body.portal-actual .guide-faq summary{color:var(--texto);font-size:16px}
body.portal-actual .guide-faq p{color:var(--suave);font-size:15px;margin-top:14px}

/* Account, device sessions and messages share neutral surfaces as well. */
body.portal-actual :is(.r4-profile-photo-preview img,.r18-chat-avatar,.r18-chat-thread-avatar,.r18-chat-head-avatar){background:var(--azul-2);border-color:var(--linea)}
body.portal-actual .r4-profile-photo-form{grid-template-columns:minmax(0,1fr) auto}
body.portal-actual :is(.r18-chat-shell,.r18-chat-head,.r18-chat-compose,.r18-chat-thread){background:var(--azul);color:var(--texto);border-color:var(--linea);box-shadow:none}
body.portal-actual .r18-chat-stream{background:var(--noche);scroll-behavior:auto;max-height:min(590px,65svh)}
body.portal-actual :is(.r18-chat-head h2,.r18-chat-empty strong){color:var(--texto)}
body.portal-actual :is(.r18-chat-head p,.r18-chat-status,.r18-chat-empty,.r18-chat-thread-meta span){color:var(--suave)}
body.portal-actual :is(.r18-chat-private,.r18-attach-button,.r18-selected-files span){background:var(--azul-2);color:var(--suave);border-color:var(--linea)}
body.portal-actual .r18-chat-bubble.mine{background:var(--portal-info-bg);color:var(--portal-info);border-color:var(--linea-fuerte)}
body.portal-actual .r18-chat-bubble.theirs{background:var(--azul);color:var(--texto);border-color:var(--linea)}
body.portal-actual .r18-chat-thread.unread{border-left-color:var(--cian)}
body.portal-actual .r18-chat-thread-meta b{background:var(--cian);color:var(--sobre-cian)}
body.portal-actual .r18-chat-file{color:inherit;max-width:100%;border-color:var(--linea-fuerte)}
body.portal-actual .r18-chat-bubble.theirs .r18-chat-file{background:var(--azul-2);border-color:var(--linea)}
body.portal-actual .r18-chat-file>b{background:var(--azul-3);color:var(--texto)}
/* The legacy chat declares these colors !important. */
body.portal-actual .r18-chat-note,body.portal-actual .r18-chat-thread-copy p{color:var(--suave)!important}
body.portal-actual .r18-chat-note{font-size:12px}
body.portal-actual .suite-release-policy{border-top-color:var(--linea)}
body.portal-actual .suite-release-policy [data-release-state]{background:var(--azul-2);color:var(--suave)}
body.portal-actual .suite-release-policy [aria-pressed="true"] [data-release-state]{background:var(--portal-ok-bg);color:var(--portal-ok)}
body.portal-actual .suite-release-loading>div{background:var(--azul);color:var(--texto);border:1px solid var(--linea)}
body.portal-actual .setup-code-explainer{background:var(--azul-2);border-color:var(--linea);color:var(--suave)}
body.portal-actual .setup-code-explainer :is(strong,p){color:var(--texto)}

/* app.css has a global footer flex rule; the new public footer owns its grid. */
body.portal-actual>footer.pie-sitio{display:block;background:var(--azul);color:var(--suave);border-color:var(--linea);padding-inline:0;font-size:15px;line-height:1.6}
body.portal-actual>footer.pie-sitio a{color:inherit}
body.portal-actual>.local-banner{background:var(--portal-warn-bg);color:var(--portal-warn);border-color:var(--linea)}
body.portal-actual>.encabezado .marca{min-width:0}
body.portal-actual>.encabezado .marca>span{min-width:0}
body.portal-actual>.encabezado .marca small{max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:1000px){
  body.portal-actual .nr-layout{grid-template-columns:minmax(0,1fr) minmax(260px,310px)}
  body.portal-actual .nr-hero{gap:24px}
}
@media(max-width:900px){
  body.portal-actual>.layout.has-sidebar{display:block}
  body.portal-actual .sidebar{padding:20px;border-right:0;border-bottom:1px solid var(--linea)}
  body.portal-actual .workspace-name{padding:0 8px 14px}
  body.portal-actual .sidebar nav{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-x:contain}
  body.portal-actual .sidebar nav a{flex:none;white-space:nowrap}
  body.portal-actual .sidebar-note{margin:12px 8px 0;padding:12px 0 0}
  body.portal-actual .nr-layout{grid-template-columns:1fr}
  body.portal-actual .nr-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:20px}
  body.portal-actual .nr-side>.nr-card{margin-bottom:0}
}
@media(max-width:700px){
  body.portal-actual>.layout:not(.has-sidebar)>main,
  body.portal-actual>.layout.has-sidebar>main{padding:28px max(16px,env(safe-area-inset-left,0px)) 44px}
  body.portal-actual :is(.r4-hero,.guide-hero,.r18-hero){padding:26px 22px;border-radius:18px}
  body.portal-actual .r4-hero{align-items:flex-start;gap:18px;flex-wrap:wrap}
  body.portal-actual .r4-hero>div{flex:1 1 220px}
  body.portal-actual .r4-hero>img{width:60px;height:60px;border-radius:14px}
  body.portal-actual .nr-hero{grid-template-columns:1fr;gap:22px;margin-bottom:28px}
  body.portal-actual .nr-summary{min-height:0;padding:22px}
  body.portal-actual .nr-summary-empty{min-height:0}
  body.portal-actual .nr-heading{flex-wrap:wrap;gap:10px}
  body.portal-actual .nr-heading h2{margin-bottom:0}
  body.portal-actual .nr-review-top{flex-wrap:wrap}
  body.portal-actual .nr-program{max-width:100%}
  body.portal-actual .nr-side{display:block}
  body.portal-actual .nr-side>.nr-card{margin-bottom:18px}
  body.portal-actual .nr-admin-head{display:block}
  body.portal-actual .guide-v2{gap:30px}
  body.portal-actual .guide-step{grid-template-columns:1fr;gap:14px}
  body.portal-actual .r4-profile-photo-form{grid-template-columns:1fr}
  body.portal-actual .r18-chat-compose-media{grid-template-columns:1fr}
  body.portal-actual .r18-chat-bubble{max-width:92%}
  body.portal-actual .r18-chat-head{flex-wrap:wrap;gap:12px}
  body.portal-actual :is(.account-module-nav,.admin-module-nav) :is(a,button){font-size:13px;padding:10px 14px}
}
@media(max-width:380px){
  body.portal-actual>.encabezado .envoltura{gap:10px}
  body.portal-actual>.encabezado .marca{gap:8px}
  body.portal-actual>.encabezado .marca b{font-size:18px}
  body.portal-actual>.encabezado .marca img{width:36px;height:36px}
  body.portal-actual>.encabezado .marca small{max-width:128px;font-size:11px}
  body.portal-actual .actions{align-items:stretch}
  body.portal-actual .actions>:is(.button,button,form){flex:1 1 100%}
  body.portal-actual .actions>form>button{width:100%}
  body.portal-actual main :is(.card,.r18-card,.nr-card,.nr-review-card){padding:20px 17px}
}
@media print{
  body.portal-actual>.encabezado,body.portal-actual>footer.pie-sitio{display:none}
  body.portal-actual{background:#fff;color:#000;--texto:#000;--suave:#333;--azul:#fff;--noche:#fff;--linea:#ddd}
  body.portal-actual>.layout:not(.has-sidebar)>main,
  body.portal-actual>.layout.has-sidebar>main{padding:0}
  body.portal-actual :is(.card,.r18-card,.nr-card,.nr-review-card,.nr-summary,.r4-hero){box-shadow:none}
}
