  @media screen and (max-width:767px){
    .content{padding:16px;}
    .stats{grid-template-columns:1fr 1fr;}
    .two{grid-template-columns:1fr;}
    .sl-row{grid-template-columns:44px 1fr 1fr 1fr;font-size:12px;}
    .sl-row span:nth-child(4),.sl-row span:last-child{display:none;}
    .st-row{grid-template-columns:1fr 1fr 1fr;font-size:12px;}
    .st-row span:nth-child(2),.st-row span:nth-child(4){display:none;}
    .ex-row{grid-template-columns:76px 1fr 92px 40px;font-size:12px;}
    .ex-row span:nth-child(3),.ex-row span:nth-child(5){display:none;}
    .segr{grid-template-columns:88px 1fr 88px;gap:8px;}
    .segr .sp{display:none;}
    .stats{grid-template-columns:1fr 1fr;}
    .shtbl th.nm{min-width:96px;font-size:12px;}
    /* イベント受注：4行に組み替えて取引先・時間・割当メンバーも出す
       1行目 日付/場所/操作　2行目 時間/取引先　3行目 クローザー/キャッチャー　4行目 割当メンバー */
    .ev-row{grid-template-columns:76px minmax(0,1fr) 88px;gap:5px;row-gap:5px;font-size:12px;align-items:start;}
    .ev-row.hd{display:none;}
    .ev-row>span:nth-child(1){grid-column:1;grid-row:1;padding-top:3px;}
    .ev-row>span:nth-child(2){grid-column:2;grid-row:1;padding-top:3px;font-size:13px;}
    .ev-row>span:nth-child(8){grid-column:3;grid-row:1/span 4;justify-content:flex-end;}
    .ev-row>span:nth-child(4){grid-column:1;grid-row:2;font-size:11px;white-space:normal;line-height:1.25;}
    .ev-row>span:nth-child(3){grid-column:2;grid-row:2;}
    .ev-row>span:nth-child(5){grid-column:1;grid-row:3;}
    .ev-row>span:nth-child(6){grid-column:2;grid-row:3;}
    .ev-row>span:nth-child(7){grid-column:1/3;grid-row:4;}
    .ev-row>span:nth-child(5),.ev-row>span:nth-child(6){text-align:left;display:flex;align-items:center;gap:4px;}
    .ev-row>span:nth-child(5)::before{content:"クロ";}
    .ev-row>span:nth-child(6)::before{content:"キャ";}
    .ev-row>span:nth-child(5)::before,.ev-row>span:nth-child(6)::before{
      font-size:10px;color:var(--faint);flex-shrink:0;}
    .ev-row .fill{font-size:11px;padding:2px 7px;}
    /* 編集/複製/削除ボタンが被らないよう最後の列に余裕を持たせる */
    .ev-row>span:last-child{gap:6px !important;}
    .ev-row .act{padding:5px;}
    .ev-ghd{padding:8px 12px !important;flex-wrap:wrap;row-gap:2px;}
    .stats.st3{grid-template-columns:1fr 1fr;}
    .pk{grid-template-columns:16px 1fr 96px;}
    .cd{min-height:66px;padding:3px;}
    .cd-h span{font-size:11px;}
    .cd-a{opacity:1;}
    .ev-chip em{font-size:9.5px;} .ev-chip small{font-size:9px;}
    .links{flex-direction:column;}
    .lk{width:100%;}
    nav.bottom button{font-size:9px;}
    .ivgrid{grid-template-columns:1fr 1fr;}
    .ivform{padding:14px;}
    /* 明細をスマホでは1行=1カード化し、各入力欄に項目名ラベルを付ける */
    .ivtbl{border:none;background:none;}
    .ivrow{display:block;border:1px solid var(--line);border-radius:10px;background:var(--card);
      padding:10px 12px;margin-bottom:10px;position:relative;}
    .ivrow.hd{display:none;}
    .ivrow>span{display:flex;align-items:center;gap:8px;padding:5px 0;}
    .ivrow>span[data-label]::before{content:attr(data-label);flex:0 0 68px;font-size:11px;
      font-weight:600;color:var(--muted);}
    .ivrow .cell{flex:1;width:auto;font-size:14px;padding:8px 10px;text-align:left;}
    .ivrow .cell.r{text-align:right;}
    .ivrow .amt{justify-content:flex-start;font-size:15px;font-weight:700;color:var(--ink);}
    .ivrow .amt::before{color:var(--muted);}
    .ivrow .rm-c{position:absolute;top:6px;right:8px;padding:0;}
    .ivrow .rm-c .del{padding:6px;}
    .ivrow.empty-r{display:block;padding:12px;}
    .ivsum{width:100%;}
    .wl-acts{margin-left:0;width:100%;}
    .wl-acts .save,.wl-acts .prt{flex:1;justify-content:center;}
    .wl-grid .row{grid-template-columns:48px 28px 1fr 74px 74px 52px;gap:4px;padding:6px 8px;}
    .wl-grid .cell{padding:4px 5px;font-size:12px;}
    .wl-grid .c-r{font-size:12px;}
    .wl-grid .row.so-row{grid-template-columns:40px minmax(0,1.5fr) 44px 44px 38px 62px;gap:4px;padding:8px 6px;font-size:12px;}
    .so-row .c-t{white-space:nowrap;}
    .att-sel{padding:4px 2px;font-size:11px;}
    /* サイドバーをスライド式ドロワーにして、全機能をスマホからも開けるようにする */
    aside{display:flex;position:fixed;top:0;left:0;bottom:0;width:82%;max-width:300px;z-index:60;
      transform:translateX(-100%);transition:transform .25s ease;overflow-y:auto;
      padding-bottom:env(safe-area-inset-bottom);}
    body.nav-open aside{transform:translateX(0);}
    #nav-overlay{display:none;position:fixed;inset:0;z-index:55;background:rgba(16,22,32,.42);}
    body.nav-open #nav-overlay{display:block;}
    /* ハンバーガー：枠付きボタン＋「メニュー」ラベル */
    .menu-btn{display:flex;align-items:center;justify-content:center;gap:5px;color:var(--ink);
      padding:7px 11px;margin-right:8px;flex-shrink:0;border:1px solid var(--line);
      border-radius:9px;background:var(--surface);font-size:12px;font-weight:600;}
    .menu-btn::after{content:"メニュー";}
    .menu-btn:active{background:var(--surface2);}
    header.top{display:flex;}
    /* スマホのヘッダーでは残り時間だけを小さく出す */
    .demo-tt.hd .tl{display:none;}
    main{padding-bottom:64px;}
    nav.bottom{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--card);
      border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);}
    nav.bottom button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;color:var(--faint);font-size:10px;font-weight:500;}
    .svc{grid-template-columns:1fr;}
    .modal .mb{grid-template-columns:1fr;}
    .up-row{grid-template-columns:1.2fr 74px 90px 64px;font-size:12px;}
    .up-row span:nth-child(4){display:none;}
    .up-row2{grid-template-columns:84px 1fr 84px 60px;font-size:12px;}
    .up-row2 span:nth-child(4),.up-row2 span:nth-child(5){display:none;}
    /* 個人別（取引先つき）：1行目=スタッフ／平日単価／操作、2行目=明細行＋取引先 */
    .up-row3{grid-template-columns:minmax(0,1fr) 84px 58px;row-gap:2px;font-size:12px;}
    .up-row3 span:nth-child(2),.up-row3 span:nth-child(5),.up-row3 span:nth-child(6){display:none;}
    .up-row3 span:nth-child(1){order:1;font-weight:600;}
    .up-row3 span:nth-child(4){order:2;}
    .up-row3 span:nth-child(7){order:3;}
    .up-row3 span:nth-child(3){order:4;grid-column:1/-1;}
    .up-row3.hd span:nth-child(3){display:none;}
    /* 請求書一覧：作成者は .s の中だと省略されて見えないので独立行に出す */
    .iv-by.pc-by{display:none;}
    .iv-byl{display:block;margin-top:4px;}
    .iv-byl .iv-by{font-size:11.5px;font-weight:700;color:var(--ink);
      background:var(--gold-soft);border:1px solid var(--gold-line);padding:2px 8px;}
    .iv-byl .iv-by svg{color:var(--gold);}
    .iv-byl .iv-by.none{color:var(--faint);background:var(--surface2);border-color:var(--line);font-weight:500;}
    .mb-cl{display:inline;}
    /* ================= スマホのホーム画面 ================= */
    /* 落ち着いたカード型のヘッダー。今日の状況をひと目で確認できる */
    .m-hero{display:block;position:relative;overflow:hidden;margin:-16px -16px 18px;
      padding:18px 16px 16px;border-bottom:1px solid var(--line);background:var(--card);}
    .mh-aur,.mh-dots,.mh-scan{display:none;}
    .mh-top{display:flex;align-items:center;justify-content:space-between;}
    .mh-orb{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;
      background:var(--accent-soft);}
    .mh-orb img{width:24px;height:24px;}
    .mh-date{font-size:11px;color:var(--faint);letter-spacing:.04em;text-align:right;}
    .mh-date b{display:block;font-size:15px;color:var(--ink);font-weight:700;}
    .mh-digest{display:flex;gap:8px;margin-top:16px;}
    .mh-digest .dg{flex:1;background:var(--surface);border:1px solid var(--line);
      border-radius:12px;padding:11px 8px;text-align:center;}
    .mh-digest .pd{display:none;}
    .mh-digest .n{font-size:23px;font-weight:700;color:var(--ink);display:inline-block;letter-spacing:-.01em;}
    .mh-digest .l{font-size:9.5px;color:var(--faint);margin-top:2px;line-height:1.35;}
    .pop2{animation:mhBump .3s ease-out;}
    @keyframes mhBump{50%{transform:scale(1.16);}}
    .mh-ticker{margin-top:12px;overflow:hidden;position:relative;height:18px;
      border-top:1px solid var(--line);padding-top:7px;}
    .mh-ticker div{position:absolute;white-space:nowrap;font-size:10.5px;color:var(--muted);}
    /* 入場アニメ（控えめに） */
    .mh-a{opacity:0;transform:translateY(8px);animation:mhPop .4s cubic-bezier(.22,.8,.3,1) forwards;}
    @keyframes mhPop{to{opacity:1;transform:none;}}
    .mh-a.a1{animation-delay:.02s;} .mh-a.a2{animation-delay:.09s;} .mh-a.a3{animation-delay:.16s;}
    /* サービスは2列タイル。色は使わず、余白と階層で見せる */
    .svc{grid-template-columns:1fr 1fr;gap:10px;}
    .svc .t{padding:14px 12px;border-radius:13px;position:relative;overflow:hidden;
      opacity:0;transform:translateY(8px);animation:mhPop .4s cubic-bezier(.22,.8,.3,1) forwards;}
    .svc .t:nth-child(1){animation-delay:.18s;} .svc .t:nth-child(2){animation-delay:.24s;}
    .svc .t:nth-child(3){animation-delay:.30s;} .svc .t:nth-child(4){animation-delay:.36s;}
    .svc .t:active{transform:scale(.98);}
    .svc .t .chv{display:none;}
    .svc .t .h{margin-bottom:9px;}
    .svc .t .ic{width:38px;height:38px;border-radius:11px;}
    .svc .t.t1 .ic{background:var(--accent-soft);color:var(--accent);}
    .svc .t.t2 .ic{background:rgba(14,159,135,.12);color:#0B7E6C;}
    .svc .t.t3 .ic{background:rgba(179,124,44,.13);color:#9A6A20;}
    .svc .t.t4 .ic{background:rgba(110,90,196,.13);color:#5B4BB0;}
    .svc .t .name{font-size:13px;}
    .svc .t .note{font-size:10px;line-height:1.5;}
    .rip{position:absolute;border-radius:50%;background:var(--accent-soft);transform:scale(0);
      animation:mhRip .6s ease-out forwards;pointer-events:none;}
    @keyframes mhRip{to{transform:scale(4);opacity:0;}}
    .hello{margin-top:2px;}

  }

  /* 端末側で「視差を減らす」設定の方には、演出を止める */
  @media screen and (max-width:767px) and (prefers-reduced-motion:reduce){
    .m-hero *,.svc .t{animation:none !important;}
    .m-hero .mh-a,.svc .t{opacity:1 !important;transform:none !important;}
  }

  @media screen and (max-width:767px){
    /* PCの「今日」帯はスマホでは出さない（ヒーロー側に出るため） */
    .today{display:none;}
    .only-m{display:block;}
    /* 右下のボタンから、今日の稼働入力へ直行 */
    .fab{display:flex;align-items:center;gap:7px;position:fixed;right:16px;z-index:40;
      bottom:calc(74px + env(safe-area-inset-bottom));
      background:var(--accent);color:var(--accent-ink);border-radius:999px;
      padding:13px 18px;font-size:13px;font-weight:700;
      box-shadow:0 10px 24px -10px rgba(16,22,32,.5);transition:transform .12s;}
    .fab:active{transform:scale(.95);}
    .td-cards{grid-template-columns:1fr;}
  }
