.brand .brand-logo,
.brand .brand-logo img{
  width:auto;
  height:40px;
  max-height:44px;
  display:block;
  object-fit:contain;
}
@media (max-width:640px){
  .brand .brand-logo,
  .brand .brand-logo img{
    height:32px;
  }
}
.planner-hero{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);}
.planner-hero h1{margin:0 0 6px;font-size:24px;font-weight:800;}
.planner-hero p{margin:0;color:var(--muted);font-size:14px;line-height:1.7;}
.planner-card{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow);}
.section-title{font-size:16px;font-weight:800;margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.planner-grid{display:grid;gap:12px;}
.planner-row{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.planner-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.planner-hint{font-size:13px;color:var(--muted);}
.filter-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;}
.inline-toggle{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#334155;}
.inline-toggle input{width:16px;height:16px;}
.pill-btn.primary{background:linear-gradient(135deg,#18a168,#1095d6);color:#fff;border:none;}
.pill-btn.primary:hover{filter:brightness(1.04);}
.filter-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.filter-tags{display:flex;flex-wrap:wrap;gap:8px;}
.tag-option{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:#fff;font-size:12px;font-weight:700;}
.tag-option input{width:14px;height:14px;}
.must-list{display:flex;flex-wrap:wrap;gap:8px;}
.must-chip{display:flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:#f1f5f9;border:1px solid #e2e8f0;font-size:12px;font-weight:700;}
.must-chip button{border:none;background:none;color:#ef4444;cursor:pointer;font-size:12px;font-weight:800;}
.search-results{display:grid;gap:8px;}
.search-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff;}
.search-item-title{font-weight:800;font-size:14px;}
.search-item-meta{font-size:12px;color:#64748b;}
.map-wrap{border-radius:16px;border:1px solid var(--line);overflow:hidden;background:#f8fafc;min-height:240px;}
.map-info{font-size:13px;color:#334155;}
.plan-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.share-input{flex:1 1 240px;}
.result-panel{margin-top:16px;display:grid;gap:12px;}
.result-empty{padding:20px;border:1px dashed var(--line);border-radius:16px;background:#f8fafc;color:#64748b;text-align:center;}
.plan-summary{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.plan-summary .tag{padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:700;}
.plan-cover{background:linear-gradient(135deg,#fef3c7,#e0f2fe);border:1px solid #fde68a;border-radius:20px;padding:18px;box-shadow:var(--shadow);display:grid;gap:12px;}
.plan-cover-title{font-size:22px;font-weight:800;margin:0;color:#0f172a;}
.plan-cover-sub{font-size:13px;color:#475569;}
.plan-cover-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}
.plan-cover-badge{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px;font-size:13px;font-weight:700;display:flex;flex-direction:column;gap:4px;}
.plan-cover-badge span{color:#64748b;font-size:12px;font-weight:600;}
.plan-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow);display:grid;gap:8px;}
.plan-card[data-kind="food"]{border-left:4px solid #38bdf8;}
.plan-card[data-kind="temple"]{border-left:4px solid #f59e0b;}
.plan-card[data-kind="spot"]{border-left:4px solid #22c55e;}
.plan-row{display:flex;gap:10px;align-items:flex-start;}
.plan-thumb{width:72px;height:72px;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;background:#f8fafc;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#94a3b8;flex-shrink:0;}
.plan-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.plan-thumb.is-placeholder{background:linear-gradient(135deg,#e2e8f0,#f8fafc);color:#64748b;}
.plan-thumb span{padding:6px;text-align:center;line-height:1.2;}
.plan-time-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.plan-time{font-weight:800;font-size:14px;min-width:96px;color:#0f172a;}
.plan-meal{padding:4px 10px;border-radius:999px;background:linear-gradient(135deg,#ffedd5,#fed7aa);border:1px solid #fdba74;color:#c2410c;font-size:12px;font-weight:800;}
.plan-title{font-weight:800;font-size:16px;margin:0;}
.plan-meta{font-size:12px;color:#64748b;}
.plan-kind{font-size:12px;font-weight:800;padding:4px 8px;border-radius:999px;background:#ecfeff;color:#0e7490;border:1px solid #bae6fd;}
.plan-kind.temple{background:#fef3c7;color:#b45309;border-color:#fde68a;}
.plan-actions{display:grid;gap:6px;}
.plan-actions-main{display:flex;gap:8px;flex-wrap:wrap;}
.plan-actions-sub{display:flex;gap:6px;flex-wrap:wrap;}
.plan-actions a{font-size:12px;}
.pill-btn.action-detail{background:linear-gradient(135deg,#18a168,#1095d6);color:#fff;border:none;box-shadow:0 8px 16px rgba(16,149,214,.25);}
.pill-btn.action-detail:hover{filter:brightness(1.04);}
.pill-btn.action-map{background:#e0f2fe;border:1px solid #7dd3fc;color:#0369a1;font-weight:800;}
.pill-btn.action-ghost{background:#fff;border:1px solid var(--line);color:#475569;}
.plan-edit{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px;}
.plan-edit input{width:90px;padding:6px 8px;border-radius:10px;border:1px solid var(--line);font-weight:700;}
.plan-edit label{font-size:12px;color:#64748b;font-weight:700;}
.must-warning{display:grid;gap:8px;background:#fff7ed;border:1px solid #fdba74;border-radius:16px;padding:12px;font-size:13px;color:#9a3412;}
.must-warning-list{display:flex;flex-wrap:wrap;gap:6px;}
.must-warning-chip{background:#fff;border:1px solid #fed7aa;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;}
.saved-list{display:grid;gap:8px;}
.saved-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff;}
.saved-title{font-weight:800;font-size:14px;}
.saved-meta{font-size:12px;color:#64748b;}
.stepper{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.step-pill{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:800;font-size:13px;color:#475569;display:flex;align-items:center;gap:6px;}
.step-pill.is-active{background:linear-gradient(135deg,#18a168,#1095d6);color:#fff;border:none;box-shadow:0 10px 20px rgba(16,149,214,.25);}
.step-pill span{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e2e8f0;color:#475569;font-size:12px;font-weight:800;}
.step-pill.is-active span{background:rgba(255,255,255,.2);color:#fff;}
.step-section{display:none;}
.step-section.is-active{display:block;}
.plan-board-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:6px;}
.plan-board-title{font-size:16px;font-weight:800;color:#0f172a;}
.plan-board-hint{font-size:12px;color:#64748b;}
.plan-board{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;}
.plan-board::-webkit-scrollbar{height:8px;}
.plan-board::-webkit-scrollbar-thumb{background:#cbd5f5;border-radius:999px;}
.plan-board::-webkit-scrollbar-track{background:#eef2ff;border-radius:999px;}
.plan-column{min-width:240px;flex:1 0 240px;background:linear-gradient(180deg,#f8fafc,#eef2ff);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;}
.plan-column-header{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.plan-column-title{font-weight:800;font-size:15px;color:#0f172a;}
.plan-column-sub{font-size:12px;color:#64748b;}
.plan-column-count{padding:4px 10px;border-radius:999px;background:#0f172a;color:#fff;font-size:12px;font-weight:800;}
.plan-column-list{display:grid;gap:10px;}
.plan-column-empty{padding:12px;border:1px dashed #cbd5f5;border-radius:12px;background:#fff;font-size:12px;color:#94a3b8;text-align:center;}
.plan-board .plan-card{border-radius:14px;padding:12px;box-shadow:0 10px 20px rgba(15,23,42,.08);}
.plan-board .plan-row{flex-direction:column;align-items:flex-start;gap:6px;}
.plan-board .plan-time{min-width:auto;padding:4px 10px;border-radius:999px;background:#0f172a;color:#fff;font-size:12px;letter-spacing:.2px;}
.plan-board .plan-meal{padding:4px 10px;font-size:11px;}
.plan-board .plan-actions{gap:6px;}
.plan-board .plan-actions .pill-btn{padding:6px 10px;font-size:12px;}
.plan-board .plan-edit{margin-top:4px;}
.plan-board .plan-edit input{width:100px;}
body.is-exporting .plan-controls,
body.is-exporting .plan-actions,
body.is-exporting .plan-edit,
body.is-exporting .step-actions{display:none !important;}
body.is-exporting .plan-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));overflow:visible;}
.step-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:8px;}
.mode-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
.mode-card{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff;cursor:pointer;display:grid;gap:6px;}
.mode-card h3{margin:0;font-size:16px;font-weight:800;}
.mode-card p{margin:0;font-size:12px;color:#64748b;line-height:1.6;}
.mode-card.is-selected{border-color:#38bdf8;box-shadow:0 10px 22px rgba(56,189,248,.2);}
.planner-dialog{border:none;padding:0;background:transparent;}
.planner-dialog::backdrop{background:rgba(15,23,42,.55);}
.dialog-panel{background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.25);width:min(960px,92vw);max-height:84vh;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;}
.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);background:#f8fafc;}
.dialog-title{font-size:18px;font-weight:800;color:#0f172a;}
.dialog-body{padding:16px 18px;overflow:auto;display:grid;gap:14px;}
.dialog-actions{padding:14px 18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;background:#f8fafc;}
@media print{
  .top,.planner-card .planner-actions,.planner-card .plan-controls,.planner-card .search-results,.planner-card .map-wrap,.planner-card .filter-grid,.planner-card .filter-tags,.planner-card .planner-hint,.planner-card .saved-list,.planner-card .planner-row,.planner-card input,.planner-card select,.planner-card button,.planner-card .planner-actions,.planner-card .plan-controls,.planner-card .share-input,.stepper,.step-actions{display:none !important;}
  body{background:#fff;}
  .wrap{padding:0;}
  .planner-card{display:none !important;border:none;box-shadow:none;}
  .planner-card[data-step-section="4"]{display:block !important;}
  .step-section{display:none !important;}
  .step-section[data-step-section="4"]{display:block !important;}
  .plan-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));overflow:visible;}
}
