:root{
  --bpms-blue:#173f8f;
  --bpms-blue-dark:#102a66;
  --bpms-gold:#f2a51a;
  --bpms-bg:#f3f6fa;
  --bpms-card:#fff;
  --bpms-line:#dce4ee;
  --bpms-text:#17233b;
  --bpms-muted:#65738a;
  --bpms-danger:#c60024;
  --bpms-radius:14px;
  --bpms-shadow:0 8px 24px rgba(15,42,102,.08);
}

html{min-width:0;overflow-x:hidden}
body{min-width:0;overflow-x:hidden;-webkit-text-size-adjust:100%}
img,video,canvas,iframe{max-width:100%}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{touch-action:manipulation}

/* One navigation model: module shortcuts live on Home; mobile modules use Menu. */
.mobile-bottom-nav,#bpmsFileDropQuickLink,.bpms-role-strip,.bpms-role-summary{display:none!important}
body:not(.bpms-streamlined-home) #bpmsFab,
body:not(.bpms-streamlined-home) #bpmsForcedCreateFab,
body:not(.bpms-streamlined-home) .bpms-mobile-fab,
body:not(.bpms-streamlined-home) .bpms-mobile-fab-menu,
body:not(.bpms-streamlined-home) .bpms-fab-backdrop{display:none!important}

/* Language is selected once on Home and remembered everywhere. */
body:not(.bpms-streamlined-home) #languageMode,
body:not(.bpms-streamlined-home) select.lang,
body:not(.bpms-streamlined-home) [data-bpms-language-select],
body:not(.bpms-streamlined-home) .bpms-language-control{display:none!important}

.bpms-skip-link{position:fixed;left:12px;top:-80px;z-index:999999;background:#fff;color:var(--bpms-blue-dark);padding:10px 14px;border-radius:8px;font-weight:800;box-shadow:var(--bpms-shadow)}
.bpms-skip-link:focus{top:12px}

@media(max-width:760px){
  body{background:var(--bpms-bg);padding-bottom:max(12px,env(safe-area-inset-bottom))!important}
  main,.container,.wrap,.shell,.bpms-page{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
  main,.container,.wrap{padding-left:12px!important;padding-right:12px!important}
  section,.card,.panel,.module-card{max-width:100%;min-width:0}
  h1{font-size:clamp(1.45rem,7vw,2rem);line-height:1.15}
  h2{font-size:clamp(1.18rem,5.4vw,1.55rem);line-height:1.2}
  p{line-height:1.5}
  .grid,.form-grid,.fields{grid-template-columns:1fr!important;gap:12px!important}
  .span2,.span3,.full{grid-column:1!important}
  label{min-width:0}
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{width:100%;max-width:100%;min-width:0;min-height:46px}
  textarea{min-height:104px}
  button,.btn,.button{min-height:44px}
  .actions,.form-actions,.toolbar,.toolbar-right,.quick-actions{max-width:100%}
  .table-wrap{width:100%;max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch;border-radius:10px}
  table{width:100%;min-width:680px}
  th,td{padding:9px 10px!important;vertical-align:top}
  .row-actions{display:flex;flex-wrap:wrap;gap:6px}
  .row-actions button,.row-actions .btn{min-height:38px;padding:7px 10px}
  .modal,.dialog{padding:10px!important}
  .modal-content,.dialog-content{width:min(100%,620px)!important;max-height:calc(100dvh - 20px);overflow:auto}
}

@media(max-width:430px){
  main,.container,.wrap{padding-left:9px!important;padding-right:9px!important}
  .card,.panel{border-radius:12px!important}
  .actions,.form-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .actions>*,.form-actions>*{width:100%!important}
}

@media print{
  .bpms-skip-link,.mobile-bottom-nav,#bpmsFileDropQuickLink,#bpmsFab,#bpmsForcedCreateFab,.bpms-mobile-fab,.bpms-mobile-fab-menu,.bpms-fab-backdrop{display:none!important}
}
