/* Mobile companion to the existing V4.16 design. Desktop files remain untouched. */
:root { --mobile-nav-height:77px; }
.mobile-bottom-nav,.mobile-more-sheet {display:none}
@media(max-width:900px) {
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{font-size:14px;-webkit-text-size-adjust:100%;}
  .app-shell{display:block!important;min-height:100dvh!important;max-width:100vw!important;background:var(--back,#f3f6f9)!important;}
  .sidebar{display:none!important}
  .main-wrap{width:100%!important;max-width:100%!important;margin:0!important;min-width:0!important;overflow:visible!important}
  .topbar{height:62px!important;position:sticky;top:0;z-index:28;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;padding:0 17px!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgba(247,250,252,.94);border-bottom:1px solid rgba(120,145,160,.15);}
  .topbar #breadcrumb{font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw;font-size:12px}
  .topbar-right{margin-left:auto;min-width:0}
  .topbar #dateTag,.topbar .top-avatar{display:none}
  .mobile-connection{display:block;font-size:10px;font-weight:700;background:#e7f4ef;color:#216e63;padding:8px 10px;border-radius:99px;white-space:nowrap}
  html[data-theme=dark] .topbar{background:rgba(16,27,40,.95);border-color:#304357;}
  html[data-theme=dark] .mobile-connection{background:#203f39;color:#a8decf}
  #content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box;padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 25px)!important;}
  .page{max-width:100%!important;min-width:0!important}
  .page-header{padding:21px 16px 10px!important;margin:0!important}
  .page-header h1{font-size:clamp(26px,7vw,35px)!important;letter-spacing:-.8px!important;margin:8px 0!important}
  .page-header p{font-size:12px!important;line-height:1.5!important;max-width:100%}
  .page-header .eyebrow{font-size:9px}
  .section-wrap{padding:18px 16px 26px!important}
  #page-overview .hero{padding:27px 16px 28px!important;border-radius:0 0 14px 14px!important;}
  #page-overview .hero h1{font-size:30px!important;letter-spacing:-1px;margin:0 0 8px!important}
  #page-overview .hero p{font-size:12px!important}
  #page-overview .hero-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:22px!important}
  #page-overview .hero-card{min-width:0;min-height:110px!important;padding:14px 13px!important;border-radius:12px!important}
  #page-overview .hero-label{font-size:9px!important;line-height:1.4!important}
  #page-overview .hero-value{font-size:clamp(20px,5.2vw,29px)!important;line-height:1.08!important;letter-spacing:-.5px!important;margin:8px 0 0!important;overflow-wrap:anywhere!important;}
  #page-overview .hero-description{font-size:9px!important;padding-top:9px!important}
  .quick-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .quick-card{width:100%;min-height:66px!important;padding:12px 15px!important}
  .overview-panels{display:grid!important;grid-template-columns:1fr!important;gap:15px!important}
  .panel{max-width:100%!important;min-width:0!important;box-sizing:border-box;border-radius:13px!important}
  .panel-head{gap:10px!important;flex-wrap:wrap!important}
  .panel-head h2{font-size:16px!important}
  .panel-head .tag{font-size:9px}
  .panel-spacing{margin-top:15px!important}
  .form-panel,.table-panel,.chart-panel,.settings-panel{margin:10px 15px 16px!important;}
  .form-grid,.modal-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:15px!important}
  .form-grid>*,.modal-form>*{grid-column:1/-1!important;min-width:0!important;max-width:100%!important}
  input,textarea,select{font-size:16px!important;max-width:100%!important;box-sizing:border-box}
  input[type=date],input[type=search]{min-height:44px}
  button,.btn,.icon-btn{touch-action:manipulation;}
  .btn,.form-footer button{min-height:44px!important}
  .form-footer{display:flex!important;flex-direction:column!important;gap:8px!important;align-items:stretch!important}
  .form-footer button{width:100%}
  .photo-dropzone{min-height:48px!important}
  .photo-upload{width:100%!important}
  .table-tools{display:flex!important;flex-direction:column!important;gap:9px!important;align-items:stretch!important}
  .table-tools>.search-field,.table-tools>select{width:100%!important;max-width:none!important}
  .mini-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0 15px 13px!important}
  .stock-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .stats-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0 15px 16px!important}
  .stat-card{min-width:0!important;padding:14px!important;border-radius:12px!important}
  .stat-card small{font-size:10px!important}
  .stat-card strong{font-size:clamp(17px,5vw,23px)!important;overflow-wrap:anywhere!important}
  .period-bar{margin:8px 15px 16px!important;padding:12px!important;border-radius:13px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}
  .period-buttons{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;overflow:visible!important;width:100%!important}
  .period-btn{font-size:10px!important;padding:11px 5px!important;min-width:0!important;white-space:normal!important;min-height:43px!important}
  .chart-panel .chart-viewport{max-width:100%!important;overflow-x:auto!important;touch-action:pan-x pan-y;}
  .chart-viewport svg{min-width:440px;}
  .chart-panel .panel-head{align-items:flex-start;flex-direction:column}
  .chart-legend{gap:10px!important;flex-wrap:wrap!important}
  .tax-controls{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  .tax-controls label,.tax-controls select,.tax-controls input{width:100%!important}
  .tax-buttons{display:flex!important;flex-direction:column!important;gap:9px!important}
  .tax-buttons .btn{display:flex!important;justify-content:center!important;width:100%!important;box-sizing:border-box!important}
  .backup-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;margin:0 15px!important}
  .backup-panel{margin:0!important}
  .tip-box,.tax-warning,.mobile-data-warning{margin:12px 15px!important}
  .mobile-data-warning,.mobile-settings-note{font-size:12px;line-height:1.55;background:#ecf6f4;border:1px solid #c2ded7;color:#25473e;padding:12px 14px;border-radius:10px}
  html[data-theme=dark] .mobile-data-warning,html[data-theme=dark] .mobile-settings-note{background:#19342f;border-color:#32695f;color:#cbede5}
  .app-footer{padding:10px 16px!important;font-size:10px;text-align:center;}
  .table-scroll{overflow:visible!important;max-width:100%!important}
  .data-table{display:block!important;width:100%!important;min-width:0!important;border:0!important}
  .data-table thead{display:none!important}
  .data-table tbody{display:grid!important;gap:11px!important;padding:0!important}
  .data-table tbody tr{display:flex!important;flex-direction:column!important;padding:10px 12px!important;border:1px solid var(--border,#dee5eb)!important;border-radius:12px!important;min-width:0!important;background:var(--card,#fff)!important;box-shadow:none!important}
  .data-table td{display:flex!important;width:100%!important;gap:10px!important;justify-content:space-between!important;align-items:flex-start!important;padding:7px 0!important;border:0!important;max-width:100%!important;min-width:0!important;font-size:12px!important;overflow-wrap:anywhere!important;white-space:normal!important;}
  .data-table td:not(:last-child){border-bottom:1px solid rgba(130,150,165,.13)!important}
  .data-table td::before{content:attr(data-label);display:block;flex:0 0 95px;max-width:95px;font-size:9px;letter-spacing:.35px;font-weight:750;color:var(--muted,#8292a3);text-transform:uppercase}
  .data-table td:has(.item-info){display:flex!important;gap:10px!important}
  .data-table td:has(.item-info)::before{display:none!important}
  .data-table .item-info{width:100%;align-items:center!important;gap:11px!important}
  .data-table .name-cell{font-size:13px!important}
  .data-table .action-group{display:grid!important;width:100%!important;grid-template-columns:repeat(auto-fit,minmax(78px,1fr))!important;gap:6px!important}
  .data-table .icon-btn{padding:10px 8px!important;min-height:40px!important;width:auto!important}
  .data-table td:has(.action-group){display:block!important}
  .data-table td:has(.action-group)::before{margin-bottom:9px!important}
  .modal-host{align-items:flex-end!important;padding:0!important}
  .modal-dialog{border-radius:18px 18px 0 0!important;width:100%!important;max-height:92dvh!important;overflow-y:auto!important;padding-bottom:max(16px,env(safe-area-inset-bottom))!important}
  .mobile-bottom-nav{position:fixed!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));left:0;right:0;bottom:0;z-index:40;min-height:var(--mobile-nav-height);padding:7px 5px calc(7px + env(safe-area-inset-bottom));box-sizing:content-box;background:#fff;border-top:1px solid #dfe8ee;box-shadow:0 -4px 26px rgba(16,33,49,.08)}
  .mobile-tab{border:0;background:transparent;min-height:55px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;color:#67788c;cursor:pointer;border-radius:12px;}
  .mobile-tab span{font-size:22px;line-height:1.2;font-weight:750}
  .mobile-tab small{font-size:10px;font-weight:750}
  .mobile-tab.current{background:#e6f2ee;color:#186f63}
  .mobile-tab-add span{display:grid;place-items:center;font-size:29px;width:38px;height:35px;color:#fff;background:#227c70;border-radius:10px}
  .mobile-more-sheet:not([hidden]){display:flex!important;position:fixed;inset:0;z-index:50;align-items:end;background:rgba(5,15,26,.53)}
  .mobile-more-content{width:100%;padding:20px 16px calc(24px + env(safe-area-inset-bottom));background:var(--card,#fff);border-radius:20px 20px 0 0;display:grid;gap:8px;box-sizing:border-box}
  .mobile-more-content h2{font-size:18px;margin:0 0 10px}
  .mobile-more-content button{border:1px solid var(--border,#e2e8ef);padding:14px 15px;min-height:48px;border-radius:11px;text-align:left;color:inherit;background:transparent;font:inherit;font-weight:650}
  .mobile-more-content button.more-close{text-align:center;color:#247c70;background:rgba(30,125,110,.09)}
  html[data-theme=dark] .mobile-bottom-nav{background:#152332;border-color:#304559}
  html[data-theme=dark] .mobile-tab{color:#b4c4d4}
  html[data-theme=dark] .mobile-tab.current{background:#20443d;color:#b9ece1}
  html[data-theme=dark] .mobile-more-content{background:#172536;color:#ecf4fa}
  html[data-theme=dark] .mobile-more-content button{border-color:#385066}
  html[data-theme=dark] .data-table tbody tr{background:#172536!important;border-color:#36495d!important}
  .toast-host{bottom:calc(87px + env(safe-area-inset-bottom))!important;right:12px!important;left:12px!important;max-width:none!important}
}
@media(min-width:901px){.mobile-bottom-nav,.mobile-more-sheet{display:none!important}}
