/* 全ページ共通スタイル (app.css)
   各HTMLの <head> に重複していたフォント読み込みと <style> をここへ集約する。 */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap");
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css");

/* Vue のマウント完了までテンプレートの生ソースを見せない */
[v-cloak] { display: none; }

html, body, #app { min-height: 100%; }
body { font-family: 'Inter', 'Noto Sans JP', sans-serif; }
button, input, select, textarea { touch-action: manipulation; }

.mobile-bottom-nav {
  min-height: calc(4.25rem + env(safe-area-inset-bottom));
  padding-bottom: max(0.4rem, env(safe-area-inset-bottom));
}

/* iOS Safariで入力時に勝手にズームされない最小サイズ。 */
@media (max-width: 767px) {
  input, select, textarea { font-size: 16px !important; }
}

/* 見積書などの印刷用（ダッシュボード・賃貸案件画面） */
@page { size: A4 portrait; margin: 15mm; }

/* リアプロ連携画面の「処理中」表示。標準の animate-pulse より控えめに点滅させる */
@keyframes pulse-subtle {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}
.animate-pulse-subtle { animation: pulse-subtle 2s infinite ease-in-out; }
