/* Loaded last: one mobile shell for all views and overlays. */
[hidden]{display:none!important}
.entry-mode-tabs{display:flex;gap:8px;margin-bottom:16px;background:#edf3ef;padding:6px;border-radius:12px}.entry-mode-tabs button{flex:1;min-height:46px;border:0;border-radius:8px;background:transparent;color:#355347;font-size:16px;font-weight:700}.entry-mode-tabs [aria-selected=true]{background:#16734f;color:#fff}
.mobile-save-dock,.app-more-button{display:none}.expense-inline-actions{display:flex;justify-content:flex-end;padding-top:20px}.vendor-picker-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.vendor-picker-title>span{font-weight:700}.vendor-picker-field{display:grid;gap:10px}.vendor-picker-title button{min-height:40px}.vendor-empty{font-size:14px;color:#63776c}
.vendor-editor{border:0;border-radius:16px;padding:24px;width:min(720px,calc(100% - 24px));max-height:85dvh;overflow:auto;color:#193d2c}.vendor-editor::backdrop,.app-more-dialog::backdrop{background:rgba(10,28,20,.4)}.vendor-editor header{display:flex;justify-content:space-between;gap:12px;align-items:center}.vendor-editor header h2{margin:0}.vendor-editor p{font-size:14px;line-height:1.7}.vendor-editor-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:1px solid #d6e3da;padding:16px;border-radius:12px;margin:12px 0}.vendor-editor-row label{display:flex;flex-direction:column;gap:6px;font-size:14px}.vendor-editor-row input,.vendor-editor-row select{min-height:44px;width:100%;padding:8px;border:1px solid #c9d8cd;border-radius:8px;font-size:16px;background:white}.vendor-visible{flex-direction:row!important;align-items:center}.vendor-visible input{width:18px;min-height:18px}.vendor-order{display:flex;gap:6px;grid-column:2/-1;justify-content:flex-end;flex-wrap:wrap}.vendor-editor button{min-height:44px;border:1px solid #c8d9ce;border-radius:8px;padding:8px 12px;font-size:16px}.vendor-editor footer{position:sticky;bottom:-24px;background:#fff;display:flex;gap:10px;padding:16px 0;margin-top:12px;z-index:1}.vendor-editor footer button{flex:1}.vendor-editor button:disabled{opacity:.5}#vendorEditorStatus{color:#9e3528}
#appToast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(154px + env(safe-area-inset-bottom));z-index:1000;background:#193d2c;color:#fff;padding:12px 18px;border-radius:12px;max-width:calc(100% - 28px);width:max-content;font-size:15px;box-shadow:0 4px 18px #0003;pointer-events:none;line-height:1.5}
.app-more-dialog{width:min(480px,calc(100% - 24px));max-height:70dvh;border:0;border-radius:16px;padding:20px}.app-more-dialog header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.app-more-dialog header h2{margin:0}.app-more-dialog button{min-height:48px;font-size:16px;border:1px solid #d6e1d9;border-radius:10px;background:#f7faf8;color:#244735;padding:12px}.app-more-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:900px){
 html,body{height:100%;width:100%;max-width:100%;margin:0;overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:pan-x pan-y}
 *,*::before,*::after{box-sizing:border-box}
 body{--nav-height:64px;--save-height:70px;font-size:16px}
 input,select,textarea,button{font-size:16px!important;touch-action:pan-x pan-y}
 input:not([type=checkbox]):not([type=radio]),select,textarea{min-width:0;max-width:100%;min-height:44px}
 .app-shell{display:block;height:var(--app-height,100dvh);min-height:0;max-width:100%;overflow:hidden}
 .sidebar{display:none}.content{display:flex;flex-direction:column;height:100%;min-height:0;width:100%;padding:0;overflow:hidden}
 .topbar{position:relative;flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;height:auto;min-height:52px;gap:6px;margin:0;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:#fff;border-bottom:1px solid #dce5df;z-index:20;max-width:100%;transform:none}
 .topbar>div,.topbar h1,.account-current{min-width:0}.topbar h1{max-width:100%;font-size:14px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .eyebrow{display:none}.topbar .toolbar{display:flex;gap:0}.toolbar>.tool-button{display:none!important}.sync-badge{font-size:11px!important;min-height:26px;padding:4px 8px;max-width:140px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
 .account-controls{grid-column:1/-1;display:flex;height:auto;min-height:50px;gap:6px;padding:4px 6px}.account-controls strong{font-size:13px}.account-controls span{font-size:11px}.account-branch-label{font-size:10px}.account-branch-label select{width:96px;min-height:40px;padding:4px}.account-controls #signOutBtn{min-height:40px;padding:0 8px;font-size:13px!important;flex-shrink:0}
 #appViewport{flex:1 1 auto;min-height:0;width:100%;max-width:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-behavior:auto;padding:12px 12px calc(var(--nav-height) + env(safe-area-inset-bottom) + 20px);scroll-padding-top:16px;scroll-padding-bottom:24px}
 .has-save-dock #appViewport{padding-bottom:calc(var(--nav-height) + var(--save-height) + env(safe-area-inset-bottom) + 24px)}
 .mobile-period-panel{display:block;position:static;top:auto;margin:0 0 16px;padding:12px;width:100%;max-width:100%;border-radius:12px}.mobile-filter-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-filter-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-period-panel input{width:100%;padding:8px;min-height:44px}.mobile-filter-toggle button{min-height:44px;padding:8px}.mobile-period-panel label{font-size:12px}
 .view{width:100%;max-width:100%;min-width:0}.view.active{display:block}.view>*{max-width:100%;min-width:0}.view> * + *{margin-top:12px}.panel{max-width:100%;min-width:0;padding:14px;border-radius:12px;border:1px solid #dfe7e1}.form-grid,.expense-fields{grid-template-columns:1fr;gap:14px}.expense-layout{grid-template-columns:1fr}.form-grid label,.labor-grid label{min-width:0}.wide-field{grid-column:1/-1}.vendor-quick-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vendor-quick-list button{min-height:44px;padding:10px 8px;white-space:normal;overflow-wrap:anywhere;font-size:14px!important}
 .entry-actions,.expense-inline-actions,#expenseForm>.form-panel>.panel-head>button[type=submit],#laborForm>.labor-actions>button[type=submit]{display:none!important}
 .labor-grid{grid-template-columns:1fr 1fr;gap:12px}.labor-panel{padding:14px;margin-top:12px}.labor-month{flex-wrap:wrap}.labor-month label{flex:1}.labor-month button{width:100%;min-height:44px}.labor-record{flex-direction:column;overflow-wrap:anywhere}.entry-mode-tabs{position:sticky;top:-12px;z-index:8;margin:0 0 16px;padding:6px;background:#edf3ef}
 .mobile-tabbar{position:fixed;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));left:0;right:0;bottom:0;width:100%;height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom);transform:none;border-top:1px solid #dce5df;background:white;z-index:40}.mobile-tab{min-width:0;min-height:64px;padding:6px 2px;gap:3px}.mobile-tab span{font-size:11px;white-space:nowrap}.mobile-tab svg{width:22px;height:22px}.mobile-tabbar>.nav-extra{display:none!important}.app-more-button{display:grid}
 .mobile-save-dock{position:fixed;display:flex;align-items:center;gap:8px;left:0;right:0;bottom:calc(var(--nav-height) + env(safe-area-inset-bottom));height:var(--save-height);padding:10px 12px;border-top:1px solid #dce5df;background:#fffffff5;z-index:35;box-shadow:0 -3px 10px #1834250c}.mobile-save-dock button{flex:1;min-width:0;min-height:48px;max-width:100%;border:0;border-radius:10px;background:#157b54;color:white;font-size:16px!important;font-weight:700;padding:10px 6px}.mobile-save-dock button:first-child:not(:last-child){background:#e8f4ed;color:#135f40;border:1px solid #acd0bb}.mobile-save-dock button:disabled{opacity:.55}
 .keyboard-open .mobile-tabbar,.keyboard-open .mobile-save-dock{display:none!important}.keyboard-open #appViewport{padding-bottom:24px}.keyboard-open #appToast{bottom:16px}
 .view img{max-width:100%;height:auto}.table-wrap,.mc-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.view .mc-controls{position:static;display:flex;flex-wrap:wrap;gap:8px;padding:12px;max-width:100%;min-width:0}.mc-controls h1{width:100%;font-size:20px}.mc-controls input{max-width:150px}.mc-report,.mc-card,.mc-summary,.statement-panel{max-width:100%;min-width:0}.mc-controls button{min-height:44px}.mc-receipt-dialog,.vendor-editor,.app-more-dialog{max-width:calc(100% - 20px);max-height:calc(var(--app-height,100dvh) - 32px);padding:16px;overscroll-behavior:contain}.vendor-editor-row{grid-template-columns:1fr;gap:12px}.vendor-order{grid-column:1;justify-content:flex-start}.vendor-editor footer{bottom:-16px;flex-shrink:0}.vendor-editor input,.vendor-editor select{min-width:0;font-size:16px!important}.auth-screen,.payment-share-screen{height:var(--app-height,100dvh);min-height:0;overflow-y:auto;overflow-x:hidden;padding:calc(20px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));max-width:100%}.auth-card,.payment-share-card{max-width:100%;width:min(460px,100%);margin:auto}.auth-card input{font-size:16px!important;min-height:48px}
 .dialog-open .mobile-save-dock{visibility:hidden}
}
@media(max-width:360px){.labor-grid{grid-template-columns:1fr}.account-controls .account-current strong{font-size:11px}.account-branch-label select{width:84px}.account-controls #signOutBtn{padding:0 6px;font-size:12px!important}.account-current span{max-width:90px}.mobile-save-dock button{font-size:14px!important}}
@media(min-width:901px){.mobile-tabbar{display:none!important}}
@media print{html,body{overflow:visible!important;height:auto!important}.content,.app-shell,#appViewport{height:auto!important;overflow:visible!important}.mobile-save-dock,.entry-mode-tabs,#appToast,.app-more-button{display:none!important}}

.labor-private-fields{padding:16px;background:#eef5ef;border:1px solid #ceded2;border-radius:12px;margin:16px 0;display:grid;gap:10px}.labor-private-fields input{font-size:16px!important;width:100%;min-height:46px;padding:10px;border:1px solid #becfc3;border-radius:8px;background:white}.labor-private-fields label{font-size:14px;font-weight:700;display:grid;gap:8px}.labor-private-fields p{font-size:13px;line-height:1.6;margin:0}.labor-import-fields{padding:14px;border:1px solid #dce7df;border-radius:10px;margin:12px 0}.labor-import-fields label{display:grid;gap:6px;margin:8px 0}
