/* Shared app chrome; existing workflows and document layouts retain their styles. */
@font-face{font-family:MatticoliMontserrat;src:url('/app-mobile/montserrat.woff') format('woff');font-weight:100 900;font-display:swap}
body[data-matticoli-app],.mobile-app-dialog{font-family:MatticoliMontserrat,Montserrat,Arial,sans-serif}
[hidden]{display:none!important}
.mobile-app-install{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:1100;display:flex;align-items:center;gap:10px;background:#071B2B!important;color:#F4F1EA!important;border:1px solid #CBB88C!important;border-radius:100px!important;padding:8px 16px 8px 8px!important;box-shadow:0 5px 24px #071b2b30;font:600 13px Montserrat,Arial,sans-serif!important;min-height:48px;cursor:pointer}
.mobile-app-install img{border-radius:50%;display:block}
.mobile-app-dialog{box-sizing:border-box;width:min(580px,calc(100% - 28px));max-height:calc(100dvh - 32px);overflow-y:auto;border:1px solid #CBB88C;border-radius:20px;padding:28px;background:#F4F1EA;color:#071B2B;font:15px/1.55 Montserrat,Arial,sans-serif;box-shadow:0 20px 80px #071b2b55}
.mobile-app-dialog::backdrop{background:#071b2baa}
.mobile-app-dialog h2{font-size:25px;font-weight:700;line-height:1.15;letter-spacing:-.5px;margin:8px 0 14px}
.mobile-app-dialog h3{font-size:16px;margin:12px 0;font-weight:700}
.mobile-app-dialog p{margin:10px 0}
.mobile-app-dialog-close{position:absolute;right:12px;top:10px;margin:0}
.mobile-app-dialog-close button{border:0!important;background:transparent!important;color:#071B2B!important;font-size:28px!important;padding:0!important;min-height:44px;min-width:44px;cursor:pointer}
.mobile-app-dialog-icon{display:block;border-radius:16px;margin-bottom:20px}
.mobile-app-eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#826938}
.mobile-app-platforms{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #D9D0BE;margin-top:22px;padding-top:6px}
.mobile-app-platforms ol{padding-left:20px;margin:0;font-size:14px;line-height:1.7}
.mobile-app-platforms li{padding-left:2px;margin:8px 0}
.mobile-app-primary{width:100%;padding:13px;border:0;border-radius:8px;background:#071B2B;color:#F4F1EA;font:600 15px Montserrat,Arial,sans-serif;cursor:pointer}
.mobile-app-note,.mobile-app-install-status{font-size:12px;color:#60707A}
.mobile-app-login-icon{display:block;width:86px;height:86px;margin:0 0 22px;border-radius:20px}
.mobile-app-menu-button{display:none}
.mobile-app-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.mobile-app-offline{margin:0;background:#F4F1EA;color:#071B2B;font:16px/1.6 MatticoliMontserrat,Montserrat,Arial,sans-serif;min-height:100dvh;display:grid;place-items:center}
.mobile-app-offline main{max-width:430px;padding:32px 24px}
.mobile-app-offline h1{font-size:36px;line-height:1.1;letter-spacing:-1px}
.mobile-app-offline img{border-radius:20px;margin-bottom:20px}
.mobile-app-offline .mobile-app-primary{display:block;box-sizing:border-box;text-align:center;text-decoration:none;margin-top:24px}
body[data-matticoli-app]{padding-bottom:84px}
.mobile-app-install,.mobile-app-dialog,.mobile-app-primary,.mobile-app-menu-button{font-family:MatticoliMontserrat,Montserrat,Arial,sans-serif!important}
@media(max-width:700px){
 body[data-matticoli-app]{min-height:100dvh;padding-bottom:calc(88px + env(safe-area-inset-bottom));overflow-wrap:anywhere}
 body[data-matticoli-app] :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px!important;max-width:100%;box-sizing:border-box;min-height:44px}
 body[data-matticoli-app] :is(button,.btn,.button){min-height:44px}
 body[data-matticoli-app] :is(input[type=checkbox],input[type=radio]){min-width:20px;min-height:20px}
 body[data-matticoli-app] dialog:not(.mobile-app-dialog){max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px);overflow:auto}
 .mobile-app-dialog{padding:25px 22px}.mobile-app-platforms{grid-template-columns:1fr;gap:2px}
 body[data-matticoli-app=crm] .crm-mobile-nav a{font-size:13px;min-height:44px;padding:12px}
 body[data-matticoli-app=crm] .crm-shell{padding-bottom:90px}
 body[data-matticoli-app=crm] .login{padding:24px 16px;width:100%;max-width:480px;margin:0 auto}
 body[data-matticoli-app=crm] .login .panel{padding:25px 22px}
 body[data-matticoli-app=admin] .mobile-app-menu-button{display:flex;width:100%;align-items:center;justify-content:space-between;padding:14px 16px;border:0;border-bottom:1px solid #cbb88c55;background:#071B2B;color:#F4F1EA;font:600 14px Montserrat,Arial,sans-serif;cursor:pointer}
 body[data-matticoli-app=admin] .side[data-app-sidebar]:not([data-app-expanded]){display:none!important}
 body[data-matticoli-app=admin] .side[data-app-sidebar][data-app-expanded]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));height:auto!important;position:static!important}
 body[data-matticoli-app=admin] .staff-bar{gap:8px!important;line-height:1.6}
 body[data-matticoli-app=admin] main,body[data-matticoli-app=admin] .main{box-sizing:border-box;min-width:0}
}
@media(display-mode:standalone){body[data-matticoli-app]{padding-bottom:env(safe-area-inset-bottom)}.mobile-app-install{display:none!important}}
@media print{.mobile-app-install,.mobile-app-dialog,.mobile-app-menu-button,.mobile-app-login-icon{display:none!important}body[data-matticoli-app]{padding-bottom:0}.mobile-app-table-wrap{overflow:visible}}
form.mobile-app-dialog-close{padding:0;border:0;background:transparent;box-shadow:none}.mobile-app-dialog-close button{margin:0;width:44px;height:44px}