/* 旅伴｜日系貼紙資訊卡風格 v3（依風格板重建） */
:root{
  --paper:#fcf9f6;--card:#fff;--ink:#3e3a3f;--ink-soft:#6f6a70;--line:#ece4e1;
  --mint:#fbe4e7;--mint-ink:#a8475b;--sakura:#f8dde1;--sakura-ink:#a8475b;--cream:#faeec9;--cream-ink:#8a6516;--torii:#d4553b;
  --white:#fff;--muted:#6f6a70;--green:#a8475b;--green-dark:#8c3a4c;--lime:#faeec9;--gold:#8a6516;--peach:#f8dde1;--blue:#e3ecf3;
  --shadow:0 6px 0 rgba(62,58,63,.05);
  --font:"Hiragino Maru Gothic ProN","Yuanti TC","PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;
  --stk-torii:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNiAzMiAzMikiPgogICAgPGcgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjYmRiNmE0IiBzdHJva2Utd2lkdGg9IjIuMiIgc3Ryb2tlLWRhc2hhcnJheT0iMC4xIDQuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSI1IiB5PSI4IiB3aWR0aD0iNTQiIGhlaWdodD0iNTAiIHJ4PSIxMiIvPjwvZz4KICAgIDxwYXRoIGQ9Ik05IDE3UTMyIDExIDU1IDE3TDUzIDI0SDExWiIgZmlsbD0iI2Q0NTUzYiIvPjxyZWN0IHg9IjE1IiB5PSIyOCIgd2lkdGg9IjM0IiBoZWlnaHQ9IjQiIHJ4PSIxIiBmaWxsPSIjZDQ1NTNiIi8+CiAgICA8cmVjdCB4PSIxNyIgeT0iMjQiIHdpZHRoPSI1IiBoZWlnaHQ9IjI5IiBmaWxsPSIjZTU3NzVmIi8+PHJlY3QgeD0iNDIiIHk9IjI0IiB3aWR0aD0iNSIgaGVpZ2h0PSIyOSIgZmlsbD0iI2U1Nzc1ZiIvPgogIDwvZz48L3N2Zz4=");--stk-fuji:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoLTMgMzIgMzIpIj4KICAgIDxnIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2JkYjZhNCIgc3Ryb2tlLXdpZHRoPSIyLjIiIHN0cm9rZS1kYXNoYXJyYXk9IjAuMSA0LjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMyIDhMNTggNTRINloiLz48L2c+CiAgICA8cGF0aCBkPSJNMzIgMTZMNTMgNTBIMTFaIiBmaWxsPSIjYTljNGJmIiBzdHJva2U9IiM2ZjlhOGYiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICA8cGF0aCBkPSJNMzIgMTZMNDAgMjlMMzUgMjZMMzIgMzFMMjggMjZMMjQgMjlaIiBmaWxsPSIjZmZmIi8+CiAgPC9nPjwvc3ZnPg==");--stk-taiyaki:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoMyAzMiAzMikiPgogICAgPGcgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjYmRiNmE0IiBzdHJva2Utd2lkdGg9IjIuMiIgc3Ryb2tlLWRhc2hhcnJheT0iMC4xIDQuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48ZWxsaXBzZSBjeD0iMzIiIGN5PSIzMiIgcng9IjI4IiByeT0iMjEiLz48L2c+CiAgICA8cGF0aCBkPSJNNDYgMzJMNTggMjFWNDNaIiBmaWxsPSIjZTljMjdhIiBzdHJva2U9IiNiODhhMmUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICA8ZWxsaXBzZSBjeD0iMjkiIGN5PSIzMiIgcng9IjIwIiByeT0iMTQiIGZpbGw9IiNmMWNmOGEiIHN0cm9rZT0iI2I4OGEyZSIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KICAgIDxwYXRoIGQ9Ik0yNiAyMlEzMiAzMiAyNiA0Mk0zNCAyMlE0MCAzMiAzNCA0MiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYzk5NzRhIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjI5IiByPSIyIiBmaWxsPSIjNmI0YTE0Ii8+CiAgPC9nPjwvc3ZnPg==");--stk-lantern:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNCAzMiAzMikiPgogICAgPGcgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjYmRiNmE0IiBzdHJva2Utd2lkdGg9IjIuMiIgc3Ryb2tlLWRhc2hhcnJheT0iMC4xIDQuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSIxMCIgeT0iMyIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjU4IiByeD0iMTgiLz48L2c+CiAgICA8cmVjdCB4PSIyMiIgeT0iOCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjUiIHJ4PSIxLjUiIGZpbGw9IiM2YjViNGEiLz4KICAgIDxlbGxpcHNlIGN4PSIzMiIgY3k9IjMxIiByeD0iMTYiIHJ5PSIxNyIgZmlsbD0iI2VlOWE4NSIgc3Ryb2tlPSIjZDQ1NTNiIiBzdHJva2Utd2lkdGg9IjEuNSIvPgogICAgPHBhdGggZD0iTTE4IDI0UTMyIDI4IDQ2IDI0TTE2IDMyUTMyIDM3IDQ4IDMyTTE4IDQwUTMyIDQ0IDQ2IDQwIiBmaWxsPSJub25lIiBzdHJva2U9IiNkNDU1M2IiIHN0cm9rZS13aWR0aD0iMS4zIi8+CiAgICA8cmVjdCB4PSIyMiIgeT0iNDgiIHdpZHRoPSIyMCIgaGVpZ2h0PSI1IiByeD0iMS41IiBmaWxsPSIjNmI1YjRhIi8+PHBhdGggZD0iTTMyIDUzVjU4IiBzdHJva2U9IiNkNDU1M2IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgPC9nPjwvc3ZnPg==");--stk-sakura:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNSAzMiAzMikiPgogICAgPGcgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjYmRiNmE0IiBzdHJva2Utd2lkdGg9IjIuMiIgc3Ryb2tlLWRhc2hhcnJheT0iMC4xIDQuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48Y2lyY2xlIGN4PSIzMiIgY3k9IjMyIiByPSIyNyIvPjwvZz4KICAgIDxnIGZpbGw9IiNmOGM5ZDEiIHN0cm9rZT0iI2Q5OGE5OCIgc3Ryb2tlLXdpZHRoPSIxLjQiPjxjaXJjbGUgY3g9IjMyIiBjeT0iMTkiIHI9IjguNSIvPjxjaXJjbGUgY3g9IjQ0LjQiIGN5PSIyOCIgcj0iOC41Ii8+PGNpcmNsZSBjeD0iMzkuNyIgY3k9IjQyLjYiIHI9IjguNSIvPjxjaXJjbGUgY3g9IjI0LjMiIGN5PSI0Mi42IiByPSI4LjUiLz48Y2lyY2xlIGN4PSIxOS42IiBjeT0iMjgiIHI9IjguNSIvPjwvZz4KICAgIDxjaXJjbGUgY3g9IjMyIiBjeT0iMzIiIHI9IjQiIGZpbGw9IiNlNTlhYTgiLz4KICA8L2c+PC9zdmc+");--stk-matcha:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoLTUgMzIgMzIpIj4KICAgIDxnIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2JkYjZhNCIgc3Ryb2tlLXdpZHRoPSIyLjIiIHN0cm9rZS1kYXNoYXJyYXk9IjAuMSA0LjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iNSIgeT0iMTIiIHdpZHRoPSI1NCIgaGVpZ2h0PSI0NiIgcng9IjIwIi8+PC9nPgogICAgPHBhdGggZD0iTTExIDI5SDUzUTUzIDUyIDMyIDUyUTExIDUyIDExIDI5WiIgZmlsbD0iI2M4ZGZjZiIgc3Ryb2tlPSIjNmY5YTg2IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPGVsbGlwc2UgY3g9IjMyIiBjeT0iMjkiIHJ4PSIyMSIgcnk9IjUuNSIgZmlsbD0iIzlkYzA4YyIgc3Ryb2tlPSIjNmY5YTg2IiBzdHJva2Utd2lkdGg9IjEuNSIvPgogICAgPHBhdGggZD0iTTIwIDQwUTI2IDM2IDMyIDQwVDQ0IDQwIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBvcGFjaXR5PSIuOCIvPgogICAgPHBhdGggZD0iTTI2IDIwUTI0IDE0IDI4IDEwTTM2IDIwUTM0IDE0IDM4IDEwIiBmaWxsPSJub25lIiBzdHJva2U9IiNiOWM5YmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgPC9nPjwvc3ZnPg==");
  font-family:var(--font);color:var(--ink);
}
body{font-size:14px;line-height:1.6;background-color:var(--paper);background-image:radial-gradient(#ebe0dc 1px,transparent 1.2px);background-size:20px 20px}
.brand strong,.page-head h1,.hero h2,.card-head h3{font-family:inherit;letter-spacing:.02em}
:focus-visible{outline:3px solid #c98a99;outline-offset:2px}
/* 字級：內文 14、輔助 12–13，不再有 8–11px */
.nav-item{font-size:14px}
.btn,.select,.search-box input,.field input,.field select,.field textarea,.shopping-row h4,.day-detail strong,.todo-row span:nth-child(2),.guide-card h4,.place-row strong,.activity-row strong,.metric-row,.metric-row strong,.settings-line,.info-body,.toast,.data-table td,.offer-box strong,.offer-result,.item-price strong,.mini-metric strong{font-size:13px}
.eyebrow,.page-head p,.brand small,.trip-switch small,.trip-switch strong,.offline-card strong,.offline-card small,.profile strong,.profile small,.crumb,.sync-pill,.hero-label,.hero-label span,.hero p,.hero-stat span,.stat-info small,.stat-info em,.card-head p,.text-link,.day-time,.day-detail small,.todo-row small,.shopping-row p,.item-price small,.offer-box p,.place-row small,.place-num,.guide-card p,.guide-meta,.budget-meta,.field label,.field-hint,.modal-head small,.status-note,.trip-note,.activity-row small,.data-table th,.mini-metric small,.tag,.calendar-pill,.map-label,.map-legend,.nav-item em,.memory-tile span{font-size:12px}


/* 側邊欄與頂欄 */
.sidebar{background:#f8f1f0;border-color:#eee2e0}
.brand-mark{background:var(--torii);border-radius:10px;transform:rotate(-5deg);box-shadow:0 2px 0 rgba(62,58,63,.12)}
.trip-switch,.offline-card{background:#fff;border:1.5px dotted #e3bfc7;border-radius:16px}
.trip-switch{text-align:left}
.trip-dot{background:#e59aa8}
.nav-item{border-radius:14px;padding:12px}
.nav-item:hover{background:#f3e6e6}
.nav-item.active{background:var(--mint);color:var(--mint-ink);font-weight:700;box-shadow:none}
.nav-item.active>span{color:var(--mint-ink)}
.nav-item em{background:var(--sakura);color:var(--sakura-ink);font-weight:700}
.topbar{background:#fbfaf6eb;border-color:var(--line)}
.sync-pill{border-radius:999px}
.icon-btn{width:38px;height:38px;border-radius:12px}

/* 頁面標題卡：薄荷底＋虛線底線＋角落貼紙 */
.page-head{--pg:var(--stk-sakura);display:block;margin-bottom:22px;padding:22px 22px 20px;background:var(--mint) var(--pg) right 16px top 14px/84px no-repeat;border:1.5px solid var(--line);border-bottom:2px dotted #e3bfc7;border-radius:22px;box-shadow:var(--shadow)}
.page-head>div:first-child{padding-right:100px}
.page-head h1{margin:8px 0 4px;font-size:28px;font-weight:800;line-height:1.3;letter-spacing:.01em}
.page-head p{color:var(--mint-ink)}
.head-actions{margin-top:14px}
.eyebrow{display:inline-block;padding:2px 12px;border-radius:999px;background:var(--sakura);color:var(--sakura-ink);font-weight:700;text-transform:none;letter-spacing:.02em}
body[data-page=home] .page-head{--pg:var(--stk-fuji)}
body[data-page=itinerary] .page-head{--pg:var(--stk-torii)}
body[data-page=shopping] .page-head{--pg:var(--stk-taiyaki)}
body[data-page=expenses] .page-head{--pg:var(--stk-lantern)}
body[data-page=memories] .page-head{--pg:var(--stk-matcha)}

/* 首頁行程卡 */
.hero{display:grid;grid-template-columns:minmax(190px,1fr) minmax(170px,260px);gap:14px 24px;min-height:0;padding:22px 24px;background:#fff;border:1.5px solid var(--line);border-radius:22px;box-shadow:var(--shadow);color:var(--ink)}
.hero:before,.hero:after{content:none}
.hero-copy{align-self:center;max-width:100%}
.hero-label{color:var(--mint-ink)}
.hero-label span{color:var(--sakura-ink);background:var(--sakura);border:0;border-radius:999px;padding:3px 10px;font-weight:700}
.hero h2{color:var(--ink);font-size:26px;font-weight:800;line-height:1.35}
.hero p{color:var(--ink-soft)}
.hero-stickers{width:100%;max-height:none;object-fit:contain;align-self:center;filter:drop-shadow(0 2px 0 rgba(62,58,63,.08))}
.hero-stats{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin:0}
.hero-stat{display:flex;align-items:baseline;gap:6px;padding:6px 14px;background:#fff;border:1.5px solid var(--line);border-radius:12px}
.hero-stat strong{font-size:20px;color:var(--mint-ink)}
.hero-stat span{margin:0;color:var(--ink);font-size:14px}

/* 卡片：白底、虛線小標題 */
.card,.stat-card{background:#fff;border:1.5px solid var(--line);box-shadow:var(--shadow)}
.card{padding:22px;border-radius:22px}
.stat-card{padding:14px 16px;border-radius:16px;box-shadow:none}
div:not([class])>.card+.card{margin-top:15px}
.card-head{margin-bottom:16px}
.card-head h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:800}
.card-head h3:before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--sakura);border:2px solid var(--sakura-ink)}
.card-head p{color:var(--ink-soft)}
.stat-icon{background:var(--mint);color:var(--mint-ink);border-radius:50%}
.stat-icon.peach{background:var(--sakura);color:var(--sakura-ink)}
.stat-icon.blue{background:var(--blue);color:#3f6b7b}
.stat-icon.lime{background:var(--cream);color:var(--cream-ink)}
.stat-info strong{font-size:20px}

/* 按鈕、標籤 */
.btn{min-height:40px;padding:9px 16px;border-radius:999px;background:#fff}
.btn:hover{border-color:#e3bfc7;background:#fdf3f4}
.btn-primary{background:var(--mint-ink);border-color:var(--mint-ink);color:#fff}
.btn-primary:hover{background:var(--green-dark)}
.text-link{color:var(--mint-ink);font-weight:700}
.tag{padding:3px 12px;border-radius:999px;background:var(--mint);color:var(--mint-ink);font-weight:700}
.tag.gold{background:var(--cream);color:var(--cream-ink)}
.tag.blue{background:var(--blue);color:#3f6b7b}
.tag.gray{background:#efede6;color:#5f6a64}
.dayline .tag,.place-row .tag{align-self:center;height:fit-content}

/* 行程時間軸：虛線＋圓環 */
.dayline{border-top:0;padding:8px 0}
.day-time{color:var(--mint-ink);font-weight:800}
.daymark{width:12px;height:12px;margin-top:3px;background:#fff;border:2px solid var(--mint-ink)}
.daymark:after{top:12px;left:3px;height:44px;border-left:2px dotted #c9c2b2}

/* 清單列 */
.todo-row,.shopping-row,.guide-card{background:#fff;border:1.5px solid var(--line);border-radius:14px}
.shopping-row{padding:13px}
.check,.item-check{width:20px;height:20px;border-radius:7px;border:2px solid #e3bfc7}
.check.checked,.item-check.checked{background:var(--mint-ink);border-color:var(--mint-ink)}

/* 小提醒：奶油黃＋貼紙 */
.trip-note,.status-note{position:relative;min-height:56px;padding:12px 14px 12px 66px;background:var(--cream);border:0;border-radius:14px;color:#5a4a1d}
.trip-note:before,.status-note:before{content:"";position:absolute;left:12px;top:50%;width:40px;height:40px;margin-top:-20px;background:var(--stk-matcha) center/contain no-repeat}
.map-panel+.trip-note,.map-panel+.status-note,.trip-note+.trip-note{margin-top:12px}
.offer-box{background:var(--cream);border:0;border-radius:14px}
.offer-box p{color:#6b5a26}.offer-result{border-color:#ecdcae}.offer-result b{color:var(--cream-ink)}
.empty-state{color:var(--ink-soft);padding:20px 12px}
.empty-state:before{content:"";display:block;width:72px;height:72px;margin:0 auto 8px;background:var(--stk-sakura) center/contain no-repeat}

/* 地圖、攻略、回憶、表格 */
.map-panel{border-radius:20px;border:2px dotted #e3bfc7}
.map-label{border-radius:999px;font-weight:700}
.map-pin{background:var(--torii)}
.place-num{background:var(--sakura);color:var(--sakura-ink);border-radius:50%;font-weight:700}
.guide-cover{border-radius:16px;background:linear-gradient(135deg,var(--mint),var(--cream))}
.memory-tile{border-radius:20px}
.table-wrap{border-radius:16px;border-color:var(--line)}
.data-table th{background:var(--mint);color:var(--mint-ink)}
.budget-bar{height:10px;background:#efece2}
.budget-bar span{background:var(--mint-ink)}

/* 對話框與表單 */
.modal{border-radius:26px;background:#fff}
.field input,.field select,.field textarea{padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#c98a99;box-shadow:0 0 0 3px var(--mint)}
.switch.on{background:var(--mint-ink)}
.toast{background:var(--green-dark);border-radius:999px}
/* SVG 圖示 */
.ic svg,.stat-icon svg,.offline-icon svg,.icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.stat-icon,.offline-icon{display:grid;place-items:center}
.icon-btn{display:inline-grid;place-items:center}
.row-actions .icon-btn,.data-table .icon-btn{width:30px;height:30px}
.nav-item>span.ic{display:grid;place-items:center}
.more-dots svg{fill:currentColor}
#tab-more svg circle{fill:currentColor;stroke:none}

/* 手機版底部分頁列 */
.bottom-nav{display:none}
@media (max-width:760px){
  .bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;position:fixed;z-index:9;left:0;right:0;bottom:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:#fffffff2;border-top:2px dotted #e8c9cf;backdrop-filter:blur(10px)}
  .bottom-nav .nav-item{flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 0;min-height:52px;text-align:center;border-radius:16px;color:#65736b}
  .bottom-nav .nav-item.active{background:var(--mint);color:var(--green-dark);font-weight:700}
  .bottom-nav .nav-item>span.ic{width:auto}
  .bottom-nav small{font-size:12px}
  .page-root{padding-bottom:96px}
  .toast{bottom:88px}
}


@media (max-width:1050px){.hero{grid-template-columns:minmax(150px,1fr) minmax(150px,220px)}}
@media (max-width:760px){
  .page-head{padding:18px 18px 16px;background-size:64px;background-position:right 12px top 12px}
  .page-head>div:first-child{padding-right:74px}
  .page-head h1{font-size:24px}
  .hero{display:block;padding:18px}
  .hero-stickers{display:block;width:86%;max-width:270px;margin:12px 0 10px}
  .hero-stats{margin-top:4px}
  .card{padding:16px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto !important;transition-duration:.01ms !important}}

/* 柔和配色：櫻粉為主，藍染、薰衣草、奶油黃為輔 */
:root{--lav:#ebe6f3;--lav-ink:#6a5a8c;--blue-ink:#4a6a86}
.eyebrow{background:#fff;color:var(--sakura-ink)}
.tag{background:var(--blue);color:var(--blue-ink)}
.tag.blue{background:var(--lav);color:var(--lav-ink)}
.btn-primary{background:#b9566b;border-color:#b9566b;color:#fff}
.btn-primary:hover{background:#a8475b}
.text-link,.hero-label{color:var(--sakura-ink)}
.day-time,.hero-stat strong{color:var(--blue-ink)}
.daymark{border-color:#7f9bb8}
.data-table th{background:var(--blue);color:var(--blue-ink)}
.stat-icon{background:var(--blue);color:var(--blue-ink)}
.stat-icon.peach{background:var(--sakura);color:var(--sakura-ink)}
.stat-icon.blue{background:var(--lav);color:var(--lav-ink)}
.stat-icon.lime{background:var(--cream);color:var(--cream-ink)}
.online-dot{background:#8fb3d1}
.map-panel{background-color:#f6f1ec;background-image:linear-gradient(30deg,transparent 47%,#eadfd6 48%,#eadfd6 50%,transparent 51%),linear-gradient(120deg,transparent 47%,#ece2d9 48%,#ece2d9 50%,transparent 51%)}
.map-water{background:#dde9f2}
.memory-tile{background:linear-gradient(145deg,#fbe4e7,#faeec9)}
.memory-tile:nth-child(2){background:linear-gradient(145deg,#e3ecf3,#ebe6f3)}
.memory-tile:nth-child(3){background:linear-gradient(145deg,#faeec9,#fbe4e7)}
.memory-tile span{color:#5a4a52}
.activity-mark{background:var(--sakura);color:var(--sakura-ink)}
.modal::backdrop{background:#3a2f3680}
.field label{color:var(--ink-soft)}
.shopping-row.purchased{background:#f5f1e8;border-color:#ddd3c3}.shopping-row.purchased h4{text-decoration:line-through;color:#8b877c}.shopping-row.purchased p{color:#a19b8d}

/* 首頁使用清晰的勝尾寺達摩照片；標題文字置於局部淺色資訊底 */
.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-height:230px;background:url("katsuoji-daruma.png") center 42%/cover no-repeat;border:1.5px solid var(--line);color:var(--ink)}
.hero-copy{position:relative;z-index:1;justify-self:start;align-self:start;width:fit-content;max-width:min(100%,560px);padding:0;background:transparent;box-shadow:none}.hero h2{color:#fff;text-shadow:0 2px 10px rgba(34,25,20,.82)}
.hero-stats{grid-column:1;position:absolute;left:18px;right:18px;bottom:12px;z-index:1;padding:0;justify-content:flex-start;align-items:center;gap:8px}
@media(max-width:760px){.hero{min-height:205px;background-position:center 42%}.hero-stats{padding-bottom:0}}


/* 首頁統計標籤取代標題卡操作按鈕，維持緊湊排列 */
.head-actions .hero-stats{position:static;left:auto;right:auto;bottom:auto;grid-column:auto;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;padding:0;margin:0;z-index:auto}.head-actions .hero-stat{background:#fff}

/* 即時購物核對 */
.purchase-check-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:14px;align-items:start}
.purchase-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eee9df}
.purchase-row:last-child{border-bottom:0}
.purchase-copy{flex:1;min-width:0}
.purchase-copy strong{display:block;font-size:13px;overflow-wrap:anywhere}
.purchase-copy small{display:block;margin-top:4px;color:var(--muted);font-size:11px}
.purchase-line-total{white-space:nowrap;font-size:13px}
.purchase-actions{display:flex;gap:2px}
.purchase-summary{display:flex;justify-content:space-between;align-items:center;padding:8px 0;color:var(--ink-soft)}
.purchase-summary strong{color:var(--ink)}
.purchase-total{margin:4px 0 14px;padding:12px 14px;background:#f6f2e9;border-radius:9px}
.purchase-total strong{font-size:22px;color:var(--mint-ink)}
.checkout-field>span{display:block;margin-bottom:7px;color:var(--ink);font-size:12px;font-weight:700}
.purchase-comparison{margin:12px 0;padding:11px 12px;border-radius:9px;background:#f3f0e6;color:#5c5a4b;font-size:12px;line-height:1.6}
.purchase-comparison.over{background:#fae9e7;color:#9c3e3b;font-weight:700}
.purchase-comparison.under{background:#eaf1e8;color:#45684b}
.purchase-comparison.match{background:#eaf1e8;color:#45684b;font-weight:700}
@media(max-width:760px){.purchase-check-layout{grid-template-columns:1fr}.purchase-row{gap:7px}.purchase-actions .icon-btn{width:30px}}

/* 快速購物計算器 */
.purchase-quick-card{margin-bottom:14px}
.purchase-quick-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}
.purchase-quick-top small{display:block;color:var(--muted);font-size:12px}
.purchase-quick-top strong{display:block;margin-top:2px;color:var(--sakura-ink);font-size:28px;line-height:1.2}
.purchase-quick-top>span{padding:7px 12px;border-radius:999px;background:#f8e8eb;color:var(--sakura-ink);font-weight:700}
.purchase-quick-entry{display:grid;grid-template-columns:minmax(130px,1.15fr) minmax(125px,1fr) auto minmax(105px,.7fr) auto;gap:10px;align-items:end;margin-top:13px}
.quick-name-field,.quick-price-field,.quick-tax-field{display:grid;gap:6px;min-width:0}
.quick-name-field span,.quick-price-field span,.quick-tax-field span,.quick-qty-picker>span{color:var(--ink-soft);font-size:12px;font-weight:700}
.quick-name-field input,.quick-price-field input,.quick-tax-field select{width:100%;height:42px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit}
.quick-qty-picker{display:flex;align-items:center;gap:7px;white-space:nowrap}
.quick-qty-picker>span{margin-right:2px}
.quick-qty-picker>strong,.quick-row-controls>strong{min-width:24px;text-align:center;color:var(--ink)}
.qty-step{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--sakura-ink);font-size:20px;line-height:1;cursor:pointer;touch-action:manipulation}
.qty-step:hover{background:#faedf0;border-color:#e7c7cf}
.quick-add-button{height:42px;min-width:88px;white-space:nowrap}
.purchase-quick-hint{margin-top:9px;color:var(--muted);font-size:11px}
.quick-row-controls{display:flex;align-items:center;gap:5px}
.quick-row-controls .qty-step{width:32px;height:32px}
.quick-row-controls .icon-btn{width:32px;height:32px}
@media(max-width:760px){.purchase-quick-entry{grid-template-columns:minmax(0,1fr) auto;gap:10px}.quick-name-field{grid-column:1/-1;grid-row:1}.quick-price-field{grid-column:1;grid-row:2}.quick-qty-picker{grid-column:2;grid-row:2}.quick-tax-field{grid-column:1;grid-row:3}.quick-add-button{grid-column:2;grid-row:3;min-width:92px}.purchase-quick-top strong{font-size:26px}.purchase-row{flex-wrap:wrap}.purchase-copy{flex-basis:40%}.purchase-line-total{margin-left:auto}.quick-row-controls{width:100%;justify-content:flex-end;padding-top:4px}}

/* Google 地圖外連與購物參考照片 */
.google-map-card{display:flex;align-items:flex-start;gap:12px;min-height:120px;padding:18px 14px;margin-bottom:12px;border:1.5px dotted #e3bfc7;border-radius:18px;background:linear-gradient(135deg,#fbf3ed,#f7e9eb)}
.google-map-mark{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--mint-ink);font-size:26px}
.google-map-card strong{font-size:14px}.google-map-card p{margin:6px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.map-open-link{display:flex;justify-content:center;align-items:center;min-height:42px;text-decoration:none;margin-bottom:12px}
.map-link{color:var(--mint-ink);text-decoration:none}
.shopping-row{grid-template-columns:20px 56px minmax(0,1fr) auto auto}
.shopping-thumb{width:52px;height:52px;object-fit:cover;border:1.5px solid var(--line);border-radius:11px;background:#faf3ef}
.shopping-thumb-empty{display:grid;place-items:center;color:var(--mint-ink);font-size:22px;border-style:dashed}
.shopping-copy{min-width:0}.shopping-copy h4,.shopping-copy p{overflow-wrap:anywhere}
.photo-field input[type=file]{padding:9px;background:#fffaf8}
.shopping-photo-preview{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.shopping-photo-preview img{width:104px;height:104px;object-fit:cover;border:1.5px solid var(--line);border-radius:13px}
@media(max-width:500px){.shopping-row{grid-template-columns:20px 46px minmax(0,1fr) auto;gap:8px;padding:9px}.shopping-thumb{width:44px;height:44px}.shopping-copy{grid-column:3;grid-row:1}.shopping-row .item-price{grid-column:4;grid-row:1}.shopping-row .row-actions{grid-column:3/-1;grid-row:2;justify-content:flex-end}.google-map-card{min-height:100px;padding:13px}}
