/* 出雲商業高校お弁当注文アプリ：モバイル用
   画面幅が 900px 未満のときだけ読み込みます。
*/

/* 売上集計：日付入力がカードからはみ出さない */
#vendor-sales-card .sales-form,
#vendor-sales-card .sales-field{
  min-width:0;
  max-width:100%;
}

#vendor-sales-card input[type="date"]{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  padding:11px 10px !important;
}

/* 売上集計ボタン（スマホ時） */
@media (max-width: 600px){
  #vendor-sales-card .sales-actions{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    width:100%;
    flex-wrap:nowrap;
  }

  #vendor-sales-card .sales-actions button{
    width:calc((100% - 12px) / 2);
    max-width:none;
    min-width:0;
    margin:0;
    flex:1 1 0;
  }

  .sales-kpi-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-bottom:12px;
  }

  .sales-kpi-grid .sales-kpi-card:nth-child(3){
    grid-column:1 / -1;
  }

  .sales-kpi-value{
    font-size:22px;
  }

  .sales-table{
    font-size:13px;
  }

  .sales-table th,
  .sales-table td{
    padding:7px 5px;
  }
}

@media (max-width: 700px) {
  .selected-location-box,
  .same-location-business-box {
    padding: 12px;
    border-radius: 14px;
  }
}

@media (max-width: 700px) {
  .selected-day-action {
    flex-direction: column;
  }

  #btn-open-day-modal,
  #btn-open-day-delete {
    width: 100%;
    min-height: 56px;
  }
}

@media (max-width: 700px) {
  .selected-day-action {
    margin: 14px 0 2px;
  }

  #btn-open-day-modal {
    width: 100%;
    min-height: 56px;
    font-size: 1rem;
  }
}

@media (max-height:700px){
  .login-hero{height:37dvh;min-height:235px}
  .login-panel{padding-top:8px}
  .login-card-main{padding:14px 16px 16px}
  .login-card-title{font-size:24px}
  .login-time{margin-top:12px;font-size:15px}
  .login-guide{margin-bottom:9px;font-size:11px}
  .login-input{height:45px;margin:5px 0}
  .login-primary{height:48px;margin-top:9px}
}

@media (max-width:420px){
  .menu-card-actions{grid-template-columns:42px minmax(0,1fr) !important;gap:6px !important}
  .menu-photo-edit{grid-template-columns:96px minmax(0,1fr) !important}
  .menu-photo-preview{width:96px !important;height:72px !important;min-height:72px !important}
  .menu-add-button{font-size:12px !important}
}

@media (max-height:700px){.login-hero-copy{bottom:14px}.login-hero-catch{font-size:18px}.login-hero-title{font-size:24px}}

/* スマホ縦画面：北陵版のように写真上部をすっきり */
@media (max-width:600px){
  body.show-login .login-hero{
    height:43dvh !important;
    min-height:300px !important;
    background-position:center center !important;
  }

  body.show-login .login-hero-brand{
    width:94% !important;
    gap:7px !important;
  }

  body.show-login .login-school-logo{
    width:min(94%, 460px) !important;
    max-height:58px !important;
  }
}

/* 低い画面でもログインフォームを圧迫しすぎない */
@media (max-height:700px){
  body.show-login .login-hero{
    height:37dvh !important;
    min-height:235px !important;
  }

  body.show-login .login-school-logo{
    max-height:47px !important;
  }
}

/* スマホ */
@media (max-width:600px){
  body.show-login .login-hero-brand{
    width:92% !important;
  }

  body.show-login .login-brand-panel{
    width:100% !important;
    padding:13px 16px 14px !important;
    border-radius:17px !important;
  }

  body.show-login .login-school-logo{
    width:min(97%, 460px) !important;
    max-height:54px !important;
  }

  body.show-login .login-brand-divider{
    margin:8px 0 8px !important;
  }

  body.show-login .login-hero-app-title{
    font-size:18px !important;
  }
}

/* 低い画面 */
@media (max-height:700px){
  body.show-login .login-brand-panel{
    padding:10px 14px 11px !important;
  }

  body.show-login .login-school-logo{
    max-height:46px !important;
  }

  body.show-login .login-brand-divider{
    margin:6px 0 6px !important;
  }

  body.show-login .login-hero-app-title{
    font-size:16px !important;
  }
}

/* 注文中ヘッダー：店名＋戻る */
.menu-header-sticky{
  padding:6px 0 10px;
}
.current-shop-name{
  font-size:16px;
  line-height:1.3;
}
#btn-back-shop{
  font-size:12px;
  padding:8px 10px;
}

.app-title{
  font-size:13px;
  line-height:1.45;
}

.shop-calendar-title{
  font-size:12px;
}

.shop-calendar-grid .dow,
.shop-cal-day,
.shop-cal-empty{
  font-size:12px;
}

.shop-cal-day,
.shop-cal-empty{
  padding:4px 0;
}

.footer-actions button{
  font-size:14px;
  font-weight:800;
}
