/* Phase 1 shared UI. Native form controls, theme colors and financial rules are retained. */
:root{--ami300-menu-size:15px;--ami300-control-size:14px;--ami300-gap:8px}
body.ami300-app .sidebar.ami293-sidebar .nav-section:not([data-group="hrms-group"]):not([data-group="finance-group"]) .nav-child,
body.ami300-app .sidebar.ami293-sidebar .nav-section:not([data-group="hrms-group"]):not([data-group="finance-group"]) .nav-child-label{font-family:var(--ami-display-font,Arial,sans-serif)!important;font-size:var(--ami300-menu-size)!important;font-weight:600!important;line-height:1.35!important}
body.ami300-app .sidebar [data-group="finance-group"] .nav-child-label{font:inherit!important}
html body #content.ami300-content :is(.subnav:not(.hrms192-topbar),.rzx16-tabs,.cb104-subnav,.task22-subnav,.b277-tabs,.brick58-master-tabs)>:is(.btn,.brick44-tab,.cb104-nav,button){font-family:var(--ami-display-font,Arial,sans-serif)!important;font-size:var(--ami300-menu-size)!important;font-weight:600!important;line-height:1.35!important;min-height:40px!important;white-space:nowrap}
html body #content.ami300-content.ami185-finance>.ami182-topbar .pt37-nav{font-family:var(--ami185-font,var(--ami-display-font))!important;font-size:var(--ami185-top-size,var(--ami300-menu-size))!important}
#content.ami300-content :is(.subnav,.rzx16-tabs,.cb104-subnav,.task22-subnav){max-width:100%;box-sizing:border-box;gap:var(--ami300-gap);scrollbar-width:thin}
#content.ami300-content :is(.report-page-head,.report-page-actions,.toolbar,.rzx201-detail-actions,.rzx16-page-head){gap:var(--ami300-gap);flex-wrap:wrap;min-width:0;max-width:100%;box-sizing:border-box}
#content.ami300-content :is(.report-page-actions,.rzx201-detail-actions)>.btn{height:auto;min-height:38px;white-space:normal;line-height:1.35}
#content.ami300-content :is(.table-wrap,.rzx16-table-wrap,.cb-table-wrap){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
#content.ami300-content :is(.field,label){min-width:0}
#content.ami300-content :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),select,textarea){max-width:100%;box-sizing:border-box}
#content.ami300-content :is(.btn,input,select,textarea):focus-visible,.modal :is(.btn,input,select,textarea):focus-visible{outline:2px solid var(--primary,#2563eb);outline-offset:2px}
#content.ami300-content .btn:disabled,.modal .btn:disabled{cursor:wait;opacity:.6}
body.ami300-app .modal-box{max-height:calc(100dvh - 24px);box-sizing:border-box;display:flex;flex-direction:column;min-width:0}
body.ami300-app .modal-head{flex-shrink:0;gap:10px}
body.ami300-app .modal-body{overflow:auto;min-height:0;overscroll-behavior:contain}
.ami300-find{width:auto!important;min-height:30px!important;min-width:0!important;flex:0 0 auto!important;padding:4px 8px!important;font-size:12px!important;align-self:flex-start;margin-top:4px}
.ami300-picker{display:grid;gap:12px}.ami300-picker label{display:grid;gap:6px}.ami300-picker input{width:100%;box-sizing:border-box;min-height:40px}.ami300-options{display:grid;gap:5px;max-height:45dvh;overflow-y:auto}.ami300-options>.ami300-option{width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere}.ami300-option.active{border-color:var(--primary,#2563eb)}
/* Bank contact filters added in v299 need room to wrap. */
#content.ami300-content .rzx259-search{max-width:100%;flex-wrap:wrap!important}
#content.ami300-content .rzx259-search label{flex:1 1 130px!important}
@media(max-width:640px){
 #content.ami300-content :is(.report-page-actions,.rzx201-detail-actions){width:100%;display:flex;flex-wrap:wrap}
 #content.ami300-content :is(.report-page-actions,.rzx201-detail-actions)>.btn{flex:1 1 auto;max-width:100%}
 #content.ami300-content :is(.rzx259-contact-title,.rzx259-contact-actions){flex-wrap:wrap!important;white-space:normal}
 #content.ami300-content .rzx259-contact-title #rzx205-total{white-space:normal}
 body.ami300-app .modal{padding:8px;box-sizing:border-box}
 body.ami300-app .modal-box{max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)}
 .ami300-picker input{font-size:16px}
}
