/* ============================================================
   Triplanner 다중 여행 화면 — 신규 클래스 (접두 mt-)
   이 파일은 design/ 안의 시안용이다. 구현 때 public/style.css 에 옮긴다(핸드오프 3절).
   - 토큰은 public/style.css 의 :root 변수만 쓴다. 신규 CSS 변수 없음.
   - font-size 는 모두 calc(Npx*var(--fs)). 입력은 max(16px, …) (se-inp 재사용).
   - 터치 영역 44px 이상. [hidden] 은 style.css 의 [hidden]{display:none!important} 를 따른다.
   - 그릇(.se-hd/.se-body/.se-foot/.se-inp/.se-lbl/.se-err/.se-note/.se-ib/.se-x/.se-switch-row/.se-date)과
     확인 모달(.confirm-*), 문서 시트(.dc-sheet), 항공 카드(.fc-*), 시작 화면(.lock-*)은 기존 클래스를 그대로 쓴다.
   ============================================================ */

/* ---------- 풀 페이지 (약관·합류·운영자) ---------- */
.mt-page{position:fixed;inset:0;z-index:9990;background:var(--bg);word-break:keep-all;display:flex;flex-direction:column;overflow:hidden}
.mt-top{flex:none;display:flex;align-items:center;gap:4px;min-height:56px;padding:calc(6px + var(--safe-top)) 8px 6px 8px;border-bottom:1px solid var(--line)}
.mt-top-t{flex:1;min-width:0;padding-left:8px;font-size:calc(16px*var(--fs));font-weight:700;line-height:1.3}
.mt-top-t:first-child{padding-left:12px}
.mt-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:22px 20px 28px}
.mt-h1{font-size:calc(22px*var(--fs));font-weight:800;letter-spacing:-.5px;line-height:1.3;word-break:keep-all}
.mt-h2{font-size:calc(17px*var(--fs));font-weight:700;line-height:1.35;word-break:keep-all}
.mt-p{margin-top:8px;font-size:calc(14px*var(--fs));color:var(--fg2);line-height:1.6;word-break:keep-all}
.mt-sm{font-size:calc(12px*var(--fs));color:var(--fg2);line-height:1.5;word-break:keep-all}
.mt-gap{height:16px}.mt-gap-s{height:8px}.mt-gap-l{height:28px}

/* ---------- 버튼 ----------
   색 변형은 기존 부품을 쓴다: 주=.se-save, 보조=.se-cancel, 위험=.confirm-danger, 비활성=.se-save[aria-disabled].
   .mt-btn은 그 위에 「폭 가득·48px」 배치만 얹는다. */
.mt-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:6px 16px;border-radius:10px;font-size:calc(14px*var(--fs));font-weight:700;line-height:1.3;text-align:center;flex:none}
.mt-btn svg,.mt-link svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mt-btn.line{background:var(--bg);color:var(--blue);border:1px solid var(--blue)}
.mt-btn.line:active{background:var(--blue-bg)}
.mt-btn.danger-line{background:var(--bg);color:var(--danger);border:1px solid var(--line2)}
.mt-btn.danger-line:active{background:var(--danger-bg)}
.mt-btn.dashed[aria-disabled="true"]{background:var(--bg2);color:var(--fg2);border:1.5px dashed var(--line2)}
.mt-btn.sm{width:auto;min-height:44px;padding:0 14px;font-size:calc(13px*var(--fs))}
.mt-btn .se-spin{border-color:rgba(255,255,255,.4);border-top-color:#fff}
.mt-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 10px;color:var(--fg2);font-size:calc(13px*var(--fs));font-weight:600;text-decoration:underline;text-underline-offset:3px}
.mt-link.blue{color:var(--blue);text-decoration:none}
.mt-link.red{color:var(--danger);text-decoration:none}
.mt-center{display:flex;justify-content:center}
.mt-btn:focus-visible,.mt-link:focus-visible,.mt-opt:focus-visible,.mt-chk:focus-visible,.mt-pick:focus-visible,.mt-trip:focus-visible,.mt-ac-i:focus-visible,.mt-fold:focus-visible,.mt-row:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* ---------- 빈 상태·결과 ---------- */
.mt-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:44px 8px 16px}
.mt-empty-ic{width:72px;height:72px;border-radius:50%;margin-bottom:20px;display:flex;align-items:center;justify-content:center;background:var(--blue-bg);color:var(--blue)}
.mt-empty-ic svg{width:32px;height:32px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mt-empty-ic.warn{background:var(--warn-bg);color:var(--warn-text)}
.mt-empty-ic.err{background:var(--danger-bg);color:var(--danger-hover)}
.mt-empty-ic.mute{background:var(--bg2);color:var(--fg2)}
.mt-empty .mt-p{max-width:300px}
.mt-empty-acts{width:100%;max-width:320px;margin-top:28px}

/* ---------- 안내 박스 ---------- */

/* ---------- 필드 보조 ---------- */
.mt-two{display:flex;gap:8px}.mt-two>*{flex:1 1 0;min-width:0}
.mt-summary{margin-top:8px;font-size:calc(13px*var(--fs));font-weight:700;color:var(--blue)}
.mt-pick{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line2);border-radius:8px;background:var(--bg);color:var(--fg);font-size:calc(15px*var(--fs));text-align:left;line-height:1.4}
.mt-pick>span{flex:1;min-width:0;word-break:keep-all}
.mt-pick svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:var(--fg2)}
.mt-pick[aria-disabled="true"]{background:var(--bg2);color:var(--fg2)}
.mt-pick small{display:block;font-size:calc(12px*var(--fs));color:var(--fg2);margin-top:1px}
.mt-ro-note{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:calc(12px*var(--fs));color:var(--fg2);line-height:1.45}
.mt-ro-note svg{width:13px;height:13px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mt-steps{flex:none;padding:12px 20px 0}
.mt-steps-bar{display:flex;gap:6px}
.mt-steps-bar i{flex:1;height:4px;border-radius:2px;background:var(--line2)}
.mt-steps-bar i.on{background:var(--blue)}
.mt-steps-lbl{margin-top:8px;font-size:calc(12px*var(--fs));font-weight:600;color:var(--fg2)}
.mt-rules{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.mt-rules-i{display:flex;align-items:center;gap:8px;font-size:calc(13px*var(--fs));line-height:1.45}
.mt-rules-i svg{width:16px;height:16px;flex:none;stroke:var(--blue);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- 체크·라디오 ---------- */
.mt-chk-row{display:flex;align-items:flex-start;gap:4px;border-bottom:1px solid var(--line)}
.mt-chk-row:last-child{border-bottom:0}
.mt-chk{flex:1;min-width:0;display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:11px 0;text-align:left;width:100%}
.mt-chk-tx{flex:1;min-width:0;font-size:calc(14px*var(--fs));line-height:1.45;word-break:keep-all}
.mt-chk-tx small{display:block;margin-top:3px;font-size:calc(12px*var(--fs));color:var(--fg2);line-height:1.5}
.mt-tag{font-weight:700;color:var(--blue)}.mt-tag.opt{color:var(--fg2)}
.mt-chk .ckl-box{border-color:var(--fg3);margin-top:0;width:24px;height:24px}
.mt-chk[aria-checked="true"] .ckl-box{background:var(--fg);border-color:var(--fg)}
.mt-chk[aria-checked="true"] .ckl-box svg{opacity:1}
.mt-view{flex:none;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 6px;font-size:calc(12px*var(--fs));font-weight:600;color:var(--fg2);text-decoration:underline;text-underline-offset:3px}
.mt-opts{display:flex;flex-direction:column;gap:8px}
.mt-opt{display:flex;gap:12px;align-items:flex-start;width:100%;min-height:56px;padding:12px 14px;text-align:left;border:1px solid var(--line2);border-radius:10px;background:var(--bg)}
.mt-opt .mt-radio{flex:none;width:20px;height:20px;margin-top:2px;border:2px solid var(--fg3);border-radius:50%;position:relative}
.mt-opt[aria-checked="true"]{border-color:var(--blue);background:var(--blue-bg);box-shadow:inset 0 0 0 1px var(--blue)}
.mt-opt[aria-checked="true"] .mt-radio{border-color:var(--blue)}
.mt-opt[aria-checked="true"] .mt-radio::after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--blue)}
.mt-opt-tx{flex:1;min-width:0}
.mt-opt b{display:block;font-size:calc(14px*var(--fs));font-weight:700;line-height:1.4}
.mt-opt small{display:block;margin-top:2px;font-size:calc(12px*var(--fs));color:var(--fg2);line-height:1.5;word-break:keep-all}
.mt-opt[aria-disabled="true"]{background:var(--bg2);border-style:dashed}
.mt-opt[aria-disabled="true"] b{color:var(--fg2)}

/* ---------- 칩·알약 ---------- */
.dc-pill.own{background:var(--fg);color:#fff}
.dc-pill.edt{background:var(--blue-bg);color:var(--blue)}
.dc-pill.mem{background:var(--bg2);color:var(--fg2);border:1px solid var(--line)}
.dc-pill.err{background:var(--danger-bg);color:var(--danger-hover)}
.mt-dd{display:inline-flex;align-items:center;flex:none;padding:3px 8px;border-radius:4px;background:var(--blue-bg);color:var(--blue);font-size:calc(11px*var(--fs));font-weight:600;line-height:1.4;white-space:nowrap}
.mt-dd.now{background:var(--blue);color:#fff}
.mt-dd.end{background:var(--bg2);color:var(--fg2)}
.hdr-top .mt-dd.now{background:var(--blue);color:#fff}
.hdr-top .mt-dd.end{background:var(--bg2);color:var(--fg2)}

/* ---------- 헤더의 여행 제목 버튼 ---------- */
.hdr-top h1{min-width:0;flex:1 1 auto}
.hdr-r{flex:none}
.mt-trip-btn{display:flex;align-items:center;gap:4px;min-width:0;min-height:44px;padding:0 4px 0 0;font-size:calc(15px*var(--fs));font-weight:700;letter-spacing:-.3px;text-align:left}
.mt-trip-btn b{min-width:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-trip-btn svg{width:16px;height:16px;flex:none;stroke:var(--fg2);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.mt-trip-btn:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;border-radius:6px}

/* ---------- 내 여행 시트·여행 줄 ---------- */
.mt-quick{display:flex;gap:8px;margin-bottom:6px}
.mt-quick .mt-btn{flex:1 1 0;min-width:0}
.mt-sec-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;margin:14px 0 8px}
.mt-sec-hd .lbl{margin:0}
.mt-trip{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 14px;margin-bottom:8px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.mt-trip:active{background:var(--bg2)}
.mt-trip[aria-current="true"]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.mt-trip-main{flex:1;min-width:0}
.mt-trip-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:calc(15px*var(--fs));font-weight:700;line-height:1.35;word-break:keep-all}
.mt-trip-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:5px;font-size:calc(12px*var(--fs));color:var(--fg2);line-height:1.4}
.mt-trip.pending{border-style:dashed;background:var(--bg2);cursor:default}
.mt-trip-act{flex:none}
.mt-fold{display:flex;align-items:center;gap:6px;width:100%;min-height:44px;font-size:calc(12px*var(--fs));font-weight:600;color:var(--fg2);text-align:left}
.mt-fold svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s cubic-bezier(.4,0,.2,1)}
.mt-fold[aria-expanded="true"] svg{transform:rotate(180deg)}

/* ---------- 초대 ---------- */
.mt-linkbox{display:flex;align-items:center;gap:6px;min-height:48px;padding:0 6px 0 12px;border:1px solid var(--line2);border-radius:8px;background:var(--bg2);font-size:calc(13px*var(--fs));color:var(--fg)}
.mt-linkbox-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-share{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.mt-share .kakao-btn{max-width:none;min-height:48px;border-radius:10px;font-weight:700}
.mt-inv{border:1px solid var(--line);border-radius:10px;padding:10px 6px 10px 14px;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.mt-inv-main{flex:1;min-width:0}
.mt-inv-meta{margin-top:5px;font-size:calc(12px*var(--fs));color:var(--fg2);line-height:1.5}
.mt-inv .mt-link{flex:none}
.mt-count{font-variant-numeric:tabular-nums}

/* ---------- 멤버 ---------- */
.mt-mem{display:flex;align-items:center;gap:12px;min-height:60px;padding:6px 0 6px;border-bottom:1px solid var(--line)}
.mt-mem:last-child{border-bottom:0}
.mt-av{flex:none;width:36px;height:36px;border-radius:50%;background:var(--bg2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:calc(14px*var(--fs));font-weight:700;color:var(--fg2)}
.mt-av.me{background:var(--blue-bg);border-color:var(--blue);color:var(--blue)}
.mt-mem-main{flex:1;min-width:0}
.mt-mem-nm{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:calc(14px*var(--fs));font-weight:600;line-height:1.4}
.mt-mem-nm i{font-style:normal;font-weight:400;color:var(--fg2)}
.mt-mem-sub{margin-top:1px;font-size:calc(12px*var(--fs));color:var(--fg2)}
.mt-mem.gone .mt-mem-nm{color:var(--fg2)}

/* ---------- 자동완성 (국가·공항·도시) ---------- */
.mt-ac{margin-top:6px;border:1px solid var(--line2);border-radius:10px;overflow:hidden;background:var(--bg)}
.mt-ac-i{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 12px;text-align:left;border-bottom:1px solid var(--line)}
.mt-ac-i:last-child{border-bottom:0}
.mt-ac-i:active{background:var(--bg2)}
.mt-ac-code{flex:none;min-width:46px;text-align:center;padding:3px 6px;border-radius:5px;background:var(--blue-bg);color:var(--blue);font-size:calc(12px*var(--fs));font-weight:800;letter-spacing:.5px}
.mt-ac-tx{flex:1;min-width:0}
.mt-ac-tx b{display:block;font-size:calc(14px*var(--fs));font-weight:600;line-height:1.4}
.mt-ac-tx small{display:block;font-size:calc(12px*var(--fs));color:var(--fg2);line-height:1.4}
.mt-ac-tx mark{background:none;color:var(--blue);font-weight:800}
.mt-ac-empty{padding:14px 12px;font-size:calc(13px*var(--fs));color:var(--fg2);line-height:1.5;word-break:keep-all}
.mt-sel{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 6px 6px 12px;border:1px solid var(--blue);border-radius:8px;background:var(--blue-bg)}
.mt-sel .mt-ac-tx{flex:1}

/* ---------- 항공편 ---------- */
.mt-fl .fc-header{background:var(--bg2);border-bottom:1px solid var(--line)}
.mt-fl .fc-flight-no{color:var(--fg)}
.mt-fl .fc-plane{color:var(--blue)}
.mt-fl .fc-flight-line::before,.mt-fl .fc-flight-line::after{background:var(--line2)}
.mt-fl .fc-city.--right .mt-fl-d{text-align:right}
.mt-fl-d{font-size:calc(11px*var(--fs));color:var(--fg2);line-height:1.4}
.mt-fl-d em{font-style:normal;font-weight:700;color:var(--blue)}
.mt-fl-note{padding:0 14px 10px;font-size:calc(12px*var(--fs));color:var(--fg2);line-height:1.5}
.mt-fl-acts{display:flex;justify-content:flex-end;margin:-6px 0 8px}
.mt-fl-empty{border:1.5px dashed var(--line2);border-radius:10px;padding:16px 16px 14px;margin-bottom:12px}
.mt-fl-empty .mt-fl-empty-t{margin-top:2px;font-size:calc(13px*var(--fs));color:var(--fg2);line-height:1.55;word-break:keep-all}
.mt-fl-empty .mt-btn{margin-top:12px}
.mt-dur{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;background:var(--blue-bg);color:var(--blue-active)}
.mt-dur svg{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mt-dur b{display:block;font-size:calc(17px*var(--fs));font-weight:800;line-height:1.3}
.mt-dur small{display:block;font-size:calc(12px*var(--fs));line-height:1.45}
.mt-dur.err{background:var(--danger-bg);color:var(--danger-hover)}
.mt-dur.none{background:var(--bg2);color:var(--fg2)}

/* ---------- 날씨 도시 ---------- */
.mt-day{border:1px solid var(--line);border-radius:10px;margin-bottom:8px;padding:6px 6px 8px 14px}
.mt-day-hd{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:44px}
.mt-day-hd b{font-size:calc(14px*var(--fs));font-weight:700}
.mt-day-hd em{font-style:normal;font-weight:400;color:var(--fg2);margin-left:6px;font-size:calc(12px*var(--fs))}
.mt-city{display:flex;align-items:center;gap:6px;min-height:48px;padding:0 0 0 0}
.mt-city-tx{flex:1;min-width:0;font-size:calc(14px*var(--fs));font-weight:600;line-height:1.4}
.mt-city-tx small{display:block;font-weight:400;font-size:calc(12px*var(--fs));color:var(--fg2)}
.mt-add{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 8px);min-height:44px;margin-top:4px;border:1.5px dashed var(--line2);border-radius:8px;color:var(--blue);font-size:calc(13px*var(--fs));font-weight:600}
.mt-add svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
.mt-add[aria-disabled="true"]{color:var(--fg2);background:var(--bg2)}
.mt-day-none{padding:2px 0 6px;font-size:calc(12.5px*var(--fs));color:var(--fg2)}
.mt-wxcard-empty{border:1.5px dashed var(--line2);border-radius:10px;padding:14px;margin-bottom:12px}

/* ---------- 저장 공간 ---------- */
.dc-prog-bar.warn i{background:var(--warn-text)}
.dc-prog-bar.full i{background:var(--danger)}
.mt-meter-wrap{position:relative}
.mt-meter-mark{position:absolute;left:80%;top:2px;bottom:-4px;width:2px;background:var(--fg)}
.mt-meter-tx{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:calc(12px*var(--fs));color:var(--fg2);font-variant-numeric:tabular-nums}
.mt-meter-tx b{color:var(--fg)}

/* ---------- 설정 목록 ---------- */
.mt-group{margin-bottom:26px}
.mt-group>.lbl{margin-bottom:6px}
.mt-row{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 0;border-bottom:1px solid var(--line);text-align:left}
.mt-row:last-child{border-bottom:0}
.mt-row-tx{flex:1;min-width:0}
.mt-row-tx b{display:block;font-size:calc(14px*var(--fs));font-weight:600;line-height:1.4}
.mt-row-tx small{display:block;font-size:calc(12px*var(--fs));color:var(--fg2);line-height:1.45;margin-top:1px}
.mt-row-v{flex:none;max-width:45%;font-size:calc(13px*var(--fs));color:var(--fg2);text-align:right;line-height:1.4}
.mt-row svg.ch{width:16px;height:16px;flex:none;stroke:var(--fg2);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mt-danger-zone{border:1px solid var(--line2);border-radius:10px;padding:4px 14px}
.mt-danger-zone .mt-row:last-child b{color:var(--danger)}

/* ---------- 일정 탭 안내 카드·자리표시 ---------- */
.mt-guide{position:relative;border:1px solid var(--blue);background:var(--blue-bg);border-radius:10px;padding:14px 14px 14px;margin-bottom:12px}
.mt-guide b{display:block;font-size:calc(14px*var(--fs));font-weight:700;padding-right:36px}
.mt-guide p{margin:4px 0 12px;font-size:calc(12.5px*var(--fs));color:var(--fg2);line-height:1.55}
.mt-guide .se-x{position:absolute;right:2px;top:2px}
.mt-skel{border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:10px}
.mt-skel i{display:block;height:10px;border-radius:5px;background:var(--line);margin-bottom:8px}
.mt-skel i:last-child{margin-bottom:0;width:60%}

/* ---------- 운영자 ---------- */
.mt-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mt-stat{border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.mt-stat b{display:block;font-size:calc(24px*var(--fs));font-weight:800;letter-spacing:-.5px;line-height:1.2;font-variant-numeric:tabular-nums}
.mt-stat small{display:block;margin-top:2px;font-size:calc(12px*var(--fs));color:var(--fg2);line-height:1.4}
.mt-stat.wide{grid-column:1 / -1}
.mt-log{display:flex;flex-direction:column;gap:0}
.mt-log-i{padding:10px 0;border-bottom:1px solid var(--line);font-size:calc(12.5px*var(--fs));line-height:1.5;color:var(--fg2)}
.mt-log-i:last-child{border-bottom:0}
.mt-log-i b{color:var(--fg);font-weight:600}
.mt-opbar{flex:none;display:flex;align-items:center;gap:8px;min-height:48px;padding:calc(4px + var(--safe-top)) 6px 4px 14px;background:var(--lock-bg);color:#fff;font-size:calc(12px*var(--fs));line-height:1.45} /* .hdr 안 맨 위에 넣는다(sticky 아님) — 안전 영역 여백 포함 */
.mt-opbar>span{flex:1;min-width:0}
.mt-opbar svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mt-opbar button{flex:none;min-height:44px;padding:0 12px;border:1px solid rgba(255,255,255,.45);border-radius:8px;color:#fff;font-size:calc(12px*var(--fs));font-weight:700}
.mt-op-item{display:flex;align-items:center;gap:10px;width:100%;min-height:64px;padding:10px 0;border-bottom:1px solid var(--line);text-align:left}
.mt-op-item:last-child{border-bottom:0}

/* ---------- 기타 ---------- */
.mt-cnt{margin-top:4px;text-align:right;font-size:calc(11px*var(--fs));color:var(--fg2);font-variant-numeric:tabular-nums}

/* ---------- 시작 화면 (.lock 재사용) 추가분 ---------- */
.lock-invite{font-size:calc(20px*var(--fs));font-weight:700;color:#fff;letter-spacing:-.4px;line-height:1.3;margin-top:14px}
.lock-invite-sub{margin-top:6px;font-size:calc(13px*var(--fs));color:rgba(255,255,255,.65);line-height:1.5;word-break:keep-all;max-width:260px;margin-left:auto;margin-right:auto}
.lock-actions .lock-msg{max-width:280px;padding:0 4px;text-align:center;line-height:1.5}
.kakao-btn[aria-disabled="true"]{opacity:.45}

/* ---------- 그릇 ----------
   시트 전용 클래스를 따로 만들지 않고 일정 편집 시트의 .se-overlay/.se-sheet를 그대로 쓴다(#129 키보드 대응 --se-kb·--se-vvh 포함).
   .se-sheet는 높이가 항상 꽉 차므로 내용 높이만큼만 여는 시트는 .mt-fit을 더한다. */
.se-sheet.mt-fit{height:auto;max-height:calc(var(--se-vvh) - var(--safe-top) - 8px)}
.mt-page.off .se-banner,.mt-off .se-banner{display:block}
.se-foot>.mt-btn+.mt-btn,.mt-scroll+.se-foot>.mt-btn+.mt-btn{margin-top:8px}
@media (prefers-reduced-motion:reduce){.mt-fold svg{transition:none}}
.se-note.warn b{color:var(--warn-text)}
/* 긴 이름·제목 */
.mt-mem-nm,.mt-trip-name,.mt-op-item,.confirm-title,.mt-h1,.mt-h2,.mt-city-tx{overflow-wrap:anywhere}
.mt-mem-nm>span:first-child{min-width:0;overflow-wrap:anywhere}
.se-err,.mt-empty .mt-p,.se-note{word-break:keep-all;overflow-wrap:break-word}
.se-err>span{min-width:0}
.mt-nb{white-space:nowrap}
.mt-trip-plain{font-size:calc(15px*var(--fs));font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.3px}
.mt-day-lbl{font-size:calc(12px*var(--fs));color:var(--fg2);margin:0 0 8px}
.mt-pill-chg{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:var(--blue-bg);color:var(--blue);font-size:calc(11px*var(--fs));font-weight:700}
.dc-sheet .dc-select,.dc-sheet .dc-input{min-height:44px} /* 문서 등록 시트 칸 44px (기존 38/36px) */
.mt-city-btn{text-align:left;min-height:48px;display:block;padding:0}
.mt-city-btn span{display:block;font-size:calc(14px*var(--fs));font-weight:600;line-height:1.4}
.mt-city-btn small{display:block}
.mt-fl-wrap{margin-bottom:12px}
.mt-fl-wrap .mt-fl-empty{margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-style:solid}
.mt-fl-strip{margin-bottom:0;border-top-left-radius:0;border-top-right-radius:0;border-top:0}
.mt-fl-vj{display:block;padding:12px 14px 0}.mt-fl-vj b{display:block;font-size:calc(14px*var(--fs))}.mt-fl-vj small{display:block;margin-top:2px;font-size:calc(12px*var(--fs));color:var(--fg2);line-height:1.5}
.mt-wxcard{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:12px;font-size:calc(13px*var(--fs))}
.mt-ac-i{word-break:keep-all}
.mt-pick{overflow-wrap:anywhere}
.mt-fl-strip .fc-doc-strip{min-height:44px;display:flex;align-items:center}.mt-fl-strip .fc-doc-strip-main{width:100%}
/* ---------- 아이콘 ---------- */
.mt-i{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mt-i.f{fill:currentColor;stroke:none}

/* ---------- 라운드 2 정리 ---------- */
.se-note.ic{display:flex;gap:6px;align-items:flex-start}
.se-note.ic>svg{flex:none;margin-top:2px}
.se-note.ic>span{flex:1;min-width:0}
.se-note.info{background:var(--blue-bg);color:var(--blue-active);padding:7px 10px;border-radius:8px}
.se-note.err{background:var(--danger-bg);color:var(--danger-hover);padding:7px 10px;border-radius:8px}
.se-note.ok{background:var(--success-bg);color:var(--success-text);padding:7px 10px;border-radius:8px}
.se-note.info b{color:var(--blue-active)}.se-note.err b{color:var(--danger-hover)}
.mt-chk-all .mt-chk-tx,.mt-chk.mt-chk-all .mt-chk-tx{font-weight:700;font-size:calc(15px*var(--fs))}
.confirm-body,.confirm-warn,.se-banner{word-break:keep-all}
.confirm-danger[aria-disabled="true"]{background:var(--line2);color:var(--fg2)}
.mt-card{border:1px solid var(--line);border-radius:10px;padding:4px 14px}
.mt-mem-name{min-width:0;overflow-wrap:anywhere}
.mt-empty.sm{padding:24px 8px 8px}
.mt-empty.sm .mt-empty-ic{width:48px;height:48px;margin-bottom:12px}
.mt-empty.sm .mt-empty-ic svg{width:24px;height:24px}
.mt-empty.sm .mt-h1{font-size:calc(17px*var(--fs));font-weight:700}
.mt-empty.sm .mt-empty-acts{margin-top:18px}
/* 시트 위에 또 시트(둘째 층) — 아래 시트는 오버레이가 어둡게 가린다. Esc·포커스·Tab 가둠·키보드 대응은 맨 위 층만 */
.se-overlay.l2{z-index:10003}
.se-sheet.l2{z-index:10004}
/* 여행이 길어 일차 탭이 가로로 스크롤될 때(#114 예외): 탭 최소 폭 44px */
.days.long .dy{flex:none;min-width:44px}
/* 항공 카드(중립) — 가운데 열은 줄바꿈 없이, 공항 이름은 2줄까지 */
.mt-fl .fc-flight-center{flex:none;white-space:nowrap}
.mt-fl .fc-city{min-width:0;flex:1 1 0}
.mt-fl .fc-city-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;word-break:keep-all}
.mt-link.mut{color:var(--fg2);font-size:calc(12px*var(--fs));min-height:44px}
.mt-sm a{color:var(--blue);text-decoration:underline}
.mt-mail{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:underline;font-size:calc(14px*var(--fs))}

/* ---------- 라운드 3 ---------- */
/* 그릇 안 한글은 음절 사이에서 끊지 않는다(기존 시트·확인 모달·프로필 패널·시작 화면 글자에도 적용). 이름·제목 클래스만 anywhere로 긴 낱말을 끊는다 */
.se-sheet,.confirm-modal,.lock-actions,.mt-app,.mt-page,.dc-sheet,.prof-panel{word-break:keep-all;overflow-wrap:break-word}
.confirm-title{word-break:keep-all;overflow-wrap:anywhere}
.mt-btn.sm,.mt-add{white-space:nowrap}
.mt-view:focus-visible,.mt-op-item:focus-visible,.mt-mail:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.mt-opbar button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.hdr.viewing{padding-top:0}
.mt-group>.lbl{font-size:calc(13px*var(--fs));font-weight:700;color:var(--fg);letter-spacing:0;padding-bottom:8px;margin-bottom:10px;border-bottom:1px solid var(--line)}
.mt-group .se-switch-row{padding:8px 0;border-bottom:1px solid var(--line)}
.mt-fl-memo{padding:0 14px;margin-bottom:10px;max-height:calc(1.5em*2);text-align:left;font-size:calc(12px*var(--fs));color:var(--fg2);line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.mt-bk{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:calc(13px*var(--fs))}
.mt-bk>span:first-child{flex:1;min-width:0}
.mt-bk b{font-variant-numeric:tabular-nums}
.mt-rocard{border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:8px;font-size:calc(13px*var(--fs))}
.mt-rocard>span:first-child{flex:1}
.mt-tag-n{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--bg2);color:var(--fg2);font-size:calc(11px*var(--fs));font-weight:700}
.mt-row[aria-disabled="true"] b{color:var(--fg2)}.mt-row[aria-disabled="true"]{cursor:default}

.mt-hatch{height:72px;border:1.5px dashed var(--line2);border-radius:10px;background:var(--bg2);margin-bottom:10px}
