/* Mobile adaptation of the existing workspace; desktop keeps its own layout. */
.mobile-tools{display:none}.connectivity{background:#fff3db;color:#684400;padding:12px 16px;position:sticky;top:0;z-index:12;text-align:center}.install-link{font-weight:700}.install-page{min-height:100dvh;background:#101e32;color:#f2f6ff;padding:24px 16px;display:grid;place-items:center}.install-card{width:min(100%,480px);border:1px solid #33465f;background:#17283e;border-radius:24px;padding:28px;display:grid;gap:20px;box-shadow:0 24px 80px #0003}.install-card img{width:88px;height:88px;border-radius:24px}.install-card h1{font-size:30px;line-height:1.25}.install-card p{line-height:1.7;color:#c1cee1}.install-card ol{padding-inline-start:24px;margin:12px 0;line-height:1.9;color:#d9e5f7}.install-card .primary,.install-card .secondary{min-height:52px;width:100%;white-space:normal;font-size:17px}.install-card .secondary{background:transparent;color:#eaf2ff;border-color:#637995}.install-card details{font-size:15px}.install-card summary{min-height:48px;display:flex;align-items:center;font-weight:700}.install-card #installStatus{font-size:14px;min-height:24px}.install-card .eyebrow{color:#92b6ff}.install-card a{color:#a9c7ff}.install-card .privacy-note{font-size:13px}.pwa-update{position:fixed;z-index:25;bottom:92px;left:16px;right:16px;background:#17283e;color:white;border:1px solid #7b94b9;border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 8px 28px #0003}.pwa-update button{min-height:48px;padding:10px 16px}.pwa-update[hidden]{display:none}
@media(max-width:820px){
 :root{--mobile-nav-height:80px}
 body{font-size:16px}
 .app{display:block;min-height:100dvh}
 .app>.sidebar{display:contents}
 .app>.sidebar>:not(nav){display:none}
 .app>.sidebar nav{position:fixed;inset:auto 0 0;z-index:10;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));margin:0;border-top:1px solid #33465f;background:#101e32;box-shadow:0 -4px 24px #101e321a}
 .app>.sidebar nav button{min-width:0;min-height:64px;padding:6px 2px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;border-radius:10px;text-align:center;color:#b9c9e1;font-size:12px}
 .app>.sidebar nav button>span:first-child{font-size:11px;opacity:1;white-space:normal;line-height:1.5}
 .app>.sidebar nav button>span:last-child:not(:first-child){font-size:11px;opacity:1;color:#c6d8f6}
 .app>.sidebar nav button.active{background:#27436a;color:white}
 main{padding:16px 16px calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 24px);width:100%;max-width:100%;margin:0}
 .workspace-top{margin-bottom:12px;gap:8px;flex-wrap:wrap;font-size:13px}
 .mobile-tools{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
 .mobile-tools a,.mobile-tools button{min-height:48px;padding:10px 14px;border-radius:10px;font-size:15px}
 .mobile-tools .wordmark{margin-inline-end:auto;font-size:22px;padding-inline:0}
 .mobile-tools .secondary{font-size:14px}
 .topbar{gap:14px;align-items:stretch;flex-direction:column;margin-bottom:20px}
 .topbar h1{font-size:28px}.topbar .muted{font-size:15px;line-height:1.6}
 .header-actions{gap:8px;flex-wrap:wrap}.header-actions>button{flex:1;min-height:48px}
 button,input:not([type=checkbox]),select{min-height:48px}
 input,textarea,select{font-size:16px}
 button,.primary,.secondary,.small,.text-button{font-size:15px}
 .icon-btn{min-width:48px;min-height:48px}
 input[type=checkbox]{width:22px;height:22px;flex-shrink:0}
 label:has(input[type=checkbox]){min-height:48px;align-items:center}
 .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .stat-card{padding:16px;min-width:0}.stat-card>span{font-size:14px}.stat-card>strong{font-size:30px}.stat-card small{font-size:12px}
 .dashboard-columns{grid-template-columns:1fr;gap:16px}.panel{min-width:0}.panel-heading{gap:12px;flex-wrap:wrap}.panel h2{font-size:21px}
 .attention-list button,.source-breakdown button{min-height:52px}
 .recent-item{gap:10px;padding:14px 0;min-width:0}.recent-name{min-width:0;flex:1}.recent-name b{font-size:15px;overflow-wrap:anywhere}.recent-item>span:last-child{display:none}
 .catalog-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}
 .catalog-toolbar .search-wrap{grid-column:1/-1;min-width:0}.catalog-toolbar input{width:100%}
 .catalog-toolbar select{font-size:15px;min-width:0;width:100%}
 .view-switch{grid-column:1/-1;justify-content:flex-end}.view-switch button{min-width:48px}
 .catalog-tabs{gap:16px;overflow-x:auto;white-space:nowrap}.catalog-tabs button{font-size:15px}
 .catalog-summary,.summary-actions{gap:10px;align-items:center}.summary-actions{margin:0;width:100%;flex-wrap:wrap}.summary-actions .secondary{font-size:14px}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .product-info{padding:12px;gap:8px}.product-info h3{font-size:15px}.product-meta{flex-wrap:wrap;font-size:12px}.product-meta b{font-size:17px}.product-bottom{gap:8px}.product-bottom button{min-height:48px;font-size:14px;white-space:normal}
 .product-photo{aspect-ratio:1}.product-table-wrap{max-width:100%;overflow:auto}
 .pagination,.pagination label{font-size:14px}.pagination>div{flex-wrap:wrap;gap:8px}
 dialog{max-width:100vw;max-height:100dvh;border-radius:16px}
 .editor{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;border:0;border-radius:0}
 .editor-header{position:sticky;top:0;display:block;padding:14px 16px 12px}
 .editor-header h2{max-width:calc(100vw - 32px);font-size:20px;white-space:normal;line-height:1.4}
 .editor-actions{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding:10px 0 4px;max-width:100%}
 .editor-actions>button{flex-shrink:0;min-height:48px}
 .editor-actions #closeEditor{order:-1;position:sticky;right:0;background:var(--surface);z-index:1}
 .editor-layout{display:block;min-height:0}.editor-content{padding:0 16px 24px}
 .editor .tabs{position:static;display:flex;gap:20px;overflow-x:auto;margin-bottom:20px}.editor .tabs button{flex-shrink:0;min-height:48px;font-size:15px}
 .fields,.finance .fields{grid-template-columns:1fr;gap:16px}.fields .wide{grid-column:auto}
 .fields label,.finance label{font-size:15px}.field-help,.fine-print{font-size:13px;line-height:1.6}
 .section-title{flex-wrap:wrap;font-size:14px}
 .finance{padding:24px 16px calc(24px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line)}
 .finance input{font-size:16px}.finance .profit-box{font-size:14px}
 .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-controls{gap:8px}.photo-controls button{min-width:48px;min-height:48px;font-size:16px}.photo-controls label{font-size:14px}
 .settings-dialog,.import-dialog,.upload-dialog,.preview-dialog{max-width:calc(100vw - 16px);width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
 #previewBody{grid-template-columns:1fr;padding:18px}.settings-dialog form{margin:20px 16px}
 .specific-row{grid-template-columns:1fr 1fr 48px;gap:8px}.specific-row label{font-size:14px}.specific-row .icon-btn{width:48px}
 .template-tools label{min-width:0;flex-basis:100%}.template-tools button{width:100%}
 .toast{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 12px);left:16px;right:16px;max-width:none;font-size:15px}
 .jobs-panel{font-size:15px}.jobs-panel summary span{font-size:13px}
 .pwa-update{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 12px)}
 .import-dialog .tabs{gap:16px}.import-dialog .tabs button{font-size:15px}
}
@media(max-width:360px){.product-grid{grid-template-columns:1fr}.stats-grid{gap:8px}.stat-card{padding:12px}.app>.sidebar nav button>span:first-child{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

