#portalAuthenticated.portal-shell{--portal-rail:64px;box-sizing:border-box;padding-left:var(--portal-rail);min-height:100dvh}
.portal-shell .app>.shell{display:block!important;grid-template-columns:minmax(0,1fr)!important;min-height:calc(100dvh - 80px)}
#portalAuthenticated .portal-sidebar{position:fixed!important;inset:0 auto 0 0!important;z-index:90;width:var(--portal-rail)!important;max-width:280px;min-height:0!important;height:100dvh;padding:8px 6px!important;overflow-x:hidden;overflow-y:auto;background:var(--brand,#c91526);color:white;border:0;box-shadow:2px 0 9px #0001;transition:width .16s ease;overscroll-behavior:contain}
#portalAuthenticated .portal-sidebar.portal-nav-open{width:248px!important;box-shadow:7px 0 22px #0003}
.portal-nav-top{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-bottom:10px}
.portal-nav-top>a{display:flex;align-items:center;justify-content:center;flex:1;min-width:40px;min-height:36px}
.portal-nav-top img{width:46px;height:32px;object-fit:contain;background:white;border-radius:7px;padding:3px}
.portal-nav-top .portal-nav-toggle{width:40px;min-width:40px;min-height:32px;padding:3px;border:1px solid #fff7;border-radius:6px;background:transparent;color:white;font-size:20px}
.portal-sidebar.portal-nav-open .portal-nav-top{flex-wrap:nowrap;justify-content:space-between}
.portal-sidebar.portal-nav-open .portal-nav-top img{width:82px;height:40px}
#portalAuthenticated .portal-sidebar .nav{display:flex!important;flex-direction:column;gap:3px;margin:0;padding:0}
#portalAuthenticated .portal-sidebar .nav>a,#portalAuthenticated .portal-sidebar .nav>button{display:flex;align-items:center;gap:12px;flex:none;width:100%;min-height:39px;padding:9px 13px!important;margin:0;border:0;border-radius:7px;background:transparent;color:white;white-space:nowrap;text-decoration:none!important;font:600 13px/1.3 system-ui;text-align:left;overflow:hidden;box-sizing:border-box}
#portalAuthenticated .portal-sidebar .nav>.active,#portalAuthenticated .portal-sidebar .nav>a:hover,#portalAuthenticated .portal-sidebar .nav>button:hover{background:var(--accent,#ffdb4b);color:#342700}
.portal-nav-icon{display:block;width:22px;min-width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.portal-sidebar .portal-nav-label{visibility:hidden;white-space:normal;min-width:160px;overflow-wrap:normal}
.portal-sidebar.portal-nav-open .portal-nav-label{visibility:visible}
#portalAuthenticated .portal-sidebar .nav>[hidden],#portalAuthenticated .portal-sidebar .nav>.portal-denied{display:none!important}
.portal-generated-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 24px;background:var(--header);border-bottom:1px solid var(--line)}
#portalAuthenticated .portal-session{display:flex;gap:9px;align-items:center;flex-wrap:wrap;width:auto;margin:0;padding:0;background:transparent;border:0;font:13px/1.3 system-ui;color:var(--text)}
.portal-session>span{max-width:210px;overflow-wrap:anywhere}.portal-session button{margin:0;min-height:36px;padding:7px 12px;font:inherit}
.portal-shell #userName{display:none!important}
.portal-logo-link{display:inline-flex;align-items:center;flex:none;text-decoration:none}
.portal-shell header .header-actions,.portal-shell header .top-actions,.portal-shell header .air-header-actions,.portal-shell header>.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.portal-welcome{max-width:920px;margin:32px auto;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow)}
.portal-welcome h1{margin:0 0 12px}.portal-welcome p{line-height:1.6;color:var(--muted)}
.portal-welcome .portal-welcome-tip{margin-top:24px;padding:16px;border-left:4px solid var(--brand);background:var(--panel-soft)}
@media(max-width:700px){#portalAuthenticated.portal-shell{--portal-rail:54px}.portal-sidebar .nav>a,.portal-sidebar .nav>button{padding-left:9px!important}.portal-nav-icon{width:20px;min-width:20px}.portal-welcome{margin:18px 0;padding:18px}.portal-session>span{max-width:160px}.portal-shell header .header-actions{width:auto;flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){#portalAuthenticated .portal-sidebar{transition:none}}
@media print{#portalAuthenticated.portal-shell{padding-left:0}.portal-sidebar,.portal-session{display:none!important}}
/* TC21: largura sempre contida; só rolagem vertical. */
@media screen{
 .portal-tc21 .table-wrap{overflow-x:hidden!important;overflow-y:auto!important;max-height:570px}
 .portal-tc21 table{display:table!important;table-layout:fixed;width:100%!important;min-width:0!important;max-width:100%!important;font-size:12px}
 .portal-tc21 thead{display:table-header-group!important}.portal-tc21 tbody{display:table-row-group!important}
 .portal-tc21 tr{display:table-row!important}.portal-tc21 th,.portal-tc21 td{display:table-cell!important;min-width:0!important;max-width:100%;padding:8px 7px!important;white-space:normal!important;overflow-wrap:anywhere;vertical-align:top;line-height:1.3}
 .portal-tc21 td::before{display:none!important}.portal-tc21 th{font-size:11px}.portal-tc21 td small{font-size:11px;line-height:1.25}.portal-tc21 .observed-item{min-width:0!important;line-height:1.35}.portal-tc21 .observed-item+.observed-item{margin-top:7px;padding-top:7px}
 .portal-tc21 th[hidden],.portal-tc21 td[hidden]{display:none!important}
 .portal-tc21 .panels{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr)}
 .portal-tc21 table[data-portal-table-kind=tc21-events] th[data-portal-column=select]{width:6%;font-size:0}
 .portal-tc21 table[data-portal-table-kind=tc21-events] th[data-portal-column=select]::after{content:'✓';font-size:12px}
 .portal-tc21 table[data-portal-table-kind=tc21-events] th[data-portal-column=address]{width:23%}
 .portal-tc21 table[data-portal-table-kind=tc21-events] th[data-portal-column=product]{width:37%}
 .portal-tc21 table[data-portal-table-kind=tc21-events] th[data-portal-column=kind]{width:14%}
 .portal-tc21 table[data-portal-table-kind=tc21-events] th[data-portal-column=status]{width:20%}
 .portal-tc21 table:has(#products) th:first-child{width:46%}.portal-tc21 table:has(#products) th:nth-child(2){width:23%}.portal-tc21 table:has(#products) th:nth-child(3){width:10%}.portal-tc21 table:has(#products) th:nth-child(4){width:21%}
}
@media screen and (max-width:1200px){.portal-tc21 .panels{grid-template-columns:minmax(0,1fr)!important}}
@media screen and (max-width:760px){
 .portal-tc21 table[data-portal-table-kind=tc21-events],.portal-tc21 table[data-portal-table-kind=tc21-events] tbody{display:block!important}
 .portal-tc21 table[data-portal-table-kind=tc21-events] thead{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)}
 .portal-tc21 table[data-portal-table-kind=tc21-events] tr{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.45fr);gap:2px 8px;border-bottom:1px solid var(--line);padding:8px 0!important;margin:0!important;border-radius:0!important}
 .portal-tc21 table[data-portal-table-kind=tc21-events] td{display:block!important;width:auto!important;padding:3px 4px!important;border:0!important}
 .portal-tc21 table[data-portal-table-kind=tc21-events] td[data-label=Selecionar]{grid-column:1/-1;padding:0 4px!important}
 .portal-tc21 table[data-portal-table-kind=tc21-events] td:empty{display:none!important}
 .portal-tc21 table[data-portal-table-kind=tc21-events] td[colspan]{grid-column:1/-1}
 .portal-tc21 td .review{padding:5px 7px!important;min-height:30px;font-size:11px}
}

/* Sessão encostada à direita, separada dos filtros de apresentação. */
.portal-shell header .header-actions,.portal-shell header .top-actions,.portal-shell header .air-header-actions,.portal-shell header>.actions{flex:1 1 auto;justify-content:flex-end}
#portalAuthenticated header .portal-session{margin-left:auto!important;padding-left:28px!important;justify-content:flex-end}
@media(max-width:600px){#portalAuthenticated header .portal-session{padding-left:12px!important}}

/* Mobile: navegação sob demanda, cabeçalho compacto e uma única marca. */
.portal-mobile-menu,.portal-mobile-shade,.portal-mobile-title,.portal-open-modules{display:none}
.portal-mobile-settings{display:contents}.portal-mobile-settings>summary{display:none}
@media screen and (max-width:700px){
 #portalAuthenticated.portal-shell{padding-left:0!important;--portal-rail:0px}
 #portalAuthenticated .portal-sidebar{width:min(86vw,300px)!important;max-width:300px;transform:translateX(-105%);visibility:hidden;transition:transform .18s ease,visibility .18s ease;z-index:110;padding:14px!important}
 #portalAuthenticated .portal-sidebar.portal-nav-open{width:min(86vw,300px)!important;transform:translateX(0);visibility:visible}
 .portal-sidebar .portal-nav-label{visibility:visible;min-width:0}.portal-sidebar .portal-nav-icon{display:none}
 .portal-sidebar .portal-nav-top>a{display:none}.portal-sidebar .portal-nav-top{justify-content:flex-end;flex-wrap:nowrap}
 .portal-sidebar .portal-nav-toggle{min-height:40px}.portal-sidebar .portal-nav-toggle::after{content:' Fechar';font-size:13px}.portal-sidebar .portal-nav-top .portal-nav-toggle{width:auto}
 #portalAuthenticated .portal-sidebar .nav>a,#portalAuthenticated .portal-sidebar .nav>button{min-height:44px;font-size:15px;padding:11px 12px!important}
 .portal-mobile-shade:not([hidden]){display:block;position:fixed;inset:0;z-index:105;background:#0006;border:0;border-radius:0;margin:0;padding:0;width:100%;height:100dvh}
 .portal-mobile-menu{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;min-height:42px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font-size:23px}
 .portal-shell header{position:relative;gap:8px;min-width:0}
 .portal-index header.topbar{display:flex!important;flex-wrap:nowrap!important;flex-direction:row!important;align-items:center;gap:8px;padding:10px 12px;border-bottom:2px solid var(--brand-2);min-height:68px}
 .portal-index header .brand{flex:1;min-width:0;gap:8px;align-items:center}
 .portal-index header .brand-mark.mika-image-mark{width:58px;height:36px;flex:0 0 58px}
 .portal-index header .brand-mark img{width:58px;height:36px;object-fit:contain}
 .portal-index header .brand-text{min-width:0;display:block}
 .portal-index header .brand-text>strong,.portal-index header .brand-text>span:not(.portal-mobile-title){display:none}
 .portal-index header .brand-text>.portal-mobile-title{display:block;white-space:nowrap;font-size:clamp(11px,3.4vw,15px);font-weight:700;line-height:1.2;color:var(--brand)}
 .portal-mobile-settings{display:block;flex:none;position:static}
 .portal-mobile-settings>summary{display:flex;align-items:center;justify-content:center;list-style:none;width:36px;min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font-size:15px;cursor:pointer}
 .portal-mobile-settings>summary::-webkit-details-marker{display:none}
 #portalAuthenticated header .portal-mobile-settings>.header-actions,#portalAuthenticated header .portal-mobile-settings>.top-actions,#portalAuthenticated header .portal-mobile-settings>.air-header-actions,#portalAuthenticated header .portal-mobile-settings>.actions{display:none!important}
 #portalAuthenticated header .portal-mobile-settings[open]>.header-actions,#portalAuthenticated header .portal-mobile-settings[open]>.top-actions,#portalAuthenticated header .portal-mobile-settings[open]>.air-header-actions,#portalAuthenticated header .portal-mobile-settings[open]>.actions{display:flex!important;position:absolute;top:calc(100% + 6px);right:10px;z-index:100;box-sizing:border-box;width:min(330px,calc(100vw - 20px));max-height:70dvh;overflow-y:auto;flex-direction:column;align-items:stretch;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 10px 32px #0002}
 #portalAuthenticated header .portal-session{width:100%;margin:0!important;padding:0!important;justify-content:flex-start;gap:9px}
 .portal-mobile-settings .portal-session>span{max-width:none;flex:1 1 100%;font-weight:600}
 .portal-mobile-settings .portal-session>button{min-height:42px}
 .portal-mobile-settings .portal-theme-control{display:flex;align-items:center;justify-content:space-between;gap:10px}.portal-mobile-settings select{min-width:0;max-width:230px}
 .portal-index header #modePill{display:none!important}
 .portal-index main.main{padding:16px!important;min-width:0}
 .portal-index .portal-welcome{margin:8px 0;padding:22px 20px;border-radius:12px;box-shadow:none}
 .portal-index .portal-welcome h1{font-size:24px;line-height:1.25;margin:0 0 10px}
 .portal-index .portal-welcome p{font-size:15px;line-height:1.5;margin:0 0 20px}
 .portal-index .portal-welcome-tip{display:none}
 .portal-open-modules{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;font-size:15px;font-weight:600;border:0;border-radius:8px;background:var(--brand);color:#fff}
}
@media print{.portal-mobile-menu,.portal-mobile-settings,.portal-open-modules,.portal-mobile-shade{display:none!important}}

