/* Shared controls: checkboxes are not full-width text fields. */
input[type="checkbox"],input[type="radio"]{width:20px!important;height:20px!important;min-height:20px!important;min-width:20px;max-width:20px;padding:0!important;flex:0 0 20px;accent-color:#2e6a59;vertical-align:middle}
label:has(>input[type="checkbox"]),label:has(>input[type="radio"]){display:flex!important;align-items:center;justify-content:flex-start;gap:10px;line-height:1.5;min-height:40px}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-width:0;max-width:100%;box-sizing:border-box}
.form>* ,.split>*,.range>*,.row>*,.section-head>*{min-width:0}
[hidden]{display:none!important}
.about-change>b,#mobileAboutChanges b,#aboutVersion,#mobileAboutVersion{white-space:nowrap}
#mobileAboutChanges>.row{grid-template-columns:1fr!important;gap:5px}
#mobileAboutChanges>.row>b{font-size:15px;line-height:1.4}
#mobileAboutChanges>.row>small{margin:0;font-size:13px}
.mobile-about .section-head{gap:12px;flex-wrap:wrap}
.mobile-about .section-head h3{font-size:22px}
.update-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}
.update-controls button,.rollover-panel button{min-height:44px;padding:10px 15px}
.update-controls label{margin:0;font-size:14px;color:inherit}
.update-help{font-size:13px;color:#69756f;line-height:1.6}
.rollover-panel{padding:20px;margin-top:16px;border:1px solid #d5dcd5;border-radius:18px;background:#fffefa}
.rollover-panel .rollover-tools{display:flex;align-items:end;flex-wrap:wrap;gap:10px}
.rollover-panel input{max-width:140px}.rollover-result{line-height:1.7;overflow-wrap:anywhere}
.table{max-width:100%;overflow-x:auto}.table table{width:100%}
@media(max-width:719px){
 #app>header{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-height:0;padding: max(14px,env(safe-area-inset-top)) 16px 12px}
 #app>header h2{font-size:clamp(23px,6.2vw,30px);line-height:1.3;overflow-wrap:anywhere;margin-top:3px}
 .mobile-header-actions{justify-content:flex-end;width:100%;margin:0}
 #app>nav{top:var(--finance-header-bottom,145px);max-height:calc(100dvh - var(--finance-header-bottom,145px) - 16px)}
 .mobile-role-guide .row{grid-template-columns:1fr;gap:3px}
 .mobile-role-guide .row small{text-align:left;font-size:13px}
 .row{overflow-wrap:anywhere}.annual-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}
 .history-tools{display:flex;flex-wrap:wrap;gap:8px}.history-tools button{white-space:normal}
 .form.four,.form.two,.split,.split.narrow{grid-template-columns:minmax(0,1fr)!important}
 .rollover-tools{align-items:stretch!important}.rollover-tools>button{flex:1 1 140px}
}
@media(min-width:720px){
 .about-change{grid-template-columns:max-content minmax(0,1fr)!important}
 #accountMasterForm{align-content:start}#accountMasterForm>label:has(input[type="checkbox"]){grid-column:1/-1;margin:3px 0}
 #departmentForm,#projectForm{margin-top:0}#projectForm{margin-top:18px}
 #masterRows{margin-top:18px;padding-top:12px;border-top:1px solid #ddd8cd}
 .report-bar{flex-wrap:wrap;gap:12px}
}
@media(min-width:720px) and (max-width:1100px){.form.four{grid-template-columns:repeat(2,minmax(0,1fr))!important}.split{grid-template-columns:minmax(0,1fr)!important}}

@media(max-width:719px){.admin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.admin-tabs button{min-height:44px;white-space:normal}}

.mobile-about,.rollover-panel{scroll-margin-top:160px}.table th,.table td{padding:10px;text-align:left;white-space:nowrap}.table th{border-bottom:1px solid #ddd8cd}
