/* Phone screens put the next stock task ahead of secondary information. */
.mobile-nav{display:none}
@media screen and (max-width:900px){
  :root{--muted:#4f6075;--line:#ccd7e4}
  html{scrollbar-gutter:auto}body:has(dialog[open]){overflow:hidden}
  body{font-size:1rem;line-height:1.55;-webkit-text-size-adjust:100%}
  button,input,select,textarea,summary{font-size:1rem;touch-action:manipulation}
  button,input,select{min-height:54px}
  button{padding:12px 16px}
  label{font-size:1rem;line-height:1.5}
  input[type=checkbox]{width:26px;height:26px;min-height:26px}
  h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.12rem}
  p{line-height:1.6}small,.hint,.subline{font-size:.9rem}
  [hidden]{display:none!important}
  .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 16px;border-bottom:1px solid var(--line)}
  .brand{min-width:0;gap:10px;min-height:44px}.brand img{width:34px;height:34px}.brand strong{font-size:1.2rem}.brand div span,.brand .version{display:none}
  .top-actions{display:contents}.top-actions>button{display:none}
  .top-actions .account-badge{display:block;grid-column:2;grid-row:1;font-size:1rem;margin:0;padding:6px 10px;overflow-wrap:anywhere;max-width:140px}
  .top-actions .save-status{grid-column:1/-1;grid-row:2;font-size:.9rem;width:auto;margin:0;line-height:1.3;justify-content:flex-start;color:#176746}
  .top-actions .save-status.warn{color:#8b420a}
  main{padding:18px 14px calc(100px + env(safe-area-inset-bottom));max-width:100%}
  .page-head{margin:0 0 16px}.page-head h1{margin:0 0 12px}
  .date-controls{display:flex;margin:0;gap:8px;max-width:none;flex-wrap:nowrap}
  .date-caption,.date-controls .quiet{display:none}
  .date-picker{flex:1;min-width:0;padding:0;border-color:var(--line)}
  .date-picker input{width:0;flex:1;min-width:0;padding:10px 0;font-size:.95rem;text-align:center;min-height:52px}
  .date-picker button{min-width:44px;min-height:52px;font-size:1.6rem;padding:4px}
  .date-controls>button{font-size:1rem;padding:10px 12px;flex-shrink:0}
  .metrics{display:block;margin:0 0 18px}
  .mobile-overview{background:#eaf3ff;border:1px solid #bfd8f3;border-radius:16px;overflow:hidden}
  details>summary{cursor:pointer;min-height:52px;display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none;font-weight:600}
  details>summary::-webkit-details-marker{display:none}
  details>summary::after{content:'＋';font-size:1.2rem;flex-shrink:0}
  details[open]>summary::after{content:'−'}
  .mobile-overview>details{padding:0 16px}
  .mobile-overview summary{font-size:1rem;color:#234b7a;min-height:72px;gap:8px;flex-wrap:wrap}
  .mobile-overview summary strong{font-size:1.5rem;letter-spacing:-.03em;color:#135eaa;overflow-wrap:anywhere;margin-right:auto}
  .mobile-overview summary small{font-size:1rem;margin-left:4px}
  .mobile-overview .overview-more{font-size:.9rem;font-weight:500}
  .mobile-facts{margin:0 0 16px}.mobile-facts>div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
  .mobile-facts dt{color:var(--muted);font-size:1rem;min-width:0}.mobile-facts dt small{display:block}
  .mobile-facts dd{margin:0;text-align:right;font-weight:650;overflow-wrap:anywhere;min-width:0;max-width:65%}
  .workspace{display:block}.sidebar,.tabs{display:none!important}.content{border:0;background:transparent;border-radius:0;overflow:visible}
  .filters{display:flex;flex-direction:column;gap:10px;padding:0 0 14px}
  .filters>div:first-child label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .filters input[type=search]{font-size:1.05rem;padding:14px;min-height:58px;border-color:#879bb4}
  #mobileFilterToggle{width:100%;background:white;text-align:left;border-color:var(--line);font-weight:600;font-size:1rem}
  #mobileFilterToggle[aria-expanded=true]{border-color:var(--blue);color:var(--blue)}
  #mobileFilterOptions{display:grid;grid-template-columns:1fr;gap:16px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px}
  #mobileFilterOptions .reset{border:1px solid var(--line);font-size:1rem}
  .toolbar{padding:0}.toolbar:empty{display:none}.toolbar .hint{font-size:.9rem;margin:10px 0}
  .mobile-result-heading{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:8px;padding:0 0 12px}
  .mobile-result-heading h2{font-size:1.12rem;margin:0;min-height:52px;display:flex;align-items:center;gap:6px}
  .mobile-result-heading>details{max-width:100%;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 12px}
  .mobile-result-heading summary{font-size:.95rem;font-weight:500}
  .mobile-result-heading>details[open]{width:100%;padding:0 16px 16px}
  .mobile-display-options{display:grid;gap:8px}
  .mobile-result-context{margin:0 0 12px;font-weight:600;overflow-wrap:anywhere}
  .mobile-visibility-note{font-size:.9rem;color:var(--muted);margin:0 0 12px}
  .mobile-card-list{display:grid;gap:16px}
  .mobile-box-card{padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 5px #18375406;min-width:0}
  .mobile-box-card h3{font-size:1.25rem;line-height:1.45;letter-spacing:-.035em;margin:8px 0 12px;overflow-wrap:anywhere}
  .mobile-card-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.95rem;overflow-wrap:anywhere}
  .mobile-card-meta .tag,.tag{font-size:.9rem;line-height:1.4;padding:5px 8px;white-space:normal}
  .mobile-size{font-weight:650;padding:4px 10px;background:#edf2f7;color:#35475c;border-radius:6px}
  .mobile-card-stock{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}
  .mobile-card-stock>span{color:var(--muted);font-weight:600;flex-shrink:0}
  .mobile-card-stock strong{font-size:2.1rem;line-height:1.2;color:#135eaa;overflow-wrap:anywhere;text-align:right}
  .mobile-card-stock small{font-size:1rem;margin-left:5px;font-weight:500}
  .mobile-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 0}
  .mobile-card-actions button{min-height:58px;font-size:1.12rem;padding:10px 4px}
  .mobile-out{background:#fff5e8;border-color:#dfc29b;color:#784313}
  .mobile-detail-button{width:100%;font-size:1rem;margin-top:12px;background:#f6f8fb;border-color:var(--line);color:#334b68;min-height:52px}
  .mobile-location{font-size:1rem;margin:0 0 16px;color:var(--muted);overflow-wrap:anywhere}.mobile-location b{color:var(--ink);font-weight:600}
  .mobile-box-card.discontinued{background:#f6f7f9}.mobile-card-category{font-size:1rem;color:var(--muted);margin-bottom:10px}
  .history-card details{border-top:1px solid var(--line);margin-top:16px}.history-card details p{overflow-wrap:anywhere}
  .history-card .mobile-card-actions button{font-size:1rem}
  .pager{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;padding:22px 0;align-items:center;font-size:1rem}
  .pager button{font-size:1rem;min-height:56px}.pager>span{min-width:60px;text-align:center}
  .empty{padding:28px 18px;font-size:1rem;background:#fff;border-radius:14px}.empty strong{font-size:1.12rem}.empty button{margin-top:12px}
  .mobile-nav{position:fixed;z-index:25;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;bottom:0;left:0;right:0;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#fff;border-top:1px solid var(--line);box-shadow:0 -3px 16px #243f6510}
  .mobile-nav button{padding:12px 2px;min-height:56px;font-size:.95rem;border-color:transparent;background:transparent;line-height:1.25;color:#475b73}
  .mobile-nav button.active{background:#eaf3ff;color:#0755a3;border:1px solid #b6d3f2;font-weight:750}
  .app-footer{display:none}
  .catalog-nav{padding:0 0 16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .catalog-nav button{font-size:1rem;min-height:54px}.catalog-nav button:last-child{grid-column:1/-1}
  .mobile-catalog-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
  .mobile-catalog-toolbar button{font-size:1rem;padding:12px 4px}.mobile-clear{width:100%;margin-bottom:14px}
  .mobile-select-all,.mobile-card-select{display:flex;gap:12px;align-items:center;min-height:54px;font-size:1rem;margin:0 0 14px;cursor:pointer}
  .mobile-card-select{border-bottom:1px solid var(--line);padding-bottom:12px;overflow-wrap:anywhere}
  .content[data-view=history] .toolbar .hint{display:none}
  .content[data-view=history] .toolbar{margin-bottom:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;display:block}
  .content[data-view=history] .toolbar .actions{width:100%;display:grid;grid-template-columns:1fr;gap:14px}
  .history-shortcuts{display:grid;grid-template-columns:1fr 1fr 52px 52px;gap:8px}
  .history-shortcuts button{font-size:1rem;min-height:54px;padding:10px 4px}
  .history-shortcuts button[aria-label]{min-width:52px;font-size:1.6rem}
  .mobile-history-period{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}
  .mobile-history-period strong{font-size:1.05rem;line-height:1.5;overflow-wrap:anywhere}
  .mobile-history-period button{flex-shrink:0}
  #mobileHistoryOptions{margin-top:14px;border-top:1px solid var(--line);padding-top:4px}
  #mobileHistoryOptions .history-kind{margin:16px 0}
  #mobileHistoryOptions>button{width:100%}
  .history-range{width:100%;gap:8px}.history-range input{padding:8px 4px;font-size:.9rem;width:100%}
  .history-range label,.history-kind label{font-size:1rem}.history-kind{width:100%}
  .settings,.memo-grid{padding:0;gap:16px}.settings-card{padding:20px}.settings-card p,.settings-card .hint,.settings-card button,.settings-card h3{font-size:1rem}
  .settings-card .actions{display:grid;grid-template-columns:1fr;width:100%;gap:12px}
  .visibility-settings{grid-template-columns:1fr}.visibility-list{max-height:none}.visibility-option{font-size:1rem;min-height:56px;gap:12px}.visibility-option small{font-size:.9rem}.visibility-settings legend{font-size:1rem}
  .catalog-heading,.admin-intro{padding:16px 0}.catalog-heading p,.admin-intro p{font-size:1rem}.brand-grid{padding:0;grid-template-columns:1fr;gap:18px}
  .brand-card{padding:20px;background:white}.brand-card button,.group-item strong{font-size:1rem}.brand-card .row-actions{display:grid;grid-template-columns:1fr;gap:10px}.brand-card .row-actions button{width:100%}.group-item{padding:16px 0}.group-item .row-actions{margin-top:14px}
  .brand-card header .subline{display:block;margin-top:8px}.brand-card header>.tag{flex-shrink:0;white-space:nowrap}
  .audit-filters{padding:0 0 16px;grid-template-columns:1fr;gap:14px}.audit-filters label,.audit-filters input,.audit-filters select{font-size:1rem}
  .content[data-view=audit] td,.content[data-view=users] td,.content[data-view=audit] th,.content[data-view=users] th{font-size:1rem;padding:14px}
  .content[data-view=audit] .table-wrap,.content[data-view=users] .table-wrap{max-height:none;background:white}
  .mobile-audit-filters{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 16px;margin-bottom:18px}.mobile-audit-filters .audit-filters{padding-top:16px}
  .mobile-audit-more{padding:20px 0}.mobile-audit-more button{width:100%}
  .log-json{font-size:.9rem}.log-change th,.log-change td{font-size:1rem}
  dialog,dialog.wide{width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;overflow:hidden}
  #modalContent,#editForm{height:100%;min-height:0}#editForm{display:flex;flex-direction:column}
  .modal-head{padding:14px max(16px,env(safe-area-inset-right)) 14px max(16px,env(safe-area-inset-left));flex:0 0 auto;background:white;border-bottom:1px solid var(--line);gap:10px}
  .modal-head h2{font-size:1.25rem;line-height:1.4}.modal-head button{min-width:52px;min-height:52px;font-size:1.4rem}
  .modal-body{padding:20px 18px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;max-height:none}
  .modal-footer{padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;flex:0 0 auto;gap:12px;display:flex;flex-wrap:wrap}
  .modal-footer>button{flex:1;min-height:58px;font-size:1.05rem}.modal-footer .checkline{font-size:1rem;min-height:44px;margin:0 0 4px;width:100%}
  .form-grid{grid-template-columns:minmax(0,1fr);gap:20px}.form-grid>div{min-width:0}.form-grid .full{grid-column:1/-1}
  .form-grid label,.modal-body .notice,.modal-body .hint,.modal-body .subline,.modal-body .error,.product-detail dt{font-size:1rem}
  .form-grid input,.form-grid select,.form-grid textarea{font-size:1rem}.form-grid select{max-width:100%}
  .quantity-wrap{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;gap:10px}.quantity-wrap [data-step="-10"],.quantity-wrap [data-step="10"]{display:none}
  .quantity-wrap button{min-height:64px;font-size:1.5rem;padding:8px}.quantity-wrap #f-qty{width:100%;min-width:0;min-height:72px;font-size:2rem;text-align:center;padding:8px;font-weight:700}
  .preview{padding:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.preview span{font-size:1rem}.preview strong{font-size:1.8rem}
  .mobile-menu-grid{display:grid;grid-template-columns:1fr;gap:12px}.mobile-menu-grid button{font-size:1rem;min-height:58px;text-align:left;padding:14px 16px}
  .mobile-menu-account{margin:0 0 20px;font-weight:650}.mobile-menu-heading{margin:28px 0 12px}.mobile-menu-extra{margin-top:24px}
  .mobile-detail-name{font-size:1.35rem;line-height:1.5}.mobile-detail-stock{padding:20px;background:#eaf3ff;border-radius:12px}.mobile-detail-stock strong{display:block;font-size:2rem;color:#135eaa}
  .mobile-entry-product{padding:16px;background:#edf4fc;border:1px solid #c8d9ed;border-radius:12px;margin-bottom:16px}.mobile-entry-product strong{display:block;font-size:1.2rem;line-height:1.5}
  .mobile-entry-options{border:1px solid var(--line);border-radius:10px;padding:0 14px;margin-top:16px}.mobile-entry-options[open]{padding-bottom:16px}.mobile-entry-options>div{display:grid;gap:16px}
  .mobile-entry-saved{padding:14px;background:#e6f5ed;color:#155c3d;border-radius:10px;font-weight:650}
  .login-shell{padding:20px 16px}.login-card{padding:28px 22px;max-width:480px;width:100%}.login-card h1{font-size:1.7rem}.login-card p,.login-foot{font-size:1rem}.login-card input{margin-bottom:20px}.login-card button{min-height:60px;font-size:1.12rem}
  #toast{bottom:calc(92px + env(safe-area-inset-bottom));left:14px;right:14px;transform:none;max-width:none;font-size:1rem;padding:16px;border-radius:12px}
  .help-list{padding-left:24px;font-size:1rem}.help-list li{margin-bottom:18px}
}
@media screen and (min-width:650px) and (max-width:900px){.mobile-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media screen and (max-width:360px){
  main{padding-left:10px;padding-right:10px}.mobile-box-card{padding:16px}.mobile-card-actions{gap:8px}
  .history-shortcuts{grid-template-columns:1fr 1fr}
}
@media print{.mobile-nav{display:none!important}}
