:root{
      --bg:#f7f8fb;
      --card:#ffffff;
      --text:#0f172a;
      --muted:#64748b;
      --accent:#ff5a3c;
      --accent-2:#ff8a00;
      --line:#e2e8f0;
      --pill:#fff3ee;
      --shadow:0 18px 40px rgba(15,23,42,.12);
    }
    *{box-sizing:border-box;}
    body{margin:0;background:var(--bg);font-family:'Sora','Segoe UI',system-ui,-apple-system,sans-serif;color:var(--text);line-height:1.6;}
    header{position:static;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 10px 22px rgba(15,23,42,.08);}
    .wrap{max-width:1120px;margin:0 auto;padding:16px;}
    .topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;}
.brand .brand-logo,
.brand .brand-logo img{
  width:auto;
  height:40px;
  display:block;
  object-fit:contain;
}
.brand-title{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.2px;}
.brand-sub{font-size:11px;color:var(--muted);}
@media (max-width:720px){
  .brand .brand-logo,
  .brand .brand-logo img{
    height:32px;
  }
}
    h1{margin:0;font-size:24px;font-weight:800;}
    .page-title{font-size:clamp(22px,4.2vw,28px);font-weight:800;margin:0;line-height:1.2;}
    .sub{margin:4px 0 0;font-size:13px;color:var(--muted);}
    .top-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;position:relative;overflow:visible;}
    .top-actions .btn{padding:6px 12px;font-size:12px;}
    .top-actions .btn,
    .member-menu button{
      height:40px;
      border-radius:14px;
      font-size:13px;
    }
    .topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
    .topbar-actions .btn{height:34px;border-radius:12px;font-size:12px;padding:6px 10px;}
    .top-actions-row{
      display:flex;
      gap:8px;
      width:auto;
      align-items:center;
    }
    .top-actions-row .dropdown{
      width:auto;
    }
    .top-actions-row .btn{
      width:auto;
      justify-content:center;
    }
    .mobile-auth-slot{display:none;align-items:center;gap:8px;}
    .top-actions .action-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap;overflow:visible;}
    .dropdown {
      position: relative;
      display: inline-block;
    }
    .dropdown-content {
      display: none;
      position: absolute;
      background-color: #f9f9f9;
      min-width: unset;
      width: max-content;
      max-width: 200px;
      box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
      z-index: 1200;
      border-radius: 10px;
      padding: 4px;
      right: 0;
      color: #0f172a;
    }
    .dropdown-content button {
      color: inherit !important;
      -webkit-text-fill-color: #0f172a !important;
      padding: 8px 12px;
      text-decoration: none;
      display: block;
      width: 100%;
      text-align: left;
      background: #fff;
      border: none;
      cursor: pointer;
      font-size: 13px;
      line-height: 1.2;
      font-weight: 600;
      text-shadow: none;
    }
    .dropdown-content *{
      color: #0f172a !important;
      -webkit-text-fill-color: #0f172a !important;
    }
    .dropdown-content button:hover {background-color: #f1f1f1;}
    .dropdown.active .dropdown-content {display: block;}
    .admin-note{margin-top:8px;font-size:12px;color:#9a3412;background:#fff7ed;border:1px dashed #fdba74;border-radius:12px;padding:8px 12px;display:none;}
    .hero{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;margin-top:10px;align-items:flex-start;}
    .hero-left{display:grid;gap:12px;}
    .title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
    .title-ig{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 8px 16px rgba(15,23,42,.08);text-decoration:none;}
    .title-ig img{width:16px;height:16px;display:block;}
    .hero-panel{background:linear-gradient(135deg, rgba(255,90,60,.12), rgba(255,138,0,.08));border:1px solid rgba(255,90,60,.2);border-radius:16px;padding:12px;display:grid;gap:8px;}
    .hero-right{background:#fff;border:1px solid rgba(255,90,60,.2);border-radius:16px;padding:12px;display:grid;gap:10px;box-shadow:0 10px 22px rgba(15,23,42,.06);}
    .searchbox{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px;box-shadow:0 8px 16px rgba(15,23,42,.06);}
    .searchbox input{border:none;outline:none;font-size:13px;width:100%;font-family:inherit;background:transparent;}
    .search-icon{font-size:16px;color:var(--accent);}
    .filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
    .filter-select{appearance:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:12px;font-family:inherit;color:var(--text);box-shadow:0 6px 12px rgba(15,23,42,.05);height:34px;width:100%;}
    .cat-tabs{display:flex;gap:6px;flex-wrap:nowrap;margin:6px 0 12px;overflow-x:auto;padding-bottom:2px;}
    .cat-tab{border:1px solid #ffd7c7;background:#fff;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700;color:#f97316;cursor:pointer;white-space:nowrap;flex:0 0 auto;}
    .cat-tab.active{background:#ffedd5;border-color:#fb923c;color:#ea580c;}
    .zone-tabs{display:flex;gap:6px;flex-wrap:nowrap;margin:0 0 6px;overflow-x:auto;padding-bottom:2px;}
    .zone-tab{border:1px solid #c7d2fe;background:#eef2ff;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800;color:#4338ca;cursor:pointer;white-space:nowrap;flex:0 0 auto;}
    .zone-tab.active{background:#c7d2fe;border-color:#6366f1;color:#312e81;}
    .badge-creator{background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;}
    .nearby-panel{background:#fff;border:1px dashed rgba(255,90,60,.25);border-radius:14px;padding:10px;display:grid;gap:8px;box-shadow:0 10px 20px rgba(15,23,42,.05);}
    .nearby-head{display:flex;align-items:center;justify-content:space-between;gap:8px;}
    .nearby-head-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
    .nearby-panel.collapsed .nearby-body{display:none;}
    .nearby-title{font-size:12px;font-weight:800;color:#0f172a;}
    .nearby-input{display:grid;grid-template-columns:1fr auto;gap:8px;}
    .nearby-input input{border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:12px;font-family:inherit;background:#fff;}
    .nearby-status{font-size:11px;color:var(--muted);}
    .nearby-list{display:grid;gap:8px;}
    .nearby-map{height:180px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f8fafc;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:12px;text-align:center;padding:8px;}
    .nearby-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#fff;}
    .nearby-name{font-size:13px;font-weight:700;color:#0f172a;}
    .nearby-meta{font-size:11px;color:#64748b;}
    .nearby-actions{display:flex;gap:6px;flex-shrink:0;}
    .nearby-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ffd7c7;background:#fff7f2;color:#d9480f;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap;}
    .nearby-btn.primary{background:linear-gradient(135deg,#ff6a3d 0%, #ff9a2f 100%);color:#fff;border-color:transparent;}
    .nearby-empty{font-size:12px;color:#94a3b8;padding:6px 0;text-align:center;}
    .cards{display:grid;gap:14px;margin:18px 0 32px;}
    .page-footer{background:#fff;border-top:1px solid var(--line);padding:12px 0;margin-top:10px;}
    .footer-inner{display:grid;gap:4px;font-size:12px;color:var(--muted);text-align:center;}
    .card{display:grid;grid-template-columns:190px 1fr;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow);}
    .cover{position:relative;border-radius:14px;overflow:hidden;background:#0f172a;aspect-ratio:4/5;width:100%;}
    .cover img{width:100%;height:100%;object-fit:cover;}
    .card-body{display:grid;gap:8px;align-content:start;}
    .card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
    .card-title{font-size:18px;font-weight:800;margin:0;}
    .card-sub{font-size:12px;color:var(--muted);}
    .card-addr{font-size:13px;color:#475569;}
    .card-desc{font-size:13px;color:#334155;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
    .card-tags{display:flex;flex-wrap:wrap;gap:6px;}
    .tag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:var(--pill);color:#c2410c;font-weight:700;border:1px solid rgba(255,90,60,.25);font-size:12px;}
    .badge-hot{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:rgba(255,90,60,.12);color:var(--accent);font-weight:700;font-size:11px;}
    .card-actions{display:flex;flex-wrap:wrap;gap:8px;}
    .card-actions .btn.daytrip-btn{flex:0 0 auto;min-width:160px;}
    .creator-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:18px;
      overflow:hidden;
      box-shadow:var(--shadow);
    }
    .creator-cover{
      height:140px;
      background:linear-gradient(135deg, rgba(255,122,58,.2), rgba(255,215,199,.55));
      position:relative;
      overflow:hidden;
    }
    .creator-cover img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }
    .creator-cover-hint{
      position:absolute;
      right:10px;
      bottom:10px;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(15,23,42,.68);
      color:#fff;
      font-size:11px;
      font-weight:700;
      pointer-events:none;
      opacity:.9;
      transition:opacity .2s ease, transform .2s ease;
    }
    .creator-cover.dragging .creator-cover-hint{
      opacity:.3;
      transform:translateY(2px);
    }
    .creator-card-body{
      display:flex;
      align-items:center;
      gap:12px;
      padding:12px 14px 14px;
    }
    .creator-avatar{
      width:52px;
      height:52px;
      border-radius:999px;
      border:2px solid #fff;
      background:#f1f5f9;
      color:#0f172a;
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight:800;
      font-size:18px;
      overflow:hidden;
      flex-shrink:0;
      box-shadow:0 6px 18px rgba(15,23,42,.12);
    }
    .creator-avatar img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }
    .creator-info{
      display:grid;
      gap:4px;
      min-width:0;
      flex:1;
    }
    .creator-name{
      font-size:16px;
      font-weight:800;
      color:#0f172a;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .creator-intro{
      font-size:13px;
      color:#475569;
      line-height:1.5;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .creator-socials{
      display:flex;
      align-items:center;
      gap:8px;
      flex-shrink:0;
    }
    .creator-social,
    .creator-ig{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:40px;
      height:40px;
      border-radius:12px;
      border:1px solid #e2e8f0;
      background:#fff;
      color:#0f172a;
      text-decoration:none;
      flex-shrink:0;
    }
    .creator-social img,
    .creator-ig img{
      width:20px;
      height:20px;
      display:block;
    }
    .btn{flex:1 1 140px;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;font-weight:700;cursor:pointer;text-decoration:none;color:var(--text);font-family:inherit;font-size:13px;letter-spacing:.2px;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
    .btn:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(15,23,42,.12);border-color:#cbd5e1;}
    .btn.primary{background:linear-gradient(135deg,#ff6a3d 0%, #ff9a2f 100%);color:#fff;border-color:transparent;box-shadow:0 12px 24px rgba(255,106,61,.28);}
    .btn.primary:hover{box-shadow:0 14px 28px rgba(255,106,61,.32);}
    .btn.ghost{background:#fff7f2;border-color:#ffd9cc;color:#d9480f;}
    .btn.pill{border-radius:999px;padding:7px 12px;font-size:12px;flex:0 0 auto;}
    .fav-btn{border:1px solid var(--line);background:#fff;border-radius:999px;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 16px rgba(15,23,42,.12);font-size:13px;}
    .edit-btn{border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:0 10px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;font-weight:700;color:#0f172a;box-shadow:0 8px 16px rgba(15,23,42,.08);}
    .edit-btn:hover{border-color:#94a3b8;}
    .card-head-actions{display:flex;align-items:center;gap:8px;}
    .pill-inline{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:10px;background:#f8fafc;border:1px solid var(--line);font-size:12px;}
    .tag-row{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;}
    .admin-panel{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);display:grid;gap:10px;min-width:0;}
    .admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;}
    .admin-field{display:grid;gap:6px;font-size:12px;color:var(--muted);}
    .admin-grid label{display:grid;gap:6px;font-size:12px;color:var(--muted);min-width:0;}
    .admin-tag-group{display:flex;flex-wrap:wrap;gap:8px;}
    .admin-tag-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text);}
    .admin-tag-item input{margin:0;}
    .admin-slot-group{display:flex;flex-wrap:wrap;gap:8px;}
    .admin-slot-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text);}
    .admin-slot-item input{margin:0;}
    .admin-input{padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:12px;font-family:inherit;width:100%;box-sizing:border-box;}
    .admin-textarea{min-height:90px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:12px;font-family:inherit;resize:vertical;width:100%;box-sizing:border-box;}
    .admin-textarea.admin-textarea-large{min-height:160px;}
    .admin-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
    .admin-hint{font-size:11px;color:#64748b;}
    .admin-help-link{background:none;border:none;color:#2563eb;font-size:11px;cursor:pointer;padding:0;text-decoration:underline;font-family:inherit;}
    .admin-help-link:hover{color:#1d4ed8;}
    .admin-msg{font-size:12px;color:#0f766e;font-weight:700;min-height:16px;}
    .admin-upload{display:grid;gap:8px;width:100%;justify-items:start;}
    .admin-file{width:100%;font-size:12px;}
    .admin-preview{width:100%;max-width:220px;aspect-ratio:4/5;border-radius:12px;border:1px dashed var(--line);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;touch-action:none;cursor:grab;pointer-events:auto;}
    .admin-preview img{width:100%;height:100%;object-fit:cover;display:block;touch-action:none;user-select:none;pointer-events:auto;}
    .admin-preview-empty{font-size:12px;color:#94a3b8;}
    .admin-upload-hint{font-size:11px;color:#94a3b8;}
    .admin-upload-status{font-size:11px;color:#64748b;}
    .admin-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700;color:#0f172a;font-size:12px;}
    .admin-gallery{display:grid;gap:8px;}
    .admin-gallery-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));}
    .admin-gallery-item{position:relative;border-radius:10px;border:1px solid var(--line);overflow:hidden;background:#fff;}
    .admin-gallery-item img{width:100%;height:72px;object-fit:cover;display:block;cursor:grab;touch-action:none;}
    .admin-gallery-remove{position:absolute;top:4px;right:4px;border:none;background:rgba(15,23,42,0.7);color:#fff;border-radius:999px;font-size:10px;padding:2px 6px;cursor:pointer;}
    .admin-gallery-handle{position:absolute;bottom:4px;left:4px;border:none;background:rgba(255,90,60,0.85);color:#fff;border-radius:999px;font-size:10px;padding:2px 6px;cursor:grab;line-height:1;}
    .admin-gallery-item.is-dragging{opacity:.55;}
    .admin-gallery-empty{font-size:12px;color:#94a3b8;}
    .admin-gallery-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
    .admin-cover{grid-column:1 / -1;}
    .admin-grid label.admin-daytrip-toggle{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;font-weight:700;color:#0f172a;}
    .admin-grid label.admin-daytrip-toggle input{margin:0;}
    .admin-grid label.admin-daytrip-toggle .admin-hint{flex-basis:100%;margin-left:26px;font-weight:600;color:#64748b;}
    .admin-daytrip-title{font-weight:700;color:#0f172a;}
    .admin-daytrip{grid-column:1 / -1;display:none;gap:10px;padding:10px;border-radius:12px;border:1px dashed #e2e8f0;background:#f8fafc;}
    .admin-daytrip.is-active{display:grid;}
    .admin-daytrip-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:700;color:#0f172a;}
    .admin-daytrip-list{display:grid;gap:8px;}
    .admin-daytrip-bulk{display:grid;gap:8px;}
    .daytrip-row{display:grid;grid-template-columns:24px minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;}
    .daytrip-row.is-dragging{opacity:0.6;}
    .daytrip-handle{cursor:grab;color:#94a3b8;font-size:14px;text-align:center;user-select:none;}
    .daytrip-row .btn{padding:6px 10px;font-size:11px;}
    .modal-body{padding:16px;display:grid;gap:14px;background:#fff;max-height:80vh;overflow:auto;}
    .modal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;}
    .modal-head-actions{display:flex;align-items:center;gap:8px;}
    .modal-icon-btn{border:none;background:#f1f5f9;border-radius:10px;padding:6px;cursor:pointer;color:#0f172a;display:flex;align-items:center;justify-content:center;transition:background 0.2s, transform 0.2s;}
    .modal-icon-btn:hover{background:#e2e8f0;transform:translateY(-1px);}
    .modal-icon-btn svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
    .modal-title{font-size:18px;font-weight:800;color:#0f172a;}
    .modal-close{border:none;background:#f1f5f9;border-radius:10px;padding:6px 10px;cursor:pointer;color:#0f172a;font-weight:700;font-size:12px;}
    .modal-tags{display:flex;gap:6px;flex-wrap:wrap;}
    .modal-chip{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;box-shadow:0 2px 4px rgba(251,146,60,0.05);}
    .modal-embed{border-radius:14px;overflow:hidden;background:#f8fafc;border:1px solid #e2e8f0;}
    .modal-embed-inner{max-width:420px;margin:0 auto;}
    .modal-embed iframe{width:100%;aspect-ratio:9/16;border:0;display:block;background:#fff;}
    .modal-embed.yt .modal-embed-inner{max-width:420px;}
    .modal-embed.yt iframe{aspect-ratio:9/16;}
    .modal-section{display:grid;gap:6px;font-size:13px;color:#334155;line-height:1.7;}
    .modal-section strong{color:#0f172a;}
    .modal-actions{display:flex;gap:10px;flex-wrap:wrap;}
    .modal-actions .btn{flex:1;min-width:150px;font-size:13px;}
    .modal-daytrip-list{display:grid;gap:8px;}
    .modal-daytrip-item{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:12px;border:1px solid rgba(255,90,60,.2);background:var(--pill);}
    .modal-daytrip-index{width:26px;height:26px;border-radius:999px;background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(255,90,60,.25);}
    .modal-daytrip-name{font-size:13px;font-weight:700;color:var(--text);}
    .modal-daytrip-note{font-size:12px;color:var(--muted);}
    .modal-daytrip-link{padding:6px 10px;border-radius:999px;border:1px solid rgba(255,90,60,.35);background:#fff;font-size:12px;font-weight:700;color:var(--accent);text-decoration:none;white-space:nowrap;}
    .modal-daytrip-link:hover{border-color:rgba(255,90,60,.55);color:#ea580c;}
    .modal-gallery{display:grid;gap:8px;}
    .modal-gallery-title{font-size:12px;font-weight:700;color:#0f172a;}
    .modal-gallery-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));}
    .modal-gallery-thumb{border:none;background:none;padding:0;border-radius:10px;overflow:hidden;border:1px solid #e2e8f0;cursor:pointer;}
    .modal-gallery-thumb img{width:100%;height:72px;object-fit:cover;display:block;transition:transform 0.2s;}
    .modal-gallery-thumb:hover img{transform:scale(1.05);}
    .lightbox-dialog{border:none;border-radius:16px;padding:0;width:min(90vw,720px);background:#0f172a;box-shadow:0 20px 40px rgba(15,23,42,0.35);}
    .lightbox-body{display:grid;gap:10px;padding:12px;background:#0f172a;}
    .lightbox-img{width:100%;height:auto;max-height:80vh;object-fit:contain;border-radius:12px;background:#0f172a;}
    .lightbox-close{justify-self:end;border:none;border-radius:999px;background:rgba(255,255,255,0.12);color:#fff;font-size:12px;padding:6px 10px;cursor:pointer;}
    #imageLightbox::backdrop{background:rgba(15,23,42,0.6);}
    .empty-state{background:#fff;border:1px dashed var(--line);border-radius:16px;padding:24px;text-align:center;color:var(--muted);box-shadow:var(--shadow);}
    .empty-state h3{margin:0 0 6px;font-size:18px;color:var(--text);}
    .empty-state p{margin:0 0 14px;font-size:13px;}
    .toast{position:fixed;left:50%;transform:translateX(-50%);bottom:22px;background:#0f172a;color:#fff;padding:10px 14px;border-radius:999px;font-size:13px;display:none;z-index:999;box-shadow:0 12px 24px rgba(15,23,42,.25);}
    .count-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 14px;flex-wrap:wrap;}
    .count-total{font-size:13px;font-weight:700;color:#0f172a;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;box-shadow:0 8px 16px rgba(15,23,42,.06);}
    .count-sync{font-size:11px;font-weight:700;color:#d9480f;background:#fff7f2;border:1px dashed #ffd7c7;border-radius:999px;padding:5px 10px;display:none;}
    .count-tags{display:none;}
    .count-pill{font-size:12px;color:#475569;border:1px solid #e2e8f0;border-radius:999px;padding:4px 10px;background:#fff;}
    .main-map{width:100%;height:calc(100vh - 180px);min-height:400px;border-radius:16px;border:1px solid var(--line);display:none;margin-bottom:20px;}
    @media(max-width:720px){.main-map{height:calc(100vh - 140px);}}
    @media(max-width:900px){
      .hero{grid-template-columns:1fr;}
      .filter-row{grid-template-columns:repeat(2,minmax(0,1fr));}
    }
    @media(max-width:720px){
      header{position:static;box-shadow:none;}
      .card{grid-template-columns:1fr;}
      .cover{aspect-ratio:4/5;}
      .admin-grid{grid-template-columns:1fr;}
      .daytrip-row{grid-template-columns:20px 1fr;}
      .daytrip-row .btn{justify-self:start;}
      .filter-row{grid-template-columns:1fr;}
      .nearby-input{grid-template-columns:1fr;}
      .nearby-item{flex-direction:column;align-items:flex-start;}
      .nearby-actions{width:100%;}
      .nearby-actions .nearby-btn{flex:1;}
      .nearby-map{height:160px;}
    }
    .policy-dialog{border:none;border-radius:18px;padding:0;width:92%;max-width:560px;background:#fff;color:#0f172a;border:1px solid #e2e8f0;box-shadow:0 20px 60px rgba(15,23,42,.35);}
    .policy-dialog header{padding:18px 20px;border-bottom:1px solid #e5e7eb;font-weight:800;font-size:18px;}
    .policy-dialog .body{padding:20px;font-size:14px;line-height:1.7;color:#1e293b;max-height:60vh;overflow:auto;}
    .policy-dialog .body label{display:block;margin-top:8px;font-size:12px;color:#64748b;font-weight:600;}
    .policy-dialog .body input{width:100%;margin-top:6px;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;font-size:14px;font-family:inherit;}
    .policy-dialog footer{padding:18px 20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
    .policy-dialog .btn,
    .policy-dialog .btn.primary{border:none;border-radius:999px;padding:8px 18px;background:#111827;color:#fff;font-weight:600;cursor:pointer;}
    .auth-widget{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.08);min-height:48px;}
    .auth-widget .auth-status{flex:1 1 auto;min-width:0;}
    .auth-widget .auth-status{font-size:13px;font-weight:700;color:#475569;}
    .auth-widget.is-authed .auth-status{color:#15803d;}
    .auth-btn{border:none;border-radius:999px;padding:4px 10px;height:28px;line-height:1;font-weight:700;font-size:12px;background:linear-gradient(135deg,#18a168,#1095d6);color:#fff;cursor:pointer;box-shadow:0 8px 16px rgba(16,149,214,.2);transition:transform .2s ease,filter .2s ease;}
    .auth-btn:hover{transform:translateY(-1px);filter:brightness(1.05);}
    .auth-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;filter:none;}
    .member-menu{position:relative;display:none;}
    .member-menu.is-visible{display:block;}
    .member-menu button{
      border:1px solid var(--line);
      background:#fff;
      border-radius:999px;
      padding:10px 16px;
      font-weight:800;
      font-size:14px;
      cursor:pointer;
      box-shadow:0 8px 18px rgba(15,23,42,.08);
      display:flex;
      align-items:center;
      gap:8px;
      min-width:140px;
      justify-content:center;
    }
    .member-menu button:hover{border-color:rgba(24,161,104,.35);}
    .member-menu button .member-menu-badge{
      min-width:18px;
      height:18px;
      padding:0 6px;
      border-radius:999px;
      background:#ef4444;
      color:#fff;
      font-size:11px;
      font-weight:800;
      display:none;
      align-items:center;
      justify-content:center;
    }
    .member-menu button .member-menu-badge.show{display:inline-flex;}
    .member-menu-panel{
      position:absolute;
      right:0;
      top:calc(100% + 6px);
      background:#fff;
      border:1px solid var(--line);
      border-radius:16px;
      box-shadow:0 14px 40px rgba(15,23,42,.18);
      padding:8px;
      display:none;
      min-width:180px;
      z-index:2000;
    }
    .member-menu-panel a,
    .member-menu-panel button{
      display:block;
      padding:12px 14px;
      border-radius:12px;
      color:#0f172a;
      text-decoration:none;
      font-weight:800;
      font-size:14px;
      width:100%;
      text-align:left;
      background:none;
      border:none;
      cursor:pointer;
    }
    .member-menu-panel #creatorToolsToggle{
      color:#2563eb;
    }
    .member-menu-panel #creatorToolsToggle:hover{
      color:#1d4ed8;
    }
    .member-menu-panel a.qna-link{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
    }
    .member-menu-panel .qna-badge{
      min-width:18px;
      height:18px;
      padding:0 6px;
      border-radius:999px;
      background:#ef4444;
      color:#fff;
      font-size:11px;
      font-weight:800;
      display:none;
      align-items:center;
      justify-content:center;
    }
    .member-menu-panel .qna-badge.show{display:inline-flex;}
    .member-menu-panel a:hover,
    .member-menu-panel button:hover{background:linear-gradient(135deg, rgba(24,161,104,.08), rgba(16,149,214,.08));}
    .member-menu-subpanel{
      margin-top:6px;
      padding:6px;
      border-radius:12px;
      background:#f8fafc;
      border:1px solid #e2e8f0;
      display:none;
      gap:6px;
    }
    .member-menu-subpanel button{
      padding:10px 12px;
      font-size:13px;
      border-radius:10px;
      font-weight:700;
    }
    .creator-terms-row{
      display:flex;
      align-items:center;
      gap:8px;
    }
    .creator-terms-row button{
      flex:1 1 auto;
    }
    .creator-terms-hint{
      font-size:12px;
      font-weight:700;
      color:#ef4444;
      white-space:nowrap;
    }
    .policy-dialog textarea{
      width:100%;
      margin-top:6px;
      border:1px solid #e5e7eb;
      border-radius:12px;
      padding:10px 12px;
      font-size:14px;
      font-family:inherit;
      resize:vertical;
    }
    .coords-help-dialog{max-width:520px;}
    .coords-help-dialog .body{display:grid;gap:12px;}
    .coords-help-desc{margin:0;color:#475569;font-size:13px;}
    .coords-help-media img{width:100%;height:auto;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;display:block;}
    .coords-help-steps{margin:0;padding-left:18px;display:grid;gap:6px;font-size:13px;color:#334155;}
    .terms-content{display:grid;gap:12px;}
    .terms-section{display:grid;gap:6px;}
    .terms-title{font-weight:800;font-size:14px;color:#0f172a;}
    .terms-content p{margin:0;font-size:13px;color:#334155;}
    .terms-content ul{margin:0;padding-left:18px;font-size:13px;color:#334155;display:grid;gap:4px;}
    .terms-status{min-height:16px;font-size:12px;color:#ef4444;}
    .terms-status.ok{color:#16a34a;font-weight:700;}
    .creator-upload{
      display:grid;
      gap:8px;
      margin-top:6px;
    }
    .creator-upload.creator-upload-avatar{
      max-width:220px;
    }
    .creator-upload-preview{
      border:1px dashed #e2e8f0;
      border-radius:12px;
      background:#f8fafc;
      min-height:120px;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#94a3b8;
      font-size:12px;
      overflow:hidden;
    }
    .creator-upload-preview.creator-upload-cover{
      min-height:140px;
    }
    .creator-upload-preview.creator-upload-avatar{
      min-height:120px;
      height:120px;
      width:120px;
      justify-self:flex-start;
    }
    .creator-upload-preview img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }
    .creator-upload-meta{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      align-items:center;
      justify-content:space-between;
    }
    .creator-upload-row{
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }
    .creator-upload-spec-inline{
      font-size:12px;
      color:#94a3b8;
      font-weight:700;
    }
    .creator-upload-meta input[type="file"]{
      font-size:12px;
    }
    .creator-upload-info{
      font-size:12px;
      color:#64748b;
      display:flex;
      gap:8px;
      align-items:center;
      flex-wrap:wrap;
    }
    .creator-upload-hint{
      color:#94a3b8;
    }
    .creator-preview-wrap{
      margin-top:16px;
      display:grid;
      gap:10px;
    }
    .creator-preview-title{
      font-size:12px;
      color:#64748b;
      font-weight:700;
    }
    .top-actions .member-menu button,
    .top-actions .auth-widget{
      min-height:52px;
      height:52px;
      padding:10px 16px;
      width:auto;
    }
    @media(max-width:720px){
      .top-actions{
        width:100%;
        align-items:stretch;
        gap:8px;
      }
      .top-actions .member-menu{flex:1 1 48%;}
      .top-actions .auth-widget{flex:1 1 48%;}
      .top-actions .member-menu button,
      .top-actions .auth-widget{
        width:100%;
        justify-content:center;
        min-height:50px;
        height:50px;
        border-radius:16px;
      }
      .top-actions .auth-widget{
        height:50px;
        padding:6px 12px;
      }
      .auth-widget{gap:8px;padding:6px 10px;}
      .auth-widget .auth-status{display:inline-flex;}
      .auth-widget .auth-btn{min-width:80px;height:26px;padding:4px 8px;}
      .auth-btn{font-size:11px;}
      .top-actions .btn,
      .member-menu button{
        height:44px;
        border-radius:14px;
        font-size:13px;
      }
      .action-group{
        display:grid;
        grid-template-columns:repeat(2, minmax(0,1fr));
        gap:8px;
        width:100%;
      }
      .top-actions .top-actions-row{
        display:flex !important;
        flex-wrap:nowrap !important;
        gap:6px;
        width:100%;
        justify-content:flex-start;
      }
      .top-actions .top-actions-row > *{
        flex:1 1 0;
        min-width:0;
      }
      .top-actions .top-actions-row .btn{
        height:32px;
        padding:6px 4px;
        font-size:11px;
        white-space:nowrap;
        width:100%;
        justify-content:center;
        text-align:center;
      }
      .top-actions .top-actions-row .dropdown{
        width:100%;
        min-width:0;
      }
      .top-actions .top-actions-row .dropdown .btn{
        width:100%;
        justify-content:center;
      }
      .action-group:first-child{
        grid-template-columns:repeat(2, minmax(0,1fr));
      }
      .action-group:last-child{
        grid-template-columns:repeat(2, minmax(0,1fr));
      }
      .topbar{
        align-items:center;
      }
      .topbar-actions{
        width:100%;
        justify-content:flex-start;
      }
      .topbar-actions .btn{
        height:32px;
      }
      .mobile-auth-slot{
        display:flex;
        flex:0 0 auto;
        align-items:center;
        justify-content:flex-end;
        gap:6px;
      }
      .mobile-auth-slot .action-group{
        display:flex;
        flex-direction:column;
        align-items:flex-end;
        gap:6px;
        flex-wrap:nowrap;
      }
      .mobile-auth-slot .member-menu,
      .mobile-auth-slot .auth-widget{
        flex:0 0 auto;
        width:140px;
      }
      .mobile-auth-slot .member-menu button,
      .mobile-auth-slot .auth-widget{
        height:32px;
        min-height:32px;
        padding:4px 8px;
        border-radius:12px;
        width:100%;
      }
      .mobile-auth-slot .auth-widget{
        gap:6px;
        padding:4px 8px;
        display:grid;
        grid-template-columns:1fr auto;
        align-items:center;
      }
      .mobile-auth-slot .auth-status{
        font-size:12px;
        white-space:nowrap;
        line-height:1;
        width:100%;
        min-width:0;
        max-width:none;
        overflow:hidden;
        text-overflow:ellipsis;
        padding:0 6px;
        display:flex;
        align-items:center;
        justify-content:center;
      }
      .mobile-auth-slot .auth-btn{
        height:22px;
        padding:2px 8px;
        font-size:11px;
        white-space:nowrap;
        min-width:60px;
      }
      .top-actions{
        z-index:30;
      }
      .dropdown-content{
        z-index:1500;
      }
    }
    #btnBackToTop {
      position: fixed; bottom: 80px; right: 20px; width: 44px; height: 44px;
      border-radius: 50%; background: #fff; color: #0f172a; border: 1px solid #e2e8f0;
      box-shadow: 0 4px 12px rgba(0,0,0,0.1); display: none; align-items: center; justify-content: center;
      cursor: pointer; z-index: 900; font-size: 18px; transition: transform 0.2s;
    }
    #btnBackToTop:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,0.15); }
    .trip-result-item { display: flex; align-items: center; gap: 12px; padding: 10px; border-bottom: 1px solid var(--line); }
    .trip-result-item:last-child { border-bottom: none; }
    .trip-result-order { width: 28px; height: 28px; border-radius: 50%; background: var(--accent); color: #fff; display: grid; place-items: center; font-weight: 700; flex-shrink: 0; }
    .trip-result-name { font-weight: 700; }
    .trip-result-meta { font-size: 12px; color: var(--muted); }
    .trip-result-dist { font-size: 12px; color: var(--accent-2); font-weight: 700; margin-top: 4px; }
    .trip-result-actions { margin-left: auto; flex-shrink: 0; }
