/* Shared screen-only controls. Printed documents and poster artwork retain their own styles. */
@media screen{
 body{--ui-line:#d2dfd7;--ui-focus:#28765d}
 button{min-height:42px;line-height:1.35;touch-action:manipulation;max-width:100%;overflow-wrap:break-word}
 button:disabled{cursor:not-allowed}
 :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}
 :is(.actions,.cm-actions,.ie-actions,.pb-tools,.fp-actions,.dialog-actions,.guest-form-actions,.group-actions){gap:10px;align-items:center}
 :is(.program-navigation,.cm-links,.organizer-links,.toolbar,.bottom-tools)>a:not(.brand),a.ui-action-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 14px;border:1px solid var(--ui-line);border-radius:10px;background:#fff;color:#245d4b;text-align:center;text-decoration:none;line-height:1.35;font-size:14px;box-sizing:border-box}
 :is(.program-navigation,.cm-links,.organizer-links,.toolbar,.bottom-tools)>a:hover{background:#edf5ee;border-color:#9bb9a6}
 .program-navigation{align-items:stretch;gap:8px}.program-navigation>button,.program-navigation>a{display:inline-flex;align-items:center;justify-content:center;margin:0;line-height:1.35}
 .top{min-height:70px;height:auto;padding-top:12px;padding-bottom:12px}.top>a:not(.brand){display:inline-flex;align-items:center;justify-content:center;min-height:42px;flex-shrink:0}
 .shell,.main,.cm-layout,.cm-panel,.cm-sidebar,.ie-top,.ie-grid,.mk-grid,.fp-grid,.layout,.panel,.program-panel{min-width:0}
 :is(.cm-grid,.ie-grid,.grid,.guest-grid,.guest-info-grid,.guest-visit-times)>label{min-width:0}
 :is(.cm-grid,.ie-grid,.grid,.guest-grid,.guest-info-grid,.guest-visit-times) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){max-width:100%;box-sizing:border-box}
 input[type=file]{max-width:100%;font:inherit;color:inherit;min-height:44px}
 input[type=file]::file-selector-button{min-height:42px;padding:9px 13px;margin-right:12px;border:1px solid #bacebf;border-radius:9px;background:#edf5ed;color:#235b49;font:inherit;font-weight:600;cursor:pointer}
 .mk-upload{min-height:44px}
 :is(.guest-pagination,.guest-controls,.admin-filters,.cm-toolbar,.finance-controls,.finance-filters,.toolbar-actions){gap:10px}
 :is(.request,.cm-access-card,.document-card,.fp-info,.mk-card){overflow-wrap:anywhere}
 .request>header{gap:12px;align-items:start}.request>header>div{min-width:0}
 .ui-table-scroll,.table-wrap,.ie-table-wrap,.services-scroll{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .ui-table-scroll{overflow:auto;border:1px solid #d9e4dc;border-radius:10px;scrollbar-gutter:stable}
 .ui-table-scroll:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}
 dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);box-sizing:border-box}
 dialog:has(>.dialog-head){padding:0;overflow:hidden}
 :is(.dialog-head,.dialog-header){min-height:64px;gap:12px;align-items:center;flex-shrink:0}
 :is(.dialog-head,.dialog-header) h2{min-width:0;line-height:1.3;margin:0}
 :is(.dialog-head,.dialog-header) button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:7px;border-radius:9px;flex-shrink:0;line-height:1}
 :is(.dialog-body,#dialogBody){max-height:calc(100dvh - 130px);overflow:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;min-width:0}
 .guest-form-actions{display:flex;flex-wrap:wrap;gap:9px;border-top:1px solid #e0e8e2;z-index:3}
 .guest-form-actions .error:not(:empty){flex:1 0 100%}
 .cm-toolbar>button,.cm-tabs>button{white-space:normal}
 #cmStatus:empty,#ieStatus:empty,#ieUploadStatus:empty{display:none}
}
@media screen and (max-width:760px){
 body{font-size:15px}
 .shell{padding-left:14px;padding-right:14px}.main{padding-left:12px;padding-right:12px;padding-bottom:112px}
 button{min-height:44px;font-size:14px}
 input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{font-size:16px!important;max-width:100%;min-width:0;min-height:44px}
 input[type=checkbox],input[type=radio]{flex-shrink:0;min-width:20px;min-height:20px;vertical-align:middle}
 input[type=file]{font-size:14px!important;min-height:44px;overflow:hidden}
 .top{padding:10px 14px;gap:10px;flex-wrap:wrap;min-height:64px}.top>.ui-header-context{display:none}.top>.brand{margin-right:auto}.top>a:not(.brand){font-size:13px;max-width:52%;text-align:right}
 #workspace>header{padding:10px 12px;gap:8px;min-height:64px;height:auto}#workspace>header>.brand{flex-shrink:0}.header-right{gap:7px;min-width:0;max-width:calc(100% - 105px)}.header-right #userName{max-width:70px}.header-right #logout{font-size:12px;min-height:44px;padding:8px}.header-right #extraMealBell{min-width:44px;min-height:44px}
 .hero{padding:20px;border-radius:16px;margin-bottom:16px}.hero h1{font-size:28px;line-height:1.16;margin-bottom:10px}.hero p{font-size:14px;line-height:1.5}.hero:after{right:5px}
 .program-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}
 .program-navigation>button,.program-navigation>a{width:100%;min-height:46px;padding:10px 9px;white-space:normal;min-width:0;font-size:13px;line-height:1.35}
 .program-navigation>:last-child:nth-child(odd){grid-column:1/-1}
 .module-nav.compact-module-nav>button,.module-nav.compact-module-nav>.nav-direct,.module-nav.compact-module-nav>.nav-group>summary{min-height:46px;font-size:13px;line-height:1.35}
 .compact-module-nav .nav-popover{max-width:calc(100vw - 36px);max-height:60dvh;overflow:auto;overscroll-behavior:contain}
 .compact-module-nav .nav-popover a{min-height:44px;display:flex;align-items:center;font-size:14px}
 :is(.actions,.ie-actions,.cm-actions,.dialog-actions,.toolbar-actions){gap:8px;align-items:stretch}
 :is(.actions,.ie-actions,.cm-actions,.dialog-actions,.toolbar-actions)>:is(button,a){flex:1 1 135px;white-space:normal;min-height:44px;text-align:center}
 .title-row .actions{width:100%}.title-row .actions button{flex:1}
 :is(.panel,.program-panel,.request,.cm-panel,.cm-sidebar){padding:16px;border-radius:12px}
 .cm-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cm-toolbar>.cm-tabs{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.cm-toolbar button{width:100%;min-height:46px}
 .cm-layout{gap:14px}.cm-grid,.ie-grid,.grid{grid-template-columns:minmax(0,1fr)}.cm-grid .cm-wide{grid-column:auto}.cm-group-list{max-height:230px}
 .cm-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cm-links>a{font-size:13px;padding:10px;min-height:46px}
 .cm-access-card{padding:13px}.cm-check,.cm-checklist label{min-height:40px;line-height:1.4;align-items:start!important}.cm-checklist input,.cm-check input{margin-top:2px}
 .ie-top{padding:16px;gap:12px}.ie-total{font-size:19px}.ie-check{align-items:start}.ie-check input{margin-top:3px}
 .guest-controls,.finance-filters,.admin-filters{align-items:stretch;gap:9px}.guest-controls>label,.guest-controls>select,.guest-controls>input{flex:1 1 145px;min-width:0}.guest-controls>button{flex:1 1 140px}
 .visit-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.visit-row>label:first-child{grid-column:1/-1}
 .guest-info-grid{grid-template-columns:minmax(0,1fr)}.guest-visit-times{grid-template-columns:1fr 1fr}
 #guestForm .guest-form-actions{padding:12px 14px}.guest-form-actions>button{flex:1 1 140px}
 .guest-pagination{flex-wrap:wrap;gap:9px}.guest-pagination>button{min-height:44px}
 dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:14px}
 :is(.dialog-head,.dialog-header){padding:12px 14px;min-height:62px}.dialog-head h2{font-size:19px}
 :is(.dialog-body,#dialogBody){padding:14px;max-height:calc(100dvh - 110px)}
 dialog:not(:has(>.dialog-head)){overflow:auto}
 .toast{left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));max-width:none;width:auto;transform:none;font-size:14px;line-height:1.4;z-index:100}
 body:has(#financeModule:not([hidden])) .toast{bottom:calc(82px + env(safe-area-inset-bottom))}
 .finance-group>summary{gap:10px;align-items:start}.finance-group>summary>span:last-child{max-width:40%;line-height:1.5}.finance-group>summary b{font-size:14px;line-height:1.4}.group-actions>button{font-size:13px;min-height:44px}
 .bottom-tools>div{gap:8px}.bottom-tools a{min-height:44px}.table-foot{line-height:1.5}
 .organizer-links a{min-height:44px;line-height:1.35;font-size:13px}.mk-actions,.fp-actions{flex-wrap:wrap}.mk-actions button,.fp-actions button{min-height:44px}
 .fp-days{max-width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.fp-days button{min-height:44px;flex-shrink:0;font-size:13px}
 .ui-table-scroll{max-height:65dvh}
 .ui-header-context{overflow-wrap:anywhere}
}
@media screen and (max-width:380px){
 .module-nav.compact-module-nav>button,.module-nav.compact-module-nav>.nav-direct,.module-nav.compact-module-nav>.nav-group>summary{font-size:12px;padding:9px 6px}
 .hero h1{font-size:26px}.program-navigation>button,.program-navigation>a{font-size:12px}
 .cm-links{grid-template-columns:1fr}.header-right #userName{max-width:52px}
}
@media print{.ui-table-scroll{overflow:visible!important;max-height:none!important;border:0!important}.ui-screen-only{display:none!important}}
@media screen{
 :is(.actions,.ie-actions,.cm-actions,.dialog-actions,.toolbar-actions)>a[href]{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 14px;border:1px solid var(--ui-line);border-radius:10px;background:#fff;color:#245d4b;text-decoration:none;font-size:14px;line-height:1.35;text-align:center;box-sizing:border-box}
}
@media screen and (max-width:760px){.table-wrap>.ui-wide-table{min-width:800px}}

@media screen and (max-width:760px){.ui-touch-target{min-height:44px!important}.ui-touch-target:not(input):not(select):not(textarea){font-size:13px!important}.ui-icon-target{min-width:44px!important}}
