:root{--navy:#071d36;--blue:#064d9b;--orange:#ba4b00;--paper:#f0f4f8;--line:#cfdae6}
[hidden]{display:none!important}
body{background:var(--paper)}
header{background:var(--navy);padding:12px 16px}
header .brand{max-width:900px;margin:auto}
header .brand img{width:clamp(74px,20vw,108px)}
.statusbar{background:#102d53;position:static}
main{max-width:900px;margin:auto;padding:12px 12px 90px}
body[data-mobile-signed-in] #authPanel{padding:8px 12px}
body[data-mobile-signed-in] #authPanel h2{display:none}
body:not([data-mobile-signed-in]) #authPanel{background:var(--navy);color:#fff;margin:12px auto;max-width:460px;padding:20px}
body:not([data-mobile-signed-in]) #authPanel .muted{color:#dbe7f7}
body:not([data-mobile-signed-in]) header .brand{justify-content:center;flex-wrap:wrap;text-align:center}
body:not([data-mobile-signed-in]) header .brand img{width:min(70vw,250px)}
#signIn{background:var(--orange);color:#fff;width:100%}
#signedIn:not(.hidden){display:flex;align-items:center;justify-content:space-between;gap:8px}
#signedIn p,#authPanel #message{margin:4px 0}
body[data-mobile-signed-in] #installPanel{margin-top:12px}
body[data-mobile-signed-in] #fieldTestNotice{font-size:12px;padding:8px 12px;margin:0 0 8px}
.mobile-welcome{margin:4px 0 2px;color:var(--navy);font-size:clamp(24px,6vw,34px)}
.mobile-role{margin:0 0 12px;color:#385473}
.mobile-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mobile-tiles button,.mobile-job-list button{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:0 1px 3px #102d531a;text-align:left}
.mobile-tiles button{display:grid;justify-items:center;align-content:center;gap:5px;text-align:center;min-height:82px;padding:8px;line-height:1.2}
.mobile-icon{display:block;width:24px;height:24px;color:var(--blue)}
.mobile-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:2px;background:#fff;border-top:1px solid var(--line);padding:4px 4px max(4px,env(safe-area-inset-bottom));box-shadow:0 -2px 12px #102d5312}
.mobile-nav button{display:grid;justify-items:center;gap:3px;flex:1 1 0;max-width:120px;background:#fff;color:var(--navy);padding:5px 2px;font-size:12px;min-height:48px}
.mobile-nav button[aria-current=page],.mobile-nav button[aria-current=page] .mobile-icon{color:var(--orange)}
.mobile-job-list{display:grid;gap:8px;margin:10px 0}
.mobile-job-list button{display:grid;gap:4px;padding:12px}
.mobile-job-list small{font-weight:500;color:#385473}
.mobile-tabs{display:flex;gap:3px;overflow:auto;border-bottom:1px solid var(--line);margin:8px 0 12px}
.mobile-tabs button{background:transparent;color:var(--navy);white-space:nowrap;border-radius:0;padding:9px 10px;border-bottom:3px solid transparent;flex:none}
.mobile-tabs button[aria-pressed=true]{color:var(--orange);border-bottom-color:var(--orange)}
.mobile-job-banner{background:var(--navy);color:white;border-radius:10px;padding:12px;display:flex;align-items:center;gap:10px;margin-bottom:8px}
.mobile-job-banner h2{margin:0;font-size:18px;overflow-wrap:anywhere}
.mobile-job-banner button{background:#fff;color:var(--navy);white-space:nowrap}
.mobile-room-list{display:grid;gap:8px;margin-bottom:12px}
.mobile-room-list button{background:#fff;color:var(--navy);border:1px solid var(--line);text-align:left;display:grid;gap:3px}
.mobile-room-list button[aria-pressed=true]{border:2px solid var(--blue);background:#e8f2ff}
.mobile-room-list small{color:#385473}
.mobile-photo-grid-active{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mobile-photo-grid-active article{min-width:0;margin:0;overflow-wrap:anywhere;padding:8px}
.mobile-photo-grid-active article img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:7px}
.mobile-photo-grid-active article button{padding:6px;width:100%;font-size:12px}
.mobile-content-section{margin-bottom:14px}
.mobile-actions{display:flex;flex-wrap:wrap;gap:7px}
.mobile-actions .action-link{background:var(--blue);color:#fff;border-radius:8px;text-decoration:none}
#workspace[data-route=collections] #cloudInvoiceEntry{display:none}
.mobile-add-entry{margin:12px 0}
.mobile-add-entry>summary{display:block;cursor:pointer;background:var(--blue);color:#fff;text-align:center;border-radius:8px;padding:12px;font-weight:700}
.mobile-add-entry>summary::-webkit-details-marker{display:none}
.mobile-add-entry[open]>summary{margin-bottom:10px}
#docPanel .mobile-add-entry:has([data-mobile-add-label]) .doc-form{padding:8px}
#cloudPanel>h2,#cloudTools>select{margin:0 0 8px}
#cloudTools>select{max-width:100%;width:100%}
#cloudTools>.mobile-job-banner{margin-top:8px}
.mobile-readings{width:100%;border-collapse:collapse;font-size:clamp(12px,3.3vw,15px);overflow-wrap:anywhere}
.mobile-readings th,.mobile-readings td{padding:7px 4px;text-align:left;border-bottom:1px solid var(--line)}
.mobile-readings th{background:#e4edf6;color:var(--navy)}
@media(max-width:600px){
  .mobile-tabs button{min-height:44px;padding-inline:12px}
  #docPanel .doc-card>button,#docPanel .doc-card>details{margin:7px 8px 0 0;min-height:44px}
  #docPanel .doc-card>span{display:block;margin-top:7px}
  #docPanel .mobile-photo-grid-active .doc-card>button{margin-right:0}
  #docPanel .doc-card+.doc-card{margin-top:8px}
  #docPanel .mobile-photo-grid-active .doc-card+.doc-card{margin-top:0}
  #cloudTools [data-job-pane=overview]>button,#cloudTools [data-job-pane=overview]>details{margin:8px 8px 0 0}
  #offlinePanel .row{gap:8px}
  #offlinePanel .row button{min-height:44px}
}
.signature-pad{width:100%;height:128px;touch-action:none;background:#fff;border:2px dashed #7898b9;border-radius:8px}
[data-job-pane=documents] .action-link{margin:8px 10px 8px 0}
[data-job-pane=documents] button{min-height:44px;margin:5px 6px 5px 0}
[data-job-pane=documents] fieldset label{display:flex;align-items:center;gap:8px}
[data-job-pane=documents] input[type=checkbox]{width:auto}
.original-cos-review{margin:10px 0;padding:10px;border:1px solid #c5d2df;border-radius:8px}
.original-cos-review summary{cursor:pointer;color:var(--blue);min-height:44px;align-content:center;font-weight:700}
.original-cos-review img{width:100%;height:auto;display:block;margin-top:8px}
.signed-cos-page{display:block;width:100%;height:auto;background:white;margin-top:12px;border:1px solid #c5d2df}
