/* The app owns password visibility. Suppress only Edge's duplicate reveal;
   browser autofill and password-manager affordances remain available. */
input[data-password-input]::-ms-reveal{display:none}

/* Popovers remain reachable in a short viewport, including landscape phones. */
.language-panel{max-height:calc(100dvh - 124px);overflow-y:auto;overscroll-behavior:contain}
.group-panel{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}

@media(max-width:760px){
 html{scrollbar-gutter:auto}
 :root{--header-height:164px}
 .standard-mode .topbar{padding:8px 10px;row-gap:6px;column-gap:6px;align-content:flex-start}
 .standard-mode .topbar>.mobile-menu{width:44px;height:44px;min-width:44px;flex:0 0 44px;margin:0}
 .standard-mode .topbar .brand.brand-interactive{align-self:center;margin-right:auto}
 .standard-mode .header-tools{min-height:44px;gap:7px;flex-wrap:nowrap}
 .standard-mode .header-tools>.theme-toggle,
 .standard-mode .header-tools>.profile-button{width:44px;height:44px;min-width:44px;min-height:44px;top:8px;flex-basis:44px}
 .standard-mode .header-tools>.theme-toggle{right:60px}
 .standard-mode .header-tools>.profile-button{right:10px}
 .standard-mode .header-tools .select-wrap{min-width:0}
 .standard-mode .header-tools .select-wrap select{min-height:44px;max-width:100%;font-size:16px;padding:8px 27px 8px 11px;text-overflow:ellipsis}
 .standard-mode .header-tools>.weather-toggle{width:44px;height:44px;min-width:44px;flex-basis:44px}
 .standard-mode .period-tabs{min-height:46px;padding:0;gap:3px;align-items:stretch}
 .standard-mode .period-tabs button{min-height:44px;min-width:0;padding:7px 9px;font-size:11px;line-height:1.3;white-space:normal}
 .language-control,.auth-mode .language-control{height:44px}
 .language-option{min-height:44px}
 .auth-mode .header-tools>.theme-toggle{width:44px;height:44px;min-width:44px;flex-basis:44px}
 .auth-mode .topbar{padding-left:12px;padding-right:12px}

 .sidebar{width:76px;max-height:calc(100dvh - var(--header-height));padding:10px 8px;gap:10px}
 .sidebar .rail{width:52px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;gap:7px;padding:6px 3px;scrollbar-width:none}
 .sidebar .nav-item{width:44px;height:44px;min-height:44px;flex:0 0 44px}
 .sidebar .rail-indicator{width:44px}
 .sidebar .rail-bottom{flex:0 0 auto;margin-top:0;padding:6px 3px;gap:7px}
 .group-panel-heading .icon-button{width:44px;height:44px;min-width:44px;flex:0 0 44px}

 .workspace{padding-bottom:max(22px,env(safe-area-inset-bottom))}
 .workspace :is(.btn,.page-actions .btn,.product-info .btn){min-height:44px;white-space:normal;line-height:1.4}
 .workspace :is(input.field,select.field,textarea.field),
 dialog :is(input.field,select.field,textarea.field),
 .workspace .search-field input{font-size:16px}
 .workspace :is(input.field,select.field),dialog :is(input.field,select.field){min-height:48px}
 .search-field{min-height:48px}
 .table-wrap{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .table-wrap .btn{min-height:44px}
 .live-pagination{gap:10px;justify-content:center}
 .live-pagination>.btn{flex:0 1 auto}
 .live-dashboard .live-count-row{gap:10px;flex-wrap:wrap}
 .live-dashboard .live-count-row>span{flex:1 1 100px}
 .live-dashboard .live-count-row>.btn{flex:0 0 auto}
 .settings-card p,.modal-body>p{overflow-wrap:anywhere}
 .preference-row{gap:14px}
 .review-tools{flex-wrap:wrap;gap:12px}
 .review-tools .field{width:100%}
 .review-decision-buttons .btn{min-width:0;flex:1 1 160px}

 dialog.modal .modal-head{flex:0 0 auto;gap:14px}
 dialog.modal .modal-head>.icon-button{width:44px;height:44px;min-width:44px;flex:0 0 44px}
 dialog.modal .modal-body{scroll-padding-block:14px;overscroll-behavior:contain}
 dialog.modal .btn{min-height:44px;white-space:normal;line-height:1.4}
 .live-form .live-checkbox,.live-grants label,.review-company-options label{min-height:44px;align-items:center}
 .live-form .live-checkbox input{margin-top:0}
 .live-line-row>.btn{align-self:end}
 .password-field>.icon-button.password-toggle,
 .registration-form .password-field>.icon-button.password-toggle{width:44px;height:44px;min-height:44px;right:2px}
 .password-field>input.field,.registration-form .password-field>input.field{padding-right:52px}
 .auth-mode:has(#login-form) .auth-card .field{font-size:16px;min-height:48px;height:48px}
 .weather-panel .icon-btn{width:44px;height:44px;min-width:44px}
 .weather-panel .weather-city-row select{font-size:16px;min-height:44px}
 .weather-forget{min-height:44px}
}

@media(max-width:380px){
 .auth-mode .header-tools{gap:6px}
 .auth-mode .language-control{--language-width:56px;height:44px}
 .auth-mode .topbar .brand.brand-interactive{width:160px;min-width:160px;flex-basis:160px}
 .auth-mode .brand-stage{transform:scale(.80)}
 .standard-mode .period-tabs button{font-size:10px;padding-inline:5px}
 .live-line-row{grid-template-columns:minmax(0,1fr)}
 .live-line-row>.form-field:first-child{grid-column:auto}
 .live-line-row>.btn{justify-self:stretch}
}

@media(pointer:coarse) and (min-width:761px){
 .workspace :is(input.field,select.field,textarea.field),dialog :is(input.field,select.field,textarea.field){font-size:16px}
 .workspace .btn,dialog .btn,.language-option{min-height:44px}
}
