/* ==============================================================
   BLOCK 1: Main CSS (originally lines 89-2071 of index.html)
   ============================================================== */

@font-face{font-family:'Mikale';src:url('mikale.woff2') format('woff2'),url('mikale.woff') format('woff');font-weight:normal;font-style:normal;font-display:swap;}
  body { padding-bottom: env(safe-area-inset-bottom); }
  .app { padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
  .header { padding-top: max(18px, env(safe-area-inset-top)); }

/* ── Phase 12 C1: CSS Containment — scope style/layout recalculation ── */
.vb-day { contain: layout style paint; }
#daysList { contain: layout style; }
/* REMOVED: content-visibility:hidden on .screen:not(.on) — Chrome bug:
   when s-quote renders fully first (hardcoded "on" in HTML) then gets hidden,
   content-visibility reserves its full rendered height (~1500px) in the layout,
   pushing all other screens' content down by that amount.
   display:none alone gives guaranteed zero layout height — no content-visibility needed. */


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SITHIYAM TRAVEL · MOBILE DESIGN SYSTEM
   Breakpoints: 720px (phone), 900px (tablet), 1024px (small desktop)
   Tokens: 8 / 12 / 16 / 24 / 32 spacing · 3 radii · 6 font sizes
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ── CSS design tokens ──────────────────────────────────────────────── */
:root{
  --sp-1:8px; --sp-2:12px; --sp-3:16px; --sp-4:24px; --sp-5:32px; --sp-6:48px;
  --r-sm:12px; --r-md:18px; --r-lg:24px;
  --fs-xs:10px; --fs-sm:12px; --fs-base:14px; --fs-md:16px; --fs-lg:20px; --fs-xl:28px;
  --gold:#D4A843; --gold-dark:var(--accent-dn); --teal:var(--green); --dark:var(--t1);
  --mob-nav-h:72px; --mob-bar-h:60px;
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-top:env(safe-area-inset-top,0px);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PHONE (≤720px)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media(max-width:720px){

  /* ── Layout shell ──────────────────────────────────────────────────── */
  .header{ display:none !important; }
  .app{ padding:0 !important; }
  .screen{ padding:16px var(--sp-3) 0 !important; padding-bottom:calc(var(--mob-nav-h) + 20px + var(--safe-bottom)) !important; }
  #s-quote.screen{ padding-top:0 !important; }

  /* Mobile top bar — shows on all screens */
  .mob-topbar{
    display:flex !important;
    position:sticky;
    top:0;
    z-index:200;
    height:52px;
    background:rgba(246,241,232,.96);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(229,219,207,.6);
    align-items:center;
    justify-content:space-between;
    padding:0 var(--sp-3);
    padding-top:var(--safe-top);
    gap:var(--sp-2);
  }
  .mob-topbar-brand{
    display:flex;
    align-items:center;
    gap:var(--sp-1);
    text-decoration:none;
  }
  .mob-topbar-brand svg{ width:22px; height:22px; }
  .mob-topbar-name{
    font-family:var(--fd);
    font-size:18px;
    font-weight:600;
    color:var(--dark);
    letter-spacing:-.01em;
    line-height:1;
  }
  .mob-topbar-name span{
    font-size:11px;
    font-style:italic;
    color:var(--gold-dark);
    font-family:var(--fd);
    margin-left:2px;
  }
  .mob-topbar-right{
    display:flex;
    align-items:center;
    gap:var(--sp-1);
  }
  .mob-topbar-action{
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:var(--r-sm);
    border:none;
    background:transparent;
    cursor:pointer;
    color:var(--dark);
    transition:background .15s;
  }
  .mob-topbar-action:active{ background:var(--b1); }
  .mob-topbar-action svg{ width:20px; height:20px; }

  /* Screen-specific top bar context label */
  .mob-screen-ctx{
    flex:1;
    font-size:var(--fs-base);
    font-weight:700;
    color:var(--dark);
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  /* ── Bottom navigation ─────────────────────────────────────────────── */
  .mob-nav{
    display:flex !important;
    position:fixed !important;
    left:0;
    right:0;
    bottom:0;
    z-index:9999 !important;
    height:calc(var(--mob-nav-h) + var(--safe-bottom));
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-top:1px solid rgba(229,219,207,.8);
    padding:0;
    padding-bottom:var(--safe-bottom);
    box-shadow:0 -8px 24px rgba(26,23,20,.06);
    border-radius:0;
    align-items:stretch;
    gap:0;
  }
  .mob-nav-item,.mob-nav-more-btn{
    flex:1;
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-height:49px;
    border:none;
    background:transparent;
    cursor:pointer;
    padding:var(--sp-1) 4px;
    border-radius:0;
    transition:color .15s;
    color:#9a8f84;
    position:relative;
  }
  .mob-nav-item svg,.mob-nav-more-btn svg{
    width:22px;
    height:22px;
    stroke-width:1.8;
    transition:color .15s, transform .2s;
  }
  .mob-nav-item span,.mob-nav-more-btn span{
    font-size:9px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    line-height:1;
  }
  /* Active state */
  .mob-nav-item.on{
    color:var(--gold-dark);
  }
  .mob-nav-item.on::before{
    content:'';
    position:absolute;
    top:0;
    left:25%;
    right:25%;
    height:2px;
    background:var(--gold);
    border-radius:0 0 3px 3px;
  }
  .mob-nav-item.on svg{ transform:translateY(-1px); }
  .mob-nav-more-btn:active{ background:var(--b0); }

  /* ── More drawer ───────────────────────────────────────────────────── */
  #mobMoreDrawer{
    position:fixed;
    inset:0;
    z-index:9998;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    pointer-events:none;
    opacity:0;
    transition:opacity .25s;
  }
  #mobMoreDrawer.open{
    pointer-events:all;
    opacity:1;
  }
  .mob-more-backdrop{
    position:absolute;
    inset:0;
    background:rgba(10,8,6,.45);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
  }
  .mob-more-sheet{
    position:relative;
    background:#fff;
    border-radius:var(--r-lg) var(--r-lg) 0 0;
    padding:var(--sp-3) var(--sp-4) calc(var(--mob-nav-h) + var(--safe-bottom));
    transform:translateY(100%);
    transition:transform .3s cubic-bezier(.4,0,.2,1);
    max-height:75vh;
    overflow-y:auto;
  }
  #mobMoreDrawer.open .mob-more-sheet{
    transform:translateY(0);
  }
  .mob-more-handle{
    width:36px;
    height:4px;
    border-radius:999px;
    background:var(--b1);
    margin:0 auto var(--sp-3);
  }
  .mob-more-title{
    font-size:var(--fs-xs);
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#b0a89e;
    margin-bottom:var(--sp-2);
  }
  .mob-more-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:var(--sp-2);
    margin-bottom:var(--sp-3);
  }
  .mob-more-item{
    display:flex;
    align-items:center;
    gap:var(--sp-2);
    padding:var(--sp-2) var(--sp-2);
    border-radius:var(--r-md);
    border:1px solid var(--b1);
    background:var(--bg-1);
    cursor:pointer;
    min-height:52px;
    transition:background .15s,color .15s,border-color .15s;
    text-align:left;
  }
  .mob-more-item:active{ background:#f5f0e8; border-color:var(--accent); }
  .mob-more-item.on{ background:#FDF7EA; border-color:var(--gold); }
  .mob-more-item svg{ width:20px; height:20px; color:var(--t4); flex-shrink:0; }
  .mob-more-item-label{
    font-size:var(--fs-sm);
    font-weight:700;
    color:var(--dark);
    line-height:1.2;
  }
  .mob-more-item-sub{
    font-size:10px;
    color:#b0a89e;
    margin-top:1px;
  }

  /* ── Quote builder action bar (mobile) ─────────────────────────────── */
  /* Hide hero card entirely on mobile */
  #builderHeroCard{ display:none !important; }

  /* Hide the desktop action rail wrapper on mobile */
  #s-quote .builder-v5-actions{ display:none !important; }

  /* Mobile action bar — two sticky rows */
  .qb-mob-bar{
    position:sticky;
    top:52px; /* below mob-topbar */
    z-index:190;
    background:rgba(246,241,232,.97);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(229,219,207,.7);
    padding:0;
    overflow:hidden;
  }

  /* Row 1: status + title + save */
  .qb-mob-row1{
    display:flex;
    align-items:center;
    gap:var(--sp-1);
    padding:var(--sp-1) var(--sp-3);
    height:48px;
  }
  .qb-mob-status{
    display:flex;
    align-items:center;
    gap:5px;
    padding:6px 12px;
    border-radius:999px;
    border:1.5px solid var(--b1);
    background:#fff;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
    color:var(--dark);
    flex-shrink:0;
    white-space:nowrap;
    transition:border-color .15s;
  }
  .qb-mob-status:active{ border-color:var(--gold); }
  .qb-mob-status-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#b0a89e;
    flex-shrink:0;
  }
  .qb-mob-status-dot.draft{ background:#b0a89e; }
  .qb-mob-status-dot.sent{ background:#4A6580; }
  .qb-mob-status-dot.followup{ background:var(--gold); }
  .qb-mob-status-dot.confirmed{ background:var(--teal); }
  .qb-mob-status-dot.cancelled{ background:#e74c3c; }
  .qb-mob-title{
    flex:1;
    font-size:13px;
    font-weight:800;
    color:var(--dark);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    min-width:0;
  }
  .qb-mob-save{
    padding:8px 16px;
    border-radius:var(--r-md);
    border:none;
    background:var(--gold);
    color:#fff;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    flex-shrink:0;
    transition:opacity .15s;
  }
  .qb-mob-save:active{ opacity:.8; }

  /* Row 2: contextual action pills */
  .qb-mob-row2{
    display:flex;
    align-items:center;
    gap:var(--sp-1);
    padding:0 var(--sp-3) var(--sp-1);
    overflow-x:auto;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .qb-mob-row2::-webkit-scrollbar{ display:none; }
  .qb-mob-action{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:7px 14px;
    border-radius:999px;
    border:1.5px solid var(--b1);
    background:#fff;
    font-size:12px;
    font-weight:700;
    color:var(--dark);
    cursor:pointer;
    white-space:nowrap;
    flex-shrink:0;
    transition:background .15s,color .15s,border-color .15s;
  }
  .qb-mob-action:active{ background:#f5f0e8; border-color:var(--gold); }
  .qb-mob-action.primary{
    background:var(--dark);
    border-color:var(--dark);
    color:var(--gold);
    font-weight:800;
  }
  .qb-mob-action.gold{
    background:linear-gradient(135deg,#D4A843,var(--accent-dn));
    border-color:var(--gold-dark);
    color:#fff;
    font-weight:800;
  }
  .qb-mob-overflow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:999px;
    border:1.5px solid var(--b1);
    background:#fff;
    cursor:pointer;
    font-size:16px;
    color:var(--t4);
    flex-shrink:0;
    margin-left:auto;
  }

  /* Overflow bottom sheet */
  #qbMobOverflow{
    position:fixed;
    inset:0;
    z-index:9996;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    pointer-events:none;
    opacity:0;
    transition:opacity .2s;
  }
  #qbMobOverflow.open{
    pointer-events:all;
    opacity:1;
  }
  #qbMobOverflow .mob-more-backdrop{ position:absolute;inset:0; }
  .qb-mob-sheet{
    position:relative;
    background:#fff;
    border-radius:var(--r-lg) var(--r-lg) 0 0;
    padding:var(--sp-2) var(--sp-3) calc(var(--mob-nav-h) + var(--safe-bottom));
    transform:translateY(100%);
    transition:transform .28s cubic-bezier(.4,0,.2,1);
  }
  #qbMobOverflow.open .qb-mob-sheet{ transform:translateY(0); }
  .qb-mob-sheet-handle{
    width:36px;height:4px;border-radius:999px;
    background:var(--b1);margin:0 auto var(--sp-2);
  }
  .qb-mob-sheet-title{
    font-size:var(--fs-xs);font-weight:900;
    letter-spacing:.12em;text-transform:uppercase;
    color:#b0a89e;margin-bottom:var(--sp-2);
  }
  .qb-mob-sheet-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:var(--sp-1);
  }
  .qb-mob-sheet-btn{
    display:flex;align-items:center;gap:10px;
    padding:var(--sp-2) var(--sp-2);
    border-radius:var(--r-md);
    border:1px solid var(--b1);
    background:var(--bg-1);
    cursor:pointer;
    min-height:50px;
    transition:background .15s,color .15s,border-color .15s;
    text-align:left;
  }
  .qb-mob-sheet-btn:active{ background:#f5f0e8;border-color:var(--gold); }
  .qb-mob-sheet-btn svg{ width:18px;height:18px;color:var(--t4);flex-shrink:0; }
  .qb-mob-sheet-lbl{ font-size:13px;font-weight:700;color:var(--dark);line-height:1.2; }

  /* ── Screen padding adjustment ─────────────────────────────────────── */
  .mob-more-panel{
    padding-bottom:calc(var(--mob-nav-h) + 24px + var(--safe-bottom));
  }

  /* ── Quote builder header ──────────────────────────────────────────── */
  #quoteHeaderActions{
    width:100%;
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:var(--sp-1);
    align-items:stretch !important;
    margin-bottom:var(--sp-2);
  }
  #quoteHeaderActions > select{
    grid-column:1 / -1;
    width:100% !important;
    min-height:44px;
    border-radius:var(--r-md) !important;
    font-size:16px !important;
    padding:10px var(--sp-2) !important;
    font-weight:700;
  }
  #quoteHeaderActions > button{
    width:100%;
    min-height:44px;
    justify-content:center;
    padding:10px var(--sp-2) !important;
    border-radius:var(--r-md) !important;
    font-size:var(--fs-sm) !important;
    font-weight:700;
  }
  #quoteHeaderActions > button:last-child{
    grid-column:1 / -1;
  }

  /* ── Cards ─────────────────────────────────────────────────────────── */
  .card{ border-radius:var(--r-md) !important; padding:var(--sp-3) !important; margin-bottom:var(--sp-2) !important; }
  .row{ gap:var(--sp-1) !important; }
  .f label{ font-size:var(--fs-xs) !important; }
  input,select,textarea{ min-height:44px; font-size:16px !important; }

  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     WIZARD — Mobile-first rewrite
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  #wzPageWrap{
    padding:0 0 calc(var(--mob-bar-h) + var(--mob-nav-h) + var(--safe-bottom)) 0 !important;
    max-width:100% !important;
  }

  /* Kill the pqc-intro hero on mobile — we use the topbar instead */
  .pqc-intro{ display:none !important; }

  /* Step header — compact dark bar replacing the double-hero */
  .pqc-step{ border-radius:0 !important; }
  .pqc-step-hero{
    height:120px !important;
    border-radius:0 !important;
  }
  .pqc-step-hero-copy{ padding:var(--sp-3) var(--sp-3) var(--sp-2) !important; }
  .pqc-step-kicker{ font-size:10px !important; }
  .pqc-step-city{ font-size:22px !important; }
  .pqc-step-nights{ font-size:12px !important; }

  /* Progress — horizontal scroll, compact dots */
  .pqc-progress{
    padding:var(--sp-2) var(--sp-3) !important;
    overflow-x:auto;
    scrollbar-width:none;
    -ms-overflow-style:none;
    gap:0 !important;
    background:#fff;
    border-bottom:1px solid #f0ece5;
  }
  .pqc-progress::-webkit-scrollbar{ display:none; }
  .pqc-progress-stop{ min-width:52px !important; }
  .pqc-progress-dot{ width:28px !important; height:28px !important; font-size:11px !important; }
  .pqc-progress-label{ font-size:9px !important; }
  .pqc-progress-line{ min-width:16px !important; }

  /* Step body — full width, good padding */
  .pqc-step-body{
    padding:var(--sp-3) !important;
  }

  /* Layout — single column, hide desktop sidebar */
  .pqc-layout{
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding:0 !important;
  }
  .pqc-sidebar{ display:none !important; }

  /* Nav buttons */
  .pqc-step-nav{
    padding:var(--sp-2) var(--sp-3) !important;
    border-top:1px solid #f0ece5;
    background:#fff;
    gap:var(--sp-2) !important;
    position:sticky;
    bottom:calc(var(--mob-nav-h) + var(--safe-bottom));
    z-index:100;
  }
  .pqc-step-nav-back{
    min-height:48px !important;
    padding:12px var(--sp-3) !important;
    border-radius:var(--r-md) !important;
    font-size:var(--fs-base) !important;
    font-weight:700;
    flex:1;
  }
  .pqc-step-nav-next{
    min-height:48px !important;
    padding:12px var(--sp-3) !important;
    border-radius:var(--r-md) !important;
    font-size:var(--fs-base) !important;
    font-weight:800;
    flex:2;
  }

  /* Wizard form fields */
  .wz-g2,.wz-g3,.wz-g4{
    grid-template-columns:1fr 1fr !important;
    gap:var(--sp-2) !important;
  }
  .wz-f label{ font-size:var(--fs-xs) !important; letter-spacing:.05em; }
  .wz-f input,.wz-f select{ min-height:44px !important; font-size:16px !important; }

  /* Hotel option cards on mobile */
  .pqc-hotel-opt{ padding:var(--sp-2) !important; }
  .pqc-hotel-opt-thumb{ width:72px !important; min-width:72px !important; height:72px !important; border-radius:var(--r-sm) !important; }

  /* Activity rows */
  .pqc-act-row{ padding:var(--sp-2) var(--sp-2) !important; min-height:52px; }

  /* Route stop rows */
  .wz-sr{ padding:var(--sp-2) var(--sp-2) !important; min-height:52px; }

  /* ── Sticky price bar (replaces sidebar on mobile) ─────────────────── */
  .wz-mob-price-bar{
    display:flex !important;
    position:fixed;
    left:0;
    right:0;
    bottom:calc(var(--mob-nav-h) + var(--safe-bottom));
    z-index:150;
    height:var(--mob-bar-h);
    background:var(--t1);
    align-items:center;
    padding:0 var(--sp-3);
    gap:var(--sp-3);
    border-top:1px solid rgba(255,255,255,.08);
  }
  .wz-mob-price-main{
    font-family:var(--fd);
    font-size:24px;
    font-weight:600;
    color:#fff;
    letter-spacing:-.02em;
    line-height:1;
    flex:1;
  }
  .wz-mob-price-pp{
    font-size:10px;
    color:rgba(255,255,255,.45);
    font-weight:700;
    margin-top:2px;
  }
  .wz-mob-price-tag{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:5px 10px;
    border-radius:999px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.04em;
  }
  .wz-mob-price-tag.ok{ background:rgba(26,107,90,.3); color:#4ecba0; }
  .wz-mob-price-tag.warn{ background:rgba(212,168,67,.2); color:#D4A843; }
  .wz-mob-price-tag.low{ background:rgba(231,76,60,.2); color:#ff6b5b; }

  /* Classic view button — move to top */
  .wz-classic-link{
    font-size:10px !important;
    padding:4px 10px !important;
  }

  /* ── Day cards — mobile ─────────────────────────────────────────────── */
  .vb-day{ border-radius:var(--r-md) !important; margin-bottom:var(--sp-2) !important; }
  .vb-day-head{ padding:var(--sp-2) var(--sp-2) !important; column-gap:var(--sp-1) !important; }
  .vb-day-num{ width:44px !important; min-width:44px !important; min-height:44px !important; font-size:11px !important; border-radius:var(--r-sm) !important; }
  .vb-day-title{ font-size:13px !important; }
  .vb-day-meta{ font-size:11px !important; }
  .vb-tier-chip{ font-size:9px !important; padding:3px 7px !important; }
  .vb-day-body{ padding:var(--sp-2) !important; }
  .vb-hotel-card{ padding:var(--sp-2) !important; }
  .day-toolbar{ padding:var(--sp-1) 0 !important; margin-bottom:var(--sp-2) !important; }
  .day-toolbar .btn-sm{ min-height:36px !important; padding:6px var(--sp-2) !important; font-size:12px !important; }

  /* ── Public quote page ─────────────────────────────────────────────── */
  #publicQuoteApp{ padding-bottom:calc(80px + var(--safe-bottom)); }
  .pq-wrap{ padding:var(--sp-3) var(--sp-3) calc(100px + var(--safe-bottom)) !important; }

  /* ── Booking confirmation ──────────────────────────────────────────── */
  .bk-wrap{ padding:var(--sp-3) var(--sp-3) calc(var(--mob-nav-h) + 32px) !important; }
  .bk-grid{ grid-template-columns:1fr !important; }
  .bk-side{ position:static !important; order:-1; }
  .bk-status-card{ padding:var(--sp-3) !important; }
  .bk-field-grid,.bk-field-grid-3{ grid-template-columns:1fr 1fr !important; }
  .bk-title{ font-size:26px !important; }

  /* ── Pipeline board ────────────────────────────────────────────────── */
  .pipeline-board{ overflow-x:auto; -webkit-overflow-scrolling:touch; gap:var(--sp-2) !important; }
  .pc-col{ min-width:260px !important; }

  /* ── Client modal ──────────────────────────────────────────────────── */
  .hdm-modal{ border-radius:var(--r-lg) var(--r-lg) 0 0 !important; margin:auto 0 0 !important; max-height:92vh !important; }
  .hdm-overlay{ align-items:flex-end !important; }

  /* ── Drag & drop areas ─────────────────────────────────────────────── */
  [draggable="true"]{ touch-action:none; }

} /* end 720px */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SMALL PHONE (≤390px)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media(max-width:390px){
  .wz-g2{ grid-template-columns:1fr !important; }
  .mob-more-grid{ grid-template-columns:1fr !important; }
  .bk-field-grid,.bk-field-grid-3{ grid-template-columns:1fr !important; }
  .pqc-step-city{ font-size:18px !important; }
  #quoteHeaderActions{ grid-template-columns:1fr !important; }
  #quoteHeaderActions > button{ grid-column:1 / -1; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TABLET (721px – 1024px)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media(min-width:721px) and (max-width:1024px){
  .mob-nav{ display:none !important; }
  .mob-topbar{ display:none !important; }
  .wz-mob-price-bar{ display:none !important; }
  .pqc-layout{ grid-template-columns:1fr 260px !important; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   DESKTOP (>720px) — hide mobile-only elements
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media(min-width:721px){
  .mob-nav{ display:none !important; }
  .mob-topbar{ display:none !important; }
  .wz-mob-price-bar{ display:none !important; }
  #mobMoreDrawer{ display:none !important; }
  .qb-mob-bar{ display:none !important; }
  #qbMobOverflow{ display:none !important; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   END MOBILE SYSTEM
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */


/* BUILD:PUBLIC_CSS_START */
/* ===== PUBLIC QUOTE PAGE ===== */
#publicQuoteApp{display:none;min-height:100vh;background:#F6F1E8;color:var(--t1)}
.pq-wrap{max-width:1180px;margin:0 auto;padding:26px 28px 96px}
.pq-topbar{display:grid;grid-template-columns:minmax(180px,220px) 1fr auto;align-items:center;gap:18px;margin-bottom:28px}
.pq-topbrand{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;min-width:0}
.pq-brand-lockup{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:140px;text-align:center}
.pq-logo-mark{display:inline-flex;align-items:center;justify-content:flex-start;background:transparent;border:none;box-shadow:none;padding:0}
.pq-logo-mark svg{display:block;width:56px;height:auto;filter:drop-shadow(8px 8px 8px rgba(26,23,20,.14))}
.pq-wordmark{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.pq-wordmark-main{font-family:'Mikale','Cormorant Garamond',Georgia,serif;font-size:30px;font-weight:400;color:var(--t1);letter-spacing:.01em;line-height:1}
.pq-wordmark-sub{font-family:var(--fd);font-size:18px;font-style:italic;color:var(--accent-dn);line-height:1.1;margin-top:2px}
.pq-wordmark-line{width:40px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-dn));margin-top:10px}
.pq-brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:0;min-width:0}
.pq-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid #e3d7c8;background:rgba(255,255,255,.82);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#725c3b;white-space:nowrap}
.pq-top-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding-top:0}
.pq-hero{display:grid;grid-template-columns:1.08fr .92fr;gap:22px;align-items:stretch;margin-bottom:22px}
.pq-card{background:rgba(255,255,255,.94);border:1px solid var(--b1);border-radius:24px;box-shadow:0 10px 34px rgba(26,23,20,.06)}
.pq-hero-copy{padding:38px 38px 34px;background:linear-gradient(180deg,#fff,#faf6ef)}
.pq-title{font-family:var(--fd);font-size:54px;line-height:.96;font-weight:600;letter-spacing:-.03em;margin-bottom:12px}
.pq-sub{font-size:18px;color:#6f6457;line-height:1.6;max-width:640px}
.pq-route{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 20px}
.pq-route span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #e8ddd0;font-size:12px;font-weight:700;color:#5d554d}
.pq-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.pq-btn,.pq-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:999px;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer;border:none}
.pq-btn{background:linear-gradient(135deg,#D4A843,var(--accent-dn));color:#fff;box-shadow:0 8px 20px rgba(139,105,20,.2)}
.pq-btn-outline{background:#fff;color:#5c544a;border:1px solid #e4dacd}
.pq-hero-media{min-height:370px;border-radius:24px;overflow:hidden;position:relative;background:linear-gradient(135deg,#e9dcc8,#f7f1e7 52%,#d7e7df)}
.pq-hero-media img{width:100%;height:100%;object-fit:cover;display:block}
.pq-hero-fallback{position:absolute;inset:0;display:flex;align-items:flex-end;padding:30px;background:linear-gradient(180deg,rgba(255,255,255,.15),rgba(26,23,20,.22))}
.pq-hero-fallback div{font-family:var(--fd);font-size:34px;color:#fff;line-height:1.05;max-width:320px}
.pq-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}
.pq-stat{padding:18px 20px}
.pq-stat .k{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9a8f84;margin-bottom:8px}
.pq-stat .v{font-size:18px;font-weight:800;line-height:1.2}
.pq-section{margin-bottom:24px}
.pq-section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:0 2px}
.pq-section-head h2{font-family:var(--fd);font-size:34px;line-height:1;margin:0}
.pq-section-head p{font-size:13px;color:#7a6e62}
.pq-route-story{padding:26px}
.pq-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.pq-stop{padding:18px;border:1px solid var(--b1);border-radius:18px;background:linear-gradient(180deg,#fff,#fbf8f3)}
.pq-stop .n{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#9a8f84;margin-bottom:8px}
.pq-stop .c{font-size:20px;font-weight:800;line-height:1.1;margin-bottom:6px}
.pq-stop .s{font-size:12px;color:#766b5e}
.pq-hotel-list,.pq-day-list{display:flex;flex-direction:column;gap:16px}
.pq-hotel{display:grid;grid-template-columns:240px 1fr;gap:18px;padding:16px}
.pq-hotel-media{border-radius:18px;overflow:hidden;height:200px;min-height:200px;max-height:200px;background:linear-gradient(135deg,#e9dcc8,#f7f1e7 60%,#d7e7df);flex-shrink:0}
.pq-hotel-media img{width:100%;height:100%;object-fit:cover;display:block}
.pq-hotel-copy{padding:8px 6px}
.pq-cityline{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.pq-cityline .city{font-size:22px;font-weight:800;line-height:1.1}
.pq-cityline .night{font-size:11px;padding:6px 10px;border-radius:999px;background:#f7f2e8;border:1px solid #e7dac3;color:#7b642f;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pq-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.pq-meta span{font-size:11px;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #eadfd1;color:#5f564c;font-weight:700}
.pq-copy{font-size:14px;color:#675d52;line-height:1.7}
.pq-day-acc{overflow:hidden}
.pq-day-acc summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.pq-day-acc summary::-webkit-details-marker{display:none}
.pq-day-acc .pq-day-headline{display:flex;align-items:flex-start;gap:14px;flex:1;min-width:0}
.pq-day-acc .pq-day-copy{min-width:0;flex:1;padding-top:2px}
.pq-day-num{width:44px;height:44px;border-radius:999px;background:#f3ebdb;border:1px solid #e4d4b5;color:#7b642f;display:flex;align-items:center;justify-content:center;font-weight:900;flex-shrink:0}
.pq-day-acc h3{font-size:21px;line-height:1.1;margin:0 0 6px}
.pq-day-city{font-size:14px;color:#7a6e62;line-height:1.4}
.pq-day-arrow{margin-left:auto;width:40px;height:40px;border-radius:999px;border:1px solid #e6d8c8;background:#fff;display:flex;align-items:center;justify-content:center;color:#7b642f;font-size:18px;transition:transform .18s ease, background .18s ease;flex-shrink:0}
.pq-day-acc[open] .pq-day-arrow{transform:rotate(180deg);background:#f7f2e8}
.pq-day-body{padding:0 24px 22px 80px}
.pq-bullets{margin:0;padding-left:18px;color:#5f564c;line-height:1.8;font-size:14px}
.pq-pricing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:860px}
.pq-price{padding:20px;position:relative}
.pq-price.reco{border:1px solid #d7bb7b;background:linear-gradient(180deg,#fffdf7,#f8f1df)}
.pq-reco{position:absolute;top:14px;right:14px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;background:#7b642f;color:#fff;padding:6px 8px;border-radius:999px}
.pq-price .t{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#8c7f73;margin-bottom:8px}
.pq-price .amt{font-size:38px;font-weight:900;line-height:1;letter-spacing:-.05em}
.pq-price .ppa{font-size:13px;color:#6d6258;margin-top:6px}
.pq-price .desc{font-size:13px;color:#5c544a;line-height:1.7;margin-top:10px}
.pq-mini-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.pq-mini-list div{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding-top:8px;border-top:1px solid rgba(0,0,0,.05)}
.pq-aud-box{padding:16px 18px;margin-top:14px;background:#fcfaf6}
.pq-aud-box[hidden]{display:none!important}
.pq-aud-title{font-size:18px!important;line-height:1.15!important}
.pq-aud-sub{font-size:12px;color:var(--muted);margin-top:4px}
.pq-aud-list{display:flex;flex-direction:column;gap:0;margin-top:8px}
.pq-aud-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid rgba(0,0,0,.06)}
.pq-aud-row:first-child{border-top:none}
.pq-aud-row span{font-size:12px;font-weight:700;color:#6b5e52;letter-spacing:.04em;text-transform:uppercase}
.pq-aud-row strong{font-size:20px;font-weight:800;color:#2b2723}
.pq-aud-note{font-size:11px;color:var(--t4);margin-top:10px;line-height:1.45}
.pq-list-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pq-list-card{padding:20px}
.pq-list-card ul{margin:10px 0 0;padding-left:18px;color:#5f564c;line-height:1.8;font-size:14px}
.pq-footer-cta{padding:28px 28px 24px;text-align:center;background:linear-gradient(180deg,#fff,#faf5ee)}
.pq-footer-cta h2{font-family:var(--fd);font-size:40px;line-height:1;margin-bottom:10px}
.pq-footer-cta p{font-size:14px;color:#6f6457;line-height:1.8;max-width:680px;margin:0 auto 18px}
.pq-note{font-size:11px;color:#968879;line-height:1.7;margin-top:14px}
.pq-miss{padding:38px 28px;text-align:center;max-width:980px;margin:10px auto 0}
.pq-miss .pq-brand-lockup{align-items:center;margin:0 auto 16px}
.pq-miss .pq-wordmark{align-items:center}
.pq-miss .pq-logo-mark{justify-content:center}
.pq-miss .pq-pill{margin-bottom:14px}
@media(max-width:980px){.pq-hero{grid-template-columns:1fr}.pq-grid-4,.pq-pricing,.pq-list-2{grid-template-columns:1fr 1fr}.pq-hotel{grid-template-columns:1fr}.pq-hero-media{min-height:300px}.pq-title{font-size:46px}}
@media(max-width:980px){.pq-topbar{grid-template-columns:1fr;gap:14px}.pq-topbrand{grid-template-columns:auto 1fr}.pq-top-actions{justify-content:flex-start}}
@media(max-width:720px){#publicQuoteApp{padding-bottom:96px}.pq-wrap{padding:18px 14px 100px}.pq-topbar{grid-template-columns:1fr;gap:14px;margin-bottom:18px}.pq-topbrand{width:100%;grid-template-columns:1fr;justify-items:center;gap:10px}.pq-brand-lockup{min-width:0;align-items:center;text-align:center}.pq-logo-mark svg{width:50px}.pq-wordmark{align-items:center}.pq-wordmark-main{font-size:28px}.pq-wordmark-sub{font-size:17px}.pq-wordmark-line{width:34px;margin-top:8px}.pq-brand{gap:8px;padding-top:0;justify-content:center}.pq-top-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:0}.pq-top-actions .pq-btn-outline{width:100%;padding:12px 14px}.pq-title{font-size:38px;line-height:1}.pq-sub{font-size:16px;line-height:1.55}.pq-grid-4,.pq-pricing,.pq-list-2,.pq-timeline{grid-template-columns:1fr}.pq-hero{gap:16px;margin-bottom:18px}.pq-card{border-radius:22px}.pq-hero-copy{padding:24px 20px}.pq-route{margin:18px 0 16px}.pq-actions{display:grid;grid-template-columns:1fr;gap:10px}.pq-actions .pq-btn,.pq-actions .pq-btn-outline{width:100%;padding:13px 16px}.pq-stat{padding:16px 18px}.pq-section{margin-bottom:18px}.pq-section-head{margin-bottom:12px}.pq-section-head h2{font-size:28px}.pq-route-story{padding:20px}.pq-hotel{grid-template-columns:1fr;gap:14px;padding:14px}.pq-hotel-media{min-height:190px}.pq-cityline .city{font-size:20px}.pq-day-acc summary{padding:18px 18px 16px;align-items:flex-start;gap:14px}.pq-day-acc h3{font-size:18px}.pq-day-arrow{width:34px;height:34px;font-size:16px}.pq-day-body{padding:0 18px 18px 18px}.pq-footer-cta{padding:22px 20px 20px}.pq-footer-cta h2{font-size:34px}.pq-note{font-size:10px;line-height:1.6}.pq-miss{padding:30px 20px}.pq-fab{display:flex!important}}
.pq-fab{display:none;position:fixed;left:10px;right:10px;bottom:10px;z-index:500;gap:8px;padding:6px;border:1px solid var(--b1);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 14px 32px rgba(26,23,20,.12);overflow-x:auto;scrollbar-width:none}
.pq-fab a,.pq-fab button{flex:1}


/* ===== Public quote nav / hotels / footer refinement ===== */
.pq-wrap{max-width:1240px;padding:24px 30px 110px}
.pq-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin-bottom:34px}
.pq-nav-links,.pq-top-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pq-nav-links{justify-content:flex-start}
.pq-top-meta{justify-content:flex-end}
.pq-nav-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;border:1px solid #e3d7c8;background:rgba(255,255,255,.78);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#725c3b;text-decoration:none;transition:background .18s ease,color .18s ease,border-color .18s ease}
.pq-nav-link:hover{background:#fff;transform:translateY(-1px)}
.pq-topbrand{display:flex;justify-content:center}
.pq-brand-lockup{min-width:auto;gap:8px;text-align:center}
.pq-logo-mark svg{width:48px;filter:drop-shadow(6px 7px 7px rgba(26,23,20,.12))}
.pq-wordmark{align-items:center}
.pq-wordmark-main{font-size:28px}
.pq-wordmark-sub{font-size:17px}
.pq-wordmark-line{margin-top:8px}
.pq-top-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.pq-top-actions .pq-btn-outline,.pq-top-actions .pq-btn{padding:12px 18px}
.pq-top-meta .pq-pill{background:rgba(255,255,255,.9)}
.pq-section{margin-bottom:30px}
.pq-hotel-list,.pq-day-list{gap:18px}
.pq-hotel{grid-template-columns:260px 1fr;gap:24px;padding:18px 20px}
.pq-hotel-copy{padding:10px 4px 6px}
.pq-cityline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.pq-cityline .city{font-size:26px;font-weight:800;line-height:1.05}
.pq-cityline .night{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;border:1px solid #dbcaaa;background:#f7f1e7;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dn)}
.pq-meta{margin-bottom:12px}
.pq-copy{font-size:15px;line-height:1.7;color:#655b50}
.pq-hotel-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.pq-option-card{border:1px solid #e8ddd0;border-radius:18px;background:linear-gradient(180deg,#fff,#fbf8f3);padding:12px 13px;min-height:108px}
.pq-option-card.selected{border-color:#c9a24a;background:linear-gradient(180deg,#fffaf0,#f8f0df);box-shadow:0 8px 18px rgba(139,105,20,.08)}
.pq-option-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.pq-option-label{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dn)}
.pq-option-chip{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:#f3eadc;color:#6d5d46}
.pq-option-name{font-size:13px;font-weight:800;line-height:1.35;margin-bottom:6px}
.pq-option-sub{font-size:11px;color:#7a6e62;line-height:1.45}
.pq-day-acc summary{padding:18px 22px}
.pq-day-body{padding:0 22px 20px}
.pq-footer-band{border-radius:32px;overflow:hidden;border:1px solid #e7dccf;background:linear-gradient(180deg,#fff,#faf5ee);box-shadow:0 12px 34px rgba(26,23,20,.06)}
.pq-footer-hero{position:relative;min-height:360px;padding:34px;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(180deg,rgba(14,12,10,.24),rgba(14,12,10,.36)), linear-gradient(180deg,#d7c8ba,#a8b6b3)}
.pq-footer-hero.has-image{background-size:cover;background-position:center}
.pq-footer-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0))}
.pq-footer-hero-inner{position:relative;z-index:1;max-width:760px;color:#fff}
.pq-footer-hero h2{font-family:'Roboto',sans-serif;font-size:58px;line-height:1.02;font-weight:800;letter-spacing:-.04em;margin:0 0 12px}
.pq-footer-hero h2 em{font-family:var(--fd);font-style:italic;font-weight:400}
.pq-footer-hero p{font-size:18px;line-height:1.7;color:rgba(255,255,255,.92);margin:0 auto 22px;max-width:700px}
.pq-footer-form{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.pq-footer-form .pq-btn,.pq-footer-form .pq-btn-outline{min-width:180px}
.pq-footer-main{display:grid;grid-template-columns:1.2fr .9fr 1fr 1fr;gap:28px;padding:34px 34px 28px;background:#f6efe4}
.pq-footer-brand{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.pq-footer-brand .pq-brand-lockup{align-items:flex-start;text-align:left}
.pq-footer-brand .pq-wordmark,.pq-footer-brand .pq-wordmark-main,.pq-footer-brand .pq-wordmark-sub{align-items:flex-start;text-align:left}
.pq-footer-brand .pq-wordmark-main{font-size:54px;line-height:.9}
.pq-footer-brand .pq-wordmark-sub{font-size:18px}
.pq-footer-brand .pq-wordmark-line{width:60px}
.pq-footer-tag{font-family:var(--fd);font-size:22px;line-height:1.2;color:var(--t1)}
.pq-socials{display:flex;gap:14px;flex-wrap:wrap}
.pq-socials a{width:58px;height:58px;border-radius:50%;background:#111;color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800}
.pq-footer-col h4{font-family:var(--fd);font-size:22px;line-height:1.1;margin:0 0 16px}
.pq-footer-col a{display:block;font-size:14px;color:var(--t1);text-decoration:underline;margin:0 0 16px;text-underline-offset:3px}
.pq-footer-bottom{padding:0 34px 28px;background:#f6efe4;font-size:12px;color:#7a6e62;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #e8ddd0}
@media(max-width:1100px){.pq-topbar{grid-template-columns:1fr;justify-items:center}.pq-nav-links,.pq-top-meta,.pq-top-actions{justify-content:center}.pq-footer-main{grid-template-columns:1fr 1fr}.pq-footer-hero h2{font-size:46px}}
@media(max-width:820px){.pq-hotel{grid-template-columns:1fr}.pq-hotel-media{min-height:220px}.pq-hotel-options{grid-template-columns:1fr}.pq-footer-main{grid-template-columns:1fr}.pq-footer-brand{align-items:center}.pq-footer-brand .pq-brand-lockup,.pq-footer-brand .pq-wordmark{align-items:center;text-align:center}.pq-footer-brand .pq-wordmark-main,.pq-footer-brand .pq-wordmark-sub{align-items:center;text-align:center}.pq-footer-brand .pq-wordmark-line{margin-left:auto;margin-right:auto}.pq-footer-tag{text-align:center}.pq-socials{justify-content:center}.pq-footer-col{text-align:center}.pq-footer-col a{display:inline-block}}
@media(max-width:720px){.pq-wrap{padding:18px 14px 100px}.pq-topbar{margin-bottom:22px}.pq-nav-links{order:2;justify-content:center}.pq-topbrand{order:1;width:100%}.pq-top-meta{order:3;justify-content:center}.pq-top-actions{order:4;justify-content:center}.pq-nav-link{padding:9px 14px;font-size:11px}.pq-top-actions .pq-btn-outline,.pq-top-actions .pq-btn{flex:1 1 calc(50% - 8px);min-width:144px}.pq-title{font-size:44px;line-height:.94}.pq-hero-copy{padding:28px 24px}.pq-footer-hero{min-height:300px;padding:24px}.pq-footer-hero h2{font-size:38px}.pq-footer-hero p{font-size:16px}.pq-footer-form{flex-direction:column}.pq-footer-form .pq-btn,.pq-footer-form .pq-btn-outline{width:100%}.pq-footer-bottom{justify-content:center;text-align:center}}

/* ═══════════════════════════════════════════════════════════
   REVEAL SCREEN
═══════════════════════════════════════════════════════════ */
.pqr-screen{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0e0c0a;overflow:hidden;transition:opacity .9s ease, transform .9s ease}
.pqr-screen.exiting{opacity:0;transform:scale(1.03);pointer-events:none}
.pqr-bg{position:absolute;inset:0;background-size:cover;background-position:center 30%;opacity:0;transition:opacity 2.2s ease}
.pqr-bg.loaded{opacity:.45}
.pqr-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,12,10,.42) 0%,rgba(14,12,10,.72) 60%,rgba(14,12,10,.88) 100%)}
.pqr-content{position:relative;z-index:1;text-align:center;padding:40px 32px;max-width:720px}
.pqr-kicker{font-family:var(--fd);font-size:15px;font-style:italic;color:rgba(255,255,255,.6);letter-spacing:.06em;margin-bottom:28px;opacity:0;transform:translateY(18px);transition:opacity .7s ease .2s, transform .7s ease .2s}
.pqr-kicker.in{opacity:1;transform:translateY(0)}
.pqr-name{font-family:var(--fd);font-size:clamp(56px,10vw,100px);font-weight:600;line-height:.9;letter-spacing:-.04em;color:#fff;margin-bottom:8px;opacity:0;transform:translateY(24px);transition:opacity .8s ease .45s, transform .8s ease .45s}
.pqr-name.in{opacity:1;transform:translateY(0)}
.pqr-sub{font-size:17px;color:rgba(255,255,255,.72);line-height:1.6;max-width:560px;margin:20px auto 0;opacity:0;transform:translateY(16px);transition:opacity .7s ease .75s, transform .7s ease .75s}
.pqr-sub.in{opacity:1;transform:translateY(0)}
.pqr-route{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:28px 0 0;opacity:0;transition:opacity .7s ease 1s}
.pqr-route.in{opacity:1}
.pqr-stop{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);font-size:12px;font-weight:700;color:rgba(255,255,255,.85);backdrop-filter:blur(8px)}
.pqr-stop-sep{color:rgba(255,255,255,.3);font-size:10px}
.pqr-cta{margin-top:48px;opacity:0;transform:translateY(14px);transition:opacity .7s ease 1.3s, transform .7s ease 1.3s}
.pqr-cta.in{opacity:1;transform:translateY(0)}
.pqr-begin{display:inline-flex;align-items:center;gap:10px;padding:17px 38px;border-radius:999px;background:linear-gradient(135deg,#D4A843,var(--accent-dn));border:none;color:#fff;font-size:15px;font-weight:800;cursor:pointer;letter-spacing:.02em;box-shadow:0 12px 32px rgba(139,105,20,.35);transition:transform .18s,box-shadow .18s}
.pqr-begin:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(139,105,20,.45)}
.pqr-begin svg{transition:transform .2s}
.pqr-begin:hover svg{transform:translateX(4px)}
.pqr-skip{display:block;margin-top:18px;font-size:12px;color:rgba(255,255,255,.38);background:none;border:none;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;transition:color .2s}
.pqr-skip:hover{color:rgba(255,255,255,.65)}
.pqr-brand{position:absolute;top:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;opacity:0;transition:opacity .8s ease .1s}
.pqr-brand.in{opacity:1}
.pqr-brand-name{font-family:'Mikale','Cormorant Garamond',Georgia,serif;font-size:20px;color:rgba(255,255,255,.7);letter-spacing:.02em}
.pqr-brand-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.3)}
.pqr-brand-sub{font-family:var(--fd);font-size:14px;font-style:italic;color:rgba(255,255,255,.4)}

/* ═══════════════════════════════════════════════════════════
   NAVIGATOR LAYOUT
═══════════════════════════════════════════════════════════ */
.pqn-shell{display:flex;min-height:100vh;background:#F6F1E8}
/* Sidebar */
.pqn-sidebar{width:228px;flex-shrink:0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 0;background:linear-gradient(180deg,var(--t1),#252016);overflow:hidden;z-index:100}
.pqn-sidebar-brand{padding:0 24px 28px;border-bottom:1px solid rgba(255,255,255,.08)}
.pqn-sidebar-name{font-family:'Mikale','Cormorant Garamond',Georgia,serif;font-size:22px;color:#fff;line-height:1;letter-spacing:.01em}
.pqn-sidebar-sub{font-family:var(--fd);font-size:13px;font-style:italic;color:rgba(255,255,255,.45);margin-top:3px}
.pqn-sidebar-line{width:32px;height:1.5px;background:linear-gradient(90deg,var(--accent),var(--accent-dn));margin-top:10px}
.pqn-sidebar-client{padding:18px 24px 0;font-size:11px;color:rgba(255,255,255,.35);letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.pqn-client-name{font-family:var(--fd);font-size:18px;font-style:italic;color:rgba(255,255,255,.7);margin-top:4px;line-height:1.1;font-weight:400;letter-spacing:0;text-transform:none}
.pqn-nav{display:flex;flex-direction:column;gap:2px;margin-top:24px;padding:0 12px;flex:1}
.pqn-nav-item{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:14px;cursor:pointer;transition:background .18s,color .18s;color:rgba(255,255,255,.45);font-size:13px;font-weight:700;letter-spacing:.01em;background:transparent;border:none;width:100%;text-align:left}
.pqn-nav-item:hover{background:rgba(255,255,255,.06);color:rgba(255,255,255,.75)}
.pqn-nav-item.active{background:rgba(212,168,67,.14);color:#D4A843}
.pqn-nav-num{width:26px;height:26px;border-radius:999px;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;flex-shrink:0;opacity:.7}
.pqn-nav-item.active .pqn-nav-num{background:rgba(212,168,67,.2);opacity:1}
.pqn-nav-label{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.pqn-nav-sub{font-size:10px;font-weight:500;opacity:.6;margin-top:1px;letter-spacing:.02em;text-transform:none}
.pqn-sidebar-cta{padding:16px 12px 0;margin-top:auto}
.pqn-sidebar-wa{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px;border-radius:14px;background:linear-gradient(135deg,#25D366,#1aad51);border:none;color:#fff;font-size:12px;font-weight:800;cursor:pointer;text-decoration:none;letter-spacing:.02em}
.pqn-sidebar-wa:hover{filter:brightness(1.08)}
/* Main content area */
.pqn-main{flex:1;min-width:0;overflow-y:auto}
/* Chapter panels */
.pqn-chapter{display:none;min-height:100vh;padding:36px 40px 80px;animation:pqn-fadein .4s ease}
.pqn-chapter.active{display:block}
@keyframes pqn-fadein{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
/* Chapter header */
.pqn-ch-head{margin-bottom:32px}
.pqn-ch-kicker{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.pqn-ch-title{font-family:var(--fd);font-size:46px;line-height:.96;font-weight:600;letter-spacing:-.03em;color:var(--t1);margin-bottom:10px}
.pqn-ch-sub{font-size:15px;color:#7a6e62;line-height:1.6;max-width:620px}
/* Stats strip in Overview */
.pqn-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:28px}
.pqn-stat{background:rgba(255,255,255,.92);border:1px solid var(--b1);border-radius:18px;padding:16px 18px}
.pqn-stat-k{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9a8f84;margin-bottom:6px}
.pqn-stat-v{font-size:16px;font-weight:800;color:var(--t1);line-height:1.2}
/* Price snapshot in Overview */
.pqn-price-snap{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:28px}
.pqn-price-card{border-radius:22px;padding:22px 24px;position:relative;overflow:hidden}
.pqn-price-card.flex{background:linear-gradient(135deg,#eaf5f0,#d8f0e7);border:1px solid #b8ddd0}
.pqn-price-card.prem{background:linear-gradient(135deg,#fffdf5,#fef3d3);border:1px solid #e4cc88}
.pqn-price-type{font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.pqn-price-card.flex .pqn-price-type{color:var(--green)}
.pqn-price-card.prem .pqn-price-type{color:var(--accent-dn)}
.pqn-price-amt{font-family:var(--fd);font-size:48px;font-weight:600;line-height:.96;letter-spacing:-.04em}
.pqn-price-card.flex .pqn-price-amt{color:var(--green)}
.pqn-price-card.prem .pqn-price-amt{color:#7b5c08}
.pqn-price-pp{font-size:13px;color:#6f6457;margin-top:6px}
.pqn-price-desc{font-size:12px;color:#6f6457;margin-top:10px;line-height:1.55;border-top:1px solid rgba(0,0,0,.06);padding-top:10px}
.pqn-price-ind{font-size:12px;color:#8a7b6a;margin-top:6px;font-style:italic}
/* Mobile sticky pill nav */
.pqn-pill-nav{display:none;position:sticky;top:0;z-index:200;background:rgba(246,241,232,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--b1);padding:10px 16px;gap:6px;overflow-x:auto;scrollbar-width:none}
.pqn-pill-nav::-webkit-scrollbar{display:none}
.pqn-pill-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;border:1.5px solid var(--b1);background:#fff;color:#5c544a;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}
.pqn-pill-btn.active{background:var(--t1);border-color:var(--t1);color:#D4A843}
/* Mobile fab */
.pqn-fab{display:none;position:fixed;bottom:20px;right:16px;z-index:300;flex-direction:column;gap:8px;align-items:flex-end}
.pqn-fab-wa{display:flex;align-items:center;gap:8px;padding:13px 20px;border-radius:999px;background:linear-gradient(135deg,#25D366,#1aad51);border:none;color:#fff;font-size:13px;font-weight:800;cursor:pointer;text-decoration:none;box-shadow:0 8px 24px rgba(25,173,81,.3)}
/* Responsive */
@media(max-width:900px){
  .pqn-shell{flex-direction:column}
  .pqn-sidebar{display:none}
  .pqn-pill-nav{display:flex}
  .pqn-chapter{padding:24px 18px 100px}
  .pqn-ch-title{font-size:36px}
  .pqn-stats{grid-template-columns:1fr 1fr}
  .pqn-price-snap{grid-template-columns:1fr}
  .pqn-price-amt{font-size:40px}
  .pqn-fab{display:flex}
}


.builder-action-board{margin-top:14px;display:grid;grid-template-columns:1fr 1.15fr;gap:12px}.action-cluster{background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:14px}.action-cluster-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.action-cluster-kicker{font-size:10px;font-weight:800;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}.action-cluster-title{font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.action-cluster-note{font-size:11px;line-height:1.45;color:var(--muted-2);max-width:210px;text-align:right}.action-cluster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.action-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border-radius:13px;background:#f9f5ef;border:1.5px solid #e8dfd3;color:#7b642f;font-size:10px;font-weight:800;cursor:pointer;transition:background .15s,color .15s,border-color .15s;letter-spacing:.02em;text-transform:uppercase}.action-tile:hover{background:#f3ebe0}.action-tile-save{background:#f0f9f5;border-color:#c8e2da;color:var(--green)}.action-tile-save:hover{background:#e0f4ee}.publish-status-card{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid #e8dfd3;border-radius:14px;padding:12px 14px;margin-bottom:10px}.publish-status-copy{flex:1;min-width:180px}.publish-status-label{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}.publish-status-text{font-size:11px;color:var(--muted-2);word-break:break-all}.quote-control-panel{margin-top:10px;border:1px solid #e8dfd3;border-radius:14px;background:#fff;padding:12px 14px}.quote-control-grid{display:grid;grid-template-columns:1.1fr .9fr .8fr;gap:10px;align-items:end}.quote-control-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.quote-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#f7f3ec;border:1px solid #e8dfd3;font-size:11px;font-weight:700;color:#6f6256}.quote-lock-banner{display:none;margin:0 0 12px;padding:12px 14px;border-radius:14px;background:#fff7e8;border:1px solid #f1d7a4;color:#8b5d08;font-size:12px;font-weight:700}.quote-lock-banner.show{display:block}.vb-readonly-note{margin-top:10px;padding:10px 12px;border:1px solid #e8dfd3;border-radius:14px;background:#fff7ef;color:#7a6553;font-size:12px;line-height:1.5}.vb-submit-bar.is-readonly .vb-btn-gold{opacity:.5;pointer-events:none}.publish-status-actions{display:flex;gap:6px;flex-wrap:wrap}.share-cta-row{display:flex;gap:8px}.share-cta-main{width:100%;padding:14px 20px;border-radius:14px;background:linear-gradient(135deg,var(--green),#1a8c70);border:none;color:#fff;font-size:15px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:-.01em;box-shadow:0 4px 16px rgba(26,107,90,.25);transition:background .2s,box-shadow .2s,border-color .2s}.share-cta-main:hover{transform:translateY(-1px)}@media (max-width:900px){.builder-action-board{grid-template-columns:1fr}.action-cluster-head{flex-direction:column}.action-cluster-note{text-align:left;max-width:none}.action-cluster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.publish-status-card{flex-direction:column;align-items:flex-start}.publish-status-actions{width:100%}.publish-status-actions .btn,.publish-status-actions .btn-teal{flex:1}}@media (max-width:560px){.action-cluster-grid{grid-template-columns:1fr 1fr}.action-tile{padding:11px 6px}}.action-cluster-publish{display:flex;flex-direction:column}.action-cluster-publish .publish-status-card{width:100%}.action-cluster-publish .share-cta-row{width:100%}.action-cluster-publish .publish-status-actions .btn{min-height:46px}.action-cluster-publish .publish-status-actions .btn,.action-cluster-publish .publish-status-actions .btn-teal{justify-content:center}@media (max-width:900px){.action-cluster-publish .publish-status-card{padding:14px;align-items:stretch}.action-cluster-publish .publish-status-copy{min-width:0;width:100%}.action-cluster-publish .publish-status-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.action-cluster-publish .publish-status-actions .btn,.action-cluster-publish .publish-status-actions .btn-teal{width:100%!important;min-width:0;flex:none}.action-cluster-publish .share-cta-main{width:100%}}@media (max-width:560px){.action-cluster-publish .publish-status-actions{grid-template-columns:1fr}.action-cluster-publish .publish-status-card{padding:16px}}

.publish-share-dock{margin-top:14px}.publish-share-dock .action-cluster-publish{background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:14px}.publish-share-dock .share-cta-row{width:100%}.publish-share-dock .share-cta-main{width:100%}@media(max-width:900px){.publish-share-dock{margin-top:12px}}
.quote-controls-dock{margin-top:14px}.quote-controls-dock .action-cluster-quote{background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:14px}.quote-controls-dock .quote-control-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quote-controls-dock .quote-control-grid > :last-child{grid-column:1 / 2}@media(max-width:900px){.quote-controls-dock{margin-top:12px}.quote-controls-dock .quote-control-grid{grid-template-columns:1fr 1fr}.quote-controls-dock .quote-control-grid > :last-child{grid-column:1 / -1}}@media(max-width:560px){.quote-controls-dock .quote-control-grid{grid-template-columns:1fr}}


/* Journey summary + map */
.builder-v4-journeyhero{padding:18px 20px 16px;border-radius:24px;background:linear-gradient(180deg,var(--bg-1) 0%,var(--bg-2) 100%);border:1px solid var(--b1);box-shadow:var(--sh2)}
.builder-v4-journeyhero-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
.builder-v4-journeyhero-title{font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:34px;line-height:1;letter-spacing:-.03em;color:var(--t1);margin:6px 0 0}
.builder-v4-journeyhero-copy{font-size:14px;line-height:1.6;color:var(--t3);margin-top:10px;max-width:760px}
.builder-v4-journeyhero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.builder-v4-journeyhero-stat{background:var(--glass-bg);border:1px solid var(--b1);border-radius:18px;padding:14px;min-height:86px;display:flex;flex-direction:column;justify-content:space-between}
.builder-v4-journeyhero-label{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--t4)}
.builder-v4-journeyhero-value{font-size:20px;font-weight:900;line-height:1.15;color:var(--t1);margin-top:8px}
.builder-v4-mapband{padding-top:0}
.builder-v4-maphead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px}
.builder-v4-maptitle{font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:26px;line-height:1;letter-spacing:-.02em;color:var(--t1)}
.builder-v4-mapcopy{font-size:13px;line-height:1.55;color:var(--t3);margin-top:6px;max-width:760px}
.builder-v4-mapcanvas-wrap{display:block;width:100%}
.builder-v4-mapcanvas-col{width:100%;max-width:none}
.builder-v4-mapcanvas-card{background:var(--bg-2);border:1px solid var(--b1);border-radius:26px;padding:14px;box-shadow:var(--sh-inner)}
#journeyMapCanvas{width:100%;aspect-ratio:1.08 / 1;min-height:920px;border-radius:22px;overflow:hidden;border:1px solid #d8d4cd;background:#eef1f1;position:relative}
#journeyMapCanvas.journey-map-placeholder::before{content:attr(data-placeholder);position:absolute;left:16px;bottom:16px;z-index:2;color:var(--t3);font-size:13px;background:rgba(255,255,255,.86);border:1px solid var(--b1);border-radius:14px;padding:10px 12px;max-width:320px;backdrop-filter:blur(6px);line-height:1.45}
.builder-v4-mapnote{margin-top:12px;border:1px solid var(--b1);background:var(--glass-bg);border-radius:16px;padding:12px 14px;color:var(--t3);font-size:13px;line-height:1.55}
.builder-v4-mapnote.ok{color:var(--green)}
.builder-v4-mapnote.error{color:var(--red)}
.builder-v4-loadinfo{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.builder-v4-infobox{margin-top:12px;border:1px solid var(--b1);background:var(--glass-bg);border-radius:16px;padding:12px 14px}
.builder-v4-infobox .k{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--t4);margin-bottom:8px}
.builder-v4-infobox .v{font-size:13px;line-height:1.6;color:#5f564c}
.builder-v4-infobox a{color:var(--green);text-decoration:none}
.builder-v4-infobox a:hover{text-decoration:underline}

@media(max-width:1180px){
  .builder-v4-journeyhero-grid{grid-template-columns:1fr}
  .builder-v4-journeyhero-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .builder-v4-mapcanvas-wrap{justify-content:flex-start}
  .builder-v4-mapcanvas-col{width:min(100%,660px)}
  #journeyMapCanvas{min-height:880px}
}
@media(max-width:760px){
  .builder-v4-journeyhero-title{font-size:30px}
  .builder-v4-journeyhero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .builder-v4-mapcanvas-col{width:100%}
  #journeyMapCanvas{min-height:680px}
}


/* Published journey map */
.pq-journey-map-card{padding:16px}
.pq-journey-map-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start;margin-bottom:14px}
.pq-journey-map-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--t4);margin-bottom:6px}
.pq-journey-map-title{font-family:"Cormorant Garamond",serif;font-size:54px;line-height:.94;letter-spacing:-.03em;color:var(--t1)}
.pq-journey-map-copy{margin-top:10px;color:var(--t3);font-size:13px;line-height:1.55;max-width:760px}
.pq-journey-map-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pq-journey-map-stat{background:#FBF8F3;border:1px solid var(--b2);border-radius:16px;padding:14px;min-height:88px;display:flex;flex-direction:column;justify-content:space-between}
.pq-journey-map-stat .k{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--t4)}
.pq-journey-map-stat .v{font-size:20px;font-weight:800;color:var(--t1);line-height:1.15}
.pq-journey-map-shell{border:1px solid var(--b2);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.40),rgba(255,255,255,.16));padding:14px}
.pq-journey-map-cardbox{background:var(--bg-2);border:1px solid var(--b2);border-radius:26px;padding:14px;box-shadow:var(--sh-inner)}
#pqJourneyMapCanvas{width:100%;aspect-ratio:1.18 / 1;min-height:860px;border-radius:22px;overflow:hidden;border:1px solid #d8d4cd;background:#eef1f1;position:relative}
#pqJourneyMapCanvas.journey-map-placeholder::before{content:"Loading route map…";position:absolute;left:16px;bottom:16px;z-index:2;color:var(--t3);font-size:13px;background:rgba(255,255,255,.86);border:1px solid var(--b2);border-radius:14px;padding:10px 12px;max-width:280px;backdrop-filter:blur(6px)}
.pq-journey-map-note{margin-top:12px;border:1px solid var(--b2);background:var(--glass-bg);border-radius:16px;padding:12px 14px;color:var(--t3);font-size:13px;line-height:1.55}
.pq-journey-map-note.error{color:var(--red)}
@media (max-width:1100px){
  .pq-journey-map-hero{grid-template-columns:1fr}
  #pqJourneyMapCanvas{min-height:780px}
}
@media (max-width:760px){
  .pq-journey-map-title{font-size:38px}
  #pqJourneyMapCanvas{min-height:620px}
}


/* Public customiser journey summary + map */
.vb-journeyhero{background:linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.12)),#F8F4EE;border:1px solid var(--b1);border-radius:28px;box-shadow:0 14px 34px rgba(41,29,16,.06);padding:22px;margin:18px 0 20px}
.vb-journeyhero-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.vb-journeyhero-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--t4)}
.vb-journeyhero-title{margin-top:8px;font-family:"Cormorant Garamond",serif;font-size:48px;line-height:.95;letter-spacing:-.03em;color:var(--t1)}
.vb-journeyhero-copy{margin-top:10px;color:var(--t3);font-size:14px;line-height:1.6;max-width:760px}
.vb-journeyhero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vb-journeyhero-stat{background:rgba(255,255,255,.58);border:1px solid var(--b1);border-radius:18px;padding:14px;min-height:88px;display:flex;flex-direction:column;justify-content:space-between}
.vb-journeyhero-stat .k{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--t4)}
.vb-journeyhero-stat .v{font-size:22px;font-weight:800;line-height:1.1;color:var(--t1)}
.vb-mapband{margin-top:18px}
.vb-mapband-card{background:linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.12)),#F8F4EE;border:1px solid var(--b1);border-radius:28px;box-shadow:0 14px 34px rgba(41,29,16,.06);padding:16px}
.vb-mapband-top{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.vb-maptitle{font-family:"Cormorant Garamond",serif;font-size:34px;line-height:1;color:var(--t1)}
.vb-mapcopy{font-size:13px;line-height:1.55;color:var(--t3);margin-top:6px;max-width:760px}
.vb-mapcanvas-card{background:var(--bg-2);border:1px solid var(--b1);border-radius:26px;padding:14px;box-shadow:var(--sh-inner)}
#vbJourneyMapCanvas{width:100%;aspect-ratio:1.08 / 1;min-height:920px;border-radius:22px;overflow:hidden;border:1px solid #d8d4cd;background:#eef1f1;position:relative}
#vbJourneyMapCanvas.journey-map-placeholder::before{content:attr(data-placeholder);position:absolute;left:16px;bottom:16px;z-index:2;color:var(--t3);font-size:13px;background:rgba(255,255,255,.86);border:1px solid var(--b1);border-radius:14px;padding:10px 12px;max-width:320px;backdrop-filter:blur(6px);line-height:1.45}
.vb-mapnote{margin-top:12px;border:1px solid var(--b1);background:var(--glass-bg);border-radius:16px;padding:12px 14px;color:var(--t3);font-size:13px;line-height:1.55}
.vb-mapnote.ok{color:var(--green)}
.vb-mapnote.error{color:var(--red)}
@media(max-width:1180px){
  .vb-journeyhero-grid{grid-template-columns:1fr}
  .vb-journeyhero-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  #vbJourneyMapCanvas{min-height:880px}
}
@media(max-width:760px){
  .vb-journeyhero-title{font-size:34px}
  .vb-journeyhero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  #vbJourneyMapCanvas{min-height:680px}
}


/* Journey marker layer toggles */
.journey-layer-switch,.vb-layer-switch,.pq-layer-switch{display:inline-flex;align-items:center;gap:6px;padding:4px;background:var(--glass-bg);border:1px solid var(--b2);border-radius:999px;box-shadow:var(--sh-inner)}
.journey-layer-btn,.vb-layer-btn,.pq-layer-btn,.qb2-map-layer-btn{appearance:none;border:0;background:transparent;color:#6f6457;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;letter-spacing:.02em;cursor:pointer}
.journey-layer-btn.is-active,.vb-layer-btn.is-active,.pq-layer-btn.is-active,.qb2-map-layer-btn.is-active{background:var(--green);color:var(--bg-1)}
.builder-v4-maphead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.vb-mapband-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.pq-journey-map-shell-top{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-bottom:12px;flex-wrap:wrap}


#vbChoiceModal{display:none;position:fixed;inset:0;z-index:9600;align-items:center;justify-content:center;background:rgba(26,23,20,.55);backdrop-filter:blur(4px)}
#vbChoiceModal.open{display:flex}
.vb-choice-box{background:var(--bg-1);border-radius:24px;max-width:560px;width:100%;padding:28px;box-shadow:0 24px 64px rgba(26,23,20,.18);border:1px solid var(--b1)}
.vb-choice-box h3{margin:0 0 10px;font-size:28px;line-height:1.05;font-family:"Cormorant Garamond",serif;color:var(--t1)}
.vb-choice-copy{font-size:14px;line-height:1.65;color:#6f6457;margin-bottom:18px}
.vb-choice-grid{display:grid;grid-template-columns:1fr;gap:12px}
.vb-choice-card{border:1px solid var(--b1);border-radius:18px;padding:16px 16px;background:#FCFAF7;cursor:pointer}
.vb-choice-card:hover{border-color:#c8b294;box-shadow:0 8px 20px rgba(26,23,20,.05)}
.vb-choice-card strong{display:block;font-size:16px;color:var(--t1);margin-bottom:6px}
.vb-choice-card span{display:block;font-size:13px;line-height:1.55;color:#6f6457}
.vb-choice-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}


/* ═══════════════════════════════════════════════════════════
   CINEMATIC CUSTOMISER — Chapter 5
═══════════════════════════════════════════════════════════ */

/* Chapter 5 uses the navigator's pqn-chapter layout with dark overlay entrance */
.pqc-intro{position:relative;border-radius:24px;overflow:hidden;margin-bottom:24px;min-height:180px;display:flex;align-items:flex-end;background:linear-gradient(135deg,var(--t1),#252016)}
.pqc-intro-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.3;transition:opacity 1s ease}
.pqc-intro-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,12,10,.05),rgba(14,12,10,.75))}
.pqc-intro-copy{position:relative;z-index:1;padding:24px 28px 22px}
.pqc-intro-kicker{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px}
.pqc-intro-title{font-family:var(--fd);font-size:36px;font-weight:600;line-height:.96;letter-spacing:-.03em;color:var(--bg-1);margin-bottom:8px}
.pqc-intro-sub{font-size:13px;color:rgba(255,255,255,.6);line-height:1.6;max-width:520px}
.pqc-expiry{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:5px 11px;border-radius:999px;background:rgba(212,168,67,.18);border:1px solid rgba(212,168,67,.3);font-size:11px;font-weight:800;color:#D4A843}
.pqc-readonly-bar{padding:12px 18px;border-radius:14px;background:rgba(212,168,67,.1);border:1px solid rgba(212,168,67,.25);font-size:13px;color:#D4A843;font-weight:700;margin-bottom:20px;display:none}
.pqc-readonly-bar.show{display:block}
/* Wizard layout */
.pqc-wizard{max-width:640px;margin:0 auto}
/* Progress bar */
.pqc-progress{display:flex;align-items:center;gap:0;margin-bottom:28px;overflow-x:auto;padding:4px 0;scrollbar-width:none}
.pqc-progress::-webkit-scrollbar{display:none}
.pqc-progress-stop{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;cursor:pointer;transition:opacity .15s}
.pqc-progress-stop:hover{opacity:.75}
.pqc-progress-dot{width:28px;height:28px;border-radius:50%;border:2px solid #d0c9be;background:var(--bg-1);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;color:#b0a99e;transition:background .2s,color .2s,border-color .2s}
.pqc-progress-stop.done .pqc-progress-dot{background:var(--green);border-color:var(--green);color:var(--bg-1)}
.pqc-progress-stop.active .pqc-progress-dot{background:var(--t1);border-color:var(--t1);color:#D4A843;transform:scale(1.15)}
.pqc-progress-label{font-size:10px;font-weight:700;color:var(--t4);white-space:nowrap}
.pqc-progress-stop.active .pqc-progress-label{color:var(--t1);font-weight:800}
.pqc-progress-stop.done .pqc-progress-label{color:var(--green)}
.pqc-progress-line{flex:1;min-width:20px;height:2px;background:var(--b1);margin-bottom:16px;flex-shrink:0;transition:background .3s}
.pqc-progress-line.done{background:var(--green)}
/* Wizard step card */
.pqc-step{background:var(--bg-1);border-radius:24px;border:1px solid var(--b1);overflow:hidden;box-shadow:0 4px 24px var(--b1)}
.pqc-step-hero{position:relative;height:200px;background:var(--t1);overflow:hidden}
.pqc-step-hero-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.7;transition:opacity .8s}
.pqc-step-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,.6) 100%)}
.pqc-step-hero-copy{position:absolute;bottom:0;left:0;right:0;padding:20px 24px}
.pqc-step-kicker{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:4px}
.pqc-step-city{font-family:var(--fd);font-size:28px;font-weight:600;color:var(--bg-1);line-height:1}
.pqc-step-nights{font-size:12px;color:rgba(255,255,255,.6);margin-top:4px}
.pqc-step-body{padding:24px}
.pqc-step-section-title{font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#b0a99e;margin-bottom:14px}
/* Hotel option cards — vertical stack */
.pqc-hotel-stack{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.pqc-hotel-opt{display:flex;gap:0;border-radius:18px;border:2px solid var(--b1);overflow:hidden;cursor:pointer;transition:background .2s,box-shadow .2s,border-color .2s;background:var(--bg-1);position:relative}
.pqc-hotel-opt:hover{border-color:#c8bdb0;box-shadow:0 4px 16px rgba(0,0,0,.08)}
.pqc-hotel-opt.sel-budget{border-color:var(--green);background:linear-gradient(90deg,var(--green-bg),var(--bg-1))}
.pqc-hotel-opt.sel-standard{border-color:var(--accent);background:linear-gradient(90deg,#fffaf0,var(--bg-1))}
.pqc-hotel-opt.sel-luxury{border-color:var(--accent-dn);background:linear-gradient(90deg,#fffbf0,var(--bg-1))}
.pqc-hotel-opt-thumb{width:100px;min-width:100px;background-size:cover;background-position:center;background-color:var(--b1);position:relative;flex-shrink:0}
.pqc-hotel-opt-thumb-overlay{position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(255,255,255,.15))}
.pqc-hotel-pick-ribbon{position:absolute;top:0;left:0;background:#D4A843;color:var(--bg-1);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:0 0 8px 0}
.pqc-hotel-opt-body{flex:1;padding:14px 16px;min-width:0}
.pqc-hotel-opt-tier{font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);margin-bottom:4px}
.pqc-hotel-opt.sel-budget .pqc-hotel-opt-tier{color:var(--green)}
.pqc-hotel-opt.sel-standard .pqc-hotel-opt-tier{color:#D4A843}
.pqc-hotel-opt.sel-luxury .pqc-hotel-opt-tier{color:var(--accent-dn)}
.pqc-hotel-opt-name{font-size:15px;font-weight:800;color:var(--t1);line-height:1.2;margin-bottom:3px}
.pqc-hotel-opt-stars{font-size:11px;color:#D4A843;margin-bottom:4px}
.pqc-hotel-opt-desc{font-size:12px;color:#7a6f65;line-height:1.5;margin-bottom:8px}
.pqc-hotel-opt-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pqc-hotel-opt-meal{font-size:11px;color:var(--t4);background:#f7f3ec;padding:3px 8px;border-radius:999px}
.pqc-hotel-opt-delta{font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px}
.pqc-hotel-opt-delta.up{background:#fde8e8;color:#c0392b}
.pqc-hotel-opt-delta.down{background:#e8f8f0;color:var(--green)}
.pqc-hotel-opt-delta.same{background:#f0ece6;color:var(--t4)}
.pqc-hotel-opt-tick{position:absolute;top:12px;right:12px;width:24px;height:24px;border-radius:50%;background:var(--green);display:none;align-items:center;justify-content:center;color:var(--bg-1);font-size:13px;font-weight:900;flex-shrink:0}
.pqc-hotel-opt.sel-budget .pqc-hotel-opt-tick,.pqc-hotel-opt.sel-standard .pqc-hotel-opt-tick,.pqc-hotel-opt.sel-luxury .pqc-hotel-opt-tick{display:flex}
.pqc-hotel-opt.sel-standard .pqc-hotel-opt-tick{background:#D4A843}
.pqc-hotel-opt.sel-luxury .pqc-hotel-opt-tick{background:var(--accent-dn)}
/* Activities in step */
.pqc-act-stack{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.pqc-act-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-1);border:1.5px solid #ede4d8;border-radius:14px;transition:border-color .15s,opacity .15s}
.pqc-act-row.off{opacity:.5}
.pqc-act-row-icon{font-size:18px;flex-shrink:0}
.pqc-act-row-body{flex:1;min-width:0}
.pqc-act-row-name{font-size:13px;font-weight:700;color:#2b2723;line-height:1.2}
.pqc-act-row-meta{font-size:11px;color:var(--t4);margin-top:2px}
.pqc-act-toggle{position:relative;width:40px;height:22px;flex-shrink:0}
.pqc-act-toggle input{opacity:0;width:0;height:0;position:absolute}
.pqc-act-slider{position:absolute;cursor:pointer;inset:0;background:#e0d8ce;border-radius:999px;transition:.2s}
.pqc-act-slider:before{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;background:var(--bg-1);border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.pqc-act-toggle input:checked+.pqc-act-slider{background:var(--green)}
.pqc-act-toggle input:checked+.pqc-act-slider:before{transform:translateX(18px)}
/* Notes */
.pqc-step-notes{width:100%;padding:10px 13px;border:1px solid var(--b1);border-radius:12px;font-size:13px;font-family:'Roboto',sans-serif;resize:vertical;min-height:60px;background:var(--bg-1);color:#2b2723;margin-bottom:4px;box-sizing:border-box}
.pqc-step-notes:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}
/* Step navigation */
.pqc-step-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-top:1px solid #f0e8df;background:var(--bg-1)}
.pqc-step-nav-back{background:none;border:none;font-size:13px;font-weight:700;color:var(--t4);cursor:pointer;padding:8px 0;transition:color .15s}
.pqc-step-nav-back:hover{color:#2b2723}
.pqc-step-nav-next{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:14px;background:linear-gradient(135deg,var(--green),#0f4f3c);border:none;color:var(--bg-1);font-size:14px;font-weight:800;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.pqc-step-nav-next:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(26,107,90,.3)}
/* Transport step */
.pqc-transport-step{background:var(--bg-1);border-radius:24px;border:1px solid var(--b1);padding:24px;box-shadow:0 4px 24px var(--b1)}
.pqc-transport-step-title{font-size:18px;font-weight:800;color:var(--t1);margin-bottom:4px}
.pqc-transport-step-sub{font-size:13px;color:var(--t4);margin-bottom:20px;line-height:1.5}
.pqc-transport-grid{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.pqc-transport-opt{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:16px;border:2px solid var(--b1);background:var(--bg-1);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.pqc-transport-opt:hover{border-color:#c8bdb0;background:var(--bg-1)}
.pqc-transport-opt.sel{border-color:var(--green);background:var(--green-bg)}
.pqc-transport-opt-icon{font-size:24px;flex-shrink:0}
.pqc-transport-opt-body{flex:1}
.pqc-transport-opt-name{font-size:14px;font-weight:800;color:var(--t1)}
.pqc-transport-opt-desc{font-size:12px;color:var(--t4);margin-top:2px}
.pqc-transport-opt-delta{font-size:12px;font-weight:800;margin-left:auto;padding:4px 10px;border-radius:999px;flex-shrink:0}
.pqc-transport-opt-delta.up{background:#fde8e8;color:#c0392b}
.pqc-transport-opt-delta.down{background:#e8f8f0;color:var(--green)}
.pqc-transport-opt-delta.same{background:#f0ece6;color:var(--t4)}
.pqc-transport-note{font-size:11px;color:var(--t4);line-height:1.6;padding:10px 14px;background:#f7f3ec;border-radius:10px;margin-bottom:20px}
/* Summary view */
.pqc-summary{background:var(--bg-1);border-radius:24px;border:1px solid var(--b1);overflow:hidden;box-shadow:0 4px 24px var(--b1)}
.pqc-summary-header{padding:24px;background:linear-gradient(135deg,var(--t1),#252016);color:var(--bg-1)}
.pqc-summary-kicker{font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:6px}
.pqc-summary-title{font-family:var(--fd);font-size:26px;font-weight:600;line-height:1.1;margin-bottom:4px}
.pqc-summary-price-row{display:flex;align-items:baseline;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}
.pqc-summary-price{font-family:var(--fd);font-size:38px;font-weight:600;color:var(--bg-1);line-height:1}
.pqc-summary-price-pp{font-size:13px;color:rgba(255,255,255,.5)}
.pqc-summary-delta{font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;margin-left:auto;align-self:center}
.pqc-summary-delta.up{background:rgba(231,76,60,.2);color:#e74c3c}
.pqc-summary-delta.down{background:rgba(46,204,113,.2);color:#2ecc71}
.pqc-summary-delta.same{background:rgba(255,255,255,.1);color:rgba(255,255,255,.5)}
.pqc-summary-body{padding:20px 24px}
.pqc-summary-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f5f0e8}
.pqc-summary-row:last-child{border-bottom:none}
.pqc-summary-row-city{font-size:12px;font-weight:700;color:var(--t4);min-width:80px}
.pqc-summary-row-hotel{font-size:13px;font-weight:800;color:var(--t1);flex:1}
.pqc-summary-row-tier{font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px}
.pqc-summary-row-tier.budget{background:var(--green-bg);color:var(--green)}
.pqc-summary-row-tier.standard{background:#fffaf0;color:#D4A843}
.pqc-summary-row-tier.luxury{background:#fffbf0;color:var(--accent-dn)}
.pqc-summary-edit{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px;border:none;background:none;font-size:13px;font-weight:700;color:var(--t4);cursor:pointer;border-top:1px solid #f0e8df;transition:color .15s}
.pqc-summary-edit:hover{color:var(--t1)}
.pqc-summary-footer{padding:16px 24px 24px;display:flex;flex-direction:column;gap:10px}
/* Price sidebar */
.pqc-sidebar{position:sticky;top:16px;display:flex;flex-direction:column;gap:12px}
.pqc-price-card{background:var(--t1);border-radius:20px;padding:22px 20px;color:var(--bg-1)}
.pqc-price-kicker{font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:10px}
.pqc-price-main{font-family:var(--fd);font-size:44px;font-weight:600;letter-spacing:-.04em;color:var(--bg-1);line-height:1;margin-bottom:4px}
.pqc-price-pp{font-size:12px;color:rgba(255,255,255,.5);margin-bottom:14px}
.pqc-price-orig-row{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.pqc-price-orig-label{font-size:11px;color:rgba(255,255,255,.4)}
.pqc-price-orig-val{font-size:13px;font-weight:800;color:rgba(255,255,255,.4);text-decoration:line-through}
.pqc-price-delta{font-size:12px;font-weight:800;padding:3px 8px;border-radius:999px;margin-left:auto}
.pqc-price-delta.up{background:rgba(231,76,60,.15);color:#e74c3c}
.pqc-price-delta.down{background:rgba(46,204,113,.15);color:#2ecc71}
.pqc-price-delta.same{background:rgba(255,255,255,.08);color:rgba(255,255,255,.5)}
.pqc-price-note{font-size:10px;color:rgba(255,255,255,.3);line-height:1.55;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.pqc-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}
.pqc-canvas{min-width:0}
/* Send modal */
.pqc-modal-backdrop{position:fixed;inset:0;z-index:9990;background:rgba(10,8,6,.7);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}
.pqc-modal-backdrop.show{opacity:1;pointer-events:all}
.pqc-modal{background:var(--bg-1);border-radius:28px 28px 0 0;width:100%;max-width:640px;max-height:90vh;overflow-y:auto;transform:translateY(40px);transition:transform .35s cubic-bezier(.16,1,.3,1);padding:28px 28px calc(28px + env(safe-area-inset-bottom))}
.pqc-modal-backdrop.show .pqc-modal{transform:translateY(0)}
.pqc-modal-handle{width:36px;height:4px;border-radius:999px;background:#e0d8ce;margin:0 auto 20px}
.pqc-modal-kicker{font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#D4A843;margin-bottom:6px}
.pqc-modal-title{font-family:var(--fd);font-size:30px;font-weight:600;color:var(--t1);line-height:1.1;margin-bottom:4px}
.pqc-modal-sub{font-size:13px;color:var(--t4);line-height:1.6;margin-bottom:20px}
.pqc-compare-row{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-bottom:20px}
.pqc-compare-card{border-radius:16px;padding:16px 18px}
.pqc-compare-orig{background:#f7f3ec;border:1px solid var(--b1)}
.pqc-compare-new{border:2px solid var(--green);background:var(--green-bg)}
.pqc-compare-label{font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--t4);margin-bottom:6px}
.pqc-compare-new .pqc-compare-label{color:var(--green)}
.pqc-compare-price{font-family:var(--fd);font-size:32px;font-weight:600;color:var(--t1);line-height:1;margin-bottom:2px}
.pqc-compare-pp{font-size:12px;color:var(--t4)}
.pqc-compare-arrow{font-size:18px;color:var(--t4);text-align:center}
.pqc-compare-delta-pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;margin-top:8px}
.pqc-compare-delta-pill.up{background:#fde8e8;color:#c0392b}
.pqc-compare-delta-pill.down{background:#e8f8f0;color:#27ae60}
.pqc-compare-delta-pill.same{background:#f0ece6;color:var(--t4)}
.pqc-diff-section-title{font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#b0a99e;margin-bottom:10px}
.pqc-diff-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.pqc-diff-row{display:grid;grid-template-columns:70px 1fr auto 1fr;gap:8px;align-items:center;padding:10px 12px;background:var(--bg-1);border-radius:12px;border:1px solid #f0e8df}
.pqc-diff-day-num{font-size:10px;font-weight:900;color:var(--t4)}
.pqc-diff-orig{font-size:12px;color:var(--t4);line-height:1.3}
.pqc-diff-arrow{font-size:11px;color:#c8bdb0;text-align:center}
.pqc-diff-new{font-size:12px;font-weight:700;color:var(--green);line-height:1.3}
.pqc-diff-row.changed{background:#f0fbf6;border-color:#c8e8db}
.pqc-diff-row.changed .pqc-diff-day-num{color:var(--green)}
.pqc-modal-disclaimer{font-size:11px;color:var(--t4);line-height:1.6;padding:12px 14px;background:#f7f3ec;border-radius:12px;margin-bottom:20px}
.pqc-modal-actions{display:flex;gap:10px}
.pqc-modal-btn-ghost{flex:1;padding:14px;border-radius:14px;border:1.5px solid #e0d8ce;background:var(--bg-1);font-size:14px;font-weight:800;color:#5a4f47;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.pqc-modal-btn-ghost:hover{background:#f7f3ec}
.pqc-modal-btn-confirm{flex:2;padding:14px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--green),#0f4f3c);font-size:14px;font-weight:800;color:var(--bg-1);cursor:pointer;transition:background .15s,color .15s,border-color .15s;display:flex;align-items:center;justify-content:center;gap:8px}
.pqc-modal-btn-confirm:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(26,107,90,.3)}
.pqc-modal-btn-confirm:disabled{opacity:.6;pointer-events:none}
.pqc-confirm-overlay{position:fixed;inset:0;z-index:9999;background:#0e0c0a;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .6s ease}
.pqc-confirm-overlay.show{opacity:1;pointer-events:all}
.pqc-confirm-content{text-align:center;padding:40px 32px;max-width:520px;opacity:0;transform:translateY(24px);transition:opacity .5s ease .3s,transform .5s ease .3s}
.pqc-confirm-overlay.show .pqc-confirm-content{opacity:1;transform:translateY(0)}
.pqc-confirm-icon{font-size:56px;margin-bottom:20px}
.pqc-confirm-title{font-family:var(--fd);font-size:44px;font-weight:600;line-height:1;color:var(--bg-1);margin-bottom:12px}
.pqc-confirm-sub{font-size:15px;color:rgba(255,255,255,.6);line-height:1.65;margin-bottom:24px}
.pqc-confirm-ref{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.25)}
/* pqc 900px handled by mobile system */
@media(max-width:560px){
  .pqc-hotel-opt-thumb{width:80px;min-width:80px}
  .pqc-modal{border-radius:20px 20px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom))}
}


/* BUILD:PUBLIC_CSS_END */

/* ── Admin Reveal screen ─────────────────────────────────────── */
/* ═══════════════════════════════════════════════════════════════════
   ADMIN REVEAL — Light Warm Studio (v6.1)
   Window-chrome card on warm paper ground. Preserves layout:
   logo → greeting → name → tagline → stats → tiles → skip.
═══════════════════════════════════════════════════════════════════ */
#adminReveal{
  position:fixed;inset:0;z-index:9990;
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%, rgba(196,154,60,.08), transparent 60%),
    radial-gradient(ellipse 80% 60% at 50% 100%, rgba(26,107,90,.06), transparent 60%),
    linear-gradient(180deg,var(--bg-1) 0%,#F0EBE3 100%);
  display:flex;align-items:center;justify-content:center;
  padding:24px;
  opacity:0;pointer-events:none;
  transition:opacity .5s ease;
}
#adminReveal.show{opacity:1;pointer-events:all;}
#adminReveal.exiting{opacity:0;pointer-events:none;}

/* Optional background image — kept subtle/faint as a texture layer */
.ar-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center 30%;
  opacity:0;transition:opacity 1.8s ease .2s;
  mix-blend-mode:multiply;filter:saturate(.5);
}
#adminReveal.show .ar-bg{opacity:.07;}
.ar-overlay{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 50%, transparent 40%, var(--bg-0) 100%);
  opacity:.6;
}

/* Window chrome card — matches boot sequence visual language */
.ar-body{
  position:relative;z-index:1;
  width:100%;max-width:640px;
  background:var(--bg-1);
  border:1px solid var(--b1);
  border-radius:18px;
  box-shadow:var(--sh2);
  padding:44px 40px 36px;
  text-align:center;
  opacity:0;transform:translateY(14px);
  transition:opacity .7s ease .4s,transform .7s ease .4s;
  overflow:hidden;
}
#adminReveal.show .ar-body{opacity:1;transform:translateY(0);}
.ar-body::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,transparent 0%,var(--accent) 50%,transparent 100%);
  opacity:.6;
}

.ar-greeting{
  font-family:var(--fu);
  font-size:10.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent);margin-bottom:6px;
}
.ar-name{
  font-family:var(--fd);
  font-size:clamp(30px,5vw,44px);font-weight:600;
  color:var(--t1);line-height:1.05;letter-spacing:-.015em;
  margin-bottom:6px;
}
.ar-tagline{
  font-family:var(--fb);
  font-size:13px;color:var(--t3);
  margin-bottom:28px;
  letter-spacing:.01em;
}

/* Stats — warm bordered row with dividers */
.ar-stats{
  display:flex;justify-content:center;align-items:stretch;
  gap:0;margin:0 auto 28px;max-width:420px;
  background:var(--bg-2);border:1px solid var(--b1);border-radius:12px;
  padding:10px 4px;
}
.ar-stat{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:4px 8px;
  border-right:1px solid var(--b1);
}
.ar-stat:last-child{border-right:none;}
.ar-stat-val{
  font-family:var(--fd);
  font-size:22px;font-weight:600;color:var(--t1);line-height:1.1;
}
.ar-stat-lbl{
  font-family:var(--fu);
  font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--t3);
}

/* Tiles — paper cards, gold accent on primary */
.ar-tiles{
  display:grid;gap:10px;
  grid-template-columns:repeat(5,1fr);
  max-width:560px;margin:0 auto 20px;
}
.ar-tile{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:16px 10px;
  background:var(--bg-1);
  border:1px solid var(--b1);
  border-radius:12px;cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
  position:relative;
}
.ar-tile:hover{
  background:var(--bg-2);
  border-color:var(--b2);
  transform:translateY(-2px);
  box-shadow:var(--sh1);
}
.ar-tile.primary{
  background:var(--accent-ghost);
  border-color:var(--accent-ring);
}
.ar-tile.primary::before{
  content:'';position:absolute;top:-1px;left:-1px;right:-1px;height:2px;
  background:var(--accent-metal);
  border-radius:12px 12px 0 0;
}
.ar-tile.primary:hover{
  background:var(--accent-seam);
  border-color:var(--accent);
  box-shadow:0 10px 24px var(--accent-ghost);
}
.ar-tile-icon{
  font-size:22px;line-height:1;
  filter:saturate(.9);
}
.ar-tile.primary .ar-tile-icon{color:var(--accent);}
.ar-tile-label{
  font-family:var(--fu);
  font-size:12px;font-weight:800;color:var(--t1);
  letter-spacing:.01em;text-align:center;line-height:1.25;
}
.ar-tile.primary .ar-tile-label{color:var(--accent);}
.ar-tile-sub{
  font-family:var(--fb);
  font-size:9.5px;font-weight:600;color:var(--t3);
  letter-spacing:.02em;text-align:center;
}
.ar-tile.primary .ar-tile-sub{color:var(--accent);opacity:.8;}

.ar-skip{
  background:none;border:none;cursor:pointer;
  font-family:var(--fu);
  font-size:11px;color:var(--t3);
  letter-spacing:.08em;text-transform:uppercase;font-weight:700;
  transition:color .18s ease;padding:10px 14px;margin-top:6px;
}
.ar-skip:hover{color:var(--accent);}

/* Responsive */
@media(max-width:600px){
  #adminReveal{padding:16px;}
  .ar-body{padding:32px 22px 26px;border-radius:16px;}
  .ar-stats{padding:8px 2px;margin-bottom:22px;}
  .ar-stat-val{font-size:18px;}
  .ar-tiles{grid-template-columns:repeat(3,1fr);gap:8px;max-width:100%;}
  .ar-tile{padding:14px 8px;border-radius:10px;}
  .ar-tile.primary{grid-column:1 / -1;}
  .ar-tile-icon{font-size:20px;}
  .ar-tile-label{font-size:11px;}
  .ar-tile-sub{font-size:9px;}
}
@media(max-width:420px){
  .ar-name{font-size:26px;}
  .ar-tagline{font-size:12px;margin-bottom:20px;}
}
/* ── End Admin Reveal ─────────────────────────────────────────── */

/* ── Layer 1: Dirty indicator + Version/Log UI ──────────────────── */
#qtDirtyChip{
  display:none;align-items:center;gap:5px;
  padding:4px 10px;border-radius:999px;
  background:#fff8e6;border:1px solid #e8c96a;
  font-size:11px;font-weight:800;color:var(--accent-dn);
  cursor:pointer;transition:background .2s,color .2s,border-color .2s;white-space:nowrap;
}
#qtDirtyChip.show{display:flex;}
#qtDirtyChip:hover{background:#fff2cc;}
#qtDirtyChip.saving{background:#eaf5f1;border-color:#9fe1cb;color:#0a5040;}
.qt-version-panel{
  position:fixed;top:0;right:0;bottom:0;z-index:8800;
  width:400px;max-width:100vw;
  background:#fff;box-shadow:-4px 0 32px rgba(0,0,0,.12);
  display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.qt-version-panel.open{transform:translateX(0);}
.qt-version-header{
  padding:20px 20px 16px;border-bottom:1px solid #f0e8df;
  display:flex;align-items:center;justify-content:space-between;flex-shrink:0;
}
.qt-version-title{font-size:15px;font-weight:800;color:var(--t1);}
.qt-version-close{background:none;border:none;font-size:20px;cursor:pointer;color:#9a8f84;padding:12px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;line-height:1;}
.qt-version-tabs{display:flex;border-bottom:1px solid #f0e8df;flex-shrink:0;}
.qt-vtab{flex:1;padding:10px;background:none;border:none;cursor:pointer;font-size:12px;font-weight:700;color:#9a8f84;border-bottom:2px solid transparent;transition:background .15s,color .15s,border-color .15s;}
.qt-vtab.on{color:var(--t1);border-bottom-color:var(--t1);}
.qt-version-body{flex:1;overflow-y:auto;padding:16px;}
.qt-version-item{
  padding:12px 14px;border-radius:14px;border:1px solid #f0e8df;
  margin-bottom:8px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;background:#fff;
}
.qt-version-item:hover{border-color:#d0c8be;background:var(--bg-1);}
.qt-version-item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;}
.qt-version-item-label{font-size:13px;font-weight:800;color:var(--t1);}
.qt-version-item-time{font-size:11px;color:#9a8f84;}
.qt-version-item-meta{font-size:11px;color:var(--t4);line-height:1.5;}
.qt-version-restore-btn{
  margin-top:8px;padding:6px 12px;border-radius:999px;
  border:none;background:var(--t1);color:#fff;
  font-size:11px;font-weight:800;cursor:pointer;
}
.qt-log-item{
  display:flex;gap:10px;padding:10px 0;
  border-bottom:1px solid #f7f3ec;
}
.qt-log-dot{
  width:8px;height:8px;border-radius:50%;margin-top:4px;flex-shrink:0;
  background:#d0c8be;
}
.qt-log-dot.save{background:var(--green);}
.qt-log-dot.status{background:#D4A843;}
.qt-log-dot.publish{background:var(--accent-dn);}
.qt-log-dot.variant{background:#6b47c4;}
.qt-log-dot.price{background:#e07040;}
.qt-log-dot.note{background:#4a90d9;}
.qt-log-body{flex:1;min-width:0;}
.qt-log-action{font-size:12px;font-weight:700;color:var(--t1);}
.qt-log-detail{font-size:11px;color:var(--t4);margin-top:2px;line-height:1.5;}
.qt-log-time{font-size:10px;color:#b0a99e;margin-top:2px;}
.qt-notes-area{
  width:100%;min-height:100px;padding:12px;
  border:1px solid var(--b1);border-radius:12px;
  font-size:13px;font-family:'Roboto',sans-serif;
  resize:vertical;background:#fff;color:var(--t1);
  box-sizing:border-box;
}
.qt-notes-area:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);}
.qt-notes-save-btn{
  margin-top:8px;padding:8px 16px;border-radius:999px;
  border:none;background:var(--t1);color:#fff;
  font-size:12px;font-weight:800;cursor:pointer;
}

@keyframes qt-pulse{0%,100%{box-shadow:0 0 0 0 rgba(212,168,67,.4)}50%{box-shadow:0 0 0 6px rgba(212,168,67,.0)}}

/* ── End Layer 1 CSS ──────────────────────────────────────────────────── */

/* ── Layer 2A: Revenue screen ─────────────────────────────────────── */
.rev-shell{display:flex;flex-direction:column;gap:16px}
.rev-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.rev-card{background:#fff;border:1px solid var(--b1);border-radius:16px;padding:18px 20px}
.rev-kicker{font-size:10px;font-weight:800;color:#9a8f84;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.rev-big{font-size:28px;font-weight:800;color:var(--t1);letter-spacing:-.03em;line-height:1}
.rev-sub{font-size:12px;color:#9a8f84;margin-top:6px}
.rev-section{background:#fff;border:1px solid var(--b1);border-radius:16px;padding:18px 20px}
.rev-section-title{font-size:11px;font-weight:800;color:#9a8f84;text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px}
.rev-chart{display:flex;gap:8px;align-items:flex-end;height:140px;padding-bottom:0}
.rev-bar-group{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}
.rev-bar-wrap{display:flex;flex-direction:column;align-items:center;gap:2px;justify-content:flex-end;height:120px}
.rev-bar{border-radius:4px 4px 0 0;width:100%;min-width:24px;transition:height .4s ease}
.rev-bar-conf{background:var(--green)}
.rev-bar-pipe{background:#D4A843;opacity:.7}
.rev-bar-empty{background:#f0e8df}
.rev-bar-label{font-size:10px;color:#9a8f84;font-weight:700}
.rev-bar-val{font-size:10px;color:var(--t1);font-weight:800}
.rev-legend{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--t4);margin-top:10px}
.rev-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.rev-source-row{display:grid;grid-template-columns:1fr 80px 60px 36px;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f7f3ec}
.rev-source-row:last-child{border-bottom:none}
.rev-source-name{font-size:12px;font-weight:700;color:var(--t1);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rev-source-bar-wrap{background:#f0e8df;border-radius:999px;height:6px;overflow:hidden}
.rev-source-bar{background:var(--green);height:100%;border-radius:999px;transition:width .4s ease}
.rev-source-val{font-size:12px;font-weight:800;color:var(--t1);text-align:right}
.rev-source-count{font-size:11px;color:#9a8f84;text-align:right}
.rev-margin-bins{display:flex;gap:10px;align-items:flex-end;height:80px}
.rev-margin-bin{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}
.rev-margin-bar{border-radius:4px 4px 0 0;width:100%;transition:height .4s}
.rev-margin-lbl{font-size:10px;color:#9a8f84;font-weight:700;text-align:center}
.rev-margin-n{font-size:11px;font-weight:800;color:var(--t1)}
@media(max-width:680px){.rev-hero{grid-template-columns:1fr 1fr}}
/* ── End Layer 2A CSS ─────────────────────────────────────────────────── */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   LAYER 5: Booking Confirmation Flow
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ── Booking screen shell ──────────────────────────────────────────── */
#s-booking{background:var(--bg-0);min-height:100vh}
.bk-wrap{max-width:1060px;margin:0 auto;padding:28px 28px 96px}
.bk-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.bk-title-block{}
.bk-kicker{font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-dn);margin-bottom:4px}
.bk-title{font-family:var(--fd);font-size:34px;font-weight:600;color:var(--t1);line-height:1;letter-spacing:-.02em}
.bk-subtitle{font-size:13px;color:var(--t4);margin-top:5px}
.bk-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.bk-grid{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}
.bk-main{display:flex;flex-direction:column;gap:16px}
.bk-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:20px}
/* ── Status card ──────────────────────────────────────────────────── */
.bk-status-card{background:#0E0C0A;border-radius:20px;padding:22px 20px;color:#fff}   /* always-dark brand surface — child labels use rgba(255,255,255,…) */
.bk-status-label{font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:8px}
.bk-status-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;font-size:13px;font-weight:800}
.bk-status-pill.unpaid{background:var(--red-bg);color:var(--red)}
.bk-status-pill.deposit_paid{background:var(--accent-seam);color:var(--accent-up)}
.bk-status-pill.paid{background:var(--green-bg);color:var(--green)}
.bk-status-pill.overdue{background:var(--red-bg);color:var(--red)}
.bk-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.bk-amount-row{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bk-amount-item{}
.bk-amount-lbl{font-size:9px;font-weight:800;color:rgba(255,255,255,.3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.bk-amount-val{font-family:var(--fd);font-size:26px;font-weight:600;color:var(--bg-1);line-height:1}
.bk-amount-sub{font-size:10px;color:rgba(255,255,255,.35);margin-top:2px}
/* ── Section cards ─────────────────────────────────────────────────── */
.bk-card{background:var(--bg-1);border:1px solid var(--b1);border-radius:20px;padding:22px;box-shadow:0 2px 10px var(--b0)}
.bk-card-title{font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--t4);margin-bottom:16px}
.bk-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bk-field-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.bk-f{display:flex;flex-direction:column;gap:4px}
.bk-f label{font-size:10px;font-weight:800;color:var(--t4);letter-spacing:.04em;text-transform:uppercase}
.bk-f input,.bk-f select,.bk-f textarea{padding:10px 12px;border:1.5px solid var(--b1);border-radius:11px;font-size:13px;font-family:'Roboto',sans-serif;background:var(--bg-1);color:var(--t1);transition:border-color .15s,box-shadow .15s}
.bk-f input:focus,.bk-f select:focus,.bk-f textarea:focus{outline:none;border-color:var(--accent-up);box-shadow:0 0 0 3px var(--accent-ghost)}
.bk-f textarea{resize:vertical;min-height:70px}
/* ── Service refs table ─────────────────────────────────────────────── */
.bk-svc-row{display:grid;grid-template-columns:120px 1fr 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--b1)}
.bk-svc-row:last-child{border-bottom:none}
.bk-svc-lbl{font-size:11px;font-weight:800;color:var(--t3)}
.bk-svc-input{padding:7px 10px;border:1.5px solid var(--b1);border-radius:9px;font-size:12px;font-family:'Roboto',sans-serif;background:var(--bg-1);width:100%;box-sizing:border-box}
.bk-svc-input:focus{outline:none;border-color:var(--accent-up)}
.bk-add-svc{padding:6px 14px;border-radius:9px;border:1.5px dashed var(--b1);background:transparent;font-size:12px;font-weight:700;color:var(--t4);cursor:pointer;transition:background .15s,color .15s,border-color .15s;margin-top:10px;width:100%}
.bk-add-svc:hover{border-color:var(--accent-up);color:var(--accent-dn);background:var(--accent-ghost)}
.bk-svc-del{background:none;border:none;cursor:pointer;color:var(--t5);font-size:16px;padding:2px 5px;border-radius:5px;flex-shrink:0;transition:color .12s}
.bk-svc-del:hover{color:var(--red)}
/* ── Payment link ──────────────────────────────────────────────────── */
.bk-link-row{display:flex;gap:8px;align-items:center}
.bk-link-input{flex:1;padding:10px 12px;border:1.5px solid var(--b1);border-radius:11px;font-size:13px;font-family:'Roboto',sans-serif;background:var(--bg-1)}
.bk-link-input:focus{outline:none;border-color:var(--accent-up)}
.bk-link-copy{padding:9px 14px;border-radius:11px;border:1px solid var(--b1);background:var(--bg-1);font-size:12px;font-weight:700;color:var(--t3);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}
.bk-link-copy:hover{background:var(--t1);color:var(--accent-up);border-color:var(--t1)}
/* ── Trip summary card (sidebar) ────────────────────────────────────── */
.bk-trip-row{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--b1);font-size:12px;gap:8px}
.bk-trip-row:last-child{border-bottom:none}
.bk-trip-lbl{color:var(--t4);font-weight:700;flex-shrink:0}
.bk-trip-val{font-weight:700;color:var(--t1);text-align:right}
/* ── Save button ───────────────────────────────────────────────────── */
.bk-save-btn{width:100%;padding:13px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--green),var(--green));color:var(--bg-1);font-size:14px;font-weight:800;cursor:pointer;transition:opacity .15s}
.bk-save-btn:hover{opacity:.88}
/* ── Dup detection banner ───────────────────────────────────────────── */
.dup-warning{display:none;background:var(--accent-ghost);border:1.5px solid var(--accent-ring);border-radius:14px;padding:14px 16px;margin-bottom:14px;flex-direction:column;gap:8px}
.dup-warning.show{display:flex}
.dup-warning-title{font-size:13px;font-weight:800;color:var(--accent-dn);display:flex;align-items:center;gap:7px}
.dup-warning-list{display:flex;flex-direction:column;gap:5px}
.dup-warning-item{font-size:12px;color:var(--accent-dn);padding:5px 10px;background:var(--accent-ghost);border-radius:8px;cursor:pointer}
.dup-warning-item:hover{background:var(--accent-ghost);text-decoration:underline}
/* ── Responsive ─────────────────────────────────────────────────────── */
@media(max-width:860px){.bk-grid{grid-template-columns:1fr}.bk-side{position:static}}
@media(max-width:560px){.bk-field-grid,.bk-field-grid-3{grid-template-columns:1fr}}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   End Layer 5 CSS
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   LAYER 3: Navigator Wizard — shell only (content: pqc-* design system)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#s-wizard{padding:0!important;background:#F6F1E8;color:var(--t1);min-height:100vh}
#wzPageWrap{max-width:1180px;margin:0 auto;padding:24px 28px 96px}
.wz-classic-link{font-size:12px;font-weight:700;color:rgba(255,255,255,.45);background:none;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:5px 13px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap;flex-shrink:0}
.wz-classic-link:hover{color:#fff;border-color:rgba(255,255,255,.5)}
.wz-sr{display:flex;align-items:center;gap:10px;padding:11px 13px;background:#fff;border:1.5px solid var(--b1);border-radius:14px;margin-bottom:7px}
.wz-sr.dragging{opacity:.4;box-shadow:0 8px 24px rgba(26,23,20,.16)}
.wz-sr.drag-over{border-color:var(--accent);background:#fffbf0}
.wz-sr-handle{color:#c8c0b4;font-size:14px;cursor:grab;flex-shrink:0}
.wz-sr-handle:active{cursor:grabbing}
.wz-sr-img{border-radius:9px;background-size:cover;background-position:center;background-color:#e8dfd3;flex-shrink:0}
.wz-sr-city{font-size:13px;font-weight:800;color:var(--t1);flex:1}
.wz-sr-nlbl{font-size:10px;color:#9a8f84;font-weight:700}
.wz-sr-ninp{width:50px;padding:4px 7px;border:1.5px solid var(--b1);border-radius:7px;font-size:13px;font-weight:800;text-align:center}
.wz-sr-del{background:none;border:none;cursor:pointer;color:#d0c8be;font-size:19px;line-height:1;padding:2px;border-radius:5px;transition:color .12s;flex-shrink:0}
.wz-sr-del:hover{color:#e74c3c}
.wz-nights-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:999px;background:linear-gradient(135deg,var(--t1),#252016);font-size:11px;font-weight:800;color:#D4A843}
.wz-add-row{display:flex;gap:8px}
.wz-city-sel{flex:1;padding:10px 12px;border:1.5px solid var(--b1);border-radius:11px;font-size:13px;background:#fff;color:var(--t1)}
.wz-add-btn{padding:10px 18px;border-radius:11px;border:none;background:var(--t1);color:#D4A843;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.wz-add-btn:hover{background:#D4A843;color:var(--t1)}
.wz-cs-wrap{position:relative}
.wz-cs-inp{width:100%;padding:12px 38px 12px 14px;border:1.5px solid var(--b1);border-radius:12px;font-size:14px;font-weight:600;font-family:'Roboto',sans-serif;background:#fff;color:var(--t1);transition:border-color .15s,box-shadow .15s;box-sizing:border-box}
.wz-cs-inp:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}
.wz-cs-ico{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#c8bfb6;font-size:16px;pointer-events:none}
.wz-cs-drop{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:500;background:#fff;border:1.5px solid var(--b1);border-radius:16px;box-shadow:0 10px 40px rgba(26,23,20,.16);max-height:260px;overflow-y:auto;display:none}
.wz-cs-drop.open{display:block}
.wz-cs-row{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .1s;border-bottom:1px solid #f7f3ec}
.wz-cs-row:last-child{border-bottom:none}
.wz-cs-row:hover{background:var(--bg-1)}
.wz-cs-av{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--t1),#3a2f28);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:#D4A843;flex-shrink:0}
.wz-cs-info{flex:1;min-width:0}
.wz-cs-name{font-size:13px;font-weight:800;color:var(--t1)}
.wz-cs-meta{font-size:11px;color:#9a8f84;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wz-cs-pill{font-size:9px;font-weight:800;padding:2px 7px;border-radius:999px;background:#f0ece5;color:var(--t4);flex-shrink:0}
.wz-cs-new{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;color:var(--green);font-size:13px;font-weight:700;border-top:1px solid #f0ece5}
.wz-cs-new:hover{background:#f0faf5}
.wz-cs-sel{display:none;margin-top:10px;background:linear-gradient(135deg,var(--t1),#252016);border-radius:14px;padding:14px 16px}
.wz-cs-sel.show{display:flex;align-items:center;gap:11px}
.wz-cs-sel-av{width:40px;height:40px;border-radius:50%;background:rgba(212,168,67,.18);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;color:#D4A843;flex-shrink:0}
.wz-cs-sel-body{flex:1;min-width:0}
.wz-cs-sel-name{font-size:14px;font-weight:800;color:#fff}
.wz-cs-sel-meta{font-size:11px;color:rgba(255,255,255,.4);margin-top:2px;line-height:1.45}
.wz-cs-sel-change{font-size:11px;color:rgba(255,255,255,.32);cursor:pointer;background:none;border:none;padding:0;text-decoration:underline;flex-shrink:0}
.wz-cs-sel-change:hover{color:rgba(255,255,255,.7)}
.wz-cs-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.wz-cs-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.45)}
.wz-g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wz-g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.wz-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.wz-f{display:flex;flex-direction:column;gap:4px}
.wz-f label{font-size:10px;font-weight:800;color:#9a8f84;letter-spacing:.04em;text-transform:uppercase}
.wz-f input,.wz-f select{padding:10px 12px;border:1.5px solid var(--b1);border-radius:11px;font-size:13px;font-family:'Roboto',sans-serif;background:#fff;color:var(--t1);transition:border-color .15s,box-shadow .15s}
.wz-f input:focus,.wz-f select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}
.wz-price-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.wz-ptile{border-radius:14px;padding:16px}
.wz-ptile.flex{background:#eaf5f1;border:1px solid #c8e0d8}
.wz-ptile.prem{background:linear-gradient(150deg,#fdf7ea,#fff8f0);border:1px solid #dcc878}
.wz-ptile-lbl{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}
.wz-ptile.flex .wz-ptile-lbl{color:var(--green)}
.wz-ptile.prem .wz-ptile-lbl{color:var(--accent-dn)}
.wz-ptile-val{font-size:27px;font-weight:900;line-height:1;letter-spacing:-.03em}
.wz-ptile.flex .wz-ptile-val{color:var(--green)}
.wz-ptile.prem .wz-ptile-val{color:var(--accent-dn)}
.wz-ptile-pp{font-size:11px;margin-top:3px;opacity:.65}
.wz-mbar{height:7px;border-radius:999px;background:var(--b1);overflow:hidden;margin:10px 0 6px}
.wz-mfill{height:100%;border-radius:999px;transition:width .5s,background .3s}
.wz-mtag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800}
.wz-mok{background:#eaf5f1;color:var(--green)}
.wz-mwarn{background:#fdf7ea;color:var(--accent-dn)}
.wz-mlow{background:#fef0ef;color:#c0392b}
.wz-freeze{display:flex;align-items:center;gap:9px;padding:11px 13px;border-radius:11px;background:var(--bg-1);border:1px solid var(--b1);margin-top:10px}
.wz-freeze label{font-size:13px;font-weight:700;color:var(--t1);cursor:pointer;flex:1}
.wz-city-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #f0e8df}
.wz-city-name-hdr{font-family:var(--fd);font-size:22px;font-weight:600;color:var(--t1);flex:1}
.wz-city-nights-pill{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;background:#f7f2e8;border:1px solid #e7dac3;color:#7b642f;letter-spacing:.06em;text-transform:uppercase}
.wz-tier-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.wz-tier-tab{padding:5px 13px;border-radius:999px;border:1.5px solid var(--b1);background:#fff;font-size:11px;font-weight:800;color:#9a8f84;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.wz-tier-tab.active{border-color:var(--accent);background:#fdf7ea;color:var(--accent-dn)}
.wz-rev-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #f0e8df;font-size:13px}
.wz-rev-row:last-child{border-bottom:none}
.wz-rev-lbl{color:#9a8f84;font-weight:700}
.wz-rev-val{font-weight:800;color:var(--t1);text-align:right;max-width:65%}
.wz-rev-city{background:#fff;border:1px solid var(--b1);border-radius:14px;overflow:hidden;margin-bottom:8px}
.wz-rev-city-hd{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #f5f0e8}
.wz-rev-city-img{width:42px;height:42px;border-radius:9px;background-size:cover;background-position:center;background-color:#e8dfd3;flex-shrink:0}
.wz-rev-city-nm{font-size:14px;font-weight:800;color:var(--t1)}
.wz-rev-city-sub{font-size:11px;color:#9a8f84;margin-top:1px}
.wz-rev-city-bd{padding:10px 14px}
.wz-rev-edit{font-size:11px;color:#9a8f84;background:none;border:none;cursor:pointer;padding:0;text-decoration:underline;margin-left:auto;flex-shrink:0}
.wz-rev-edit:hover{color:var(--t1)}
/* wz 600px handled by mobile system */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   End Navigator Wizard CSS
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Phase 2 — internal variant panel + richer review modal */
.variant-admin-panel{margin-top:16px;border:1px solid #e8ddd1;border-radius:20px;background:linear-gradient(180deg,#fff 0%,#faf6f0 100%);padding:16px;box-shadow:0 8px 24px var(--b0)}
.variant-admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.variant-admin-head .k{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8f8276}
.variant-admin-head .h{font-size:20px;font-weight:800;color:var(--t1);margin-top:4px}
.variant-admin-head .s{font-size:13px;color:#72675e;margin-top:4px;max-width:700px;line-height:1.55}
.variant-admin-list{display:grid;gap:10px}
.variant-admin-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #ede4d8;border-radius:16px;background:#fff;padding:14px}
.variant-admin-item-main{display:grid;gap:8px}
.variant-admin-item-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.variant-admin-item-title strong{font-size:15px;color:var(--t1)}
.variant-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.variant-pill.pending{background:#f6efe2;color:#8a6a18}
.variant-pill.reviewed{background:#e8eff7;color:#375a88}
.variant-pill.accepted{background:#e4f2eb;color:#1f6a4e}
.variant-pill.rejected{background:#f8e7e3;color:#a14b3d}
.variant-pill.promoted{background:#efe6fb;color:#6b47c4}
.variant-admin-meta{font-size:12px;color:#7c7268;line-height:1.55}
.variant-admin-delta{font-size:13px;font-weight:700;color:#4a4036}
.variant-admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.variant-empty{border:1px dashed #e1d5c7;border-radius:16px;background:#fff;padding:16px;color:#7a6f65;font-size:13px;line-height:1.55}
.vr-section{margin-top:16px}
.vr-section-title{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8f8276;margin-bottom:8px}
.vr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vr-card{border:1px solid #efe4d6;border-radius:16px;background:#fcfaf7;padding:14px}
.vr-card strong{display:block;font-size:14px;color:var(--t1);margin-bottom:6px}
.vr-card span,.vr-list li{font-size:13px;line-height:1.55;color:#62584e}
.vr-list{margin:0;padding-left:18px;display:grid;gap:6px}
@media(max-width:760px){
  .variant-admin-item{grid-template-columns:1fr}
  .vr-grid{grid-template-columns:1fr}
}


/* Variants screen cleanup */
.vsc-list-clean{display:grid;gap:14px;margin-top:16px}
.vsc-row-card{background:#fff;border:1px solid #e8ddd1;border-radius:20px;padding:18px 18px 16px;box-shadow:var(--shadow-sm);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}
.vsc-row-main{display:grid;gap:8px}
.vsc-row-title{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.vsc-row-title strong{font-size:18px;line-height:1.1;color:var(--t1)}
.vsc-row-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.vsc-soft-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;border:1px solid #eadfd1;background:#fff;font-size:12px;font-weight:700;color:#6b5e52}
.vsc-row-sub{font-size:13px;color:#776b60;line-height:1.55}
.vsc-row-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.vsc-status-inline{font-size:13px;font-weight:800}
.vsc-status-inline.pending{color:#8a6a18}
.vsc-status-inline.reviewed{color:#375a88}
.vsc-status-inline.accepted{color:#1f6a4e}
.vsc-status-inline.rejected{color:#a14b3d}
.vsc-status-inline.promoted{color:#6b47c4}
@media(max-width:760px){
  .vsc-row-card{grid-template-columns:1fr}
  .vsc-row-actions{justify-content:flex-start}
}


.vr-admin-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:18px;padding-top:14px;border-top:1px solid #efe4d6}
.vr-admin-actions .btn-sm{min-width:110px}
.vsc-row-actions .btn-sm{min-width:82px}


/* Phase 3 integrated revenue + existing margin card */
.rev-shell{display:grid;gap:14px}
.rev-hero{display:grid;grid-template-columns:1.15fr .95fr;gap:14px}
.rev-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px 18px 16px;box-shadow:var(--shadow-sm)}
.rev-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9d9084;margin-bottom:8px}
.rev-title{font-size:24px;font-weight:800;letter-spacing:-.04em;line-height:1.05;color:var(--t1)}
.rev-copy{font-size:14px;line-height:1.7;color:#72675e;margin-top:10px;max-width:760px}
.rev-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.rev-stat{border:1px solid #e8ddd1;border-radius:18px;padding:14px;background:linear-gradient(180deg,#fff,#fbf8f3)}
.rev-stat .k{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9d9084;margin-bottom:8px}
.rev-stat .v{font-size:18px;font-weight:900;line-height:1.1;color:var(--t1)}
.rev-grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}
.rev-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rev-field{display:flex;flex-direction:column;gap:6px}
.rev-field label{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.03em}
.rev-note{font-size:12px;line-height:1.55;color:#7a6f65;margin-top:10px}
.rev-top-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.rev-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:var(--bg-2);border:1px solid var(--b1);font-size:11px;font-weight:700;color:var(--t3)}
.margin-engine-inline{margin-bottom:10px;padding:10px;border-radius:12px;background:var(--bg-1);border:1px solid var(--b1)}
.margin-engine-grid{display:grid;grid-template-columns:1.1fr .9fr 1fr 1fr;gap:8px;align-items:end}
.margin-engine-help{margin-top:8px;font-size:11px;line-height:1.45;color:var(--t4)}
.margin-engine-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
@media(max-width:980px){.rev-hero,.rev-grid-2{grid-template-columns:1fr}.rev-stats,.rev-grid-3,.margin-engine-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.rev-stats,.rev-grid-3,.margin-engine-grid{grid-template-columns:1fr}.rev-title{font-size:22px}}


/* Phase 3 Step 3A — Planner foundation */
.pln-shell{display:grid;gap:16px}
.pln-hero{padding:28px;border-radius:28px;border:1px solid #e8ddd1;background:linear-gradient(180deg,#fff 0%,#faf5ee 100%);box-shadow:0 12px 32px rgba(26,23,20,.05)}
.pln-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9d9084;margin-bottom:8px}
.pln-title{font-family:var(--fd);font-size:56px;line-height:.92;letter-spacing:-.04em;color:var(--t1)}
.pln-copy{font-size:15px;line-height:1.75;color:#72675e;max-width:760px;margin-top:12px}
.pln-choice-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:14px}
.pln-card{background:#fff;border:1px solid #e8ddd1;border-radius:24px;padding:22px;box-shadow:0 8px 20px var(--b0)}
.pln-card.featured{background:linear-gradient(180deg,#fffdf9 0%,#f8f1e4 100%);border-color:#dcc9aa}
.pln-card h3{font-size:24px;letter-spacing:-.03em;color:var(--t1);margin:0 0 8px}
.pln-card p{font-size:14px;line-height:1.7;color:#72675e;margin:0 0 16px}
.pln-mini-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.pln-stepbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.pln-stepchip{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;border:1px solid #eadfd1;background:#fff;font-size:11px;font-weight:800;color:#857a70;letter-spacing:.06em;text-transform:uppercase}
.pln-stepchip.on{background:var(--green);color:#fff;border-color:var(--green)}
.pln-grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}
.pln-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pln-field{display:flex;flex-direction:column;gap:6px}
.pln-field label{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8f8276}
.pln-select,.pln-input{min-height:44px;border:1px solid #e5d9cb;border-radius:14px;padding:10px 12px;background:#fff;font-size:14px}
.pln-intent-grid,.pln-chip-grid,.pln-style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pln-selectcard,.pln-chipcard{appearance:none;border:1px solid #e9ddcf;background:#fff;border-radius:18px;padding:16px;text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;min-height:108px}
.pln-chipcard{min-height:72px}
.pln-selectcard.on,.pln-chipcard.on{border-color:#c9a24a;background:linear-gradient(180deg,#fffaf0,#f8f0df);box-shadow:0 8px 20px rgba(139,105,20,.08)}
.pln-selectcard strong,.pln-chipcard strong{display:block;font-size:15px;color:var(--t1);line-height:1.2}
.pln-selectcard span,.pln-chipcard span{display:block;font-size:12px;line-height:1.55;color:#75695d;margin-top:6px}
.pln-side{display:grid;gap:12px}
.pln-sidecard{background:#fff;border:1px solid #e8ddd1;border-radius:22px;padding:18px}
.pln-sidecard h4{font-size:18px;letter-spacing:-.03em;color:var(--t1);margin:0 0 8px}
.pln-sidecard p{font-size:13px;line-height:1.65;color:#72675e;margin:0}
.pln-summarylist{display:grid;gap:10px;margin-top:12px}
.pln-summaryrow{display:flex;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06);font-size:13px;color:#5f564c}
.pln-footerbar{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
@media(max-width:980px){.pln-choice-grid,.pln-grid-2{grid-template-columns:1fr}.pln-grid-3,.pln-intent-grid,.pln-chip-grid,.pln-style-grid{grid-template-columns:1fr 1fr}.pln-title{font-size:44px}}
@media(max-width:720px){.pln-hero{padding:22px}.pln-title{font-size:38px}.pln-grid-3,.pln-intent-grid,.pln-chip-grid,.pln-style-grid{grid-template-columns:1fr}.pln-footerbar{flex-direction:column;align-items:stretch}}


/* Phase 3 Step 3B — Recommendation layer */
.pln-reco-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:14px}
.pln-route-stack,.pln-reco-side{display:grid;gap:12px}
.pln-route-card,.pln-hotel-card,.pln-activity-card{background:#fff;border:1px solid #e8ddd1;border-radius:22px;padding:18px}
.pln-route-row{display:grid;grid-template-columns:68px 1fr auto;gap:12px;align-items:start;padding:12px 0;border-top:1px solid rgba(0,0,0,.06)}
.pln-route-row:first-child{border-top:none;padding-top:0}
.pln-route-badge{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:56px;border-radius:18px;background:linear-gradient(180deg,#fffaf0,#f4ead8);border:1px solid #e2d2b3;font-size:12px;font-weight:900;color:var(--accent-dn)}
.pln-route-city{font-size:24px;letter-spacing:-.03em;color:var(--t1);line-height:1.05;margin-bottom:6px}
.pln-route-copy{font-size:13px;line-height:1.6;color:#72675e}
.pln-hotel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pln-hotel-option{border:1px solid #eadfd1;border-radius:18px;padding:14px;background:linear-gradient(180deg,#fff,#fbf8f3)}
.pln-hotel-option .tag{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#f4ecdf;border:1px solid #e2d2b3;font-size:10px;font-weight:800;color:var(--accent-dn);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.pln-hotel-option .name{font-size:14px;font-weight:800;color:var(--t1);line-height:1.35;margin-bottom:6px}
.pln-hotel-option .meta{font-size:12px;color:#6f6457;line-height:1.55}
.pln-score{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #e8ddd1;border-radius:18px;background:linear-gradient(180deg,#fff,#fbf8f3)}
.pln-score strong{font-size:16px;color:var(--t1)}
.pln-score span{font-size:13px;color:#72675e}
.pln-est-card{background:linear-gradient(180deg,#fffdf7,#f8f1df);border:1px solid #dcc9aa;border-radius:22px;padding:18px;box-shadow:0 8px 22px rgba(139,105,20,.07)}
.pln-est-k{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-dn);margin-bottom:8px}
.pln-est-v{font-size:40px;font-weight:900;line-height:1;color:var(--t1);letter-spacing:-.05em}
.pln-est-sub{font-size:13px;color:#6f6457;line-height:1.55;margin-top:8px}
.pln-bullet-list{margin:10px 0 0;padding-left:18px;color:#62584e;font-size:13px;line-height:1.7}
@media(max-width:980px){.pln-reco-grid,.pln-hotel-grid{grid-template-columns:1fr}}


@media(max-width:720px){
  .vb-day-head{
    display:grid;
    grid-template-columns: 12px 54px minmax(0,1fr) 40px;
    grid-template-areas:
      "drag num info toggle"
      ". chips chips .";
    align-items:center;
    column-gap:10px;
    row-gap:8px;
    padding:14px 16px;
  }
  .vb-drag-handle{grid-area:drag; align-self:center; justify-self:center; padding:0; font-size:16px;}
  .vb-day-num{
    grid-area:num;
    width:54px;
    min-width:54px;
    height:auto;
    min-height:42px;
    padding:7px 6px;
    border-radius:16px;
    display:flex;
    flex-direction:column;
    gap:1px;
    line-height:1.05;
    text-align:center;
    font-size:12px;
  }
  .vb-day-info{grid-area:info; min-width:0; align-self:center;}
  .vb-day-title{font-size:14px; line-height:1.15; word-break:break-word;}
  .vb-day-meta{font-size:12px; margin-top:2px;}
  .vb-day-chips{
    grid-area:chips;
    margin-left:0;
    justify-content:flex-start;
    align-self:start;
  }
  .vb-day-toggle{grid-area:toggle; align-self:center; justify-self:end;}
}


    /* ── Hotel detail modal ── */
    .hdm-overlay{position:fixed;inset:0;z-index:9100;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .2s}
    .hdm-overlay.open{opacity:1;pointer-events:auto;backdrop-filter:blur(4px)}
    .hdm-modal{background:var(--bg-1);border-radius:24px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 32px 80px var(--sh3);transform:translateY(16px);transition:transform .2s;overflow:hidden}
    .hdm-overlay.open .hdm-modal{transform:translateY(0)}
    .hdm-hero{position:relative;height:200px;background:var(--bg-2);flex-shrink:0;overflow:hidden}
    .hdm-hero img{width:100%;height:100%;object-fit:cover}
    .hdm-hero-fallback{display:flex;align-items:center;justify-content:center;height:100%;font-size:64px;font-weight:900;color:var(--t5);letter-spacing:-.03em}
    .hdm-hero-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.9);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--t1);box-shadow:0 2px 8px rgba(0,0,0,.12)}
    .hdm-hero-badge{position:absolute;bottom:14px;left:16px;display:flex;gap:6px;flex-wrap:wrap}
    .hdm-badge{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;backdrop-filter:blur(6px)}
    .hdm-badge.tier{background:rgba(255,255,255,.88);color:var(--t1)}
    .hdm-badge.stars{background:rgba(212,168,67,.9);color:#fff}
    .hdm-badge.contract{background:rgba(26,107,90,.9);color:#fff}
    .hdm-head{padding:18px 22px 0;flex-shrink:0}
    .hdm-name{font-size:22px;font-weight:900;color:var(--t1);letter-spacing:-.02em;margin-bottom:2px}
    .hdm-sub{font-size:13px;color:#9a8f84}
    .hdm-tabs{display:flex;gap:2px;padding:14px 22px 0;border-bottom:1px solid var(--b1);flex-shrink:0;overflow-x:auto}
    .hdm-tab{appearance:none;border:none;background:none;padding:8px 16px;font-size:13px;font-weight:700;color:#9a8f84;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
    .hdm-tab.active{color:var(--t1);border-bottom-color:var(--t1)}
    .hdm-tab:hover:not(.active){color:var(--t1)}
    .hdm-body{flex:1;overflow-y:auto;padding:20px 22px}
    .hdm-panel{display:none}
    .hdm-panel.active{display:block}
    .hdm-section{margin-bottom:20px}
    .hdm-section-title{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#9a8f84;margin-bottom:10px}
    .hdm-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .hdm-grid.cols3{grid-template-columns:1fr 1fr 1fr}
    .hdm-stat{background:#f8f5f0;border-radius:12px;padding:12px 14px}
    .hdm-stat-k{font-size:11px;color:#9a8f84;font-weight:700;margin-bottom:4px}
    .hdm-stat-v{font-size:15px;font-weight:900;color:var(--t1)}
    .hdm-field{display:flex;flex-direction:column;gap:5px}
    .hdm-label{font-size:11px;font-weight:800;color:#9a8f84}
    .hdm-input{border:1px solid #ddd1c3;border-radius:10px;padding:9px 12px;font-size:13px;color:var(--t1);font-family:inherit;width:100%;box-sizing:border-box}
    .hdm-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}
    .hdm-select{border:1px solid #ddd1c3;border-radius:10px;padding:9px 12px;font-size:13px;color:var(--t1);font-family:inherit;width:100%;box-sizing:border-box;background:#fff}
    .hdm-footer{padding:14px 22px;border-top:1px solid var(--b1);display:flex;gap:8px;justify-content:flex-end;flex-shrink:0;background:#fbf8f3}
    .hdm-btn{appearance:none;border:none;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:800;cursor:pointer}
    .hdm-btn.primary{background:linear-gradient(135deg,var(--green),#1A8C70);color:#fff}
    .hdm-btn.secondary{background:#f4ede2;color:#6d5b3f}
    .hdm-btn.danger{background:#fff3f1;color:#a34b3c;border:1px solid #f0c8c1}
    /* Rate table in modal */
    .hdm-rate-grid{display:grid;gap:1px;background:#e8e0d6;border-radius:12px;overflow:hidden;font-size:12px;margin-bottom:12px}
    .hdm-rate-head{background:#f5f0ea;padding:8px 10px;font-weight:800;color:#9a8f84;font-size:10px;letter-spacing:.06em;text-transform:uppercase;text-align:center}
    .hdm-rate-head.lbl{text-align:left}
    .hdm-rate-cell{background:#fff;padding:8px 10px;text-align:center;font-weight:700;color:var(--t1)}
    .hdm-rate-cell.lbl{text-align:left;font-weight:800}
    .hdm-rate-cell.nil{color:#ccc5bb;font-weight:400}
    .hdm-season-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:11px;font-weight:800;margin-bottom:12px}
    /* Stars in modal */
    .hdm-stars{display:flex;gap:3px}
    .hdm-star{font-size:18px;cursor:pointer;color:#e0d5c5;transition:color .1s}
    .hdm-star.on{color:#D4A843}
    /* Tier in modal */
    .hdm-tier-row{display:flex;gap:8px}
    .hdm-tier-btn{flex:1;border:2px solid #e7dac3;border-radius:10px;background:#fff;padding:8px;font-size:12px;font-weight:800;cursor:pointer;color:#9a8f84;text-align:center;transition:background .15s,color .15s,border-color .15s}
    .hdm-tier-btn.budget.active{background:#eaf5f1;border-color:var(--green);color:var(--green)}
    .hdm-tier-btn.standard.active{background:#EFF3F8;border-color:#4A6580;color:#4A6580}
    .hdm-tier-btn.luxury.active{background:#FDF7EA;border-color:var(--accent-dn);color:var(--accent-dn)}
    /* Filter improvements */
    .hdb-filter-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
    .hdb-filter-chip{appearance:none;border:1px solid #e7dac3;border-radius:999px;background:#fff;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;color:#7a6e62;transition:background .12s,color .12s,border-color .12s}
    .hdb-filter-chip.active{background:var(--t1);color:#fff;border-color:var(--t1)}
    .hdb-search-wrap{position:relative;flex:1;min-width:160px}
    .hdb-search-wrap input{width:100%;box-sizing:border-box;border:1px solid #ddd1c3;border-radius:999px;padding:8px 14px 8px 36px;font-size:13px;background:#fff}
    .hdb-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9a8f84;font-size:14px;pointer-events:none}
    @media(max-width:700px){.hdm-modal{max-height:95vh;border-radius:18px}.hdm-grid,.hdm-grid.cols3{grid-template-columns:1fr}}


/* ==============================================================
   BLOCK 2: Design System & Core Styles (originally lines 2114-3490)
   ============================================================== */

:root{
  /* Sithiyam brand */
  --bg:#F0EBE3;
  --bg-soft:var(--bg-1);
  --card:var(--bg-1);
  --line:var(--b1);
  --line-strong:#D4C8BA;
  --text:var(--t1);
  --muted:#6B5E52;
  --muted-2:var(--t4);
  /* Gold primary — replaces green throughout */
  --gold:var(--accent);
  --gold-dark:var(--accent-dn);
  --gold-light:#F5EDD6;
  --gold-soft:#FDF7EA;
  /* Warm teal — kept for confirmed/positive states only */
  --green:var(--green);
  --green-2:#1E8570;
  --green-soft:#EAF5F1;
  /* Warm slate — replaces blue */
  --blue:#4A6580;
  --blue-soft:#EFF3F8;
  /* Warm rose — replaces violet */
  --violet:#8B5E6A;
  --violet-soft:#F7EFF1;
  /* Amber (keep) */
  --amber:#a96512;
  --amber-soft:#FDF7EA;
  /* Red (keep) */
  --red:#b73f3f;
  --red-soft:#fff1f1;
  --shadow-sm:0 2px 8px rgba(26,23,20,.05),0 1px 3px var(--b0);
  --shadow-md:0 8px 28px var(--b1),0 2px 8px var(--b0);
  --radius-sm:10px;
  --radius-md:14px;
  --radius-lg:20px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden;width:100%}
body{
  font-family:'Roboto',ui-sans-serif,system-ui,-apple-system,sans-serif;
  font-size:14px;
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
  width:100%;
  -webkit-text-size-adjust:100%;
}
.app{max-width:1400px;margin:0 auto;padding:18px 24px;overflow-x:hidden}
.header{
  background:#fff;
  border-bottom:1px solid #ede5d9;
  padding:0;
  margin:-18px -24px 20px;
  display:flex;
  align-items:stretch;
  height:56px;
  position:sticky;
  top:0;
  z-index:100;
  box-shadow:0 1px 0 rgba(0,0,0,.04),0 4px 16px rgba(26,23,20,.05);
}
.header-logo{
  flex-shrink:0;
  padding:0 20px;
  border-right:1px solid #ede5d9;
  display:flex;align-items:center;
  height:100%;
}
.header-tabs{
  flex:1;min-width:0;
  display:flex;align-items:stretch;
  padding:0 6px;
  gap:2px;
  overflow:visible;
  height:100%;
}
/* Nav group dropdown */
.nav-group{position:relative;display:inline-flex;align-items:stretch;height:100%}
.nav-group-btn{padding:0 11px;font-size:12px;border:none;
  background:transparent;cursor:pointer;color:#7a6e62;font-weight:500;
  white-space:nowrap;transition:background .15s,color .15s,border-color .15s;font-family:'Roboto',sans-serif;
  display:flex;align-items:center;gap:4px;height:100%;
  border-bottom:2px solid transparent;margin-bottom:-1px;}
.nav-group-btn:hover{color:var(--t1);background:var(--bg-2)}
.nav-group-btn.has-active{color:var(--t1);font-weight:700;border-bottom-color:var(--accent-dn)}
.nav-group-btn .nav-caret{font-size:9px;opacity:.5;transition:transform .15s}
.nav-group-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:200;
  background:var(--glass-bg, var(--bg-1));border:1px solid var(--b1);border-radius:14px;
  box-shadow:var(--sh3);padding:6px;min-width:190px;
  backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);
  opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .15s,transform .15s}
.nav-group:hover .nav-group-dropdown,
.nav-group:focus-within .nav-group-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}
.nav-group-item{display:block;width:100%;text-align:left;padding:8px 12px;
  font-size:12px;font-weight:500;color:var(--muted);background:none;border:none;
  border-radius:9px;cursor:pointer;transition:background .12s,color .12s,border-color .12s;white-space:nowrap;font-family:'Roboto',sans-serif}
.nav-group-item:hover{background:var(--bg-2);color:var(--t1)}
.nav-group-item.on{background:var(--bg-2);color:var(--t1);font-weight:700}
.nav-group-sep{height:1px;background:var(--b1);margin:4px 0}
.header-user{
  padding:0 16px;
  display:flex;align-items:center;gap:8px;
  border-left:1px solid #ede5d9;
  white-space:nowrap;
  flex-shrink:0;
  font-size:12px;color:#7a6e62;
  height:100%;
}
/* Mobile hamburger */
.nav-hamburger{
  display:none;padding:8px 12px;background:none;border:1px solid var(--line);
  border-radius:10px;cursor:pointer;color:var(--muted);font-size:18px;line-height:1;
  flex-shrink:0;margin:auto 16px auto 0;
}
.nav-drawer{
  display:none;position:fixed;inset:0;z-index:200;
}
.nav-drawer.open{display:block}
.nav-drawer-bg{
  position:absolute;inset:0;background:rgba(26,23,20,.4);
}
.nav-drawer-panel{
  position:absolute;left:0;top:0;bottom:0;width:260px;
  background:#fff;box-shadow:4px 0 24px rgba(26,23,20,.12);
  display:flex;flex-direction:column;overflow-y:auto;
}
.nav-drawer-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px;border-bottom:1px solid var(--line);
}
.nav-drawer-close{
  background:none;border:none;font-size:22px;cursor:pointer;color:var(--muted);
  padding:4px 8px;border-radius:8px;
}
.nav-drawer-close:hover{background:var(--bg-soft)}
.nav-drawer-item{
  display:flex;align-items:center;padding:14px 20px;
  font-size:14px;font-weight:500;color:var(--text);
  border-bottom:1px solid var(--line);cursor:pointer;
  background:none;border-left:3px solid transparent;text-align:left;width:100%;
  transition:background .15s,color .15s,border-color .15s;font-family:'Roboto',sans-serif;
}
.nav-drawer-item:hover{background:var(--bg-soft);color:var(--gold-dark)}
.nav-drawer-item.on{
  background:var(--gold-soft);color:var(--gold-dark);
  border-left-color:var(--accent-dn);font-weight:700;
}
.logo{display:flex;flex-direction:row;align-items:center;gap:12px;cursor:default;text-decoration:none}
.logo-icon{flex-shrink:0}
.logo-text{display:flex;flex-direction:column;gap:0}
.logo-name{font-family:'Mikale','Cormorant Garamond',Georgia,serif;font-size:18px;font-weight:400;color:var(--t1);letter-spacing:.01em;line-height:1.1;text-transform:none;display:block}
.logo-sub{font-family:var(--fd);font-size:10px;font-style:italic;color:var(--accent-dn);line-height:1.2;text-transform:none;display:block}
.logo-line{width:20px;height:1.5px;background:linear-gradient(90deg,var(--accent),var(--accent-dn));border-radius:999px;display:block;margin-top:2px}
.tabs{display:flex;gap:1px;background:transparent;border:none;padding:2px;flex-wrap:nowrap;align-items:center}
.tab{
  padding:0 13px;font-size:12px;border:none;
  background:transparent;cursor:pointer;color:#7a6e62;font-weight:500;
  white-space:nowrap;transition:background .15s,color .15s,border-color .15s;font-family:'Roboto',sans-serif;
  flex-shrink:0;position:relative;display:flex;align-items:center;height:100%;
  border-bottom:2px solid transparent;margin-bottom:-1px;
}
.tab:hover{color:var(--t1);background:rgba(26,23,20,.03)}
.tab.on{color:var(--t1);font-weight:700;border-bottom-color:var(--accent-dn)}
.dc[draggable="true"]{cursor:default}.dc.drag-over{outline:2px dashed var(--accent);outline-offset:2px;background:#fdf9f0;border-radius:18px}.dc.dragging{opacity:.4;transform:scale(.985)}.day-drag-handle{cursor:grab;color:var(--muted-2);font-size:16px;padding:0 8px 0 0;user-select:none;flex-shrink:0;letter-spacing:-2px}.day-drag-handle:hover{color:var(--gold-dark)}
.screen{display:none}
.screen.on{display:block;padding:4px 0}
#s-quote.screen.on{padding:0}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px;margin-bottom:14px;
  box-shadow:var(--shadow-sm);position:relative;overflow:hidden;
}
.card::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.6),transparent 32%);
}
.card>*{position:relative;z-index:1}
.card.teal{background:linear-gradient(180deg,#f3fbf8,#eef8f5);border-color:#cfe9e1}
.sl{font-size:10px;font-weight:700;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.14em;margin-bottom:12px;font-family:'Roboto',sans-serif}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.f{display:flex;flex-direction:column;gap:5px;flex:1;min-width:100px}
.f label{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.03em}
input,select,textarea{
  width:100%;font-size:13px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--bg-1);color:var(--text);
  outline:none;transition:border-color .15s, box-shadow .15s, transform .15s;box-shadow:var(--sh-inner);
}
input:hover,select:hover,textarea:hover{border-color:var(--line-strong)}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ghost)}
input:disabled,select:disabled,textarea:disabled{background:var(--bg-2);color:var(--t4);opacity:.7;cursor:not-allowed}
textarea{resize:vertical;min-height:72px;line-height:1.5}
.btn,.btn-sm,.btn-xs,.btn-teal,.btn-blue{
  appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border-radius:999px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .18s,color .18s,border-color .18s;font-family:'Roboto',sans-serif;
}
.btn{background:var(--bg-2);border:1px solid var(--line);color:var(--t1)}
.btn:hover{background:var(--bg-3);border-color:var(--line-strong);transform:translateY(-1px)}
.btn-sm{padding:7px 12px;font-size:12px}
.btn-xs{padding:4px 8px;font-size:11px;border-radius:9px}
.btn-teal{background:linear-gradient(135deg,#D4A843,var(--gold-dark));color:#fff;border:none;box-shadow:0 4px 16px rgba(139,105,20,.2)}
.btn-teal:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(139,105,20,.28)}
.btn-blue{background:linear-gradient(135deg,#5B7A9A,var(--blue));color:#fff;border:none;box-shadow:0 4px 16px rgba(74,101,128,.2)}
.btn-blue:hover{transform:translateY(-1px)}
.btn-red{background:none;border:none;cursor:pointer;color:var(--red);font-size:16px;padding:3px 6px;line-height:1;border-radius:8px}
.btn-red:hover{background:var(--red-soft)}
.tag,.spl{
  display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:5px 10px;border-radius:999px;font-weight:800;white-space:nowrap;
  border:1px solid transparent;letter-spacing:.02em;
}
.tag-green{background:var(--green-soft);color:var(--green);border-color:#c8e2da}
.tag-blue{background:var(--blue-soft);color:var(--blue);border-color:#dbe6ff}
.tag-amber{background:var(--amber-soft);color:var(--amber);border-color:#f4deb2}
.tag-purple{background:var(--violet-soft);color:var(--violet);border-color:#e8cfd4}
.tag-red{background:var(--red-soft);color:var(--red);border-color:#f2cccc}
.tag-gray{background:#f5f5f5;color:#5e5b57;border-color:#e8e8e8}
.tag-warn{background:#FFF8E7;color:#92610A;border-color:#F0D99A;font-size:10px;font-weight:700;letter-spacing:.02em}
.rate-diag{font-size:11px;color:#92610A;background:#FFF8E7;border:1px solid #F0D99A;border-radius:8px;padding:6px 10px;margin-top:6px;line-height:1.45}
.rate-diag b{font-weight:800;color:#7A510A}
.checkin-banner{background:var(--accent-ghost);border:1px solid var(--accent-ring);border-radius:12px;padding:10px 16px;margin-bottom:14px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--accent-dn);font-weight:600}
.checkin-banner svg{flex-shrink:0}
.div{border:none;border-top:1px solid #efe8dd;margin:12px 0}
.mg{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:.2rem}
.mc{
  background:linear-gradient(180deg,var(--bg-1),#fcfaf7);border-radius:16px;padding:14px 14px 12px;border:1px solid #ebe4da;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
}
.mc .l{font-size:11px;color:var(--muted-2);margin-bottom:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.mc .v{font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1.05}
.mc .v.g{color:var(--green)}.mc .v.am{color:var(--amber)}.mc .v.rd{color:var(--red)}.mc .v.pu{color:var(--violet)}
.mc .s{font-size:11px;color:var(--muted-2);margin-top:6px}
.dc{border:1px solid #eadfd1;border-radius:18px;margin-bottom:12px;overflow:hidden;background:var(--bg-1);box-shadow:var(--shadow-sm)}
.dh{
  display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(180deg,#fbfaf7,#f6f1e9);cursor:pointer;flex-wrap:wrap;
  border-bottom:1px solid transparent;transition:background .15s ease,border-color .15s ease;
}
.dh:hover{background:linear-gradient(180deg,#faf6f1,#f3ede4)}
.dh.open{border-bottom-color:#eadfd1}
.dn{font-size:11px;font-weight:800;color:var(--gold-dark);background:var(--gold-soft);border-radius:999px;padding:5px 14px;white-space:nowrap;border:1px solid #dcc878;letter-spacing:.06em;text-transform:uppercase}
.db{padding:16px;display:none;background:var(--bg-1)}.db.open{display:block}
.tt{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.ttb{padding:7px 13px;font-size:12px;border:1px solid var(--line);border-radius:999px;cursor:pointer;background:#fbfaf8;color:#6d675f;font-weight:700;transition:background .15s,color .15s,border-color .15s}
.ttb:hover{border-color:var(--line-strong);background:#f6f2ed}
.ttb.on.budget{border-color:var(--green-bg);color:var(--green);background:var(--green-soft)}
.ttb.on.standard{border-color:#c8d4e0;color:var(--blue);background:var(--blue-soft)}
.ttb.on.luxury{border-color:#dcc878;color:var(--gold-dark);background:var(--gold-soft)}
.hoc{border:1.5px solid #ebe4da;border-radius:14px;padding:12px;margin-bottom:9px;background:#fffcf8;transition:border-color .15s, transform .15s}
.hoc:hover{transform:translateY(-1px)}
.hoc.pri.budget{border-color:#bfe4d8;background:#f3fbf7}
.hoc.pri.standard{border-color:#d4e2ff;background:#f5f8ff}
.hoc.pri.luxury{border-color:#dcc878;background:var(--gold-soft)}
.hoc:not(.pri){border-style:dashed}
.ar{display:flex;gap:8px;align-items:flex-end;padding:10px;border:1px solid #ebe4da;border-radius:12px;margin-bottom:7px;flex-wrap:wrap;background:#fcfaf7}
.prev{
  background:linear-gradient(180deg,#fcfaf7,var(--bg-2));border-radius:14px;border:1px solid #ebe3d7;padding:16px;font-size:12px;white-space:pre-wrap;
  line-height:1.8;max-height:340px;overflow-y:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,'Courier New',monospace;color:#403830;
}
.ptb{padding:8px 14px;font-size:12px;border:none;border-bottom:2px solid transparent;background:transparent;cursor:pointer;color:#91877b;margin-bottom:-2px;font-weight:800}
.ptb.on{color:var(--text);border-bottom-color:var(--gold)}
.mb{height:10px;border-radius:999px;background:#ece4da;overflow:hidden;margin-top:6px}
.mf{height:100%;border-radius:999px;transition:width .4s;background:linear-gradient(90deg,var(--gold),var(--gold-dark))}
.s-enquiry{background:#f0f4ff;color:#4a60c8;border-color:#c8d4f8}
.s-draft{background:#edf4ff;color:#335fd1;border-color:#d9e6ff}
.s-sent{background:var(--gold-soft);color:var(--gold-dark);border-color:#dcc878}
.s-followup{background:var(--violet-soft);color:var(--violet);border-color:#e8cfd4}
.s-confirmed{background:#ebf8f3;color:var(--green);border-color:#cee9df}
.s-cancelled{background:#fff1f1;color:var(--red);border-color:#f2d4d4}
.s-expired{background:#f5f5f5;color:#999;border-color:#e0e0e0}
/* ════════════════════════════════════════════════════
   PIPELINE — Light Warm Studio v6.1 (Phases 1-6)
═════════════════════════════════════════════════════ */
@keyframes urgPulse{0%,100%{opacity:1}50%{opacity:.4}}

/* KPI bar */
.pipe-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:rgba(26,23,16,.07);border-radius:14px;overflow:hidden;margin-bottom:20px}
.pipe-kpi{background:var(--bg-3);padding:16px 18px;text-align:center}
.pipe-kpi-val{font-family:var(--fd);font-size:26px;font-weight:300;line-height:1;color:var(--t1)}
.pipe-kpi-val.gold{color:var(--accent)}
.pipe-kpi-val.green{color:var(--green)}
.pipe-kpi-label{font-family:var(--fu);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--t3);margin-top:6px}  /* Phase-1a.5: --t4 → --t3 (AA body); font-family to token */
.pipe-kpi-delta{font-family:var(--fb);font-size:9px;margin-top:4px;display:block}
.pipe-kpi-delta.up{color:var(--green)}
.pipe-kpi-delta.down{color:#B0443F}

/* Kanban board */
.pipe-board{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}
.pipe-col{min-width:220px;max-width:240px;flex:0 0 auto;background:var(--bg-3);border-radius:14px;border:1px solid rgba(26,23,16,.07);display:flex;flex-direction:column;position:relative;overflow:hidden}
.pipe-col-head{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;position:relative}
.pipe-col-head::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--t4)}
.pipe-col[data-status="enquiry"] .pipe-col-head::before{background:#6B5AA5}
.pipe-col[data-status="draft"] .pipe-col-head::before{background:#4A7FB5}
.pipe-col[data-status="sent"] .pipe-col-head::before{background:var(--accent)}
.pipe-col[data-status="followup"] .pipe-col-head::before{background:#C06A20}
.pipe-col[data-status="confirmed"] .pipe-col-head::before{background:var(--green)}
.pipe-col[data-status="expired"] .pipe-col-head::before{background:var(--t3)}
.pipe-col[data-status="cancelled"] .pipe-col-head::before{background:#9B4D5C}
.pipe-col-title{font-family:var(--fu);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--t2)}
.pipe-col-count{font-family:var(--fd);font-size:14px;font-weight:400;width:24px;height:24px;border-radius:50%;background:rgba(26,23,16,.07);display:flex;align-items:center;justify-content:center;color:var(--t2)}
.pipe-col-body{padding:10px;display:flex;flex-direction:column;gap:8px;min-height:120px;flex:1}
.pipe-col-foot{padding:10px 16px;border-top:1px solid rgba(26,23,16,.03);font-family:var(--fb);font-size:10px;color:var(--t4);display:flex;justify-content:space-between;align-items:center}
.pipe-col-foot-val{font-family:var(--fd);font-weight:500;color:var(--t3)}
.pipe-col[data-status="confirmed"] .pipe-card{border-left:3px solid var(--green)}
.pipe-col.drag-over{border-color:var(--accent);box-shadow:0 0 0 3px rgba(168,116,18,.25)}

/* Card */
.pipe-card{background:var(--bg-2);border:1px solid rgba(26,23,16,.07);border-radius:10px;padding:12px 14px;cursor:grab;transition:border-color .18s,transform .18s,box-shadow .18s;position:relative}
.pipe-card:hover{border-color:rgba(26,23,16,.12);transform:translateY(-2px);box-shadow:0 6px 18px rgba(26,23,16,.08)}
.pipe-card.dragging{opacity:.55;transform:rotate(1deg) scale(.99)}
.pipe-card-top{display:flex;gap:8px;margin-bottom:8px;align-items:center}
.pipe-card-avatar{width:28px;height:28px;border-radius:50%;font-family:var(--fu);font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;color:var(--bg-0);flex-shrink:0}
.pipe-card-avatar.av-gold{background:linear-gradient(160deg,#C99020 0%,#A07014 60%,#B88418 100%)}
.pipe-card-avatar.av-green{background:linear-gradient(135deg,#3BAE85,var(--green))}
.pipe-card-avatar.av-blue{background:linear-gradient(135deg,#5A9FD4,#3A6FA5)}
.pipe-card-avatar.av-violet{background:linear-gradient(135deg,#9B8AD0,#6B5AA5)}
.pipe-card-avatar.av-orange{background:linear-gradient(135deg,#E89840,#C06A20)}
.pipe-card-avatar.av-teal{background:linear-gradient(135deg,#3BAEAE,#1A6B6B)}
.pipe-card-name{font-family:var(--fb);font-size:12px;font-weight:600;color:var(--t1);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pipe-card-urgency{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--b2)}
.pipe-card-urgency.urg-red{background:#C0534F;animation:urgPulse 2s infinite}
.pipe-card-urgency.urg-amber{background:var(--accent-up)}
.pipe-card-urgency.urg-green{background:#2D8A6E}
.pipe-card-urgency.urg-grey{background:var(--b2)}
.pipe-card-ref{font-family:var(--fb);font-size:10px;color:var(--t4);margin-bottom:6px;display:flex;gap:8px;align-items:center}
.pipe-card-pax{font-family:var(--fu);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--t4)}
.pipe-card-value{font-family:var(--fd);font-size:22px;font-weight:300;color:var(--accent);margin:6px 0;line-height:1}
.pipe-card-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.pipe-card-chip{font-family:var(--fu);font-size:7px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 7px;border-radius:999px;border:1px solid rgba(26,23,16,.07);color:var(--t3);background:var(--bg-3)}
.pipe-card-chip.ch-hot{color:#B0443F;background:rgba(176,68,63,.08);border-color:rgba(176,68,63,.2)}
.pipe-card-chip.ch-warm{color:#C06A20;background:rgba(192,106,32,.08);border-color:rgba(192,106,32,.2)}
.pipe-card-chip.ch-cool{color:#3A6FA5;background:rgba(58,111,165,.08);border-color:rgba(58,111,165,.2)}
.pipe-card-chip.ch-cold{color:var(--t4);background:rgba(26,23,16,.03)}
.pipe-card-chip.ch-expiry{color:#B0443F;background:rgba(176,68,63,.08);border-color:rgba(176,68,63,.2)}
.pipe-card-chip.ch-followup{color:#C06A20;background:rgba(192,106,32,.08);border-color:rgba(192,106,32,.2)}
.pipe-card-chip.ch-margin{color:var(--green);background:rgba(26,107,90,.08);border-color:rgba(26,107,90,.2)}
.pipe-card-chip.ch-deposit{color:var(--green);background:rgba(26,107,90,.08);border-color:rgba(26,107,90,.2)}
.pipe-card-chip.ch-meta{color:#1877F2;background:rgba(24,119,242,.08);border-color:rgba(24,119,242,.2)}
.pipe-card-chip.ch-meta-sub{color:var(--t3);background:var(--b1);border-color:var(--b2)}
.pipe-card-chip.ch-baldue{color:#C06A20;background:rgba(192,106,32,.08);border-color:rgba(192,106,32,.2)}
.pipe-card-date{font-family:var(--fb);font-size:9px;color:var(--t4);margin-top:6px}
.pipe-card-drag{position:absolute;top:50%;right:6px;transform:translateY(-50%);color:var(--t4);opacity:0;transition:opacity .15s;font-size:10px;line-height:1}
.pipe-card:hover .pipe-card-drag{opacity:1}

/* Section wrappers */
.pipe-section{padding:24px 0;margin-top:24px;border-top:1px solid rgba(26,23,16,.07)}
.pipe-section-label{font-family:var(--fu);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:6px}
.pipe-section-title{font-family:var(--fd);font-size:22px;font-weight:400;color:var(--t1);margin-bottom:6px}
.pipe-section-desc{font-family:var(--fb);font-size:12px;color:var(--t3);max-width:720px;margin-bottom:20px;line-height:1.55}
.pipe-note{padding:14px 18px;border-radius:10px;background:rgba(168,116,18,.06);border:1px solid rgba(168,116,18,.25);font-family:var(--fb);font-size:11px;color:var(--t3);line-height:1.55}
.pipe-canvas{padding:24px;background:var(--bg-2);border:1px solid rgba(26,23,16,.07);border-radius:20px;margin-bottom:20px}
.pipe-canvas-label{font-family:var(--fu);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--t4);margin-bottom:16px;display:flex;gap:12px;align-items:center}
.tag-pill{font-family:var(--fu);font-size:7px;font-weight:700;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:rgba(168,116,18,.06);color:var(--accent);border:1px solid rgba(168,116,18,.25);letter-spacing:.08em}

/* CRM Score cards */
.crm-score-card{background:var(--bg-3);border:1px solid rgba(26,23,16,.07);border-radius:14px;padding:18px}
.crm-score-header{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.crm-score-ring{width:72px;height:72px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-2)}
.crm-score-ring::before{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid rgba(26,23,16,.07)}
.crm-score-ring::after{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid transparent;border-top-color:var(--accent);transform:rotate(-45deg)}
.crm-score-ring.ring-hot::after{border-top-color:#B0443F;border-right-color:#B0443F;border-bottom-color:#B0443F}
.crm-score-ring.ring-warm::after{border-top-color:#C06A20;border-right-color:#C06A20}
.crm-score-ring.ring-cool::after{border-top-color:#3A6FA5}
.crm-score-val{font-family:var(--fd);font-size:26px;font-weight:300;color:var(--t1);position:relative;z-index:1}
.crm-score-meta{flex:1;min-width:0}
.crm-score-name{font-family:var(--fb);font-size:13px;font-weight:600;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crm-score-label-tag{font-family:var(--fu);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;border-radius:999px;display:inline-block;margin-top:4px}
.crm-score-label-tag.hot{background:rgba(176,68,63,.08);color:#B0443F}
.crm-score-label-tag.warm{background:rgba(192,106,32,.08);color:#C06A20}
.crm-score-label-tag.cool{background:rgba(58,111,165,.08);color:#3A6FA5}
.crm-bar-row{display:flex;gap:10px;align-items:center;margin-top:8px}
.crm-bar-label{font-family:var(--fb);font-size:10px;color:var(--t3);width:100px;flex-shrink:0}
.crm-bar-track{flex:1;height:6px;background:rgba(26,23,16,.07);border-radius:3px;overflow:hidden}
.crm-bar-fill{height:100%;border-radius:3px;transition:width .4s}
.crm-bar-fill.fill-high{background:var(--green)}
.crm-bar-fill.fill-mid{background:var(--accent)}
.crm-bar-fill.fill-low{background:#B0443F}
.crm-bar-pts{font-family:var(--fd);font-size:13px;font-weight:400;color:var(--t2);width:45px;text-align:right;flex-shrink:0}

/* Urgency grid */
.urgency-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.urgency-item{background:var(--bg-3);padding:16px;text-align:center;border-radius:10px;border:1px solid rgba(26,23,16,.07)}
.urgency-dot-lg{width:20px;height:20px;border-radius:50%;margin:0 auto 10px}
.urgency-dot-lg.urg-red{background:#C0534F;animation:urgPulse 2s infinite}
.urgency-dot-lg.urg-amber{background:var(--accent-up)}
.urgency-dot-lg.urg-green{background:#2D8A6E}
.urgency-dot-lg.urg-confirmed{background:var(--green)}
.urgency-dot-lg.urg-grey{background:var(--b2)}
.urgency-name{font-family:var(--fu);font-size:9px;font-weight:700;text-transform:uppercase;color:var(--t2);letter-spacing:.08em}
.urgency-count{font-family:var(--fd);font-size:22px;font-weight:300;color:var(--t1);margin:6px 0}
.urgency-desc{font-family:var(--fb);font-size:10px;color:var(--t4);line-height:1.4}

/* Source table */
.src-table{width:100%;border-collapse:separate;border-spacing:0 4px}
.src-table th{font-family:var(--fu);font-size:8px;font-weight:700;text-transform:uppercase;color:var(--t4);text-align:left;padding:6px 12px;letter-spacing:.08em}
.src-table td{background:var(--bg-3);padding:10px 12px;font-family:var(--fb);font-size:12px;color:var(--t2)}
.src-table td:first-child{border-radius:8px 0 0 8px}
.src-table td:last-child{border-radius:0 8px 8px 0;text-align:right}
.src-conv-bar{display:inline-block;height:6px;border-radius:3px;margin-right:6px;background:var(--green);vertical-align:middle}

/* Sequence timeline */
.seq-timeline{position:relative;padding-left:24px}
.seq-timeline::before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:rgba(26,23,16,.07)}
.seq-step{display:flex;gap:16px;padding:12px 0;align-items:center;position:relative}
.seq-dot{width:16px;height:16px;border-radius:50%;border:2px solid rgba(26,23,16,.12);background:var(--bg-3);position:absolute;left:-20px;z-index:1}
.seq-dot.done{background:var(--green);border-color:var(--green)}
.seq-dot.active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px rgba(168,116,18,.25)}
.seq-dot.future{background:var(--bg-3);border-color:rgba(26,23,16,.12)}
.seq-dot.overdue{background:#B0443F;border-color:#B0443F;animation:urgPulse 2s infinite}
.seq-day{font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t4);text-transform:uppercase;letter-spacing:.08em;width:60px;flex-shrink:0}
.seq-content{flex:1;min-width:0}
.seq-label{font-family:var(--fb);font-size:12px;font-weight:500;color:var(--t1)}
.seq-sub{font-family:var(--fb);font-size:10px;color:var(--t4);margin-top:2px}
.seq-badge{font-family:var(--fu);font-size:7px;font-weight:700;text-transform:uppercase;padding:3px 8px;border-radius:999px;letter-spacing:.06em;flex-shrink:0}
.seq-badge.done{background:rgba(26,107,90,.08);color:var(--green)}
.seq-badge.overdue{background:rgba(176,68,63,.08);color:#B0443F}
.seq-badge.pending{background:rgba(26,23,16,.07);color:var(--t3)}
.seq-badge.active{background:rgba(168,116,18,.06);color:var(--accent)}

/* Loss modal */
.loss-modal-wrap{position:fixed;inset:0;background:rgba(26,23,16,.5);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}
.loss-modal{background:var(--bg-2);border:1px solid rgba(26,23,16,.12);border-radius:20px;padding:32px;max-width:420px;width:100%;box-shadow:0 24px 60px rgba(26,23,16,.2)}
.loss-modal-title{font-family:var(--fd);font-size:22px;font-weight:400;color:var(--t1);margin-bottom:6px}
.loss-modal-desc{font-family:var(--fb);font-size:12px;color:var(--t3);margin-bottom:20px}
.loss-options{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.loss-opt{display:flex;gap:12px;padding:12px 16px;background:var(--bg-3);border:1px solid rgba(26,23,16,.07);border-radius:10px;cursor:pointer;align-items:center;transition:background .15s,border-color .15s}
.loss-opt:hover{border-color:rgba(26,23,16,.12);background:var(--bg-4)}
.loss-opt.selected{border-color:var(--accent);background:rgba(168,116,18,.06)}
.loss-opt-icon{font-size:16px;width:24px;text-align:center}
.loss-opt-text{font-family:var(--fb);font-size:12px;color:var(--t2);flex:1}
.loss-opt-radio{width:16px;height:16px;border-radius:50%;border:2px solid rgba(26,23,16,.12);flex-shrink:0}
.loss-opt.selected .loss-opt-radio{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 2px var(--bg-2)}
.loss-notes{width:100%;padding:10px 14px;background:var(--bg-3);border:1px solid rgba(26,23,16,.07);border-radius:10px;min-height:60px;font-family:var(--fb);font-size:12px;color:var(--t1);resize:vertical;margin-bottom:16px}
.loss-actions{display:flex;gap:8px;justify-content:flex-end}
.loss-btn{font-family:var(--fu);font-size:9px;font-weight:700;text-transform:uppercase;padding:10px 20px;border-radius:999px;border:1px solid rgba(26,23,16,.12);background:transparent;color:var(--t2);cursor:pointer;letter-spacing:.1em}
.loss-btn.primary{background:linear-gradient(160deg,#C99020 0%,#A07014 60%,#B88418 100%);color:var(--bg-0);border-color:transparent}

/* Win-back card */
.wb-card{display:grid;grid-template-columns:1fr auto;gap:16px;padding:16px 18px;background:var(--bg-3);border:1px solid rgba(26,23,16,.07);border-radius:10px;border-left:3px solid #C06A20;align-items:center;margin-bottom:8px}
.wb-name{font-family:var(--fb);font-size:13px;font-weight:600;color:var(--t1)}
.wb-meta{font-family:var(--fb);font-size:10px;color:var(--t4);margin-top:2px}
.wb-reason{font-family:var(--fu);font-size:8px;font-weight:700;text-transform:uppercase;color:#C06A20;margin-top:4px;letter-spacing:.08em}
.wb-actions{display:flex;gap:6px}
.wb-btn{font-family:var(--fu);font-size:8px;font-weight:700;text-transform:uppercase;padding:6px 12px;border-radius:999px;border:1px solid rgba(26,23,16,.12);background:transparent;color:var(--t2);cursor:pointer;letter-spacing:.08em}
.wb-btn.wa{background:#25D366;color:var(--bg-1);border-color:#25D366}

/* Funnel */
.funnel{display:flex;flex-direction:column;gap:2px;max-width:480px;margin:0 auto}
.funnel-row{display:grid;grid-template-columns:100px 1fr 60px 70px;gap:12px;padding:10px 16px;background:var(--bg-3);border-radius:6px;align-items:center}
.funnel-label{font-family:var(--fu);font-size:9px;font-weight:700;text-transform:uppercase;color:var(--t2);letter-spacing:.08em}
.funnel-bar-wrap{height:24px;background:rgba(26,23,16,.03);border-radius:6px;overflow:hidden}
.funnel-bar{height:100%;border-radius:6px;transition:width .38s;background:var(--accent)}
.funnel-count{font-family:var(--fd);font-size:15px;font-weight:400;color:var(--t2);text-align:right}
.funnel-val{font-family:var(--fb);font-size:10px;color:var(--t3);text-align:right}

/* Revenue cards */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.rev-card{background:var(--bg-3);border:1px solid rgba(26,23,16,.07);border-radius:14px;padding:20px;text-align:center}
.rev-card-val{font-family:var(--fd);font-size:28px;font-weight:300;color:var(--t1);line-height:1}
.rev-card-val.gold{color:var(--accent)}
.rev-card-val.green{color:var(--green)}
.rev-card-label{font-family:var(--fu);font-size:8px;font-weight:700;text-transform:uppercase;color:var(--t4);letter-spacing:.12em;margin-top:8px}
.rev-prob-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.rev-prob{display:flex;background:var(--bg-3);border:1px solid rgba(26,23,16,.07);border-radius:10px;padding:10px 12px;align-items:center;gap:10px}
.rev-prob-pct{font-family:var(--fd);font-size:16px;font-weight:400;color:var(--t1);width:40px;text-align:right}
.rev-prob-name{font-family:var(--fb);font-size:11px;color:var(--t2)}

/* Status map */
.status-map{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.status-map-card{padding:14px;background:var(--bg-3);border-radius:10px;border:1px solid rgba(26,23,16,.07);border-top:3px solid var(--t4)}
.status-map-card.sm-enquiry{border-top-color:#6B5AA5}
.status-map-card.sm-sent{border-top-color:var(--accent)}
.status-map-card.sm-confirmed{border-top-color:var(--green)}
.status-map-card.sm-cancelled{border-top-color:#9B4D5C}
.status-map-name{font-family:var(--fu);font-size:9px;font-weight:700;text-transform:uppercase;color:var(--t2);letter-spacing:.08em;margin-bottom:8px}
.status-map-trans{font-family:var(--fb);font-size:11px;color:var(--t1);margin-bottom:6px}
.status-map-desc{font-family:var(--fb);font-size:10px;color:var(--t4);line-height:1.4}

/* ===================================================
   CLIENT MANAGEMENT (CRM)
=================================================== */
.cli-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(26,23,16,.12);border-radius:10px;overflow:hidden;margin-bottom:20px}
.cli-stat{background:var(--bg-3);padding:14px 16px;text-align:center}
.cli-stat-val{font-family:var(--fd);font-size:24px;font-weight:300;color:var(--t1);line-height:1.1}
.cli-stat-val.gold{color:var(--accent)}
.cli-stat-label{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--t4);margin-top:2px}
.cli-filters{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}
.cli-search{display:flex;align-items:center;gap:8px;background:var(--bg-3);border:1px solid rgba(26,23,16,.12);border-radius:999px;padding:8px 14px;flex:1;max-width:300px}
.cli-search input{background:transparent;border:none;outline:none;color:var(--t1);font-family:var(--fb);font-size:12px;flex:1}
.cli-search input::placeholder{color:var(--t4)}
.cli-pill{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 14px;border-radius:999px;border:1px solid rgba(26,23,16,.12);background:var(--bg-3);color:var(--t3);cursor:pointer;transition:all .18s}
.cli-pill.active{background:var(--accent-ghost);color:var(--accent);border-color:var(--accent-ring)}
.cli-pill:hover{border-color:rgba(26,23,16,.18)}
.cli-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.cli-card{background:var(--bg-3);border:1px solid rgba(26,23,16,.12);border-radius:10px;padding:18px;display:grid;grid-template-columns:48px 1fr;gap:14px;transition:all .18s cubic-bezier(.22,.61,.36,1);cursor:pointer}
.cli-card:hover{border-color:rgba(26,23,16,.18);transform:translateY(-2px);box-shadow:0 12px 32px rgba(26,23,16,.08)}
.cli-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fu);font-size:14px;font-weight:800;color:var(--bg-0)}
.cli-avatar.av-gold{background:linear-gradient(160deg,#C99020 0%,#A07014 60%,#B88418 100%)}
.cli-avatar.av-teal{background:linear-gradient(135deg,#3BAEAE,#1A6B6B)}
.cli-avatar.av-violet{background:linear-gradient(135deg,#9B8AD0,#6B5AA5)}
.cli-avatar.av-blue{background:linear-gradient(135deg,#5A9FD4,#3A6FA5)}
.cli-avatar.av-green{background:linear-gradient(135deg,#3BAE85,var(--green))}
.cli-avatar.av-orange{background:linear-gradient(135deg,#E5A062,#C06A20)}
.cli-card-name{font-family:var(--fd);font-size:18px;font-weight:400;color:var(--t1);margin-bottom:2px}
.cli-card-sub{font-family:var(--fb);font-size:10px;color:var(--t4);margin-bottom:8px}
.cli-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.cli-card-tag{font-family:var(--fu);font-size:7px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:999px;border:1px solid rgba(26,23,16,.12);color:var(--t3);background:var(--bg-2)}
.cli-card-tag.src-wa{color:#25D366;background:rgba(37,211,102,.08);border-color:rgba(37,211,102,.2)}
.cli-card-tag.src-email{color:#4A7FB5;background:rgba(74,127,181,.08);border-color:rgba(74,127,181,.2)}
.cli-card-tag.src-ref{color:#7C6BB5;background:rgba(124,107,181,.08);border-color:rgba(124,107,181,.2)}
.cli-card-tag.src-web{color:#2D8A8A;background:rgba(45,138,138,.08);border-color:rgba(45,138,138,.2)}
.cli-card-tag.src-repeat{color:var(--accent);background:var(--accent-ghost);border-color:var(--accent-ring)}
.cli-card-tag.trip-hon{color:#C77DBB;background:rgba(199,125,187,.08);border-color:rgba(199,125,187,.2)}
.cli-card-tag.trip-fam{color:#2D8A6E;background:rgba(45,138,110,.08);border-color:rgba(45,138,110,.2)}
.cli-card-tag.trip-adv{color:#D97B2B;background:rgba(217,123,43,.08);border-color:rgba(217,123,43,.2)}
.cli-card-stats{display:flex;gap:16px;font-family:var(--fb);font-size:10px;color:var(--t4)}
.cli-card-stats strong{color:var(--t2);font-weight:600}
.cli-card-stats .ltv{color:var(--accent);font-weight:600}

/* Client detail panel */
.cli-detail{display:grid;grid-template-columns:1fr 320px;gap:24px}
.cli-detail-hero{background:var(--bg-3);border:1px solid rgba(26,23,16,.12);border-radius:10px;padding:24px}
.cli-detail-top{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.cli-detail-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fu);font-size:20px;font-weight:800;color:var(--bg-0);background:linear-gradient(160deg,#C99020 0%,#A07014 60%,#B88418 100%)}
.cli-detail-name{font-family:var(--fd);font-size:24px;font-weight:400;color:var(--t1)}
.cli-detail-sub{font-family:var(--fb);font-size:11px;color:var(--t4);margin-top:2px}
.cli-detail-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.cli-action-btn{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:999px;cursor:pointer;border:1px solid rgba(26,23,16,.18);background:var(--bg-2);color:var(--t3);transition:all .18s;display:inline-flex;align-items:center;gap:5px}
.cli-action-btn:hover{border-color:var(--accent);color:var(--accent)}
.cli-action-btn.primary{background:linear-gradient(160deg,#C99020 0%,#A07014 60%,#B88418 100%);color:var(--bg-0);border:none}
.cli-action-btn.primary:hover{color:var(--bg-0);opacity:.92}
.cli-q-timeline{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.cli-q-item{display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:center;padding:12px 14px;background:var(--bg-2);border:1px solid rgba(26,23,16,.12);border-radius:6px;cursor:pointer;transition:all .18s}
.cli-q-item:hover{border-color:rgba(26,23,16,.18);background:var(--bg-3)}
.cli-q-date{font-family:var(--fb);font-size:10px;color:var(--t4);line-height:1.3}
.cli-q-ref{font-family:var(--fb);font-size:12px;font-weight:500;color:var(--t1)}
.cli-q-route{font-family:var(--fb);font-size:10px;color:var(--t3);margin-top:2px}
.cli-q-val{font-family:var(--fd);font-size:16px;font-weight:400;color:var(--accent)}
.cli-q-status{font-family:var(--fu);font-size:7px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;margin-top:2px;display:inline-block}
.cli-q-status.st-confirmed{color:#2D8A6E;background:rgba(45,138,110,.08)}
.cli-q-status.st-sent{color:var(--accent);background:var(--accent-ghost)}
.cli-q-status.st-draft{color:#4A7FB5;background:rgba(74,127,181,.1)}
.cli-q-status.st-cancelled{color:#B55A5A;background:rgba(181,90,90,.08)}
.cli-q-status.st-enquiry{color:#6B5AA5;background:rgba(107,90,165,.08)}
.cli-q-status.st-followup{color:#C06A20;background:rgba(192,106,32,.08)}
.cli-q-status.st-expired{color:var(--t3);background:rgba(107,96,89,.08)}
.cli-detail-side{display:flex;flex-direction:column;gap:16px}
.cli-side-card{background:var(--bg-3);border:1px solid rgba(26,23,16,.12);border-radius:10px;padding:16px}
.cli-side-title{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);margin-bottom:12px}
.cli-side-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(26,23,16,.07)}
.cli-side-row:last-child{border-bottom:none}
.cli-side-key{font-family:var(--fb);font-size:11px;color:var(--t3)}
.cli-side-val{font-family:var(--fb);font-size:11px;font-weight:600;color:var(--t1)}
.cli-side-val.gold{color:var(--accent)}

/* ═══════════════════════════════════════════════════════════
   ACTIVITIES — Light Warm Studio v6.1 (WS1)
═══════════════════════════════════════════════════════════ */
.act-inventory{background:var(--bg-0);min-height:600px}
.act-summary{display:flex;align-items:center;gap:24px;padding:20px 24px;border-bottom:1px solid rgba(26,23,16,.12);flex-wrap:wrap}
.act-stat{display:flex;align-items:center;gap:8px}
.act-stat-val{font-family:var(--fd);font-size:28px;font-weight:400;color:var(--t1);letter-spacing:-.02em}
.act-stat-val.gold{color:var(--accent)}
.act-stat-label{font-family:var(--fu);font-size:8px;font-weight:800;color:var(--t4);letter-spacing:.10em;text-transform:uppercase;line-height:1.2}
.act-stat-divider{width:1px;height:32px;background:rgba(26,23,16,.12)}
.act-add-btn{margin-left:auto;padding:9px 20px;border-radius:999px;background:linear-gradient(160deg,#C99020 0%,#A07014 60%,#B88418 100%);color:var(--t1);border:none;font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.2);position:relative;transition:transform 150ms}
.act-add-btn:active{transform:scale(.97)}
.act-add-btn::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 50%);pointer-events:none}

.act-toolbar{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid rgba(26,23,16,.12);flex-wrap:wrap}
.act-search-wrap{position:relative;flex:1;min-width:200px;max-width:320px}
.act-search-wrap::before{content:'\1F50D';position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.5;pointer-events:none}
.act-search{width:100%;padding:8px 14px 8px 34px;border-radius:999px;border:1px solid rgba(26,23,16,.18);background:var(--bg-1);font-family:var(--fb);font-size:13px;color:var(--t1);outline:none;transition:border-color 150ms}
.act-search:focus{border-color:rgba(201,152,28,.30)}
.act-filter-select{padding:7px 12px;border-radius:999px;border:1px solid rgba(26,23,16,.12);background:var(--bg-2);font-family:var(--fb);font-size:12px;color:var(--t2);outline:none;cursor:pointer}
.act-cat-chips{display:flex;gap:4px;flex-wrap:wrap}
.act-cat-chip{padding:6px 12px;border-radius:999px;border:1px solid rgba(26,23,16,.12);background:transparent;font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t3);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:all 150ms}
.act-cat-chip:hover{background:var(--bg-2);color:var(--t2)}
.act-cat-chip.active{background:rgba(201,152,28,.10);color:var(--accent);border-color:rgba(201,152,28,.30)}
.act-pricing-toggle{display:flex;gap:0;border:1px solid rgba(26,23,16,.12);border-radius:999px;overflow:hidden}
.act-pricing-opt{padding:6px 14px;font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t4);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:transparent;border:none;transition:all 150ms}
.act-pricing-opt:not(:last-child){border-right:1px solid rgba(26,23,16,.12)}
.act-pricing-opt.active{background:rgba(201,152,28,.10);color:var(--accent)}
.act-sort-label{font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t4);letter-spacing:.08em;text-transform:uppercase;margin-left:auto}

.act-grid{padding:20px 24px;display:flex;flex-direction:column;gap:14px}
.act-card{display:grid;grid-template-columns:140px 1fr 200px;gap:0;background:var(--bg-1);border:1px solid rgba(26,23,16,.12);border-radius:12px;overflow:hidden;cursor:pointer;transition:border-color 250ms,box-shadow 250ms,transform 250ms;position:relative}
.act-card:hover{border-color:rgba(26,23,16,.18);box-shadow:0 8px 20px rgba(0,0,0,.08);transform:translateY(-2px)}
.act-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:rgba(26,23,16,.18);transition:background 150ms;z-index:1}
.act-card.cat-wildlife::before{background:#38B478}
.act-card.cat-cultural::before{background:#D4944C}
.act-card.cat-adventure::before{background:#C85A5A}
.act-card.cat-water::before{background:var(--blue)}
.act-card.cat-scenic::before{background:var(--violet)}
.act-card.cat-culinary::before{background:#4EA8A0}
.act-card.cat-wellness::before{background:#B090D8}

.act-img{width:140px;min-height:160px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--bg-3) 0%,var(--bg-4) 100%);display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center}
.act-img-icon{font-size:36px;opacity:.45}
.act-img-cat{position:absolute;top:10px;left:10px;padding:3px 10px;border-radius:999px;font-family:var(--fu);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.act-img-cat.wildlife{background:rgba(56,180,120,.25);color:#A0E0C0;border:1px solid rgba(56,180,120,.3)}
.act-img-cat.cultural{background:rgba(212,148,76,.25);color:#E0C090;border:1px solid rgba(212,148,76,.3)}
.act-img-cat.adventure{background:rgba(200,90,90,.25);color:#E0A0A0;border:1px solid rgba(200,90,90,.3)}
.act-img-cat.water{background:rgba(107,154,184,.25);color:#A0CDE0;border:1px solid rgba(107,154,184,.3)}
.act-img-cat.scenic{background:rgba(148,120,200,.25);color:#C0A8E0;border:1px solid rgba(148,120,200,.3)}
.act-img-cat.culinary{background:rgba(78,168,160,.25);color:#A0D8D0;border:1px solid rgba(78,168,160,.3)}
.act-img-cat.wellness{background:rgba(176,144,216,.25);color:#D0B8E8;border:1px solid rgba(176,144,216,.3)}
.act-img-city{position:absolute;bottom:10px;left:10px;display:flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;font-family:var(--fu);font-size:7px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(140,124,106,.15);color:var(--t3);border:1px solid rgba(26,23,16,.12)}

.act-card-content{padding:16px 20px;display:flex;flex-direction:column;gap:8px;min-width:0}
.act-card-header{display:flex;align-items:flex-start;gap:12px}
.act-card-name{font-family:var(--fd);font-size:21px;font-weight:500;color:var(--t1);letter-spacing:-.01em;flex:1;line-height:1.2}
.act-card-meta{font-family:var(--fb);font-size:12px;color:var(--t3);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.act-card-meta-dot{width:3px;height:3px;border-radius:50%;background:var(--t4);flex-shrink:0}
.act-card-desc{font-family:var(--fb);font-size:12px;color:var(--t4);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.act-card-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:auto}
.act-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:999px;font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--bg-2);color:var(--t3);border:1px solid rgba(26,23,16,.12)}
.act-chip.cat-wildlife{background:rgba(56,180,120,.10);color:#38B478;border-color:rgba(56,180,120,.15)}
.act-chip.cat-cultural{background:rgba(212,148,76,.10);color:#D4944C;border-color:rgba(212,148,76,.15)}
.act-chip.cat-adventure{background:rgba(200,90,90,.10);color:#C85A5A;border-color:rgba(200,90,90,.15)}
.act-chip.cat-water{background:rgba(107,154,184,.10);color:var(--blue);border-color:rgba(107,154,184,.15)}
.act-chip.cat-scenic{background:rgba(148,120,200,.10);color:var(--violet);border-color:rgba(148,120,200,.15)}
.act-chip.cat-culinary{background:rgba(78,168,160,.10);color:#4EA8A0;border-color:rgba(78,168,160,.15)}
.act-chip.cat-wellness{background:rgba(176,144,216,.10);color:#B090D8;border-color:rgba(176,144,216,.15)}
.act-chip.per-pax{background:rgba(201,152,28,.10);color:var(--accent);border-color:rgba(201,152,28,.30)}
.act-chip.flat{background:rgba(107,154,184,.10);color:var(--blue);border-color:rgba(107,154,184,.15)}
.act-chip.time-constraint{background:rgba(78,168,160,.10);color:#4EA8A0;border-color:rgba(78,168,160,.15)}
.act-chip.age-min{background:rgba(212,148,76,.10);color:#D4944C;border-color:rgba(212,148,76,.15)}

.act-card-side{padding:16px;border-left:1px solid rgba(26,23,16,.12);display:flex;flex-direction:column;gap:8px;background:var(--bg-2)}
.act-card-side-label{font-family:var(--fu);font-size:7px;font-weight:800;color:var(--t4);letter-spacing:.10em;text-transform:uppercase}
.act-card-price{font-family:var(--fd);font-size:26px;font-weight:500;color:var(--accent);letter-spacing:-.01em}
.act-card-price-type{font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t3);letter-spacing:.06em;text-transform:uppercase}
.act-card-child-price{font-family:var(--fb);font-size:11px;color:var(--t4);display:flex;align-items:center;gap:6px}
.act-card-child-price span{font-family:var(--fd);font-size:14px;font-weight:500;color:var(--t2)}
.act-card-actions{display:flex;gap:6px;margin-top:auto}
.act-card-btn{flex:1;padding:7px 0;border-radius:999px;border:1px solid rgba(26,23,16,.12);background:transparent;font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t3);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all 150ms;text-align:center}
.act-card-btn:hover{background:var(--bg-3);color:var(--t1);border-color:rgba(26,23,16,.18)}
.act-card-btn.danger:hover{background:rgba(200,90,90,.10);color:#C85A5A;border-color:rgba(200,90,90,.15)}
.act-card-btn.primary{background:rgba(201,152,28,.10);color:var(--accent);border-color:rgba(201,152,28,.30)}
.act-card-btn.primary:hover{background:rgba(201,152,28,.18)}

/* Edit form */
.act-edit-form{display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--bg-0);border:1px solid rgba(26,23,16,.12);border-top:0;border-radius:0 0 12px 12px;margin-top:-4px}
.act-field{display:flex;flex-direction:column;gap:4px}
.act-field-row{display:flex;gap:12px;flex-wrap:wrap}
.act-field-row .act-field{flex:1;min-width:160px}
.act-label{font-family:var(--fu);font-size:9px;font-weight:800;color:var(--t4);letter-spacing:.10em;text-transform:uppercase}
.act-input{padding:9px 14px;border-radius:8px;border:1px solid rgba(26,23,16,.18);background:var(--bg-2);font-family:var(--fb);font-size:13px;color:var(--t1);outline:none;transition:border-color 150ms}
.act-input:focus{border-color:rgba(201,152,28,.30)}
.act-textarea{padding:9px 14px;border-radius:8px;border:1px solid rgba(26,23,16,.18);background:var(--bg-2);font-family:var(--fb);font-size:13px;color:var(--t1);outline:none;resize:vertical;min-height:80px;transition:border-color 150ms}
.act-textarea:focus{border-color:rgba(201,152,28,.30)}
.act-select{padding:9px 14px;border-radius:8px;border:1px solid rgba(26,23,16,.18);background:var(--bg-2);font-family:var(--fb);font-size:13px;color:var(--t1);outline:none;cursor:pointer}
.act-toggle-wrap{display:flex;align-items:center;gap:12px}
.act-toggle{width:44px;height:24px;border-radius:999px;background:var(--bg-4);border:1px solid rgba(26,23,16,.18);position:relative;cursor:pointer;transition:background 150ms}
.act-toggle.active{background:var(--accent);border-color:var(--accent)}
.act-toggle-knob{width:18px;height:18px;border-radius:50%;background:var(--bg-1);position:absolute;top:2px;left:2px;transition:left 150ms;box-shadow:0 2px 6px rgba(0,0,0,.06)}
.act-toggle.active .act-toggle-knob{left:22px}
.act-toggle-label{font-family:var(--fb);font-size:12px;color:var(--t2)}
.act-form-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:8px;border-top:1px solid rgba(26,23,16,.12)}
.act-form-btn{padding:9px 20px;border-radius:999px;font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:1px solid rgba(26,23,16,.18);background:var(--bg-2);color:var(--t2);transition:all 150ms}
.act-form-btn:hover{background:var(--bg-3);color:var(--t1)}
.act-form-btn.primary{background:linear-gradient(160deg,#C99020 0%,#A07014 60%,#B88418 100%);color:var(--t1);border:none;box-shadow:0 2px 6px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.2);position:relative}
.act-form-btn.primary::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 50%);pointer-events:none}
.act-form-btn.danger{background:rgba(200,90,90,.10);color:#C85A5A;border-color:rgba(200,90,90,.2)}

/* Empty state */
.act-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center;background:var(--bg-0)}
.act-empty-icon{width:80px;height:80px;border-radius:50%;background:var(--bg-2);border:1px solid rgba(26,23,16,.12);display:flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:20px;opacity:.6}
.act-empty-title{font-family:var(--fd);font-size:24px;font-weight:400;color:var(--t2);margin-bottom:8px}
.act-empty-desc{font-family:var(--fb);font-size:13px;color:var(--t4);line-height:1.65;max-width:380px;margin-bottom:24px}
.act-empty-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.act-empty-btn{padding:10px 24px;border-radius:999px;font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;transition:all 150ms}
.act-empty-btn.primary{background:linear-gradient(160deg,#C99020 0%,#A07014 60%,#B88418 100%);color:var(--t1);box-shadow:0 2px 6px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.2);position:relative}
.act-empty-btn.primary::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 50%);pointer-events:none}
.act-empty-btn.secondary{background:var(--bg-2);color:var(--t2);border:1px solid rgba(26,23,16,.18)}
.act-empty-btn.secondary:hover{background:var(--bg-3);color:var(--t1)}

@media (max-width:900px){
  .pipe-board{flex-direction:column}
  .pipe-col{min-width:0;max-width:none;width:100%}
  #pipeFuGrid,#pipeFunnelGrid,#pipeScoreCards{grid-template-columns:1fr !important}
  .status-map{grid-template-columns:repeat(2,1fr)}
  .urgency-grid{grid-template-columns:repeat(2,1fr)}
  .rev-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .pipe-kpis{grid-template-columns:repeat(2,1fr)}
  .cli-summary{grid-template-columns:repeat(2,1fr)}
  .cli-grid{grid-template-columns:1fr}
  .cli-detail{grid-template-columns:1fr}
  .act-summary{flex-wrap:wrap;gap:12px;padding:14px 16px}
  .act-stat-val{font-size:22px}
  .act-stat-divider{display:none}
  .act-add-btn{width:100%;text-align:center;margin-top:4px;margin-left:0}
  .act-toolbar{padding:10px 16px;gap:8px}
  .act-search-wrap{min-width:0;max-width:none;flex:1 1 100%}
  .act-grid{padding:14px 16px;gap:10px}
}
@media (max-width:480px){
  .act-card{grid-template-columns:1fr;grid-template-rows:auto auto auto}
  .act-img{width:100%;min-height:120px}
  .act-card-side{border-left:none;border-top:1px solid rgba(26,23,16,.12)}
}

/* ═══════════════════════════════════════
   ACTIVITIES — SECTION 2: DETAIL MODAL
═══════════════════════════════════════ */
.act-modal-backdrop{position:fixed;inset:0;background:rgba(26,23,16,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9000;display:flex;align-items:center;justify-content:center}
.act-modal-wrap{display:flex;align-items:center;justify-content:center;padding:40px;width:100%;box-sizing:border-box}
.act-modal{width:700px;max-width:calc(100vw - 40px);max-height:90vh;overflow:auto;background:var(--bg-1);border:1px solid rgba(26,23,16,.18);border-radius:16px;box-shadow:0 12px 32px rgba(0,0,0,.12)}
.act-modal-head{padding:24px 24px 0;background:linear-gradient(135deg,var(--t1) 0%,#201A14 40%,#1A2020 100%);border-bottom:2px solid rgba(201,152,28,.20);position:relative}
.act-modal-head::after{content:'';position:absolute;bottom:-1px;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent,rgba(201,152,28,.5),transparent)}
.act-modal-close{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--t4);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 150ms}
.act-modal-close:hover{color:var(--bg-1);background:rgba(255,255,255,.08)}
.act-modal-hero{display:flex;gap:16px;margin-bottom:16px}
.act-modal-img{width:72px;height:72px;border-radius:8px;background:var(--bg-3);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border:1px solid rgba(255,255,255,.08);font-size:28px}
.act-modal-info{flex:1}
.act-modal-name{font-family:var(--fd);font-size:24px;font-weight:300;color:#F0E8DC;letter-spacing:-.01em;margin-bottom:4px}
.act-modal-meta-line{font-family:var(--fb);font-size:12px;color:var(--t4);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.act-tabs{display:flex;gap:0}
.act-tab{padding:10px 20px;font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t4);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-bottom:2px solid transparent;transition:color 150ms,border-color 150ms}
.act-tab:hover{color:#F0E8DC}
.act-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.act-modal-body{padding:24px;min-height:360px;background:var(--bg-1)}

/* Overview tab */
.act-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}
.act-ov-box{padding:12px;border-radius:8px;background:var(--bg-2);border:1px solid rgba(26,23,16,.12);text-align:center}
.act-ov-val{font-family:var(--fd);font-size:22px;font-weight:400;color:var(--t1);line-height:1.2}
.act-ov-val.gold{color:var(--accent)}
.act-ov-label{font-family:var(--fu);font-size:7px;font-weight:800;color:var(--t4);letter-spacing:.10em;text-transform:uppercase;margin-top:2px}
.act-ov-section-title{font-family:var(--fu);font-size:9px;font-weight:800;color:var(--t4);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;margin-top:20px;display:flex;align-items:center;gap:10px}
.act-ov-section-title::after{content:'';flex:1;height:1px;background:rgba(26,23,16,.12)}
.act-ov-desc{font-family:var(--fb);font-size:13px;color:var(--t2);line-height:1.65;padding:14px 16px;border-radius:8px;background:var(--bg-2);border:1px solid rgba(26,23,16,.07);margin-bottom:16px}
.act-ov-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.act-ov-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.act-ov-badge.time{background:rgba(78,168,160,.10);color:#4EA8A0;border:1px solid rgba(78,168,160,.15)}
.act-ov-badge.age{background:rgba(212,148,76,.10);color:#D4944C;border:1px solid rgba(212,148,76,.15)}
.act-ov-badge.usage{background:rgba(201,152,28,.10);color:var(--accent);border:1px solid rgba(201,152,28,.30)}
.act-ov-city-card{display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:8px;background:var(--bg-2);border:1px solid rgba(26,23,16,.07)}
.act-ov-city-img{width:56px;height:56px;border-radius:8px;background:linear-gradient(135deg,var(--bg-3),var(--bg-4));display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.act-ov-city-info{flex:1}
.act-ov-city-name{font-family:var(--fd);font-size:17px;font-weight:500;color:var(--t1)}
.act-ov-city-zone{font-family:var(--fb);font-size:11px;color:var(--t3)}

/* ═══════════════════════════════════════
   ACTIVITIES — SECTION 3: PRICING TAB
═══════════════════════════════════════ */
.act-pricing-wrap{background:var(--bg-0);padding:24px}
.act-price-hero{display:flex;align-items:center;gap:24px;padding:20px;border-radius:12px;background:var(--bg-1);border:1px solid rgba(26,23,16,.12);margin-bottom:24px}
.act-price-amount{font-family:var(--fd);font-size:42px;font-weight:400;color:var(--accent);letter-spacing:-.02em}
.act-price-info{flex:1}
.act-price-label{font-family:var(--fu);font-size:9px;font-weight:800;color:var(--t4);letter-spacing:.10em;text-transform:uppercase;margin-bottom:4px}
.act-price-type-text{font-family:var(--fb);font-size:13px;color:var(--t2)}
.act-price-type-visual{display:flex;gap:12px;margin-bottom:24px}
.act-price-type-card{flex:1;padding:16px;border-radius:8px;background:var(--bg-1);border:1px solid rgba(26,23,16,.12);text-align:center;cursor:pointer;transition:all 150ms}
.act-price-type-card:hover{border-color:rgba(26,23,16,.18)}
.act-price-type-card.active{border-color:rgba(201,152,28,.30);background:rgba(201,152,28,.10)}
.act-price-type-icon{font-size:24px;margin-bottom:8px;opacity:.5}
.act-price-type-card.active .act-price-type-icon{opacity:1}
.act-price-type-name{font-family:var(--fu);font-size:10px;font-weight:700;color:var(--t3);letter-spacing:.06em;text-transform:uppercase}
.act-price-type-card.active .act-price-type-name{color:var(--accent)}
.act-price-type-desc{font-family:var(--fb);font-size:11px;color:var(--t4);margin-top:4px}
.act-child-section-title{font-family:var(--fu);font-size:9px;font-weight:800;color:var(--t4);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.act-child-section-title::after{content:'';flex:1;height:1px;background:rgba(26,23,16,.12)}
.act-child-table{width:100%;border-collapse:collapse;margin-bottom:24px}
.act-child-table th{font-family:var(--fu);font-size:8px;font-weight:800;color:var(--t4);letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;text-align:left;border-bottom:1px solid rgba(26,23,16,.12)}
.act-child-table td{padding:10px 12px;font-family:var(--fb);font-size:12px;color:var(--t2);border-bottom:1px solid rgba(26,23,16,.07)}
.act-child-table tr:hover td{background:var(--bg-2)}
.act-child-age{font-family:var(--fd);font-size:16px;font-weight:500;color:var(--t1)}
.act-child-rate{font-family:var(--fd);font-size:15px;font-weight:500;color:var(--accent)}
.act-child-pct{display:inline-flex;padding:2px 8px;border-radius:999px;font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.act-child-pct.free{background:rgba(56,180,120,.10);color:#38B478}
.act-child-pct.half{background:rgba(212,148,76,.10);color:#D4944C}
.act-child-pct.most{background:rgba(107,154,184,.10);color:var(--blue)}
.act-cost-breakdown{padding:16px;border-radius:8px;background:var(--bg-1);border:1px solid rgba(26,23,16,.12);margin-bottom:16px}
.act-cost-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-family:var(--fb);font-size:12px;color:var(--t3)}
.act-cost-row:not(:last-child){border-bottom:1px solid rgba(26,23,16,.07)}
.act-cost-label{flex:1}
.act-cost-val{font-family:var(--fd);font-size:15px;font-weight:500;color:var(--t2)}
.act-cost-row.total{padding-top:10px}
.act-cost-row.total .act-cost-label{font-weight:600;color:var(--t1)}
.act-cost-row.total .act-cost-val{font-size:18px;color:var(--accent)}
.act-override-note{font-family:var(--fb);font-size:12px;color:var(--t4);line-height:1.5;padding:12px 16px;border-radius:8px;background:var(--bg-2);border:1px solid rgba(26,23,16,.07);border-left:3px solid rgba(201,152,28,.30)}

/* ═══════════════════════════════════════
   ACTIVITIES — SECTION 5: CATEGORIES OVERVIEW
═══════════════════════════════════════ */
.act-categories-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:800px){.act-categories-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.act-categories-grid{grid-template-columns:1fr}}
.act-cat-card{padding:20px;border-radius:12px;background:var(--bg-1);border:1px solid rgba(26,23,16,.12);text-align:center;cursor:pointer;transition:border-color 220ms,box-shadow 220ms,transform 220ms;position:relative;overflow:hidden}
.act-cat-card:hover{border-color:rgba(26,23,16,.18);box-shadow:0 8px 20px rgba(0,0,0,.08);transform:translateY(-2px)}
.act-cat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;transition:background 150ms}
.act-cat-card.wildlife::before{background:#38B478}
.act-cat-card.cultural::before{background:#D4944C}
.act-cat-card.adventure::before{background:#C85A5A}
.act-cat-card.water::before{background:var(--blue)}
.act-cat-card.scenic::before{background:var(--violet)}
.act-cat-card.culinary::before{background:#4EA8A0}
.act-cat-card.wellness::before{background:#B090D8}
.act-cat-icon{width:52px;height:52px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 12px}
.act-cat-card.wildlife .act-cat-icon{background:rgba(56,180,120,.10);border:1px solid rgba(56,180,120,.15)}
.act-cat-card.cultural .act-cat-icon{background:rgba(212,148,76,.10);border:1px solid rgba(212,148,76,.15)}
.act-cat-card.adventure .act-cat-icon{background:rgba(200,90,90,.10);border:1px solid rgba(200,90,90,.15)}
.act-cat-card.water .act-cat-icon{background:rgba(107,154,184,.10);border:1px solid rgba(107,154,184,.15)}
.act-cat-card.scenic .act-cat-icon{background:rgba(148,120,200,.10);border:1px solid rgba(148,120,200,.15)}
.act-cat-card.culinary .act-cat-icon{background:rgba(78,168,160,.10);border:1px solid rgba(78,168,160,.15)}
.act-cat-card.wellness .act-cat-icon{background:rgba(176,144,216,.10);border:1px solid rgba(176,144,216,.15)}
.act-cat-name{font-family:var(--fu);font-size:11px;font-weight:700;color:var(--t1);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.act-cat-examples{font-family:var(--fb);font-size:11px;color:var(--t4);margin-bottom:10px}
.act-cat-count{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:var(--bg-2);border:1px solid rgba(26,23,16,.07)}
.act-cat-count-val{font-family:var(--fd);font-size:16px;font-weight:500;color:var(--t1)}
.act-cat-count-label{font-family:var(--fu);font-size:7px;font-weight:800;color:var(--t4);letter-spacing:.06em;text-transform:uppercase}

/* Activity modal mobile (480px) */
@media (max-width:480px){
  .act-modal-wrap{padding:16px}
  .act-modal{width:100%;max-width:calc(100vw - 32px)}
  .act-modal-head{padding:16px 16px 0}
  .act-modal-body{padding:16px}
  .act-overview-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .act-price-hero{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}
  .act-price-amount{font-size:32px}
  .act-price-type-visual{flex-direction:column;gap:8px}
  .act-pricing-wrap{padding:16px}
  .act-child-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .act-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .act-tab{white-space:nowrap}
}

.hr{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #f0e7dc;flex-wrap:wrap}
.hr:last-child{border-bottom:none}
.dsc{border:1px solid #eadfd1;border-radius:18px;margin-bottom:14px;overflow:hidden;background:var(--bg-1);box-shadow:var(--shadow-sm)}
.dsh{padding:14px 18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:linear-gradient(180deg,#fbfaf7,#f5f0e8);border-bottom:1px solid #eadfd1}
.dsb{padding:16px 18px}
.tpr{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid #f3ebe1;flex-wrap:wrap}
.tpr:last-child{border-bottom:none}
.hol{display:flex;align-items:center;gap:7px;padding:4px 0;font-size:12px;flex-wrap:wrap}
.bb-wrap{background:#ece4da;border-radius:999px;height:8px;flex:1;min-width:60px;overflow:hidden}
.bb{height:100%;border-radius:999px;transition:width .6s}
.vf{display:flex;gap:8px;padding:9px 0;border-bottom:1px solid #f1e9df;flex-wrap:wrap}
.vf:last-child{border-bottom:none}.vfl{font-size:11px;color:var(--muted-2);min-width:130px;padding-top:3px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.vfv{font-size:13px;font-weight:700;flex:1}
.toast{position:fixed;top:22px;right:22px;background:linear-gradient(135deg,#D4A843,var(--gold-dark));color:var(--bg-1);padding:10px 16px;border-radius:12px;font-size:13px;font-weight:800;opacity:0;transition:opacity .25s, transform .25s;pointer-events:none;z-index:999;box-shadow:0 14px 30px rgba(20,108,91,.22);transform:translateY(-4px)}
.toast.show{opacity:1;transform:translateY(0)}
.rg{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-top:8px}.rc{display:flex;flex-direction:column;gap:3px}.rc label{font-size:10px;color:var(--muted-2);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
table.dt{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}table.dt th{font-size:11px;font-weight:800;color:var(--muted-2);text-align:left;padding:8px;border-bottom:2px solid #efe6db;letter-spacing:.08em;text-transform:uppercase}table.dt td{padding:9px 8px;border-bottom:1px solid #f5eee5}table.dt tr:last-child td{border-bottom:none}
.szn{font-size:10px;padding:3px 8px;border-radius:999px;font-weight:800;display:inline-block;margin-bottom:6px;letter-spacing:.04em;text-transform:uppercase}
.szn-high{background:#fff1f1;color:#9f3333}.szn-shoulder{background:#fff5df;color:var(--accent-dn)}.szn-low{background:#ebf8f3;color:var(--green)}
.rr{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #f0e7dc;flex-wrap:wrap}.rr:last-child{border-bottom:none}
/* Stripe-like quote layout */
#s-quote .quote-shell{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.8fr);gap:18px;align-items:start}
#s-quote .quote-main,#s-quote .quote-side{min-width:0}
#s-quote .quote-side .sticky-stack{position:sticky;top:16px}
#s-quote .section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:8px}
#s-quote .quote-topbar{
  background:var(--glass-bg);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin-bottom:16px;box-shadow:var(--shadow-sm)
}
#s-quote #daysList .dc{margin-bottom:14px}
#s-quote .quote-side .card{margin-bottom:14px}
#s-quote .quote-main .card:first-child{border-top-left-radius:22px}
#s-quote .card .mg{margin-bottom:0}
#s-quote .quote-hero-title{font-size:22px;font-weight:800;letter-spacing:-.04em}
#s-quote .quote-subtle{font-size:12px;color:var(--muted)}
#s-quote .summary-accent{background:linear-gradient(135deg,rgba(20,108,91,.06),rgba(36,87,214,.04));border-color:var(--green-bg)}
#s-quote .card.teal .mc{background:var(--glass-bg)}
#s-quote .quote-side .card:nth-child(1) .sl{margin-bottom:14px}
#s-quote .quote-side .card:nth-child(1) .div{margin:14px 0}
/* nicer native date icon spacing */
input[type="date"]{min-height:40px}
/* warnings and helper boxes */
.card[style*="fffbeb"], #is-flags{border-color:#f1d69d!important;box-shadow:0 10px 20px rgba(169,101,18,.06)}
.card[style*="fffbeb"] .sl, #is-flags .sl{color:#9b640e!important}
/* responsive */
@media(max-width:1100px){
  #s-quote .quote-shell{grid-template-columns:1fr}
  #s-quote .quote-side .sticky-stack{position:static}
}
@media(max-width:720px){
  /* ── App shell ── */
  .app{padding:10px 12px 80px;} /* bottom padding for nav bar */

  /* ── Hide desktop header tabs & user, show compact top bar ── */
  .header{
    flex-direction:row;align-items:center;
    padding:0;min-height:54px;border-radius:14px;
    position:sticky;top:8px;z-index:100;
  }
  .header-logo{padding:8px 14px;border-right:1px solid var(--line)}
  .header-logo .logo{flex-direction:row;gap:8px}
  .header-logo .logo-icon svg{width:26px;height:28px}
  .header-logo .logo-name{font-size:16px}
  .header-logo .logo-sub{font-size:10px}
  .header-logo .logo-line{display:none}
  .header-tabs{display:none} /* hidden - replaced by bottom nav */
  .header-user{padding:0 12px;font-size:11px;border-left:1px solid var(--line)}

  /* ── Bottom navigation bar ── */
  .mob-nav{
    display:flex;position:fixed;bottom:0;left:0;right:0;z-index:200;
    background:rgba(255,255,255,.97);backdrop-filter:blur(12px);
    border-top:1px solid var(--line);
    padding:6px 0 max(6px,env(safe-area-inset-bottom));
    box-shadow:0 -4px 20px var(--b1);
  }
  .mob-nav-item{
    flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;
    padding:4px 2px;background:none;border:none;cursor:pointer;
    font-family:'Roboto',sans-serif;font-size:9px;color:var(--muted);
    transition:color .15s;min-width:0;
  }
  .mob-nav-item.on{color:var(--gold-dark)}
  .mob-nav-item svg{width:20px;height:20px;stroke-width:1.5}
  .mob-nav-more-btn{
    flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;
    padding:4px 2px;background:none;border:none;cursor:pointer;
    font-family:'Roboto',sans-serif;font-size:9px;color:var(--muted);
  }
  /* ── More drawer ── */
  .mob-more-drawer{
    display:none;position:fixed;bottom:0;left:0;right:0;z-index:300;
  }
  .mob-more-drawer.open{display:block}
  .mob-more-bg{position:fixed;inset:0;background:rgba(0,0,0,.4)}
  .mob-more-panel{
    position:fixed;bottom:0;left:0;right:0;
    background:#fff;border-radius:20px 20px 0 0;
    padding:16px 0 max(24px,env(safe-area-inset-bottom));
    box-shadow:0 -8px 32px rgba(26,23,20,.12);
  }
  .mob-more-handle{width:36px;height:4px;background:var(--line);border-radius:99px;margin:0 auto 16px}
  .mob-more-item{
    display:flex;align-items:center;gap:12px;padding:12px 20px;
    background:none;border:none;width:100%;text-align:left;cursor:pointer;
    font-family:'Roboto',sans-serif;font-size:14px;color:var(--text);
  }
  .mob-more-item.on{color:var(--gold-dark);font-weight:600;background:var(--gold-soft)}
  .mob-more-item:hover{background:var(--bg-soft)}
  .mob-more-icon{width:32px;height:32px;border-radius:8px;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}

  /* ── Cards & layout ── */
  .card{padding:14px;border-radius:14px}
  .mg{grid-template-columns:repeat(2,minmax(0,1fr))}
  .row{flex-direction:column;gap:10px}
  .f{min-width:0}
  input,select,textarea{font-size:16px} /* prevent iOS zoom */

  /* ── Quote builder mobile ── */
  #s-quote .quote-shell{grid-template-columns:1fr}
  #s-quote .quote-side .sticky-stack{position:static}
  #s-quote .quote-topbar{border-radius:12px}

  /* ── Pipeline ── */
  .pipeline-top{grid-template-columns:1fr}
  .pipe-hero-grid{grid-template-columns:repeat(2,1fr)}
  .pipeline-board{grid-template-columns:1fr}

  /* ── Client cards ── */
  .client-actions{padding:8px 6px}

  /* ── History ── */
  .history-grid{grid-template-columns:1fr}
  .hist-stat-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:400px){
  .mob-nav-item{font-size:8px}
  .app{padding:8px 10px 80px}
}
@media(max-width:560px){
  .mg{grid-template-columns:1fr}

}


/* ===== Master data card system refresh ===== */
.mdb-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.mdb-topbar .mdb-intro{max-width:760px}
.mdb-topbar .mdb-title{font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--text);margin-bottom:3px}
.mdb-topbar .mdb-sub{font-size:12px;color:#8f8274;line-height:1.55}
.mdb-actions-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.mdb-empty{background:linear-gradient(180deg,#fff,#fbf8f4);border:1px dashed #ddcfbe;border-radius:24px;padding:34px 26px;text-align:center;color:var(--muted)}
.mdb-empty .icon{font-size:32px;display:block;margin-bottom:12px}
.mdb-card{
  background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.18)),#f8f4ee;
  border:1px solid #dfd2c1;border-radius:28px;padding:18px;box-shadow:0 10px 28px rgba(41,29,16,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mdb-card:hover{transform:translateY(-1px);box-shadow:0 18px 36px rgba(41,29,16,.08);border-color:#ceb89c}
.mdb-media-card{display:grid;grid-template-columns:320px minmax(420px,1fr) 236px;gap:18px;align-items:stretch}
.mdb-media{
  position:relative;overflow:hidden;border-radius:22px;height:228px;
  background:linear-gradient(135deg,#eadfce,#f6f1e7 58%,#dbe7e0);
  border:1px solid #e3d7c8;
}
.mdb-media img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.mdb-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,18,14,.03),rgba(22,18,14,.18));pointer-events:none}
.mdb-badge{position:absolute;left:14px;top:14px;z-index:1;display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(248,244,238,.88);border:1px solid rgba(223,210,193,.92);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#6e6258;backdrop-filter:blur(8px)}
.mdb-fallback{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-start;padding:18px;z-index:0}
.mdb-fallback-mark{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:22px;background:rgba(255,255,255,.54);border:1px solid rgba(255,255,255,.5);font-family:var(--fd);font-size:28px;font-weight:700;color:#3b3028;box-shadow:0 8px 20px rgba(41,29,16,.08)}
.mdb-content{display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:4px 2px}
.mdb-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--t4);margin-bottom:8px}
.mdb-title{font-family:var(--fd);font-size:44px;line-height:.94;font-weight:600;letter-spacing:-.04em;color:#1d1815;margin:0}
.mdb-meta{margin-top:8px;font-size:16px;color:#6d6258;line-height:1.5}
.mdb-summary-copy{margin-top:14px;font-size:14px;line-height:1.7;color:#62584e;max-width:760px}
.mdb-chip-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.mdb-chip{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;border:1px solid #dfd2c1;background:rgba(255,255,255,.58);font-size:13px;font-weight:700;color:#5f544b;line-height:1}
.mdb-chip.accent{background:rgba(202,215,226,.34);border-color:#c5d0db;color:#506170}
.mdb-utility{display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.mdb-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mdb-stat{min-height:84px;padding:14px;border-radius:18px;border:1px solid #dfd2c1;background:rgba(255,255,255,.54);display:flex;flex-direction:column;justify-content:space-between}
.mdb-stat .k{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--t4)}
.mdb-stat .v{font-size:18px;font-weight:800;color:#1d1815;line-height:1.15;margin-top:8px}
.mdb-card-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:8px}
.mdb-card-actions .btn,.mdb-card-actions .btn-teal,.mdb-headbtn{border-radius:999px;padding:10px 16px;font-size:13px;font-weight:800;box-shadow:none}
.mdb-icon-btn,.mdb-card-actions .btn-red{width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(183,109,98,.25);background:rgba(183,109,98,.08);color:#b76d62;box-shadow:none}
.mdb-editor{display:none;margin-top:16px;padding:18px;border-radius:22px;background:rgba(255,255,255,.82);border:1px solid #e6dccf}
.mdb-card.open .mdb-editor{display:block}
.mdb-inline-preview{display:flex;align-items:center;gap:10px;min-width:0}
.mdb-mini-preview{width:54px;height:40px;object-fit:cover;border-radius:10px;border:1px solid var(--b1);flex-shrink:0;background:#f4ede3}
.mdb-client-card{display:grid;grid-template-columns:254px minmax(420px,1fr) 236px;gap:18px;align-items:stretch}
.mdb-identity{border-radius:24px;padding:20px;background:linear-gradient(180deg,rgba(255,255,255,.64),rgba(255,255,255,.28)),#f1ebe3;border:1px solid #dfd2c1;display:flex;flex-direction:column;justify-content:space-between;min-height:228px}
.mdb-avatar{width:74px;height:74px;border-radius:22px;background:#e6ddd1;border:1px solid #d9cbb8;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:30px;font-weight:700;color:#1d1815}
.mdb-identity-name{margin-top:18px;font-family:var(--fd);font-size:34px;line-height:.96;font-weight:600;letter-spacing:-.04em}
.mdb-identity-ref{margin-top:8px;font-size:14px;color:#75695f}
.mdb-status-pill{display:inline-flex;margin-top:16px;padding:9px 12px;border-radius:999px;background:rgba(212,224,208,.5);border:1px solid #b8c8b3;color:#4f6550;font-size:12px;font-weight:800}
.mdb-identity-foot{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;color:#7b6f63;font-size:13px;line-height:1.5}
.mdb-cities-grid{display:grid;grid-template-columns:1fr;gap:14px}
.builder-v4-embedded-card{border:none !important;box-shadow:none !important;padding:0 !important;background:transparent !important;margin:0 !important}
.builder-v4-embedded-card > .sl:first-child{margin-bottom:12px}

.hdb-shell,.adb-shell,.cdb-shell,.client-shell{display:flex;flex-direction:column;gap:16px}
.hdb-toolbar,.adb-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.hdb-filters,.adb-filters{flex:1;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;align-items:end}
.hdb-filter,.adb-filter{display:flex;flex-direction:column;gap:6px;min-width:0}
.hdb-filter label,.adb-filter label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}
.hdb-summary,.adb-summary{width:100%;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-top:14px}
.hdb-stat,.adb-stat{background:linear-gradient(180deg,#fff,#fbf8f4);border:1px solid #e9e0d5;border-radius:18px;padding:14px 16px;box-shadow:0 1px 0 rgba(255,255,255,.85) inset}
.hdb-stat .k,.adb-stat .k{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-bottom:8px}
.hdb-stat .v,.adb-stat .v{font-size:24px;line-height:1;font-weight:800;color:var(--text)}
.hdb-list,.adb-list{display:flex;flex-direction:column;gap:14px}
.hdb-empty,.adb-empty{background:#fff;border:1px dashed #ddcfbe;border-radius:22px;padding:28px;text-align:center;color:var(--muted)}
.hdb-grid{display:grid;grid-template-columns:2fr 1fr .8fr .9fr .9fr;gap:12px;margin-bottom:14px}
.adb-grid{display:grid;grid-template-columns:1.8fr 1fr .8fr 1fr;gap:12px;margin-bottom:14px}
.hdb-room{border:1px solid #e9dfd2;border-radius:18px;padding:14px;background:linear-gradient(180deg,#fff,#fcfaf7);margin-top:12px}
.hdb-room-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.hdb-room-title{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.hdb-room-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#f3ece3;border:1px solid #e1d5c6;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#705d49;margin-top:22px}
.hdb-season-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hdb-season{border:1px solid #ece2d6;border-radius:16px;padding:12px;background:#fffcf8}
.hdb-season .rg{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hdb-season .rc input{min-height:40px}
.hdb-season .rc label{font-size:10px}
.hdb-supp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hdb-season.compact{display:flex;flex-direction:column;gap:10px;min-height:auto}
.hdb-season.wide{padding:14px}
.hdb-rate-table{display:grid;grid-template-columns:110px repeat(2,minmax(0,1fr));gap:8px;align-items:center}
.hdb-rate-head{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);padding:0 4px}
.hdb-rate-lbl{font-size:11px;font-weight:800;color:var(--text);letter-spacing:.04em;text-transform:uppercase;padding:0 4px}
.hdb-rate-table input{min-height:40px}
.hdb-toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--muted-2)}
.hdb-toggle input{width:auto;min-height:auto}
.hdb-adv-box{margin-top:12px;padding-top:12px;border-top:1px dashed #e7dacb}
.hdb-rate-table.adv{grid-template-columns:110px repeat(2,minmax(0,1fr))}
.adb-note{border:1px solid #ece2d6;border-radius:16px;padding:12px;background:#fffcf8}
.adb-note label{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-bottom:6px}
.adb-note textarea{min-height:88px}
#s-hotels .card,#s-acts .card,#s-citiesdb .card,#s-clients .card{border-radius:24px}
#s-hotels .btn-teal,#s-hotels .btn,#s-acts .btn-teal,#s-acts .btn,#s-citiesdb .btn-teal,#s-citiesdb .btn,#s-clients .btn-teal,#s-clients .btn{box-shadow:none}
#s-hotels .btn-sm,#s-acts .btn-sm,#s-citiesdb .btn-sm,#s-clients .btn-sm{padding:8px 12px}
#s-hotels .btn-red,#s-acts .btn-red,#s-clients .btn-red{align-self:flex-start;margin-top:2px}
@media(max-width:1100px){.hdb-filters,.adb-filters{grid-template-columns:1fr 1fr}.hdb-grid,.adb-grid{grid-template-columns:1fr 1fr}.hdb-season-grid,.hdb-supp-grid{grid-template-columns:1fr}.mdb-media-card,.mdb-client-card{grid-template-columns:1fr}.mdb-card-actions{justify-content:flex-start}}
@media(max-width:720px){.hdb-filters,.adb-filters,.hdb-summary,.adb-summary,.hdb-grid,.adb-grid{grid-template-columns:1fr}.mdb-card{padding:14px;border-radius:22px}.mdb-media{min-height:220px}.mdb-title{font-size:32px}.mdb-meta{font-size:15px}.mdb-stats{grid-template-columns:1fr 1fr}.hdb-room-badge{margin-top:0}.mdb-identity{min-height:200px}.mdb-identity-name{font-size:30px}}
#s-acts .btn-red{align-self:flex-start;margin-top:2px}
@media(max-width:1100px){.adb-filters{grid-template-columns:1fr 1fr}.adb-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.adb-filters,.adb-grid,.adb-summary{grid-template-columns:1fr}.adb-head{padding:14px}.adb-name{font-size:18px}.adb-body{padding:14px}}

/* ── Timeline Interactive UI ──────────────────────────────── */

/* Clickable time — subtle underline hint */
.tl-time--clickable{cursor:pointer;border-bottom:1px dashed transparent;transition:border-color .2s,color .2s;display:inline}
.tl-time--clickable:hover{border-bottom-color:var(--accent);color:var(--accent-dn)}

/* Editable labels — subtle cursor hint */
.tl-label--editable{cursor:text;border-radius:4px;transition:background .2s;padding:1px 4px;margin:-1px -4px}
.tl-label--editable:hover{background:rgba(196,154,60,.06)}
.tl-placeholder{color:var(--t4);font-style:italic;font-weight:400}

/* Inline text editor (appears on click) */
.tl-inline-editor{font-size:inherit;font-weight:inherit;font-family:inherit;color:inherit;
  border:none;border-bottom:2px solid var(--accent);background:transparent;outline:none;
  padding:0 2px;min-width:80px;width:auto;max-width:100%}

/* Time picker popover */
.tl-time-picker{background:#fff;border:1px solid #e3d7c8;border-radius:14px;
  box-shadow:0 8px 28px rgba(26,23,20,.14);padding:14px 16px;min-width:180px;
  animation:tlPickerIn .15s ease-out}
@keyframes tlPickerIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.tl-tp-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.tl-tp-row label{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--t4);width:36px}
.tl-tp-input{flex:1;font-size:14px;font-weight:600;font-family:inherit;padding:6px 10px;
  border:1px solid var(--b1);border-radius:8px;background:var(--bg-1);color:var(--t1);text-align:center}
.tl-tp-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-ring)}
.tl-tp-actions{display:flex;gap:6px;margin-top:4px}
.tl-tp-apply{flex:1;font-size:12px;font-weight:700;font-family:inherit;padding:7px 0;
  border:none;border-radius:8px;background:var(--t1);color:#F5F0E8;cursor:pointer;
  transition:background .15s}
.tl-tp-apply:hover{background:#3B3028}
.tl-tp-cancel{flex:1;font-size:12px;font-weight:700;font-family:inherit;padding:7px 0;
  border:1px solid var(--b1);border-radius:8px;background:#fff;color:#6B5E52;cursor:pointer;
  transition:border-color .15s}
.tl-tp-cancel:hover{border-color:var(--t4)}

/* Remove button — trash icon on hover */
.tl-item{position:relative}
.tl-remove-btn{position:absolute;right:-2px;top:50%;transform:translateY(-50%);
  width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  font-size:13px;color:#b73f3f;cursor:pointer;border-radius:50%;
  background:rgba(183,63,63,.06);opacity:0;transition:opacity .15s}
.tl-item:hover .tl-remove-btn{opacity:1}
.tl-remove-btn:hover{background:rgba(183,63,63,.12)}

/* Lock button — pin icon on hover, always visible when locked */
.tl-lock-btn{position:absolute;right:22px;top:50%;transform:translateY(-50%);
  width:20px;height:20px;display:flex;align-items:center;justify-content:center;
  font-size:11px;cursor:pointer;border-radius:50%;
  opacity:0;transition:opacity .15s,color .15s}
.tl-item:hover .tl-lock-btn{opacity:.6}
.tl-lock-btn--on{opacity:1!important;color:var(--accent)}
.tl-lock-btn:hover{opacity:1!important}

/* Insert point between items — hover to reveal */
.tl-insert{display:flex;align-items:center;height:0;overflow:visible;position:relative;
  margin:0 0 0 8px;opacity:0;transition:opacity .2s}
.tl:hover .tl-insert{opacity:1}
.tl-insert__line{flex:1;height:1px;background:var(--b1);transition:background .2s}
.tl-insert__btn{width:18px;height:18px;border-radius:50%;border:1px solid var(--b1);
  background:var(--bg-1);color:var(--t4);font-size:12px;font-weight:700;line-height:1;
  display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;
  transition:border-color .15s,color .15s,background .15s,transform .15s}
.tl-insert:hover .tl-insert__btn{border-color:var(--accent);color:var(--accent);transform:scale(1.15)}
.tl-insert:hover .tl-insert__line{background:var(--accent)}

/* Add event floating menu */
.tl-add-menu{position:absolute;z-index:100;background:#fff;border:1px solid #e3d7c8;
  border-radius:14px;box-shadow:0 12px 36px rgba(26,23,20,.14);padding:6px;
  display:flex;flex-direction:column;gap:1px;min-width:190px;margin-top:4px;
  animation:tlPickerIn .15s ease-out}
.tl-add-menu button{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;
  color:#3b3028;padding:9px 14px;border:none;background:none;cursor:pointer;border-radius:10px;
  text-align:left;font-family:inherit;transition:background .1s}
.tl-add-menu button:hover{background:#f6f1e8}

/* Authored footer (subtle) */
.tl-authored-footer{display:flex;align-items:center;gap:6px;padding:8px 18px 4px;
  font-size:10px;font-weight:600;color:var(--t4);letter-spacing:.02em}
.tl-authored-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}
.tl-reset-link{font-size:10px;font-weight:700;color:var(--t4);background:none;border:none;
  cursor:pointer;text-decoration:underline;text-decoration-style:dotted;padding:0;
  font-family:inherit;transition:color .15s}
.tl-reset-link:hover{color:var(--accent)}

/* Duration badge colors */
.tl-dur-badge.meal{background:#fff3e0;color:#e65100}



/* ===== History archive visual refresh ===== */
.history-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr);gap:16px;align-items:start}
#histHero.card{padding:22px;border-radius:24px;background:linear-gradient(180deg,#fff,#fcfaf7);border:1px solid #e8dfd3;box-shadow:var(--shadow-sm)}
.hist-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.hist-stat{background:linear-gradient(180deg,#fff,#fbf8f4);border:1px solid #ebe1d4;border-radius:18px;padding:14px 15px;box-shadow:0 1px 0 rgba(255,255,255,.8) inset}
.hist-stat .k{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-bottom:8px}
.hist-stat .v{font-size:24px;font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--text)}
.hist-stat .s{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.35}
.history-board{display:flex;flex-direction:column;gap:14px}
.hist-mini-card{background:linear-gradient(180deg,#fff,#fcfaf7);border:1px solid #e8dfd3;border-radius:22px;padding:16px;box-shadow:var(--shadow-sm)}
.hist-mini-card .h{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-bottom:12px}
.hist-mini-list{display:flex;flex-direction:column;gap:10px}
.hist-mini-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #f0e7dc}
.hist-mini-row:last-child{border-bottom:none;padding-bottom:0}
.hist-empty{padding:16px;border:1px dashed #ddd0c0;border-radius:16px;color:var(--muted);font-size:13px;background:#fffcf8;text-align:center}
.hist-list-card{background:linear-gradient(180deg,#fff,#fcfaf7);border:1px solid #e8dfd3;border-radius:24px;padding:18px;box-shadow:var(--shadow-sm)}
.hist-list-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #f0e7dc}
.hist-list-title{font-size:18px;font-weight:800;letter-spacing:-.03em;color:var(--text)}
.hist-list-sub{font-size:12px;color:var(--muted);margin-top:4px}
.hist-row{display:grid;grid-template-columns:minmax(0,1.4fr) auto auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid #f0e7dc}
.hist-row:last-child{border-bottom:none;padding-bottom:0}
.hist-main{min-width:0}
.hist-name{font-size:17px;font-weight:800;letter-spacing:-.03em;color:var(--text);margin-bottom:6px}
.hist-meta{display:flex;gap:8px;flex-wrap:wrap}
.hist-meta span,.hist-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid #e7ddcf;background:#fff;font-size:11px;font-weight:700;color:#5f564c}
.hist-date{font-size:12px;color:var(--muted);margin-top:8px}
.hist-value{font-size:28px;font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--green);text-align:right}
.hist-summary{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.hist-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.hist-actions .btn{background:#fff;border:1px solid #e4dacd;border-radius:999px;padding:8px 13px;font-weight:700}
.hist-actions .btn:hover{background:#f8f3ed}
.hist-actions .btn-red{font-size:16px;padding:4px 8px}
@media(max-width:1100px){.history-grid{grid-template-columns:1fr}.hist-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){#histHero.card{padding:16px}.hist-stat-grid{grid-template-columns:1fr}.hist-row{grid-template-columns:1fr}.hist-value{text-align:left}.hist-summary,.hist-actions{justify-content:flex-start}}

/* ===== Itinerary Summary visual refresh (logic unchanged) ===== */
#s-itin .itin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:10px}
#s-itin .itin-title{font-size:20px;font-weight:800;letter-spacing:-.04em}
#s-itin .itin-sub{font-size:12px;color:var(--muted)}
#is-header.itin-hero{padding:0;background:transparent;border:none;box-shadow:none;overflow:visible}
.itin-hero-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
.itin-hero-main,.itin-hero-side{background:linear-gradient(180deg,var(--bg-1),var(--bg-1));border:1px solid var(--b1);border-radius:22px;box-shadow:var(--shadow-sm)}
.itin-hero-main{padding:18px 18px 16px;position:relative;overflow:hidden}
.itin-hero-main:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right, rgba(20,108,91,.07), transparent 34%), radial-gradient(circle at bottom left, rgba(36,87,214,.04), transparent 28%);pointer-events:none}
.itin-hero-main>*{position:relative;z-index:1}
.itin-kicker{display:inline-flex;align-items:center;gap:8px;background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;color:var(--t3);margin-bottom:12px}
.itin-client{font-size:28px;font-weight:800;letter-spacing:-.05em;line-height:1.05;margin-bottom:8px}
.itin-route{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.itin-stop{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:var(--bg-1);border:1px solid var(--b1);font-size:12px;font-weight:700;color:var(--t2);box-shadow:0 1px 0 rgba(255,255,255,.8) inset}
.itin-stop .n{font-size:10px;color:var(--muted-2);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.itin-hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.itin-mini{background:var(--bg-1);border:1px solid var(--b1);border-radius:16px;padding:12px 13px}
.itin-mini .k{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-bottom:6px}
.itin-mini .v{font-size:16px;font-weight:800;line-height:1.15}
.itin-mini .s{font-size:12px;color:var(--muted);margin-top:4px}
.itin-hero-side{padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}
.itin-kpi{background:linear-gradient(180deg,var(--bg-1),var(--bg-1));border:1px solid var(--b1);border-radius:16px;padding:13px}
.itin-kpi .k{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-bottom:8px}
.itin-kpi .v{font-size:20px;font-weight:800;line-height:1;color:var(--text)}
.itin-kpi .s{font-size:11px;color:var(--muted);margin-top:6px}
#s-itin .itin-pricing.card{padding:18px;border-radius:22px}
.itin-pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.itin-tier{border-radius:20px;padding:16px;border:1px solid var(--b1);background:var(--bg-1);box-shadow:0 1px 0 rgba(255,255,255,.8) inset}
.itin-tier-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px}
.itin-tier-title{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.itin-tier-total{font-size:28px;font-weight:800;line-height:1;letter-spacing:-.04em}
.itin-tier-pa{font-size:12px;font-weight:700;margin-top:6px}
.itin-tier-lines{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.itin-tier-line{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.05);font-size:12px}
.itin-tier-line:last-child{border-bottom:none;padding-bottom:0}
.itin-tier-line .k{color:var(--muted)}
.itin-tier-line .v{font-weight:700}
.itin-day-card{background:linear-gradient(180deg,var(--bg-1),var(--bg-1));border:1px solid var(--b1);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:14px}
.itin-day-head{display:flex;align-items:center;gap:12px;padding:16px 18px;background:linear-gradient(180deg,var(--bg-1),var(--bg-2));border-bottom:1px solid var(--b1)}
.itin-day-num{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--green);background:var(--green-bg);border:2px solid var(--green-bg);flex-shrink:0}
.itin-day-title{font-size:16px;font-weight:800;letter-spacing:-.03em}
.itin-day-sub{font-size:12px;color:var(--muted);margin-top:3px}
.itin-day-costs{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}
.itin-cost-pill{padding:8px 10px;border-radius:14px;border:1px solid;min-width:86px;background:var(--bg-1);text-align:right}
.itin-cost-pill .k{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.itin-cost-pill .v{font-size:15px;font-weight:800;margin-top:3px}
.itin-day-body{padding:16px 18px}
.itin-day-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}
.itin-tier-stack{display:flex;flex-direction:column;gap:10px}
.itin-hotel-card{border:1px solid var(--b1);border-radius:18px;padding:13px 14px;background:var(--bg-1)}
.itin-hotel-top{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.itin-badge{display:inline-flex;align-items:center;justify-content:center;min-width:82px;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid}
.itin-hotel-name{font-size:14px;font-weight:800;line-height:1.3}
.itin-hotel-meta{font-size:12px;color:var(--muted);margin-top:4px}
.itin-hotel-rate{margin-left:auto;text-align:right}
.itin-hotel-rate .v{font-size:16px;font-weight:800}
.itin-hotel-rate .s{font-size:11px;color:var(--muted-2)}
.itin-alts{margin-top:9px;padding-left:92px;display:flex;flex-direction:column;gap:6px}
.itin-alt{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--t3)}
.itin-alt-tag{font-size:10px;background:var(--bg-2);padding:2px 7px;border-radius:999px;color:var(--t4);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.itin-day-side{display:flex;flex-direction:column;gap:12px}
.itin-panel{border:1px solid var(--b1);border-radius:18px;padding:14px;background:var(--bg-1)}
.itin-panel .h{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);margin-bottom:10px}
.itin-act-list{display:flex;flex-wrap:wrap;gap:6px}
.itin-act-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:var(--green-bg);border:1px solid var(--green-bg);color:var(--green);font-size:12px;font-weight:700}
.itin-note{padding:12px 13px;border-radius:16px;background:var(--green-bg);border:1px solid var(--green-bg);color:var(--t3);font-size:12px;line-height:1.6}
.itin-empty{font-size:12px;color:var(--muted);font-style:italic}
.itin-missing{background:var(--red-bg);border-color:var(--red-bg)}
.itin-missing .itin-hotel-name{color:var(--red)}
.itin-departure{padding:14px 18px;font-size:12px;color:var(--muted);background:var(--bg-1)}
#is-flags .flag-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--accent-ring);font-size:13px}
#is-flags .flag-row:last-child{border-bottom:none}
#is-flags .dot{width:8px;height:8px;border-radius:50%;background:var(--accent-dn);flex-shrink:0;margin-top:6px}
@media(max-width:1100px){.itin-hero-wrap,.itin-day-grid,.itin-pricing-grid{grid-template-columns:1fr}.itin-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.itin-hero-side{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.itin-hero-grid,.itin-hero-side{grid-template-columns:1fr}.itin-day-head{align-items:flex-start}.itin-day-costs{margin-left:0;width:100%}.itin-alts{padding-left:0}.itin-client{font-size:24px}}


/* v10.5.3 polish */
.trip-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.trip-meta-card{background:linear-gradient(180deg,#fff,#fbf8f3);border:1px solid #e7e0d4;border-radius:16px;padding:14px 16px;box-shadow:0 6px 20px rgba(41,31,22,.04)}
.trip-meta-card .tm-l{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#9a8f84;font-weight:800;margin-bottom:8px}.trip-meta-card .tm-v{font-size:17px;font-weight:800;color:#1c1b19}.trip-meta-card .tm-s{font-size:12px;color:#8f857a;margin-top:4px;line-height:1.4}
.day-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 12px;flex-wrap:wrap}.day-toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.day-title-xl{font-size:24px;font-weight:900;letter-spacing:-.03em;color:#171717}.day-subtle{font-size:13px;color:#8b8074}.days-shell{display:flex;flex-direction:column;gap:18px}
.dc{border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden;box-shadow:var(--shadow-sm)}.dh{padding:14px 18px;background:linear-gradient(180deg,#fff,var(--bg-soft));display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.dn{display:inline-flex;align-items:center;justify-content:center;min-width:86px;padding:8px 12px;border-radius:999px;background:var(--gold-soft);border:1px solid #dcc878;color:var(--gold-dark);font-size:12px;font-weight:700;letter-spacing:.04em}.db{padding:20px}.tt{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.ttb{padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:600;color:var(--muted)}.ttb.on.budget{background:var(--green-soft);border-color:#b8ddd0;color:var(--green)}.ttb.on.standard{background:var(--blue-soft);border-color:#c8d4e0;color:var(--blue)}.ttb.on.luxury{background:var(--gold-soft);border-color:#dcc878;color:var(--gold-dark)}
.hoc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 14px 12px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.hoc.pri.standard{background:var(--blue-soft);border-color:#c8d4e0}.hoc.pri.luxury{background:var(--gold-soft);border-color:#dcc878}.ar{display:grid;grid-template-columns:2fr .8fr .7fr auto auto;gap:10px;align-items:end;padding:12px;border:1px solid #ebe2d6;border-radius:16px;background:#fff}.db textarea{min-height:88px;border-radius:16px;background:#fffdf9}
.proposal-shell{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow-md)}.proposal-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}.proposal-status{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.proposal-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:var(--bg-1);border:1px solid #e6dccd;font-size:11px;font-weight:800;color:#826d5b}.proposal-badge.green{background:var(--gold-soft);border-color:#dcc878;color:var(--gold-dark)}.proposal-edit-note{font-size:12px;color:#8f8579}.proposal-tabs{display:flex;gap:8px;margin:0 0 12px}.proposal-tabs .ptb{padding:10px 14px;border-radius:999px;border:1px solid #e5ddcf;background:#fff;color:#6f655a;font-weight:800;font-size:13px}.proposal-tabs .ptb.on{background:var(--gold-dark);color:#fff;border-color:var(--gold)}.proposal-editor{min-height:360px;max-height:520px;padding:18px;border-radius:18px;border:1px solid #e3dacd;background:#fffdfa;line-height:1.85;font-size:14px;font-family:Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;white-space:pre-wrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.proposal-actions{margin-top:0}.proposal-actions .btn,.proposal-actions .btn-teal,.proposal-actions .btn-blue{padding:10px 18px;border-radius:999px;font-weight:600}
@media(max-width:980px){.trip-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ar{grid-template-columns:1fr 1fr}.proposal-editor{min-height:300px}}@media(max-width:680px){.trip-meta-grid{grid-template-columns:1fr}.day-title-xl{font-size:20px}.ar{grid-template-columns:1fr}}

/* Client modal + new tags */
.tag-purple{background:var(--violet-soft);border:1px solid #e8cfd4;color:var(--violet)}
#clientModal .f label{font-size:11px;font-weight:700;color:#746d63;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;display:block}
/* PE_FIX_2026_04_19_QB2_CLIENT_MODAL_DARK_FIELDS
   Client modal form fields (cf_budget_pp, cf_budget_curr, cf_notes, etc.) were
   hardcoded to white bg + default cream text → invisible in dark mode.
   Switched to theme tokens so they match the rest of the app. */
#clientModal .f input,#clientModal .f select,#clientModal .f textarea{width:100%;font-size:13px;padding:9px 12px;border:1px solid var(--b1,#e8e1d7);border-radius:10px;background:var(--bg-1,#fff);color:var(--t1,#222);font-family:inherit}
#clientModal .f textarea{resize:vertical}
#clientModal .f input::placeholder,#clientModal .f textarea::placeholder{color:var(--t4,#8c7f71);opacity:1}
#clientModal .card{background:#fcfbf9}
@media(max-width:920px){#clientModal > div{max-width:760px}#clientModal .card > div[style*='repeat(5'],#clientModal .card > div[style*='repeat(4']{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media(max-width:720px){#clientModal{padding:10px}#clientModal > div{padding:18px;border-radius:16px}#clientModal .card > div[style*='repeat(5'],#clientModal .card > div[style*='repeat(4']{grid-template-columns:1fr !important}}
#metaParserModal .label{font-size:11px;font-weight:700;color:#746d63;text-transform:uppercase;letter-spacing:.04em}


/* ── Mobile quote builder: card-by-card step layout ── */
@media(max-width:720px){
  #s-quote .quote-shell{display:flex;flex-direction:column;gap:0}
  #s-quote .card{border-radius:20px;margin-bottom:12px;padding:18px}
  .dc{border-radius:18px}
  .dh{padding:14px}
  /* Sticky topbar becomes floating pill on mobile */
  #s-quote .quote-topbar{position:sticky;top:8px;z-index:50;border-radius:16px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
  /* Bigger tap targets */
  .ttb{padding:10px 16px;font-size:13px}
  .btn,.btn-sm{padding:10px 16px;font-size:13px}
  /* Metric cards: 2 columns on mobile */
  .mg{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== MOBILE LAYOUT STABILISER PATCH ===== */
@media(max-width:720px){
  .app{padding:10px 12px 92px}

  .header{
    position:sticky;top:8px;z-index:100;
    min-height:56px;border-radius:16px;
    margin-bottom:14px;overflow:hidden;
  }
  .header-logo{
    flex:1;min-width:0;
    padding:10px 14px;
    border-right:none;
  }
  .logo{gap:10px;min-width:0}
  .logo-text{min-width:0}
  .logo-name{font-size:16px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .logo-sub{font-size:10px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  .header-tabs,
  .header-user,
  .nav-hamburger,
  .nav-drawer{display:none !important}

  .card{
    padding:14px;
    border-radius:16px;
    margin-bottom:12px;
  }

  .row{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .f{min-width:0}
  input,select,textarea{font-size:16px}

  /* Normalise all dense grids into clean single-column mobile stacks */
  .mg,
  .pipe-hero-grid,
  .hist-stat-grid,
  .trip-meta-grid,
  .hdb-summary,
  .adb-summary,
  .itin-hero-grid,
  .itin-hero-side,
  .itin-pricing-grid,
  .db-summary-grid,
  .settings-grid,
  .summary-grid,
  .meta-grid,
  .stats-grid{
    grid-template-columns:1fr !important;
  }

  #s-quote .quote-shell,
  .pipeline-top,
  .pipeline-board,
  .history-grid,
  .hdb-filters,
  .hdb-grid,
  .adb-filters,
  .adb-grid,
  .itin-hero-wrap,
  .itin-day-grid,
  .ar,
  .two-col,
  .three-col,
  .four-col,
  .split,
  .split-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px;
  }

  #s-quote .quote-shell{gap:0}
  #s-quote .quote-topbar{
    position:sticky;
    top:72px;
    z-index:50;
    border-radius:16px;
  }

  .dc{border-radius:16px}
  .dh{padding:14px}
  .db{padding:14px}

  table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

  .mob-nav{display:flex !important}
  .mob-more-drawer{z-index:220}
}

@media(max-width:560px){
  .mg{grid-template-columns:1fr !important}
}

@media(max-width:400px){
  .app{padding-left:10px;padding-right:10px}
  .mob-nav-item,.mob-nav-more-btn{font-size:8px}
  .mob-nav-item .ico,.mob-nav-more-btn .ico{font-size:16px}
}



/* ===== MOBILE COMPACT FORM PASS ===== */
@media(max-width:720px){
  .card{padding:12px 12px 11px;border-radius:16px}
  .sl{margin-bottom:10px}
  .row{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 10px;
    align-items:end;
  }
  .row>.f,
  .row>#fxBox,
  .row>#kidsDiv{
    min-width:0 !important;
    max-width:none !important;
    width:100% !important;
  }
  .f{gap:4px}
  .f label,
  #fxBox label{font-size:10px;letter-spacing:.02em}
  input,select,textarea{padding:8px 10px;border-radius:11px}
  .btn,.btn-sm,.btn-teal,.btn-blue{min-height:40px}
  .btn-sm{padding:8px 12px}

  .row>div:last-child:not(.f){
    grid-column:1 / -1;
    justify-self:end;
    padding-bottom:0 !important;
  }

  /* Full-width fields that read better stacked */
  .f--cName,
  .f--cWA,
  .f--tRef,
  .f--audCurr,
  .f--curr,
  .f--indicativeBox,
  .f--roomingMode,
  .f--vehicleRecommend,
  .f--vehicle,
  .f--guideType,
  .f--cf_name,
  .f--cf_wa,
  .f--cf_email,
  .f--textarea,
  #kidsDiv{
    grid-column:1 / -1;
  }

  #fxBox{grid-column:span 1}

  /* Make compact numeric/date controls feel tighter */
  .f--nights,
  .f--expiry,
  .f--fuDate,
  .f--adults,
  .f--children,
  .f--fxRate,
  .f--markup,
  .f--mUSD,
  .f--rmDouble,
  .f--rmTriple,
  .f--rmSingle,
  .f--supFlat,
  .f--supPP,
  .f--supPD,
  .f--tMode,
  .f--tCalcStyle,
  .f--tDays,
  .f--tKm,
  .f--gDays{
    grid-column:span 1;
  }

  /* Notes blocks should not dominate vertical space */
  .f-note-block{
    font-size:11px !important;
    line-height:1.35 !important;
    padding:8px 10px !important;
  }
  #indicativeBox{padding:9px 10px !important;font-size:11px !important;line-height:1.35 !important}

  /* Totals chips */
  #tTotal,#gTotal{font-size:12px;padding:6px 12px}
}

@media(max-width:420px){
  .row{grid-template-columns:1fr 1fr}
  .f--checkin,
  .f--checkout,
  .f--expiry,
  .f--fuDate,
  .f--audCurr,
  .f--curr,
  .f--roomingMode,
  .f--vehicle,
  .f--guideType,
  .f--tCalcStyle,
  .f--tMode,
  .f--indicativeBox{
    grid-column:1 / -1;
  }
}



/* ===== DESKTOP / TABLET COMPACT LAYOUT PASS ===== */
@media (min-width: 721px){
  .mob-nav,.mob-more-drawer{display:none !important}
  .app{max-width:1560px;padding:18px 20px}
  .card{padding:16px 16px 14px}
  .sl{margin-bottom:10px}
  input,select,textarea{padding:9px 11px}
  .btn,.btn-teal,.btn-blue{min-height:40px}
  .btn-sm{min-height:36px}

  #s-quote .quote-shell{
    grid-template-columns:minmax(0,1.55fr) minmax(360px,.95fr);
    gap:16px;
    align-items:start;
  }
  #s-quote .quote-main,
  #s-quote .quote-side{min-width:0}
  #s-quote .quote-side .sticky-stack{gap:14px}
  #s-quote .section-head{margin-bottom:2px}

  .row{
    display:grid !important;
    gap:12px;
    align-items:end;
  }
  .row > .f,
  .row > #fxBox{
    min-width:0 !important;
    max-width:none !important;
    width:100% !important;
  }
  .f{min-width:0;gap:5px}

  #quoteHeaderActions{
    display:flex !important;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
  }
  #quoteHeaderActions > select{
    min-width:124px;
    flex:0 0 124px;
  }
  #quoteHeaderActions > button{
    flex:0 0 auto;
  }

  #draftStudioActions{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    align-items:stretch;
  }
  #draftStudioActions > .btn,
  #draftStudioActions > .btn-teal,
  #draftStudioActions > .btn-blue{
    width:100%;
    justify-content:center;
    text-align:center;
    margin-left:0 !important;
  }

  .proposal-editor{min-height:320px}
  #quoteTotalsCard .mg{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tierComp{grid-template-columns:repeat(3,minmax(0,1fr)) !important}

  .days-shell{gap:14px}
  .itin-day-card{margin-bottom:0}
  .pipeline-top,.history-grid{gap:14px}
  .pcol{min-height:360px}
  .hdb-list,.adb-list{gap:10px}
  .hdb-body,.adb-body{padding:16px}
  .hdb-grid{grid-template-columns:1.7fr 1fr .9fr .95fr .95fr}
  .adb-grid{grid-template-columns:1.6fr 1fr .8fr 1fr}
  /* Cities grid now handled by .cty-grid rule — legacy override removed */
  #clientStats{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
}
/* Legacy .mdb-cities-grid override removed — .cty-grid now authoritative */


@media (min-width: 1024px){
  .row{grid-template-columns:repeat(6,minmax(0,1fr))}
  .f--cName,
  .f--cWA,
  .f--tRef,
  .f--checkin,
  .f--checkout,
  .f--expiry,
  .f--fuDate,
  .f--adults,
  .f--children,
  .f--curr,
  .f--audCurr,
  #fxBox,
  .f--markup,
  .f--mUSD,
  .f--rmDouble,
  .f--rmTriple,
  .f--rmSingle,
  .f--supFlat,
  .f--supPP,
  .f--supPD,
  .f--tMode,
  .f--tCalcStyle,
  .f--tDays,
  .f--tKm,
  .f--gDays,
  .f--bPax,
  .f--bTier,
  .f--bMyPrice{
    grid-column:span 1;
  }
  .f--indicativeBox,
  .f--roomingMode,
  .f--vehicleRecommend,
  .f--vehicle,
  .f--guideType,
  .f--waTone,
  .f--waDetail,
  .f--waHighlights,
  .f--waPriceMode,
  .f--waTier,
  .f--cf_name,
  .f--cf_wa,
  .f--cf_email,
  .f--vHotel,
  .f--vGuest,
  .f--vCheckIn,
  .f--vCheckOut,
  .f--vRType,
  .f--vBoard,
  .f--bDest{
    grid-column:span 2;
  }
  .f--textarea,
  .f-note-block{
    grid-column:span 3;
  }
  .f--actions-end{
    display:flex;
    justify-content:flex-end;
    align-items:flex-end;
  }
}

@media (min-width: 721px) and (max-width: 1023px){
  .row{grid-template-columns:repeat(4,minmax(0,1fr))}
  .f--cName,
  .f--cWA,
  .f--tRef,
  .f--checkin,
  .f--checkout,
  .f--expiry,
  .f--fuDate,
  .f--curr,
  .f--audCurr,
  .f--indicativeBox,
  .f--roomingMode,
  .f--vehicleRecommend,
  .f--vehicle,
  .f--guideType,
  .f--waTone,
  .f--waDetail,
  .f--waHighlights,
  .f--waPriceMode,
  .f--waTier,
  .f--bDest,
  .f--textarea{
    grid-column:span 2;
  }
  .f--actions-end{
    grid-column:span 1;
    display:flex;
    justify-content:flex-end;
    align-items:flex-end;
  }
  #quoteTotalsCard .mg{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pipeline-board{grid-template-columns:repeat(3,minmax(220px,1fr))}
  .hdb-filters,.adb-filters{grid-template-columns:1fr 1fr}
  .hdb-grid,.adb-grid{grid-template-columns:1fr 1fr}
}

/* ═══ GUEST VARIANT BUILDER ════════════════════════════ */
#vb-overlay{display:none;position:fixed;inset:0;z-index:8000;background:#F6F1E8;overflow-y:auto;font-family:'Roboto',sans-serif}
#vb-overlay.open{display:block}
.vb-topbar{position:sticky;top:0;z-index:100;background:rgba(246,241,232,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--b1);display:flex;align-items:center;gap:14px;padding:14px 24px;flex-wrap:wrap}
.vb-topbar-brand{font-family:var(--fd);font-size:22px;font-weight:600;color:var(--t1);white-space:nowrap}
.vb-topbar-label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dn);background:#f7f0df;border:1px solid #e8d49a;border-radius:999px;padding:5px 12px;white-space:nowrap}
.vb-compass{display:flex;align-items:center;gap:10px;margin-left:auto;background:var(--bg-1);border:1px solid var(--b1);border-radius:14px;padding:10px 16px}
.vb-compass-arrow{font-size:22px;font-weight:900;line-height:1}
.vb-compass-arrow.up{color:#c0392b}.vb-compass-arrow.down{color:var(--green)}.vb-compass-arrow.flat{color:#8c7f73}
.vb-compass-label{font-size:12px;font-weight:800;color:var(--t1)}
.vb-compass-sub{font-size:11px;color:#8c7f73}
.vb-topbar-actions{display:flex;gap:8px;flex-wrap:wrap}
.vb-btn{display:inline-flex;align-items:center;gap:7px;padding:11px 20px;border-radius:999px;font-size:13px;font-weight:800;cursor:pointer;border:none;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}
.vb-btn-ghost{background:var(--bg-1);border:1px solid var(--b1);color:#5c544a}.vb-btn-ghost:hover{background:#f5f0e8;transform:translateY(-1px)}
.vb-btn-gold{background:linear-gradient(135deg,#D4A843,var(--accent-dn));color:var(--bg-1);box-shadow:0 4px 16px rgba(139,105,20,.22)}.vb-btn-gold:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(139,105,20,.32)}
.vb-body{max-width:1100px;margin:0 auto;padding:28px 24px 120px}
.vb-intro{margin-bottom:28px}
.vb-intro h2{font-family:var(--fd);font-size:38px;font-weight:600;line-height:1;margin:0 0 8px}
.vb-intro p{font-size:14px;color:var(--t3);line-height:1.65;max-width:680px}
.vb-expiry-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:#fff8eb;border:1px solid #f0cf90;font-size:12px;font-weight:800;color:#9b640e;margin-top:10px}
.vb-days-list{display:flex;flex-direction:column;gap:12px}
.vb-day{background:var(--bg-1);border:1px solid #e8dfd3;border-radius:22px;overflow:hidden;box-shadow:0 2px 12px rgba(26,23,20,.05);transition:box-shadow .15s}
.vb-day.drag-over{border-color:var(--accent);box-shadow:0 0 0 3px rgba(212,168,67,.18)}
.vb-day.dragging{opacity:.5;transform:rotate(.8deg)}
.vb-day-head{display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(180deg,var(--bg-1),#f7f1e8);cursor:pointer;border-bottom:1px solid transparent;transition:background .15s;flex-wrap:wrap}
.vb-day.open .vb-day-head{border-bottom-color:#ede4d8}
.vb-day-head:hover{background:linear-gradient(180deg,#faf5ef,#f1ead8)}
.vb-drag-handle{cursor:grab;color:#c4b8a8;font-size:18px;padding:4px 2px;display:flex;align-items:center;flex-shrink:0;user-select:none;-webkit-user-select:none}
.vb-drag-handle:active{cursor:grabbing}
.vb-day-num{width:38px;height:38px;border-radius:999px;flex-shrink:0;background:#f3ebdb;border:1px solid #e0ceaa;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;color:#7b642f}
.vb-day-info{flex:1;min-width:0}
.vb-day-title{font-size:15px;font-weight:800;color:var(--t1);line-height:1.2}
.vb-day-meta{font-size:12px;color:var(--t4);margin-top:2px}
.vb-day-chips{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.vb-tier-chip{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;border:1px solid;white-space:nowrap}
.vb-day-toggle{width:34px;height:34px;border-radius:999px;border:1px solid #e6d8c8;background:var(--bg-1);display:flex;align-items:center;justify-content:center;font-size:16px;color:#7b642f;transition:transform .18s,background .18s;flex-shrink:0}
.vb-day.open .vb-day-toggle{transform:rotate(180deg);background:#f7f2e8}
.vb-day-body{display:none;padding:20px}
.vb-day.open .vb-day-body{display:block}
.vb-section{margin-bottom:20px}.vb-section:last-child{margin-bottom:0}
.vb-section-label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);margin-bottom:10px}
.vb-city-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.vb-city-tag{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#eef3f8;border:1px solid #c8d4e0;color:#4A6580;font-size:12px;font-weight:800}
.vb-city-tag button{background:none;border:none;cursor:pointer;color:var(--t4);font-size:15px;line-height:1;padding:0}
.vb-city-tag button:hover{color:#c0392b}
.vb-add-city-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.vb-select{padding:9px 12px;border:1px solid var(--b1);border-radius:12px;font-size:13px;font-family:'Roboto',sans-serif;background:var(--bg-1);color:var(--t1);font-weight:700;cursor:pointer}
.vb-add-btn{display:inline-flex;align-items:center;gap:5px;padding:9px 14px;border-radius:999px;background:var(--bg-1);border:1px solid var(--b1);font-size:12px;font-weight:800;cursor:pointer;color:#5c544a;transition:background .15s,color .15s,border-color .15s}
.vb-add-btn:hover{background:#f5f0e8;border-color:#d4c9b8}
.vb-hotel-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.vb-hotel-card{border:2px solid #ede4d8;border-radius:18px;padding:14px;background:var(--bg-1);cursor:pointer;transition:background .18s,box-shadow .18s,border-color .18s}
.vb-hotel-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 6px 18px rgba(212,168,67,.12)}
.vb-hotel-card.vbsel{border-color:var(--accent);background:linear-gradient(180deg,#fffdf7,#fdf5e0);box-shadow:0 6px 18px rgba(212,168,67,.16)}
.vb-hotel-card.vbsel-budget{border-color:var(--green);background:linear-gradient(180deg,#f3fbf7,#eaf5f1)}
.vb-hotel-card.vbsel-luxury{border-color:var(--accent-dn);background:linear-gradient(180deg,#fffdf7,#fdf5e0)}
.vb-hotel-tier-label{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.vb-hotel-name{font-size:14px;font-weight:800;color:var(--t1);line-height:1.3;margin-bottom:4px}
.vb-hotel-sub{font-size:11px;color:var(--t4)}
.vb-hotel-delta{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:11px;font-weight:800;padding:4px 9px;border-radius:999px}
.vb-delta-up{background:#fff0f0;color:#c0392b;border:1px solid #f5c6c6}
.vb-delta-down{background:#eaf5f0;color:var(--green);border:1px solid #b8e0d2}
.vb-delta-flat{background:#f5f5f5;color:#8c7f73;border:1px solid #e5e5e5}
.vb-act-list{display:flex;flex-direction:column;gap:8px}
.vb-act-row{display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--bg-1);border:1px solid #ede4d8;border-radius:14px;flex-wrap:wrap}
.vb-act-name{font-size:13px;font-weight:700;color:var(--t1);flex:1;min-width:0}
.vb-act-remove{background:none;border:none;cursor:pointer;color:#c4b8a8;font-size:18px;line-height:1;padding:2px 6px;border-radius:8px;transition:background .15s,color .15s,border-color .15s}
.vb-act-remove:hover{background:#fff0f0;color:#c0392b}
.vb-submit-bar{position:fixed;bottom:0;left:0;right:0;z-index:8100;background:rgba(255,255,255,.98);backdrop-filter:blur(14px);border-top:1px solid var(--b1);padding:14px 24px calc(14px + env(safe-area-inset-bottom));display:none}
#vb-overlay.open .vb-submit-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.vb-submit-summary{flex:1;min-width:0}
.vb-submit-title{font-size:14px;font-weight:800;color:var(--t1)}
.vb-submit-sub{font-size:12px;color:var(--t4);margin-top:2px}
.variant-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:#f0e8ff;color:#6b47c4;border:1px solid #d9c5ff;cursor:pointer}
#variantReviewModal{display:none;position:fixed;inset:0;z-index:9500;align-items:center;justify-content:center;background:rgba(26,23,20,.55);backdrop-filter:blur(4px)}
#variantReviewModal.open{display:flex}
.variant-review-box{background:var(--bg-1);border-radius:24px;max-width:700px;width:100%;max-height:88vh;overflow-y:auto;padding:28px;box-shadow:0 24px 64px rgba(26,23,20,.18)}
.variant-review-box h3{font-size:20px;font-weight:800;margin:0 0 16px}
.vr-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid #f0e8dc;font-size:13px;flex-wrap:wrap}
.vr-row:last-child{border-bottom:none}
.vr-label{font-weight:700;color:var(--t3)}.vr-val{font-weight:800;color:var(--t1);text-align:right}
@media(max-width:720px){
  .vb-topbar{padding:10px 14px;gap:8px}
  .vb-body{padding:16px 12px 120px}
  .vb-hotel-tiers{grid-template-columns:1fr}
  .vb-intro h2{font-size:28px}
  .vb-compass{display:none}
}

.vb-journey-shell{display:flex;flex-direction:column;gap:18px}
.vb-journey-top{display:flex;flex-direction:column;gap:16px}
.vb-route-strip{display:flex;gap:10px;flex-wrap:wrap}
.vb-route-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:var(--bg-1);border:1px solid #e8dfd3;font-size:12px;font-weight:800;color:var(--t1);box-shadow:0 2px 10px var(--b0)}
.vb-route-pill small{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--t4)}
.vb-builder-tools{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.vb-tool-card,.vb-side-card{background:var(--bg-1);border:1px solid #e8dfd3;border-radius:22px;padding:18px 18px 16px;box-shadow:0 2px 12px rgba(26,23,20,.05)}
.vb-tool-eyebrow,.vb-side-eyebrow{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);margin-bottom:8px}
.vb-tool-title,.vb-side-title{font-size:18px;font-weight:900;color:var(--t1);line-height:1.2;margin-bottom:6px}
.vb-tool-copy,.vb-side-copy{font-size:13px;line-height:1.65;color:var(--t3)}
.vb-main-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;align-items:start}
.vb-sidepanel{position:sticky;top:92px;display:flex;flex-direction:column;gap:14px}
.vb-side-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.vb-side-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid #f0e8dc}
.vb-side-row:last-child{border-bottom:none;padding-bottom:0}
.vb-side-row strong{font-size:13px;color:var(--t1)}
.vb-side-row span{font-size:12px;color:var(--t4);text-align:right}
.vb-guide-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.vb-guide-card{padding:12px 13px;border-radius:16px;background:var(--bg-1);border:1px solid var(--b1)}
.vb-guide-card strong{display:block;font-size:13px;color:var(--t1);margin-bottom:4px}
.vb-guide-card span{display:block;font-size:12px;line-height:1.55;color:var(--t3)}
.vb-day-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.vb-mini-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:999px;background:var(--bg-1);border:1px solid var(--b1);font-size:11px;font-weight:900;letter-spacing:.03em;color:#5c544a;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.vb-mini-btn:hover{background:#f6f1e9;border-color:#d8cab5;transform:translateY(-1px)}
.vb-mini-btn.warn{color:#a64b39;border-color:#efc7bd;background:#fff8f6}
.vb-stop-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.75fr);gap:14px}
.vb-guide-box{background:var(--bg-1);border:1px solid var(--b1);border-radius:18px;padding:14px}
.vb-guide-box h4{font-size:13px;font-weight:900;color:var(--t1);margin:0 0 8px}
.vb-guide-box p{font-size:12px;line-height:1.65;color:var(--t3);margin:0 0 10px}
.vb-suggestion-row{display:flex;gap:8px;flex-wrap:wrap}
.vb-suggestion-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:var(--bg-1);border:1px solid var(--b1);font-size:11px;font-weight:800;color:#4A6580;cursor:pointer}
.vb-suggestion-chip:hover{border-color:#c8d4e0;background:#eef3f8}
.vb-hotel-ideas{display:flex;flex-direction:column;gap:8px}
.vb-hotel-idea{padding:10px 11px;border-radius:14px;background:var(--bg-1);border:1px solid #ede4d8}
.vb-hotel-idea-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:5px}
.vb-hotel-idea strong{font-size:12px;color:var(--t1);line-height:1.4}
.vb-hotel-idea span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dn);background:#fbf3e3;border:1px solid #eed9a6;border-radius:999px;padding:3px 8px;white-space:nowrap}
.vb-hotel-idea p{font-size:11px;line-height:1.55;color:var(--t3);margin:0}

.vb-current-box{background:var(--bg-1);border:1px solid var(--b1);border-radius:16px;padding:12px 14px;margin:8px 0 12px}
.vb-current-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.vb-current-title{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--t4)}
.vb-current-badge{font-size:10px;font-weight:800;padding:4px 8px;border-radius:999px;background:#eef3fb;color:#56708a;border:1px solid #d3dce7}
.vb-current-note{font-size:12px;line-height:1.5;color:#7b7064;background:#fbf7ef;border:1px solid #eadfce;border-radius:12px;padding:10px 12px;margin-bottom:10px}
.vb-current-grid{display:grid;grid-template-columns:110px 1fr;gap:8px 10px;font-size:12px;align-items:start}
.vb-current-key{font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--t4)}
.vb-current-val{color:var(--t1);line-height:1.5}

.vb-day-empty{font-size:12px;color:#b0a99e}
@media(max-width:980px){.vb-main-grid{grid-template-columns:1fr}.vb-sidepanel{position:static}.vb-builder-tools{grid-template-columns:1fr}}


/* Day cards responsive refinement */
.vb-day-head{display:grid;grid-template-columns:18px minmax(62px,auto) minmax(0,1fr) auto auto;align-items:center;column-gap:12px;row-gap:8px;flex-wrap:unset}
.vb-day-num{width:auto;min-width:62px;height:auto;min-height:44px;padding:8px 10px;border-radius:18px;line-height:1.05;text-align:center;white-space:normal}
.vb-day-info{align-self:center}
.vb-day-title{font-size:18px;line-height:1.12}
.vb-day-meta{font-size:13px;line-height:1.35}
.vb-day-chips{margin-left:0;justify-content:flex-end;align-items:center}
.vb-day-toggle{width:38px;height:38px}
.vb-tier-chip{padding:6px 11px}

@media(max-width:980px){
  .vb-day-head{grid-template-columns:18px minmax(58px,auto) minmax(0,1fr) auto;align-items:start}
  .vb-day-toggle{grid-column:4;grid-row:1 / span 2;align-self:center}
  .vb-day-chips{grid-column:3;grid-row:2;justify-content:flex-start}
}

@media(max-width:720px){
  .vb-day{border-radius:20px}
  .vb-day-head{padding:14px 14px 12px;grid-template-columns:14px 50px minmax(0,1fr) 40px;column-gap:10px;row-gap:6px}
  .vb-drag-handle{font-size:16px;padding:2px 0;align-self:center}
  .vb-day-num{min-width:50px;min-height:50px;padding:6px 6px;font-size:11px;border-radius:16px}
  .vb-day-info{min-width:0;padding-right:4px}
  .vb-day-title{font-size:16px;line-height:1.1;word-break:break-word}
  .vb-day-meta{font-size:12px;line-height:1.25;word-break:break-word}
  .vb-day-chips{grid-column:3 / 4;grid-row:2;justify-content:flex-start;gap:6px;min-width:0}
  .vb-tier-chip{font-size:10px;padding:6px 10px;max-width:100%}
  .vb-day-toggle{grid-column:4;grid-row:1 / span 2;width:40px;height:40px;justify-self:end}
  .vb-day-body{padding:16px 14px}
}

/* ── Finance card & price cards ── */
#financeCard{border-left:3px solid var(--accent-up)}
.price-card-active{box-shadow:0 0 0 3px var(--green-bg)!important}
#priceCardPanel>div:hover{filter:brightness(.97)}
#marginZoneBadge{transition:background .3s,color .3s}

/* ── Commercial breakdown tables ── */
.breakdown-section{margin-bottom:12px}
.breakdown-section:last-child{margin-bottom:0}
.breakdown-head{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);padding:6px 0 4px;border-bottom:2px solid var(--b1);margin-bottom:6px}
.breakdown-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid var(--b1)}
.breakdown-row:last-of-type{border-bottom:none}
.bd-left{flex:1;min-width:0}
.bd-name{font-size:12px;font-weight:700;color:var(--t1);line-height:1.3}
.bd-meta{font-size:11px;color:var(--t4);margin-top:1px;line-height:1.3}
.bd-stars{font-size:10px;color:var(--accent)}
.bd-tier{font-size:10px;font-weight:800;margin-left:6px;padding:1px 6px;border-radius:4px;background:var(--green-bg)}
.bd-right{text-align:right;flex-shrink:0}
.bd-rate{font-size:11px;color:var(--t4)}
.bd-sub{font-size:13px;font-weight:800;color:var(--t1)}
.breakdown-total{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;border-radius:8px;background:var(--accent-ghost);margin-top:6px;font-size:12px;font-weight:800;color:var(--accent-dn)}
/* ── Sidebar card compact overrides ── */
#s-quote .quote-side .card{font-size:13px}
#s-quote .quote-side .card .sl{font-size:12px}
/* ── Sidebar sticky scroll ── */
#s-quote .quote-side .sticky-stack{
  position:sticky;
  top:16px;
}
#s-quote .quote-side .sticky-stack::-webkit-scrollbar{width:4px}
#s-quote .quote-side .sticky-stack::-webkit-scrollbar-thumb{background:var(--b1);border-radius:99px}
/* ── Quote shell wider sidebar for cost controls ── */
@media(min-width:721px){
  #s-quote .quote-shell{
    grid-template-columns: minmax(0,1.6fr) minmax(320px,.85fr);
  }
}

/* ── Public quote page improvements ── */
.pq-section{margin-bottom:40px}
.pq-section-head{margin-bottom:22px}
.pq-section-head h2{margin-bottom:8px}
.pq-section-head p{margin-top:4px;line-height:1.6;max-width:560px}

/* Price card v2 — 2-card Flex/Premium layout */
.pq-price-v2{display:flex;flex-direction:column;gap:0}
.pq-price-v2 .t{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.pq-price-v2 .amt{font-size:44px;line-height:1}
.pq-price-v2 .ppa{margin-top:6px;font-size:14px;color:#6d6258}
.pq-price-v2 .desc{font-size:14px;color:#6d6258;line-height:1.65;margin-bottom:16px}

/* Indicative inline line */
.pq-ind-line{font-size:12px;font-weight:700;color:var(--t4);margin-top:6px;margin-bottom:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pq-ind-tag{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:#f0ebe3;color:#8a7d6e;border:1px solid #e0d8cc}

/* Price card divider */
.pq-price-divider{height:1px;background:#ede8e0;margin:14px 0}

/* Mini list improvements */
.pq-mini-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.pq-mini-list>div{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:6px 0;border-bottom:1px solid #f0ebe3}
.pq-mini-list>div:last-child{border-bottom:none}
.pq-mini-list span{color:#8c7f73;font-weight:500}
.pq-mini-list strong{color:var(--t1);font-weight:800}

/* Hero image always visible */
.pq-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
.pq-hero-media{min-height:400px}

/* Pricing grid centering for 2 cards */
.pq-pricing{margin:0 auto}

/* Flex type teal accent */
.pq-price-type-flex{color:var(--green) !important}

/* ── Destination stop cards with image ── */
.pq-stop-img{border:none !important;min-height:130px;display:flex;flex-direction:column;justify-content:flex-end}
.pq-stop-img .n,.pq-stop-img .c,.pq-stop-img .s{text-shadow:0 1px 3px rgba(0,0,0,.4)}
.pq-stop-img .c{font-size:22px !important}

/* ── Activity note in price cards ── */
.pq-act-note{font-size:12px;font-weight:700;padding:8px 10px;border-radius:8px;margin:8px 0;display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap;line-height:1.5}
.pq-act-excl{background:#fdf4f4;color:#b04040;border:1px solid #f5ccc8}
.pq-act-incl{background:#f0f9f5;color:var(--green);border:1px solid #c8e2da}
.pq-act-x{font-size:14px;font-weight:900;flex-shrink:0;margin-top:-1px}
.pq-act-chk{font-size:14px;font-weight:900;flex-shrink:0;margin-top:-1px}
.pq-act-label{font-weight:800;white-space:nowrap}
.pq-act-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(26,107,90,.1);border:1px solid rgba(26,107,90,.2);margin:1px 2px}

/* ── Public page topbar refinements ── */
.pq-ref-pill{font-size:11px;font-weight:700;padding:8px 14px;letter-spacing:.04em}
.pq-wa-topbtn{background:linear-gradient(135deg,#25D366,#128C7E) !important;color:var(--bg-1) !important;font-size:12px !important;padding:10px 18px !important;white-space:nowrap;border:none !important}
.pq-topbar{grid-template-columns:auto 1fr auto;gap:16px}
.pq-nav-links{gap:6px}
.pq-nav-link{padding:9px 13px;font-size:11px}
.pq-top-meta{gap:10px;flex-wrap:nowrap;align-items:center}
/* ── Footer cleanup ── */
.pq-footer-main{grid-template-columns:1.6fr 1fr 1fr !important;gap:32px;padding:36px 36px 28px}
.pq-footer-brand{display:flex;flex-direction:column;gap:14px}
.pq-footer-tag{font-family:var(--fd);font-size:20px;line-height:1.3;color:var(--t1);margin:0}
.pq-socials{display:flex;gap:12px;align-items:center}
.pq-socials a{width:40px;height:40px;border-radius:50%;background:var(--t1);color:var(--bg-1);text-decoration:none;display:flex;align-items:center;justify-content:center;transition:opacity .15s;flex-shrink:0}
.pq-socials a:hover{opacity:.7}
.pq-footer-col h4{font-family:var(--fd);font-size:18px;font-weight:600;margin:0 0 14px;color:var(--t1)}
.pq-footer-col a{display:block;font-size:13px;color:#5f564c;text-decoration:none;margin-bottom:10px;transition:color .15s;line-height:1.4}
.pq-footer-col a:hover{color:var(--t1)}
.pq-footer-bottom{padding:16px 36px;background:#f0ebe2;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #e3d8cb;font-size:11px;color:var(--t4)}
@media(max-width:860px){.pq-footer-main{grid-template-columns:1fr 1fr !important;gap:24px;padding:26px}.pq-footer-brand{grid-column:1/-1}}
@media(max-width:600px){.pq-footer-main{grid-template-columns:1fr !important;padding:20px 18px}.pq-topbar{grid-template-columns:1fr !important;gap:10px;justify-items:center}.pq-nav-links{flex-wrap:wrap;justify-content:center}.pq-top-meta{justify-content:center;width:100%}.pq-footer-bottom{padding:12px 18px;flex-direction:column;text-align:center;gap:4px}}

.pq-hotel-primary-name{font-size:22px;font-weight:800;color:var(--t1);margin-bottom:8px;line-height:1.2}
.pq-selected-chip{background:#eaf5f1;color:var(--green);border:1px solid #c8e2da;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:800}
.pq-hotel-alts{margin-top:14px;padding-top:12px;border-top:1px solid #ede8e0}
.pq-alts-label{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);margin-bottom:8px}
.pq-alt-row{display:flex;align-items:center;gap:6px;padding:7px 0;border-bottom:1px solid #f5f0e8;font-size:12px;flex-wrap:nowrap;overflow:hidden}
.pq-alt-row:last-child{border-bottom:none}
.pq-alt-tier{font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;background:#f9f5ef;border:1px solid #e8dfd3;color:var(--accent-dn);text-transform:uppercase;white-space:nowrap}
.pq-alt-name{font-weight:700;color:var(--t1);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pq-alt-sub{color:var(--t4);font-size:11px;white-space:nowrap;flex-shrink:0}

@media(max-width:480px){.draft-action-grid{grid-template-columns:1fr 1fr !important}}


/* ==============================================================
   BLOCK 3: Builder v5 Styles (originally lines 3494-3625)
   ============================================================== */

#s-quote .quote-topbar{margin-bottom:18px!important}
#s-quote 
/* ── Hero card collapsible ── */
.builder-v5-hero-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.builder-v5-hero-collapse{appearance:none;border:1px solid var(--b1);border-radius:999px;background:var(--bg-1);
  padding:6px 12px;font-size:11px;font-weight:800;color:var(--accent);cursor:pointer;
  white-space:nowrap;flex-shrink:0;transition:background .15s,color .15s,border-color .15s;margin-top:2px}
.builder-v5-hero-collapse:hover{background:var(--bg-2);border-color:var(--b2)}
.builder-v5-hero.hero-collapsed .builder-v5-headline,
.builder-v5-hero.hero-collapsed .builder-v5-sub,
.builder-v5-hero.hero-collapsed .builder-v5-meta{display:none}
.builder-v5-hero.hero-collapsed{padding:12px 18px}
.builder-v5-hero.hero-collapsed .builder-v5-kicker{margin-bottom:0}
.builder-v5-hero.hero-collapsed .builder-v5-hero-inner{align-items:center}
.builder-v5-shell{display:flex;flex-direction:column;gap:18px}
#s-quote .builder-v5-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--b1);border-radius:22px;background:linear-gradient(180deg,var(--bg-1),var(--bg-2));box-shadow:var(--sh2)}
#s-quote .builder-v5-actions-left{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#s-quote .builder-v5-actions-right{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-left:auto}
#s-quote .builder-v5-toggle{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border-radius:999px;border:1px solid var(--b2);background:var(--bg-1);color:var(--t2);font-weight:800;font-size:12px;cursor:pointer}
#s-quote .builder-v5-hero.card{padding:20px 22px 18px;border-radius:26px;background:linear-gradient(180deg,var(--bg-1) 0%,var(--bg-2) 100%);border:1px solid var(--b1);box-shadow:var(--sh3)}
#s-quote .builder-v5-kicker{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
#s-quote .builder-v5-headline{font-family:var(--fd);font-size:42px;line-height:.95;letter-spacing:-.03em;color:var(--t1);margin:0 0 8px}
#s-quote .builder-v5-sub{font-size:14px;line-height:1.7;color:var(--t3);max-width:720px}
#s-quote .builder-v5-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
#s-quote .builder-v5-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;border:1px solid var(--b1);background:var(--bg-1);font-size:11px;font-weight:700;color:var(--t3)}
#s-quote .builder-v5-grid{display:grid;grid-template-columns:minmax(0,1.68fr) minmax(320px,.82fr);gap:24px;align-items:start}
#s-quote .builder-v5-main,#s-quote .builder-v5-side{min-width:0}
#s-quote .builder-v5-side .sticky-stack{position:sticky;top:70px;display:flex;flex-direction:column;gap:18px}
#s-quote .builder-v5-section{display:flex;flex-direction:column;gap:16px}
#s-quote .builder-v5-section + .builder-v5-section{margin-top:8px}
#s-quote .builder-v5-stage{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
#s-quote .builder-v5-stage-left{display:flex;align-items:flex-start;gap:12px;min-width:0}
#s-quote .builder-v5-step{width:38px;height:38px;border-radius:999px;border:1px solid var(--accent-ring);background:var(--accent-ghost);color:var(--accent-dn);font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
#s-quote .builder-v5-stage h2{margin:0;font-family:var(--fd);font-size:34px;line-height:1;color:var(--t1)}
#s-quote .builder-v5-stage p{margin:5px 0 0;font-size:13px;line-height:1.65;color:var(--t3);max-width:620px}
#s-quote .builder-v5-cardstack{display:flex;flex-direction:column;gap:16px}
#s-quote .builder-v5-collapsible{border:1px solid var(--b1);border-radius:24px;background:linear-gradient(180deg,var(--bg-1) 0%,var(--bg-2) 100%);box-shadow:0 12px 30px var(--b0);overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}
#s-quote .builder-v5-collapsible.is-open{border-color:var(--b2);box-shadow:0 16px 34px var(--b1)}
#s-quote .builder-v5-collapsible.is-active{transform:translateY(-1px)}
#s-quote .builder-v5-header{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:18px 18px 16px;background:transparent;border:none;cursor:pointer;text-align:left}
#s-quote .builder-v5-headcopy{min-width:0}
#s-quote .builder-v5-title{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
#s-quote .builder-v5-title.hero{font-family:var(--fd);font-size:24px;line-height:1.02;letter-spacing:-.02em;text-transform:none;color:var(--t1);font-weight:700}
#s-quote .builder-v5-subcopy{margin-top:4px;font-size:13px;line-height:1.6;color:var(--t3)}
#s-quote .builder-v5-summary{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
#s-quote .builder-v5-chip{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;border:1px solid var(--b1);background:var(--bg-1);font-size:11px;font-weight:800;color:var(--t3);white-space:nowrap}
#s-quote .builder-v5-chip.muted{color:var(--t4)}
#s-quote .builder-v5-chevron{width:40px;height:40px;border-radius:999px;border:1px solid var(--b2);background:var(--bg-1);color:var(--accent-dn);display:flex;align-items:center;justify-content:center;font-size:15px;flex:0 0 auto;transition:transform .2s ease,background .2s ease}
#s-quote .builder-v5-collapsible.is-open .builder-v5-chevron{transform:rotate(180deg);background:var(--bg-2)}
#s-quote .builder-v5-body{padding:0 18px 18px;max-height:0;overflow:hidden;opacity:0;transition:max-height .24s ease,opacity .18s ease,padding-top .18s ease}
#s-quote .builder-v5-collapsible.is-open .builder-v5-body{opacity:1;padding-top:2px}
#s-quote .builder-v5-card-body > .card,
#s-quote .builder-v5-card-body > .builder-v4-band,
#s-quote .builder-v5-card-body > .builder-v4-journeyhero.card,
#s-quote .builder-v5-card-body > .builder-v4-mapcanvas-card.card{margin:0!important;box-shadow:none!important;border:none!important;background:transparent!important}
#s-quote .builder-v5-card-body .card{border-radius:0}
#s-quote .builder-v5-card-body #financeCard,
#s-quote .builder-v5-card-body #profitTrackerCard,
#s-quote .builder-v5-card-body .builder-v4-mergedcard,
#s-quote .builder-v5-card-body #roomingCard{padding:0}
#s-quote .builder-v5-daywrap{display:flex;flex-direction:column;gap:14px}
#s-quote .day-toolbar{margin:0;padding:0}
#s-quote .day-title-xl{font-family:var(--fd);font-size:36px;line-height:1;color:var(--t1);font-weight:700}
#s-quote .day-subtle{font-size:13px;color:var(--t3);max-width:620px;line-height:1.65}
#s-quote .days-shell{gap:14px}
#s-quote #daysList .dc{border-radius:22px;border:1px solid var(--b1);box-shadow:0 10px 24px var(--b0);overflow:hidden}
#s-quote #daysList .dc > div:first-child{background:linear-gradient(180deg,var(--bg-1) 0%,var(--bg-2) 100%)}
#s-quote .builder-v5-sidecard{display:flex;flex-direction:column;gap:16px}
#s-quote .builder-v5-studio{display:none}
/* Mobile studio sheet — styles apply when band is portalled to body */
@media(max-width:720px){
  /* When portalled to body, the band loses the #s-quote scope — target by id */
  #builderStudioBand{
    position:fixed !important;
    left:0;right:0;bottom:0;
    z-index:8000;
    max-height:88vh;
    overflow-y:auto;
    border-radius:var(--r-lg) var(--r-lg) 0 0;
    box-shadow:0 -8px 40px var(--scrim);
    background:var(--bg-1);
    transform:translateY(100%);
    transition:transform .32s cubic-bezier(.4,0,.2,1);
    padding-bottom:calc(var(--mob-nav-h) + var(--safe-bottom));
    display:none;
  }
  #builderStudioBand.on{
    display:block !important;
    transform:translateY(0) !important;
  }
  #studioSheetBackdrop{
    display:none;
    position:fixed;inset:0;
    z-index:7999;
    background:var(--scrim);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
  }
  #studioSheetBackdrop.show{display:block;}
  .builder-v5-studio-handle{
    display:block !important;
    width:36px;height:4px;border-radius:999px;
    background:var(--b1);margin:var(--sp-2) auto var(--sp-1);
  }
}
/* Desktop only: studio opens inline */
@media(min-width:721px){
  #s-quote .builder-v5-studio.on{display:block}
}
#s-quote .publish-share-dock{margin-top:0}
#s-quote .publish-share-dock .action-cluster-publish{margin:0;border-radius:18px}
#s-quote .builder-v4-mapband{gap:0}
#s-quote .builder-v4-maphead{margin-bottom:12px}
#s-quote .builder-v4-mapcanvas-card.card{padding:14px}
#s-quote .builder-v4-journeyhero.card{padding:18px 20px 16px}
#s-quote .builder-v4-journeyhero-title{font-size:34px}
#s-quote .builder-v4-journeyhero-copy{max-width:none}
@media (max-width:900px){
  #s-quote .builder-v5-grid{grid-template-columns:1fr}
  #s-quote .builder-v5-side .sticky-stack{position:static}
}
@media (max-width:720px){
  #s-quote .builder-v5-headline{font-size:34px}
  #s-quote .builder-v5-stage h2,#s-quote .day-title-xl{font-size:28px}
  #s-quote .builder-v5-actions{padding:12px}
  #s-quote .builder-v5-actions-left,#s-quote .builder-v5-actions-right{width:100%}
  #s-quote .builder-v5-actions-right{margin-left:0}
  #s-quote .builder-v5-header{grid-template-columns:1fr auto;align-items:start}
  #s-quote .builder-v5-summary{grid-column:1 / span 1;justify-content:flex-start}
  #s-quote .builder-v5-chevron{grid-column:2;grid-row:1 / span 2;align-self:center}
  #s-quote .builder-v5-body{padding:0 16px 16px}
}


/* ==============================================================
   BLOCK 4: Mobile Fix Styles (originally lines 3630-3701)
   ============================================================== */

@media(max-width:720px){
  .vb-stop-grid{grid-template-columns:1fr !important;gap:12px !important;}
  .vb-guide-box{order:2;width:100%;padding:14px 14px 16px;border-radius:18px;}
  .vb-section{margin-bottom:16px;}
  .vb-day-body{padding:14px 14px 16px !important;}
  .vb-day-actions{gap:8px;margin-bottom:12px;}
  .vb-mini-btn{padding:9px 12px;font-size:11px;}
  .vb-add-city-row{flex-direction:column;align-items:stretch;}
  .vb-add-city-row .vb-select{width:100%;}
  .vb-add-city-row .vb-add-btn{width:max-content;}
  .vb-select{width:100%;min-height:44px;}
  .vb-db-grid{grid-template-columns:1fr !important;}
  .vb-current-grid{grid-template-columns:1fr !important;gap:6px 0;}
  .vb-current-key{margin-top:2px;}
  .vb-current-val{padding-bottom:4px;border-bottom:1px solid var(--b1);}
  .vb-current-grid > .vb-current-val:last-child{border-bottom:none;}
  .vb-suggestion-row{gap:8px;}
  .vb-suggestion-chip{padding:8px 10px;}
  .vb-guide-box h4{font-size:14px;}
  .vb-guide-box p,.vb-side-copy,.vb-current-note{font-size:13px;line-height:1.6;}
}

._cdrop-item{padding:9px 14px;cursor:pointer;border-bottom:1px solid var(--b1);font-size:13px}
._cdrop-sub{color:var(--t4);font-size:11px;margin-left:8px}
._cdrop-meta{font-size:11px;color:var(--t5)}

/* ── Client modal (hdm style) ─────────────────── */
#clientModal.hdm-overlay{pointer-events:none;opacity:0;transition:opacity .2s}
#clientModal.hdm-overlay.open{pointer-events:auto;opacity:1;backdrop-filter:blur(4px)}
#clientModal .hdm-modal{transform:translateY(20px);transition:transform .2s}
#clientModal.hdm-overlay.open .hdm-modal{transform:translateY(0)}

/* ── Quote Action Panel ────────────────────────── */
.qap{background:var(--bg-1);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:0;margin-bottom:16px;width:100%}
.qap-status{display:flex;align-items:center;gap:8px;padding:9px 16px;background:var(--bg-2);border-bottom:1px solid var(--b1);font-size:11px;color:var(--t4)}
.qap-dot{width:7px;height:7px;border-radius:50%;background:var(--t5);flex-shrink:0;transition:background .3s}
.qap-dot.live{background:var(--green);box-shadow:0 0 0 3px var(--green-bg)}
.qap-row{display:grid;grid-template-columns:repeat(3,1fr)}
.qap-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:20px 10px;font-size:13px;font-weight:700;letter-spacing:-.01em;border:none;border-right:1px solid rgba(255,255,255,.18);cursor:pointer;transition:background .15s,color .15s,border-color .15s;line-height:1}
.qap-btn:last-child{border-right:none}
.qap-publish{background:var(--accent-metal);color:#fff}
.qap-publish:hover{filter:brightness(1.08);transform:translateY(-1px)}
.qap-wa{background:#25d366;color:#fff}
.qap-wa:hover{background:#1db954;transform:translateY(-1px)}
.qap-save{background:var(--green);color:#fff}
.qap-save:hover{filter:brightness(1.1);transform:translateY(-1px)}
.qap-row-2{border-top:1px solid var(--b1);background:var(--bg-2)}
.qap-ghost{background:transparent;color:var(--t3);font-weight:600;font-size:12px;padding:14px 10px;border-right:1px solid var(--b1)}
.qap-ghost:last-child{border-right:none}
.qap-ghost:hover{background:var(--bg-3);color:var(--t1)}
.qap-controls{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--b1);background:var(--bg-2);flex-wrap:wrap}
.qap-toggle{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--t2);cursor:pointer;user-select:none;white-space:nowrap}
.qap-toggle input{margin:0;accent-color:var(--accent);cursor:pointer}
.qap-tokens-group{display:flex;align-items:center;gap:5px;padding-left:10px;border-left:1px solid var(--b1);margin-left:2px}
.qap-muted{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.qap-tokens-input{width:38px;padding:3px 6px;font-size:12px;font-weight:700;text-align:center;border:1px solid var(--b1);border-radius:6px;background:var(--bg-1);color:var(--t1)}
.qap-chip{display:inline-flex;align-items:center;padding:3px 9px;font-size:10px;font-weight:700;color:var(--t3);background:var(--bg-1);border:1px solid var(--b1);border-radius:20px;white-space:nowrap}
.qap-spacer{flex:1;min-width:8px}
.qap-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 11px;font-size:11px;font-weight:600;color:var(--t2);background:var(--bg-1);border:1px solid var(--b1);border-radius:20px;cursor:pointer;transition:background .12s,color .12s,border-color .12s;white-space:nowrap}
.qap-pill:hover{background:var(--bg-3);border-color:var(--b2);color:var(--t1)}
/* Mobile */
@media(max-width:600px){
  .qap-row-1{grid-template-columns:1fr}
  .qap-row-1 .qap-btn{flex-direction:row;justify-content:center;padding:16px 20px;font-size:14px;border-right:none;border-bottom:1px solid rgba(255,255,255,.18)}
  .qap-row-1 .qap-btn:last-child{border-bottom:none}
  .qap-ghost{padding:12px 6px;font-size:11px}
  .qap-chip{display:none}
}
/* ── _cdrop styles ─────────────────────────────── */
._cdrop-item{padding:9px 14px;cursor:pointer;border-bottom:1px solid #f5ede3;font-size:13px}
._cdrop-sub{color:#9a8f84;font-size:11px;margin-left:8px}
._cdrop-meta{font-size:11px;color:#b0a89e}

/* ═══════════════════════════════════════════════════════════════════
   LOGIN SCREEN — v6.1 nd-prototype-login split layout
   All selectors scoped under #loginScreen to prevent style bleed.
═══════════════════════════════════════════════════════════════════ */
#loginScreen.lg-screen{position:fixed;inset:0;z-index:9000;background:var(--bg-0,var(--bg-1));display:flex;align-items:stretch;justify-content:stretch;overflow:hidden}
#loginScreen .lg-split{display:flex;flex:1;min-height:100vh}

/* ── LEFT PANEL — Immersive visual ── */
#loginScreen .lg-left{
  flex:1;position:relative;overflow:hidden;
  background:linear-gradient(160deg,#0C0A06 0%,#14120A 30%,#0A0E12 60%,#080706 100%);
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  padding:60px 48px;
}
#loginScreen .lg-left::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 600px 400px at 30% 50%,rgba(201,152,28,.06) 0%,transparent 70%),
    radial-gradient(ellipse 300px 500px at 70% 30%,rgba(201,152,28,.04) 0%,transparent 60%);
  z-index:1;
}
#loginScreen .lg-topo{position:absolute;inset:0;z-index:0;overflow:hidden;opacity:.14;pointer-events:none}
#loginScreen .lg-topo-line{
  position:absolute;border:1px solid var(--accent,var(--accent));border-radius:50%;
  animation:lg-topo-pulse 12s ease-in-out infinite;
}
#loginScreen .lg-topo-line:nth-child(1){width:500px;height:350px;top:10%;left:-15%;animation-delay:0s}
#loginScreen .lg-topo-line:nth-child(2){width:420px;height:300px;top:15%;left:-10%;animation-delay:2s}
#loginScreen .lg-topo-line:nth-child(3){width:340px;height:250px;top:20%;left:-5%;animation-delay:4s}
#loginScreen .lg-topo-line:nth-child(4){width:600px;height:400px;bottom:5%;right:-20%;animation-delay:1s}
#loginScreen .lg-topo-line:nth-child(5){width:480px;height:320px;bottom:10%;right:-15%;animation-delay:3s}
#loginScreen .lg-topo-line:nth-child(6){width:360px;height:240px;bottom:15%;right:-10%;animation-delay:5s}
@keyframes lg-topo-pulse{
  0%,100%{opacity:.3;transform:scale(1)}
  50%{opacity:.8;transform:scale(1.03)}
}

#loginScreen .lg-left-content{position:relative;z-index:2;text-align:center;max-width:360px}

/* Logo frame — preserves user's existing SVG logo */
#loginScreen .lg-logo-frame{
  width:140px;height:140px;margin:0 auto 32px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.06),rgba(201,152,28,.08) 60%,transparent 100%);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 60px rgba(201,152,28,.20),0 0 120px rgba(201,152,28,.08);
  position:relative;
}
/* Orbital rings — new official Sithiyam logo motion */
#loginScreen .lg-orbit{
  position:absolute;inset:0;border:1px solid rgba(201,152,28,.25);
  border-radius:50%;pointer-events:none;
  animation:lg-orbit-spin 6s linear infinite;
}
#loginScreen .lg-orbit::after{
  content:'';position:absolute;top:-3px;left:50%;width:6px;height:6px;
  border-radius:50%;background:var(--accent,var(--accent));margin-left:-3px;
  box-shadow:0 0 12px rgba(201,152,28,.6);
}
#loginScreen .lg-orbit:nth-child(2){
  animation-duration:4s;animation-direction:reverse;
  border-color:rgba(56,180,120,.18);inset:10px;
}
#loginScreen .lg-orbit:nth-child(2)::after{
  background:#38B478;box-shadow:0 0 12px rgba(56,180,120,.6);
}
#loginScreen .lg-orbit:nth-child(3){
  animation-duration:8s;inset:-8px;
  border-color:rgba(107,154,184,.14);
}
#loginScreen .lg-orbit:nth-child(3)::after{
  background:var(--blue);box-shadow:0 0 12px rgba(107,154,184,.6);
  width:4px;height:4px;margin-left:-2px;top:-2px;
}
@keyframes lg-orbit-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
#loginScreen .lg-logo-img{
  width:78px;height:78px;display:block;position:relative;z-index:2;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.35));
}

#loginScreen .lg-left-brand{
  font-family:var(--fd,'Cormorant Garamond',Georgia,serif);
  font-size:38px;font-weight:300;color:var(--bg-1);
  letter-spacing:.02em;line-height:1.15;margin-bottom:8px;
}
#loginScreen .lg-left-brand em{font-style:italic;color:var(--accent,var(--accent))}
#loginScreen .lg-left-tagline{
  font-family:var(--fu,'Syne',sans-serif);font-size:10px;font-weight:800;
  color:rgba(254,253,251,.55);letter-spacing:.28em;text-transform:uppercase;margin-bottom:40px;
}
#loginScreen .lg-left-divider{
  width:60px;height:1px;margin:0 auto 40px;
  background:linear-gradient(90deg,transparent,var(--accent,var(--accent)),transparent);
}

/* Floating stats */
#loginScreen .lg-left-stats{display:flex;gap:32px;justify-content:center}
#loginScreen .lg-left-stat{text-align:center}
#loginScreen .lg-left-stat-val{
  font-family:var(--fd,'Cormorant Garamond',Georgia,serif);
  font-size:26px;font-weight:400;color:var(--accent,var(--accent));line-height:1.1;
}
#loginScreen .lg-left-stat-label{
  font-family:var(--fu,'Syne',sans-serif);font-size:7px;font-weight:800;
  color:rgba(254,253,251,.5);letter-spacing:.12em;text-transform:uppercase;margin-top:4px;
}

/* Route preview dots */
#loginScreen .lg-route-dots{
  position:absolute;bottom:40px;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:0;z-index:2;
}
#loginScreen .lg-route-node{position:relative}
#loginScreen .lg-route-dot{
  width:6px;height:6px;border-radius:50%;background:var(--accent,var(--accent));
  opacity:.5;flex-shrink:0;
}
#loginScreen .lg-route-dot.active{opacity:1;box-shadow:0 0 8px rgba(201,152,28,.5)}
#loginScreen .lg-route-line{width:28px;height:1px;background:rgba(201,152,28,.2)}
#loginScreen .lg-route-city{
  font-family:var(--fu,'Syne',sans-serif);font-size:6px;font-weight:700;
  color:rgba(254,253,251,.55);letter-spacing:.06em;text-transform:uppercase;
  position:absolute;top:14px;white-space:nowrap;transform:translateX(-50%);left:50%;
}

/* Golden seam */
#loginScreen .lg-seam{
  width:1px;flex-shrink:0;position:relative;
  background:linear-gradient(180deg,transparent 0%,rgba(201,152,28,.4) 20%,var(--accent,var(--accent)) 50%,rgba(201,152,28,.4) 80%,transparent 100%);
}
#loginScreen .lg-seam::before{
  content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:7px;height:7px;border-radius:50%;background:var(--accent,var(--accent));
  box-shadow:0 0 12px rgba(201,152,28,.6);
}

/* ── RIGHT PANEL — Login card ── */
#loginScreen .lg-right{
  width:480px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  padding:60px 48px;background:var(--bg-1,var(--bg-1));position:relative;
}
#loginScreen .lg-card{width:100%;max-width:380px;position:relative}
#loginScreen .lg-card-inner{
  background:var(--bg-2,var(--bg-1));border:1px solid var(--b2,var(--b1));
  border-radius:16px;box-shadow:0 12px 36px var(--b1),0 2px 8px var(--b0);
  padding:44px 36px 36px;position:relative;overflow:hidden;
}
#loginScreen .lg-card-inner::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,152,28,.6),transparent);
}

#loginScreen .lg-card-brand{text-align:center;margin-bottom:28px}
#loginScreen .lg-card-welcome{
  font-family:var(--fd,'Cormorant Garamond',Georgia,serif);
  font-size:26px;font-weight:400;color:var(--t1,var(--t1));letter-spacing:.01em;margin-bottom:4px;
}
#loginScreen .lg-card-sub{
  font-family:var(--fb,'DM Sans','Roboto',sans-serif);font-size:12px;color:var(--t3,#6B5E52);
}
#loginScreen .lg-divider{
  height:1px;margin:0 0 24px;
  background:linear-gradient(90deg,transparent,var(--b2,var(--b1)),transparent);
}

/* Error banner */
#loginScreen .lg-error{
  display:none;background:#fff1f1;border:1px solid #f2cccc;border-radius:10px;
  padding:10px 14px;font-size:12px;color:#b73f3f;margin-bottom:16px;text-align:center;
  font-family:var(--fb,'DM Sans','Roboto',sans-serif);
}
#loginScreen .lg-error.on{display:block}

/* Form fields */
#loginScreen .lg-field{margin-bottom:18px}
#loginScreen .lg-label{
  display:block;font-family:var(--fu,'Syne',sans-serif);font-size:9px;font-weight:800;
  color:var(--t4,var(--t4));letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;
}
#loginScreen .lg-input-wrap{position:relative;display:flex;align-items:center}
#loginScreen .lg-input{
  width:100%;padding:13px 16px;border-radius:10px;
  border:1px solid var(--b2,var(--b1));background:var(--bg-0,var(--bg-1));
  font-family:var(--fb,'DM Sans','Roboto',sans-serif);font-size:13px;color:var(--t1,var(--t1));
  outline:none;transition:border-color .15s,box-shadow .15s;
  box-sizing:border-box;
}
#loginScreen .lg-input::placeholder{color:var(--t4,var(--t4))}
#loginScreen .lg-input:focus{border-color:var(--accent,var(--accent));box-shadow:0 0 0 3px var(--accent-ring)}
#loginScreen .lg-input.error{border-color:#d93a3a;box-shadow:0 0 0 3px rgba(217,58,58,.12)}
#loginScreen .lg-eye{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:28px;height:28px;color:var(--t4,var(--t4));cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:none;border:none;padding:0;border-radius:6px;
}
#loginScreen .lg-eye:hover{color:var(--accent,var(--accent));background:rgba(201,152,28,.06)}

/* Remember row */
#loginScreen .lg-remember{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:22px;margin-top:-2px;
}
#loginScreen .lg-remember-left{display:flex;align-items:center;gap:8px}
#loginScreen .lg-toggle{
  width:32px;height:18px;border-radius:999px;
  background:var(--bg-4,#F0EBE3);border:1px solid var(--b2,var(--b1));
  position:relative;cursor:pointer;transition:all .15s;padding:0;flex-shrink:0;
}
#loginScreen .lg-toggle.on{background:rgba(201,152,28,.18);border-color:var(--accent,var(--accent))}
#loginScreen .lg-toggle-dot{
  width:12px;height:12px;border-radius:50%;
  background:var(--t3,#6B5E52);position:absolute;top:2px;left:2px;
  transition:left .15s cubic-bezier(.4,0,.2,1),background .15s;
}
#loginScreen .lg-toggle.on .lg-toggle-dot{
  left:16px;background:var(--accent,var(--accent));box-shadow:0 0 6px rgba(201,152,28,.4);
}
#loginScreen .lg-remember-label{font-family:var(--fb,'DM Sans','Roboto',sans-serif);font-size:11px;color:var(--t3,#6B5E52)}
#loginScreen .lg-forgot{
  font-family:var(--fb,'DM Sans','Roboto',sans-serif);font-size:11px;
  color:var(--accent,var(--accent));text-decoration:none;cursor:pointer;transition:color .15s;
}
#loginScreen .lg-forgot:hover{color:var(--accent-dn)}

/* Sign In button */
#loginScreen .lg-btn{
  width:100%;padding:14px 24px;border-radius:10px;
  background:linear-gradient(135deg,#D4A843 0%,var(--accent) 50%,var(--accent-dn) 100%);color:#0A0804;border:none;
  font-family:var(--fu,'Syne',sans-serif);font-size:11px;font-weight:700;
  letter-spacing:.10em;text-transform:uppercase;cursor:pointer;
  box-shadow:0 4px 16px rgba(139,105,20,.25),inset 0 1px 0 rgba(255,255,255,.25);
  position:relative;overflow:hidden;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s;
}
#loginScreen .lg-btn::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.18) 0%,transparent 50%);
}
#loginScreen .lg-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(139,105,20,.32)}
#loginScreen .lg-btn:active{transform:scale(.98)}
#loginScreen .lg-btn[disabled]{opacity:.6;cursor:not-allowed;transform:none}

#loginScreen .lg-status{
  text-align:center;font-family:var(--fb,'DM Sans','Roboto',sans-serif);
  font-size:12px;color:var(--t4,var(--t4));margin-top:14px;min-height:18px;
}

/* Security footer */
#loginScreen .lg-security{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin-top:24px;padding-top:20px;border-top:1px solid var(--b1,#F0EBE3);
}
#loginScreen .lg-security-dot{width:4px;height:4px;border-radius:50%;background:#38B478;box-shadow:0 0 6px rgba(56,180,120,.4)}
#loginScreen .lg-security-text{font-family:var(--fu,'Syne',sans-serif);font-size:7px;font-weight:700;color:var(--t4,var(--t4));letter-spacing:.08em;text-transform:uppercase}
#loginScreen .lg-security-sep{color:var(--t5,var(--b2))}
#loginScreen .lg-version{
  text-align:center;margin-top:14px;
  font-family:var(--fu,'Syne',sans-serif);font-size:7px;font-weight:700;
  color:var(--t5,var(--b2));letter-spacing:.08em;text-transform:uppercase;
}

/* Session-expired persistent banner (distinct from transient error) */
#loginScreen .lg-error.session-expired{
  background:#fff7e6;border-color:#f0d79c;color:var(--accent-dn);
}

/* Responsive — collapse to compact header on narrow screens.
   Priority: keep the login card above the fold. The left panel becomes a
   slim brand header (~140px) with logo + name only; tagline/divider/stats
   are hidden to preserve vertical space. */
@media (max-width:860px){
  #loginScreen.lg-screen{overflow-y:auto;align-items:flex-start}
  #loginScreen .lg-split{flex-direction:column;min-height:0}
  #loginScreen .lg-left{
    min-height:0;flex:0 0 auto;padding:20px 20px 18px;
    overflow:visible;
  }
  #loginScreen .lg-left-content{max-width:none;display:flex;flex-direction:column;align-items:center}
  #loginScreen .lg-logo-frame{width:68px;height:68px;margin-bottom:10px}
  #loginScreen .lg-logo-img{width:38px;height:38px}
  #loginScreen .lg-left-brand{font-size:20px;margin-bottom:0;line-height:1}
  #loginScreen .lg-left-tagline{display:none}
  #loginScreen .lg-left-divider{display:none}
  #loginScreen .lg-left-stats{display:none}
  #loginScreen .lg-route-dots{display:none}
  #loginScreen .lg-seam{
    width:100%;height:1px;flex:0 0 auto;
    background:linear-gradient(90deg,transparent,var(--accent,var(--accent)),transparent);
  }
  #loginScreen .lg-seam::before{display:none}
  #loginScreen .lg-right{width:100%;flex:1 0 auto;padding:22px 16px 28px;align-items:flex-start}
  #loginScreen .lg-card{max-width:420px;margin:0 auto}
  #loginScreen .lg-card-inner{padding:24px 20px 22px}
  #loginScreen .lg-card-brand{margin-bottom:18px}
  #loginScreen .lg-card-welcome{font-size:22px}
  #loginScreen .lg-card-sub{font-size:11px}
  #loginScreen .lg-divider{margin-bottom:16px}
  #loginScreen .lg-field{margin-bottom:14px}
  #loginScreen .lg-security{margin-top:18px;padding-top:14px}
}
@media (max-width:420px){
  #loginScreen .lg-left{padding:16px 16px 14px}
  #loginScreen .lg-logo-frame{width:58px;height:58px;margin-bottom:8px}
  #loginScreen .lg-logo-img{width:32px;height:32px}
  #loginScreen .lg-left-brand{font-size:18px}
}

/* ═══════════════════════════════════════════════════════════════════
   BOOT SEQUENCE — "Preparing Your Workspace" overlay
   Shown during bootApp() data load. Scoped under #bootLoadOverlay.
═══════════════════════════════════════════════════════════════════ */
#bootLoadOverlay.bs-ovl{
  position:fixed;inset:0;z-index:9998;
  background:rgba(247,244,239,.96);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  padding:32px 20px;overflow:auto;
}
#bootLoadOverlay .bs-card{
  width:100%;max-width:720px;position:relative;
  background:var(--bg-1,var(--bg-1));border:1px solid var(--b2,var(--b1));
  border-radius:20px;overflow:hidden;
  box-shadow:0 24px 60px rgba(26,23,20,.14),0 6px 18px rgba(26,23,20,.06);
  animation:bs-in .48s cubic-bezier(.16,1,.3,1);
}
#bootLoadOverlay .bs-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,#D4A843 0%,var(--accent) 50%,var(--accent-dn) 100%);
}
@keyframes bs-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
#bootLoadOverlay .bs-head{
  display:flex;align-items:center;gap:12px;
  padding:13px 20px;border-bottom:1px solid var(--b1,#F0EBE3);
  background:var(--bg-2,var(--bg-1));
}
#bootLoadOverlay .bs-dots{display:flex;gap:6px}
#bootLoadOverlay .bs-dots span{width:8px;height:8px;border-radius:50%}
#bootLoadOverlay .bs-dots span:nth-child(1){background:#E26666}
#bootLoadOverlay .bs-dots span:nth-child(2){background:#E2A040}
#bootLoadOverlay .bs-dots span:nth-child(3){background:#38B478}
#bootLoadOverlay .bs-title-bar{
  font-family:var(--fu,'Syne',sans-serif);font-size:9px;font-weight:700;
  color:var(--t3,#6B5E52);letter-spacing:.06em;text-transform:uppercase;margin-left:8px;
}
#bootLoadOverlay .bs-avatar{
  width:32px;height:32px;border-radius:50%;margin-left:auto;
  background:linear-gradient(135deg,#D4A843 0%,var(--accent) 50%,var(--accent-dn) 100%);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fu,'Syne',sans-serif);font-size:10px;font-weight:700;color:#0A0804;
  box-shadow:0 1px 3px rgba(0,0,0,.12);
}
#bootLoadOverlay .bs-body{
  padding:44px 40px 40px;display:flex;flex-direction:column;align-items:center;
  text-align:center;min-height:320px;
}
#bootLoadOverlay .bs-logo-frame{
  width:76px;height:76px;margin-bottom:18px;position:relative;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.5),rgba(201,152,28,.08) 60%,transparent 100%);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 36px rgba(201,152,28,.16);
}
#bootLoadOverlay .bs-orbit{
  position:absolute;inset:0;border:1px solid rgba(201,152,28,.35);
  border-radius:50%;pointer-events:none;
  animation:lg-orbit-spin 6s linear infinite;
}
#bootLoadOverlay .bs-orbit::after{
  content:'';position:absolute;top:-3px;left:50%;width:6px;height:6px;
  border-radius:50%;background:var(--accent,var(--accent));margin-left:-3px;
  box-shadow:0 0 10px rgba(201,152,28,.55);
}
#bootLoadOverlay .bs-orbit:nth-child(2){
  animation-duration:4s;animation-direction:reverse;
  border-color:rgba(56,180,120,.3);inset:7px;
}
#bootLoadOverlay .bs-orbit:nth-child(2)::after{
  background:#38B478;box-shadow:0 0 10px rgba(56,180,120,.55);
}
#bootLoadOverlay .bs-orbit:nth-child(3){
  animation-duration:8s;inset:-5px;
  border-color:rgba(107,154,184,.26);
}
#bootLoadOverlay .bs-orbit:nth-child(3)::after{
  background:var(--blue);box-shadow:0 0 10px rgba(107,154,184,.55);
  width:4px;height:4px;margin-left:-2px;top:-2px;
}
#bootLoadOverlay .bs-logo-img{
  width:42px;height:42px;position:relative;z-index:2;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.12));
}
#bootLoadOverlay .bs-status{
  font-family:var(--fu,'Syne',sans-serif);font-size:10px;font-weight:800;
  color:var(--accent,var(--accent));letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;
}
#bootLoadOverlay .bs-headline{
  font-family:var(--fd,'Cormorant Garamond',Georgia,serif);
  font-size:26px;font-weight:400;color:var(--t1,var(--t1));margin-bottom:6px;
}
#bootLoadOverlay .bs-sub{
  font-family:var(--fb,'DM Sans',sans-serif);font-size:12px;
  color:var(--t3,#6B5E52);margin-bottom:28px;max-width:360px;line-height:1.5;
}
#bootLoadOverlay .bs-progress{
  width:100%;max-width:400px;height:5px;border-radius:999px;
  background:var(--bg-4,#F0EBE3);overflow:hidden;margin-bottom:28px;position:relative;
}
#bootLoadOverlay .bs-progress-fill{
  height:100%;width:0%;border-radius:999px;
  background:linear-gradient(90deg,#D4A843 0%,var(--accent) 50%,var(--accent-dn) 100%);
  position:relative;transition:width .42s cubic-bezier(.16,1,.3,1);
}
#bootLoadOverlay .bs-progress-fill::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);
  animation:bs-shimmer 1.4s ease-in-out infinite;
}
@keyframes bs-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
#bootLoadOverlay .bs-modules{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  width:100%;max-width:440px;
}
#bootLoadOverlay .bs-module{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:14px 8px;border-radius:10px;
  background:var(--bg-2,var(--bg-1));border:1px solid var(--b1,#F0EBE3);
  transition:border-color .3s,background .3s;position:relative;
}
#bootLoadOverlay .bs-module.done{border-color:rgba(56,180,120,.25);background:rgba(56,180,120,.05)}
#bootLoadOverlay .bs-module.active{border-color:rgba(201,152,28,.4);background:rgba(201,152,28,.06)}
#bootLoadOverlay .bs-module-icon{
  width:28px;height:28px;border-radius:6px;
  display:flex;align-items:center;justify-content:center;font-size:14px;
  background:var(--bg-3,var(--bg-1));color:var(--t4,var(--t4));
}
#bootLoadOverlay .bs-module.done .bs-module-icon{background:rgba(56,180,120,.12);color:var(--green)}
#bootLoadOverlay .bs-module.active .bs-module-icon{background:rgba(201,152,28,.12);color:var(--accent,var(--accent));animation:bs-pulse 1.2s ease-in-out infinite}
@keyframes bs-pulse{0%,100%{opacity:1}50%{opacity:.45}}
#bootLoadOverlay .bs-module-name{
  font-family:var(--fu,'Syne',sans-serif);font-size:7px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;color:var(--t4,var(--t4));
}
#bootLoadOverlay .bs-module.done .bs-module-name{color:var(--green)}
#bootLoadOverlay .bs-module.active .bs-module-name{color:var(--accent,var(--accent))}
#bootLoadOverlay .bs-module-check{position:absolute;top:6px;right:8px;font-size:10px;color:#38B478;font-weight:700;opacity:0;transition:opacity .3s}
#bootLoadOverlay .bs-module.done .bs-module-check{opacity:1}
@media (max-width:600px){
  #bootLoadOverlay .bs-body{padding:32px 20px 28px}
  #bootLoadOverlay .bs-headline{font-size:22px}
  #bootLoadOverlay .bs-modules{grid-template-columns:repeat(2,1fr);max-width:300px}
  #bootLoadOverlay .bs-title-bar{display:none}
}

/* ═══════════════════════════════════════════════════════════════════
   ADMIN REVEAL — orbital logo overlay (shared motion with login)
═══════════════════════════════════════════════════════════════════ */
#adminReveal .ar-logo-frame{
  width:84px;height:84px;margin:0 auto 18px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#FDF7EA,var(--bg-1) 60%,transparent 100%);
  display:flex;align-items:center;justify-content:center;position:relative;
  box-shadow:0 0 30px rgba(196,154,60,.16),0 6px 18px rgba(26,23,20,.05);
}
#adminReveal .ar-logo-img{
  width:46px;height:46px;position:relative;z-index:2;
  filter:drop-shadow(0 1px 4px rgba(26,23,20,.1));
}
#adminReveal .ar-orbit{
  position:absolute;inset:0;border:1px solid rgba(201,152,28,.3);
  border-radius:50%;pointer-events:none;
  animation:lg-orbit-spin 6s linear infinite;
}
#adminReveal .ar-orbit::after{
  content:'';position:absolute;top:-3px;left:50%;width:6px;height:6px;
  border-radius:50%;background:var(--accent,var(--accent));margin-left:-3px;
  box-shadow:0 0 10px rgba(201,152,28,.6);
}
#adminReveal .ar-orbit:nth-child(2){
  animation-duration:4s;animation-direction:reverse;
  border-color:rgba(56,180,120,.22);inset:8px;
}
#adminReveal .ar-orbit:nth-child(2)::after{
  background:#38B478;box-shadow:0 0 10px rgba(56,180,120,.6);
}
#adminReveal .ar-orbit:nth-child(3){
  animation-duration:8s;inset:-6px;
  border-color:rgba(107,154,184,.18);
}
#adminReveal .ar-orbit:nth-child(3)::after{
  background:var(--blue);box-shadow:0 0 10px rgba(107,154,184,.6);
  width:4px;height:4px;margin-left:-2px;top:-2px;
}

/* ═══════════════════════════════════════════════════════════
   HOTELS — Light Warm Studio v6.1 (Batch 1)
   Sections 1, 2, 6 of nd-prototype-hotels.html — TOKENISED (Phase 3)
   Palette values consume design-tokens.css (--bg-* --t* --accent* etc.)
   Flipped automatically with data-theme="dark"/"light".
═══════════════════════════════════════════════════════════ */

/* Screen header (shared shell for LWS screens) */
#s-hotels .scr-header{padding:24px 28px 12px;}
#s-hotels .scr-kicker{font-family:var(--fu);font-size:9px;font-weight:800;color:var(--t4);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;}
#s-hotels .scr-title{font-family:var(--fd);font-size:34px;font-weight:400;color:var(--t1);letter-spacing:-.02em;line-height:1.1;margin:0;}

/* ── SECTION 1 — HOTEL INVENTORY ── */
.htl-inventory{background:var(--bg-0);min-height:600px;}

/* Summary bar */
.htl-summary{display:flex;align-items:center;gap:24px;padding:20px 24px;border-bottom:1px solid var(--b1);flex-wrap:wrap;}
.htl-stat{display:flex;align-items:center;gap:8px;}
.htl-stat-val{font-family:var(--fd);font-size:28px;font-weight:400;color:var(--t1);letter-spacing:-.02em;}
.htl-stat-label{font-family:var(--fu);font-size:8px;font-weight:800;color:var(--t4);letter-spacing:.10em;text-transform:uppercase;line-height:1.3;}
.htl-stat-divider{width:1px;height:32px;background:var(--b1);}
.htl-add-btn{
  margin-left:auto;padding:9px 20px;border-radius:999px;
  background:var(--accent-metal);
  color:var(--t1);border:none;
  font-family:var(--fu);font-size:9px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  box-shadow:var(--sh1),var(--sh-inner);
  position:relative;transition:transform 120ms;
}
.htl-add-btn:active{transform:scale(.97);}
.htl-add-btn::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 50%);pointer-events:none;
}
.htl-aux-btn{
  padding:7px 14px;border-radius:999px;background:var(--bg-2);color:var(--t2);
  border:1px solid var(--b1);
  font-family:var(--fu);font-size:9px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all 120ms;
}
.htl-aux-btn:hover{background:var(--bg-3);color:var(--t1);}

/* Filter toolbar */
.htl-toolbar{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--b1);flex-wrap:wrap;}
.htl-search{
  flex:1;min-width:200px;max-width:320px;
  padding:8px 14px 8px 34px;border-radius:999px;
  border:1px solid var(--b2);background:var(--bg-1);
  font-family:var(--fb);font-size:13px;color:var(--t1);
  outline:none;transition:border-color 120ms;
}
.htl-search:focus{border-color:var(--accent-ring);}
.htl-search-wrap{position:relative;flex:1;min-width:200px;max-width:320px;}
.htl-search-wrap::before{
  content:'\1F50D';position:absolute;left:10px;top:50%;transform:translateY(-50%);
  font-size:13px;opacity:.5;pointer-events:none;
}
.htl-search-wrap .htl-search{width:100%;}
.htl-filter-select{
  padding:7px 12px;border-radius:999px;
  border:1px solid var(--b1);background:var(--bg-2);
  font-family:var(--fb);font-size:12px;color:var(--t2);
  outline:none;cursor:pointer;
}
.htl-tier-chips{display:flex;gap:4px;flex-wrap:wrap;}
.htl-tier-chip{
  padding:6px 12px;border-radius:999px;
  border:1px solid var(--b1);background:transparent;
  font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t3);
  letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:all 120ms;
}
.htl-tier-chip:hover{background:var(--bg-2);color:var(--t2);}
.htl-tier-chip.active{background:var(--accent-ghost);color:var(--accent);border-color:var(--accent-ring);}
.htl-sort-label{font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t4);letter-spacing:.08em;text-transform:uppercase;margin-left:auto;}

/* ── 10X HOTEL CARDS ── */
.htl-grid{padding:20px 24px;display:flex;flex-direction:column;gap:14px;}
.htl-card{
  display:grid;grid-template-columns:140px 1fr 200px;gap:0;
  background:var(--bg-1);border:1px solid var(--b1);border-radius:14px;
  overflow:hidden;cursor:pointer;
  transition:border-color 220ms,box-shadow 220ms,transform 220ms;
  position:relative;
}
.htl-card:hover{border-color:var(--b2);box-shadow:var(--sh2);transform:translateY(-2px);}
.htl-card::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:4px;
  background:var(--b2);transition:background 120ms;z-index:1;
}
.htl-card.tier-standard::before{background:var(--accent);}
.htl-card.tier-budget::before{background:var(--blue);}
.htl-card.tier-luxury::before{background:var(--violet);}

.htl-img{
  width:140px;min-height:160px;position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--bg-3) 0%,var(--bg-4) 100%);
  display:flex;align-items:center;justify-content:center;
}
.htl-img-initials{font-family:var(--fd);font-size:36px;font-weight:300;color:var(--t4);letter-spacing:-.01em;}
.htl-img img{width:100%;height:100%;object-fit:cover;}
.htl-img-tier{
  position:absolute;top:10px;left:10px;
  padding:3px 10px;border-radius:999px;
  font-family:var(--fu);font-size:8px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.htl-img-tier.budget{background:rgba(107,154,184,.25);color:#3A5B72;border:1px solid rgba(107,154,184,.3);}
.htl-img-tier.standard{background:rgba(168,116,18,.25);color:#6A4808;border:1px solid rgba(168,116,18,.3);}
.htl-img-tier.luxury{background:rgba(148,120,200,.25);color:#4A3478;border:1px solid rgba(148,120,200,.3);}
.htl-img-source{
  position:absolute;bottom:10px;left:10px;
  display:flex;align-items:center;gap:5px;
  padding:3px 8px;border-radius:999px;
  font-family:var(--fu);font-size:7px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.htl-img-source.contract{background:var(--green-bg);color:#1E5A3A;border:1px solid rgba(40,120,78,.25);}
.htl-img-source.contract .htl-src-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px rgba(40,120,78,.6);}
.htl-img-source.manual{background:rgba(140,124,106,.15);color:var(--t3);border:1px solid var(--b1);}

.htl-card-content{padding:16px 20px;display:flex;flex-direction:column;gap:8px;min-width:0;}
.htl-card-header{display:flex;align-items:flex-start;gap:12px;}
.htl-card-name{font-family:var(--fd);font-size:21px;font-weight:500;color:var(--t1);letter-spacing:-.01em;flex:1;line-height:1.2;}
.htl-card-stars{display:flex;gap:2px;flex-shrink:0;margin-top:2px;}
.htl-star{width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--accent);}
.htl-star.empty{opacity:.25;}
.htl-card-meta{font-family:var(--fb);font-size:12px;color:var(--t3);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.htl-card-meta-dot{width:3px;height:3px;border-radius:50%;background:var(--t4);flex-shrink:0;}

.htl-card-rooms{display:flex;flex-direction:column;gap:3px;margin-top:2px;}
.htl-card-room{display:flex;align-items:center;gap:8px;font-family:var(--fb);font-size:11px;color:var(--t3);}
.htl-card-room-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.htl-card-room-dot.base{background:var(--teal);}
.htl-card-room-dot.supp{background:var(--orange);}
.htl-card-room-rate{margin-left:auto;font-family:var(--fd);font-size:13px;font-weight:500;color:var(--t2);}

.htl-card-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:auto;}
.htl-chip{
  display:inline-flex;align-items:center;gap:3px;
  padding:3px 8px;border-radius:999px;
  font-family:var(--fu);font-size:8px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
  background:var(--bg-2);color:var(--t3);border:1px solid var(--b1);
}
.htl-chip.discount{background:var(--orange-bg);color:var(--orange);border-color:var(--orange-bg);}
.htl-chip.rooms{background:var(--teal-bg);color:var(--teal);border-color:var(--teal-bg);}
.htl-chip.geocoded{background:var(--green-bg);color:var(--green);border-color:var(--green-bg);}
.htl-chip.child-pol{background:var(--blue-bg);color:var(--blue);border-color:var(--blue-bg);}

.htl-card-side{padding:16px;border-left:1px solid var(--b1);display:flex;flex-direction:column;gap:8px;background:var(--bg-2);}
.htl-card-side-label{font-family:var(--fu);font-size:7px;font-weight:800;color:var(--t4);letter-spacing:.10em;text-transform:uppercase;}
.htl-card-rate-grid{display:flex;flex-direction:column;gap:4px;}
.htl-card-rate-row{display:flex;align-items:center;gap:6px;}
.htl-card-rate-season{font-family:var(--fu);font-size:7px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;width:48px;}
.htl-card-rate-season.high{color:var(--red);}
.htl-card-rate-season.shoulder{color:var(--orange);}
.htl-card-rate-season.low{color:var(--green);}
.htl-card-rate-val{font-family:var(--fd);font-size:16px;font-weight:500;color:var(--t1);}
.htl-card-rate-board{font-family:var(--fu);font-size:7px;font-weight:700;color:var(--t4);letter-spacing:.04em;text-transform:uppercase;}

.htl-card-actions{display:flex;gap:6px;margin-top:auto;}
.htl-card-btn{
  flex:1;padding:7px 0;border-radius:999px;
  border:1px solid var(--b1);background:transparent;
  font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t3);
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all 120ms;text-align:center;
}
.htl-card-btn:hover{background:var(--bg-3);color:var(--t1);border-color:var(--b2);}
.htl-card-btn.danger:hover{background:var(--red-bg);color:var(--red);border-color:var(--red-bg);}
.htl-card-btn.primary{background:var(--accent-ghost);color:var(--accent);border-color:var(--accent-ring);}
.htl-card-btn.primary:hover{background:var(--accent-ring);}

/* ── SECTION 2 — HOTEL MODAL ── */
.htl-modal-wrap{
  display:none;position:fixed;inset:0;z-index:500;
  align-items:center;justify-content:center;
  padding:40px;background:var(--scrim);
  overflow-y:auto;
}
.htl-modal-wrap.open{display:flex;}
.htl-modal{
  width:700px;max-width:100%;background:var(--bg-1);border:1px solid var(--b2);
  border-radius:20px;box-shadow:0 16px 48px rgba(20,14,8,.14),0 4px 16px var(--b1);
  overflow:hidden;max-height:calc(100vh - 80px);display:flex;flex-direction:column;
}
.htl-modal-head{
  padding:24px 24px 0;
  background:linear-gradient(135deg,var(--t1) 0%,#1E2A22 40%,#1A2428 100%);
  border-bottom:2px solid var(--accent-seam);
  position:relative;flex-shrink:0;
}
.htl-modal-head::after{
  content:'';position:absolute;bottom:-1px;left:24px;right:24px;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent-up),transparent);
}
.htl-modal-hero{display:flex;gap:16px;margin-bottom:16px;align-items:center;}
.htl-modal-img{
  width:72px;height:72px;border-radius:10px;
  background:#26221C;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;overflow:hidden;border:1px solid rgba(246,238,226,.13);
}
.htl-modal-img img{width:100%;height:100%;object-fit:cover;}
.htl-modal-img-initials{font-family:var(--fd);font-size:26px;color:#C8B89C;}
.htl-modal-info{flex:1;min-width:0;}
.htl-modal-name{font-family:var(--fd);font-size:24px;font-weight:300;color:#F6EEE2;letter-spacing:-.01em;margin-bottom:4px;line-height:1.2;}
.htl-modal-meta-line{font-family:var(--fb);font-size:12px;color:#8C7C6A;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.htl-modal-close{
  position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;
  background:rgba(246,238,226,.08);border:1px solid rgba(246,238,226,.13);
  color:#C8B89C;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all 120ms;
}
.htl-modal-close:hover{background:rgba(246,238,226,.16);color:#F6EEE2;}
.htl-tabs{display:flex;gap:0;flex-wrap:wrap;}
.htl-tab{
  padding:10px 20px;background:transparent;border:none;
  font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t4);
  letter-spacing:.08em;text-transform:uppercase;
  cursor:pointer;border-bottom:2px solid transparent;
  transition:color 120ms,border-color 120ms;
}
.htl-tab:hover{color:#C8B89C;}
.htl-tab.active{color:var(--accent);border-bottom-color:var(--accent);}
.htl-modal-body{padding:24px;min-height:360px;overflow-y:auto;flex:1;}
.htl-panel{display:none;}
.htl-panel.active{display:block;}
.htl-modal-footer{
  display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;
  padding:14px 24px;border-top:1px solid var(--b1);
  background:var(--bg-0);flex-shrink:0;
}
.htl-modal-btn{
  padding:9px 18px;border-radius:999px;
  font-family:var(--fu);font-size:9px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  border:1px solid var(--b1);background:var(--bg-2);color:var(--t2);
  transition:all 120ms;
}
.htl-modal-btn:hover{background:var(--bg-3);color:var(--t1);}
.htl-modal-btn.primary{
  background:var(--accent-metal);
  color:var(--t1);border:none;position:relative;
  box-shadow:var(--sh1),var(--sh-inner);
}

/* Overview tab */
.htl-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;}
.htl-ov-box{padding:12px;border-radius:10px;background:var(--bg-2);border:1px solid var(--b1);text-align:center;}
.htl-ov-val{font-family:var(--fd);font-size:22px;font-weight:400;color:var(--t1);line-height:1.2;}
.htl-ov-label{font-family:var(--fu);font-size:7px;font-weight:800;color:var(--t4);letter-spacing:.10em;text-transform:uppercase;margin-top:2px;}
.htl-ov-section-title{
  font-family:var(--fu);font-size:9px;font-weight:800;color:var(--t4);
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;
  display:flex;align-items:center;gap:10px;
}
.htl-ov-section-title::after{content:'';flex:1;height:1px;background:var(--b1);}
.htl-room-list{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;}
.htl-room-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 12px;border-radius:6px;
  background:var(--bg-2);border:1px solid var(--b0);
}
.htl-room-name{font-family:var(--fb);font-size:13px;color:var(--t1);font-weight:500;flex:1;}
.htl-room-badge{
  padding:2px 8px;border-radius:999px;
  font-family:var(--fu);font-size:8px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
}
.htl-room-badge.base{background:var(--teal-bg);color:var(--teal);}
.htl-room-badge.supplement{background:var(--orange-bg);color:var(--orange);}

/* Contract banner */
.htl-contract-banner{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;border-radius:10px;
  background:var(--green-bg);border:1px solid var(--green-bg);
  margin-bottom:16px;
}
.htl-contract-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px rgba(40,120,78,.4);flex-shrink:0;}
.htl-contract-text{font-family:var(--fb);font-size:12px;color:var(--green);flex:1;}
.htl-contract-link{
  font-family:var(--fu);font-size:9px;font-weight:700;color:var(--green);
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;text-decoration:none;
  background:none;border:none;padding:0;
}

/* Rates tab */
.htl-rate-matrix{overflow-x:auto;margin-bottom:20px;}
.htl-rate-table{width:100%;border-collapse:collapse;font-family:var(--fb);font-size:12px;}
.htl-rate-table th{
  font-family:var(--fu);font-size:8px;font-weight:800;color:var(--t4);
  letter-spacing:.08em;text-transform:uppercase;
  padding:8px 10px;text-align:left;border-bottom:1px solid var(--b1);
}
.htl-rate-table td{padding:8px 10px;border-bottom:1px solid var(--b0);color:var(--t2);}
.htl-rate-table tr:hover td{background:var(--bg-2);}
.htl-rate-val{font-family:var(--fd);font-size:15px;font-weight:500;color:var(--t1);}
.htl-rate-val.na{color:var(--t4);font-size:11px;font-style:italic;font-family:var(--fb);}
.htl-season-label{
  display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;
  font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
}
.htl-season-label.high{background:var(--red-bg);color:var(--red);}
.htl-season-label.shoulder{background:var(--orange-bg);color:var(--orange);}
.htl-season-label.low{background:var(--green-bg);color:var(--green);}

/* Edit tab */
.htl-edit-form{display:flex;flex-direction:column;gap:16px;}
.htl-field{display:flex;flex-direction:column;gap:4px;}
.htl-field-row{display:flex;gap:12px;flex-wrap:wrap;}
.htl-field-row .htl-field{flex:1;min-width:160px;}
.htl-label{font-family:var(--fu);font-size:9px;font-weight:800;color:var(--t4);letter-spacing:.10em;text-transform:uppercase;}
.htl-input{
  padding:9px 14px;border-radius:10px;
  border:1px solid var(--b2);background:var(--bg-2);
  font-family:var(--fb);font-size:13px;color:var(--t1);
  outline:none;transition:border-color 120ms;
}
.htl-input:focus{border-color:var(--accent-ring);background:var(--bg-1);}
.htl-star-picker{display:flex;gap:4px;}
.htl-star-pick{
  width:32px;height:32px;border-radius:6px;
  border:1px solid var(--b1);background:var(--bg-2);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;cursor:pointer;transition:all 120ms;color:var(--t3);
}
.htl-star-pick:hover{border-color:var(--accent-ring);}
.htl-star-pick.active{background:var(--accent-ghost);border-color:var(--accent);color:var(--accent);}
.htl-tier-picker{display:flex;gap:6px;flex-wrap:wrap;}
.htl-tier-pick{
  padding:8px 16px;border-radius:999px;
  border:1px solid var(--b1);background:transparent;
  font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t3);
  letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:all 120ms;
}
.htl-tier-pick:hover{background:var(--bg-2);}
.htl-tier-pick.active{background:var(--accent-ghost);color:var(--accent);border-color:var(--accent-ring);}

/* Map tab */
.htl-map-content{display:flex;flex-direction:column;gap:16px;}
.htl-map-placeholder{
  height:200px;border-radius:14px;
  background:var(--bg-3);border:1px dashed var(--b2);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  overflow:hidden;
}
.htl-map-placeholder iframe{width:100%;height:100%;border:0;}
.htl-map-icon{font-size:32px;opacity:.4;}
.htl-map-text{font-family:var(--fb);font-size:12px;color:var(--t4);}
.htl-geo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.htl-geo-item{padding:10px 14px;border-radius:6px;background:var(--bg-2);border:1px solid var(--b0);}
.htl-geo-label{font-family:var(--fu);font-size:8px;font-weight:800;color:var(--t4);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;}
.htl-geo-val{font-family:var(--fb);font-size:12px;color:var(--t1);font-weight:500;word-break:break-word;}

/* ── SECTION 6 — EMPTY STATE ── */
.htl-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:80px 40px;text-align:center;background:var(--bg-0);border-radius:14px;margin:20px 24px;
}
.htl-empty-icon{
  width:80px;height:80px;border-radius:50%;
  background:var(--bg-2);border:1px solid var(--b1);
  display:flex;align-items:center;justify-content:center;
  font-size:32px;margin-bottom:20px;opacity:.6;
}
.htl-empty-title{font-family:var(--fd);font-size:24px;font-weight:400;color:var(--t2);margin-bottom:8px;}
.htl-empty-desc{font-family:var(--fb);font-size:13px;color:var(--t4);line-height:1.65;max-width:380px;margin-bottom:24px;}
.htl-empty-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
.htl-empty-btn{
  padding:10px 24px;border-radius:999px;
  font-family:var(--fu);font-size:10px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  border:none;transition:all 120ms;
}
.htl-empty-btn.primary{
  background:var(--accent-metal);
  color:var(--t1);position:relative;
  box-shadow:var(--sh1),var(--sh-inner);
}
.htl-empty-btn.secondary{background:var(--bg-2);color:var(--t2);border:1px solid var(--b2);}
.htl-empty-btn.secondary:hover{background:var(--bg-3);color:var(--t1);}

/* ─────────────────────────────────────────────────────
   LWS v6.1 — Rate Matrix (prototype Section 3)
───────────────────────────────────────────────────── */
.rate-full-wrap{background:var(--bg-0);padding:24px;border-radius:12px;}
.rate-room-tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap;}
.rate-room-tab{
  padding:6px 12px;border-radius:999px;border:1px solid var(--b1);
  background:transparent;font-family:var(--fu);font-size:9px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--t3);cursor:pointer;transition:all 120ms;
}
.rate-room-tab:hover{color:var(--t1);border-color:var(--b2);}
.rate-room-tab.active{background:var(--accent-ghost);color:var(--accent);border-color:var(--accent-ring);}
.rate-season-tabs{display:flex;gap:8px;margin-bottom:16px;}
.rate-season-tab{
  padding:8px 16px;border-radius:999px;
  border:1px solid var(--b1);background:transparent;
  font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t3);
  letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:all 120ms;
}
.rate-season-tab.high{color:var(--red);}
.rate-season-tab.shoulder{color:var(--orange);}
.rate-season-tab.low{color:var(--green);}
.rate-season-tab.active{border-color:var(--accent-ring);color:var(--accent);background:var(--accent-ghost);}
.rate-grid{
  display:grid;grid-template-columns:auto repeat(4,1fr);gap:0;
  border:1px solid var(--b1);border-radius:12px;overflow:hidden;background:var(--bg-1);
}
.rate-cell{
  padding:10px 14px;border-bottom:1px solid var(--b1);border-right:1px solid var(--b1);
  font-family:var(--fb);font-size:12px;color:var(--t2);display:flex;align-items:center;
}
.rate-cell:nth-child(5n){border-right:none;}
.rate-cell.header{
  background:var(--bg-2);font-family:var(--fu);font-size:8px;font-weight:800;
  color:var(--t4);letter-spacing:.08em;text-transform:uppercase;
}
.rate-cell.occ-label{
  font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t3);
  letter-spacing:.04em;text-transform:uppercase;background:var(--bg-2);min-width:80px;
}
.rate-cell .rate-amount{font-family:var(--fd);font-size:17px;font-weight:500;color:var(--t1);}
.rate-cell .rate-amount.zero{color:var(--t4);font-size:12px;font-family:var(--fb);font-style:italic;}
.rate-supp-list{display:flex;flex-direction:column;gap:6px;}
.rate-supp-row{
  display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:12px;align-items:center;
  padding:10px 14px;background:var(--bg-1);border:1px solid var(--b1);border-radius:12px;
}
.rate-supp-name{font-family:var(--fb);font-size:13px;font-weight:600;color:var(--t1);}
.rate-supp-val{font-family:var(--fd);font-size:15px;color:var(--t2);display:flex;flex-direction:column;gap:2px;}
.rate-supp-lbl{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.rate-supp-lbl.high{color:var(--red);}
.rate-supp-lbl.shoulder{color:var(--orange);}
.rate-supp-lbl.low{color:var(--green);}

/* ─────────────────────────────────────────────────────
   LWS v6.1 — Child Policy Editor (prototype Section 5)
───────────────────────────────────────────────────── */
.child-editor{padding:16px;background:var(--bg-0);border-radius:12px;}
.child-band{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:10px 14px;border-radius:12px;
  background:var(--bg-1);border:1px solid var(--b1);margin-bottom:8px;
}
.child-band-age{
  font-family:var(--fd);font-size:18px;font-weight:500;color:var(--t1);
  min-width:70px;text-align:center;display:flex;flex-direction:column;align-items:center;
}
.child-band-age span{font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t4);display:block;letter-spacing:.08em;text-transform:uppercase;margin-top:2px;}
.child-band-select{
  padding:6px 10px;border-radius:8px;
  border:1px solid var(--b2);background:var(--bg-2);
  font-family:var(--fb);font-size:12px;color:var(--t1);outline:none;cursor:pointer;
}
.child-band-rate{
  padding:6px 10px;border-radius:8px;
  border:1px solid var(--b2);background:var(--bg-2);
  font-family:var(--fd);font-size:15px;color:var(--t1);
  width:72px;text-align:right;outline:none;
}
.child-band-rate:focus{border-color:var(--accent-ring);}
.child-band-rate:disabled{opacity:.45;cursor:not-allowed;}
.child-band-remove{
  width:24px;height:24px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:none;background:transparent;color:var(--t4);
  cursor:pointer;font-size:14px;transition:all 120ms;margin-left:auto;
}
.child-band-remove:hover{background:var(--red-bg);color:var(--red);}
.child-add-btn{
  margin-top:4px;padding:8px 16px;border-radius:999px;
  border:1px dashed var(--b2);background:transparent;
  font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t4);
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all 120ms;
}
.child-add-btn:hover{border-color:var(--accent-ring);color:var(--accent);}

/* ===== CITIES (LWS v6.1) ===== */
/* Ported from nd-prototype-cities.html, all tokens inlined to hex */

.cty-inventory{background:var(--bg-0);min-height:600px;}

/* Summary bar */
.cty-summary{
  display:flex;align-items:center;gap:24px;
  padding:20px 24px;border-bottom:1px solid var(--b1);
}
.cty-stat{display:flex;align-items:center;gap:8px;}
.cty-stat-val{font-family:var(--fd);font-size:28px;font-weight:400;color:var(--t1);letter-spacing:-.02em;}
.cty-stat-val.gold{color:var(--accent);}
.cty-stat-label{font-family:var(--fu);font-size:8px;font-weight:800;color:var(--t4);letter-spacing:.10em;text-transform:uppercase;}
.cty-stat-divider{width:1px;height:32px;background:var(--b1);}
.cty-add-btn{
  margin-left:auto;padding:9px 20px;border-radius:999px;
  background:var(--accent-metal);color:var(--t1);border:none;
  font-family:var(--fu);font-size:9px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  box-shadow:0 1px 3px var(--b0),inset 0 1px 0 rgba(255,255,255,.60);
  position:relative;transition:transform 120ms;
}
.cty-add-btn:active{transform:scale(.97);}
.cty-add-btn::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 50%);
  pointer-events:none;
}

/* Filter toolbar */
.cty-toolbar{
  display:flex;align-items:center;gap:12px;padding:14px 24px;
  border-bottom:1px solid var(--b1);flex-wrap:wrap;
}
.cty-search-wrap{position:relative;flex:1;min-width:200px;max-width:320px;}
.cty-search-wrap::before{
  content:'\1F50D';position:absolute;left:10px;top:50%;transform:translateY(-50%);
  font-size:13px;opacity:.5;pointer-events:none;
}
.cty-search{
  width:100%;padding:8px 14px 8px 34px;border-radius:999px;
  border:1px solid var(--b2);background:var(--bg-1);
  font-family:var(--fb);font-size:13px;color:var(--t1);
  outline:none;transition:border-color 120ms;
}
.cty-search:focus{border-color:var(--accent-ring);}
.cty-filter-select{
  padding:7px 12px;border-radius:999px;
  border:1px solid var(--b1);background:var(--bg-2);
  font-family:var(--fb);font-size:12px;color:var(--t2);
  outline:none;cursor:pointer;
}
.cty-zone-chips{display:flex;gap:4px;flex-wrap:wrap;}
.cty-zone-chip{
  padding:6px 12px;border-radius:999px;
  border:1px solid var(--b1);background:transparent;
  font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t3);
  letter-spacing:.04em;text-transform:uppercase;cursor:pointer;
  transition:all 120ms;
}
.cty-zone-chip:hover{background:var(--bg-2);color:var(--t2);}
.cty-zone-chip.active{background:var(--accent-ghost);color:var(--accent);border-color:var(--accent-ring);}
.cty-sort-label{
  font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t4);
  letter-spacing:.08em;text-transform:uppercase;margin-left:auto;
}

/* 10X City Cards — 2-col grid (guarded against legacy overrides) */
.cty-grid{
  padding:20px 24px !important;
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  gap:16px !important;
}
#cityDBList.cty-grid{grid-template-columns:repeat(2,1fr) !important;}
@media(max-width:840px){
  .cty-grid{grid-template-columns:1fr !important;}
  #cityDBList.cty-grid{grid-template-columns:1fr !important;}
}

.cty-card{
  background:var(--bg-1);border:1px solid var(--b1);border-radius:12px;
  overflow:hidden;cursor:pointer;
  transition:border-color 220ms,box-shadow 220ms,transform 220ms;
  position:relative;display:flex;flex-direction:column;
}
.cty-card:hover{border-color:var(--b2);box-shadow:0 4px 12px var(--b1);transform:translateY(-2px);}

.cty-card-img{
  width:100%;height:160px;position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--bg-3) 0%,#D5CDBF 100%);
  display:flex;align-items:center;justify-content:center;
}
.cty-card-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.65) 100%);
  pointer-events:none;
}
.cty-card-img-initials{
  font-family:var(--fd);font-size:48px;font-weight:300;color:var(--t4);
  letter-spacing:-.01em;z-index:0;
}
.cty-card-cityname{
  position:absolute;bottom:12px;left:16px;z-index:2;
  font-family:var(--fd);font-size:24px;font-weight:400;color:#fff;
  letter-spacing:-.01em;text-shadow:0 2px 8px rgba(0,0,0,.5);
}
.cty-card-region-pill{
  position:absolute;top:10px;right:10px;z-index:2;
  padding:4px 10px;border-radius:999px;
  font-family:var(--fu);font-size:8px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  background:rgba(201,152,28,.25);color:#E0C060;border:1px solid rgba(201,152,28,.3);
}
.cty-card-region-pill.cultural{background:rgba(212,148,76,.25);color:#F0C070;border-color:rgba(212,148,76,.3);}
.cty-card-region-pill.hill{background:rgba(56,180,120,.2);color:#60D098;border-color:rgba(56,180,120,.25);}
.cty-card-region-pill.coast-south{background:rgba(107,154,184,.25);color:#A0CDE0;border-color:rgba(107,154,184,.3);}
.cty-card-region-pill.coast-east{background:rgba(148,120,200,.25);color:#C0A8E0;border-color:rgba(148,120,200,.3);}
.cty-card-region-pill.western{background:rgba(201,152,28,.25);color:#E0C060;border-color:rgba(201,152,28,.3);}
.cty-card-region-pill.north{background:rgba(148,120,200,.25);color:#C0A8E0;border-color:rgba(148,120,200,.3);}

.cty-card-body{padding:16px;display:flex;flex-direction:column;gap:10px;flex:1;}

.cty-card-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.cty-badge{
  display:inline-flex;align-items:center;gap:3px;
  padding:3px 8px;border-radius:999px;
  font-family:var(--fu);font-size:8px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
}
.cty-badge.zone{background:rgba(78,168,160,.12);color:var(--teal);border:1px solid rgba(78,168,160,.15);}
.cty-badge.active-badge{background:rgba(56,180,120,.12);color:var(--green);border:1px solid rgba(56,180,120,.15);}
.cty-badge.inactive-badge{background:rgba(200,90,90,.12);color:var(--red);border:1px solid rgba(200,90,90,.15);}

.cty-card-coords{
  font-family:'SF Mono','Fira Code','Consolas',monospace;font-size:11px;color:var(--t3);
  display:flex;align-items:center;gap:6px;
}
.cty-card-coords-icon{font-size:12px;opacity:.5;}

.cty-card-desc{
  font-family:var(--fb);font-size:12px;color:var(--t3);line-height:1.55;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

.cty-card-stats{
  display:flex;gap:16px;padding:8px 0;border-top:1px solid var(--b1);border-bottom:1px solid var(--b1);
}
.cty-card-stat{display:flex;align-items:center;gap:4px;}
.cty-card-stat-val{font-family:var(--fd);font-size:16px;font-weight:500;color:var(--t1);}
.cty-card-stat-label{font-family:var(--fu);font-size:7px;font-weight:700;color:var(--t4);letter-spacing:.06em;text-transform:uppercase;}
.cty-card-stat-divider{width:1px;height:18px;background:var(--b1);}

.cty-card-aliases{display:flex;gap:4px;flex-wrap:wrap;}
.cty-alias{
  padding:2px 8px;border-radius:999px;
  font-family:var(--fb);font-size:10px;color:var(--t3);
  background:var(--bg-2);border:1px solid var(--b1);
}

.cty-card-actions{display:flex;gap:6px;margin-top:auto;padding-top:4px;}
.cty-card-btn{
  flex:1;padding:7px 0;border-radius:999px;
  border:1px solid var(--b1);background:transparent;
  font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t3);
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
  transition:all 120ms;text-align:center;
}
.cty-card-btn:hover{background:var(--bg-3);color:var(--t1);border-color:var(--b2);}
.cty-card-btn.danger:hover{background:rgba(200,90,90,.12);color:var(--red);border-color:rgba(200,90,90,.15);}
.cty-card-btn.primary{
  background:var(--accent-ghost);color:var(--accent);border-color:var(--accent-ring);
}
.cty-card-btn.primary:hover{background:var(--accent-seam);}

/* ===== SECTION 2 — CITY DETAIL MODAL ===== */
.cty-modal-wrap{
  display:flex;align-items:center;justify-content:center;
  padding:40px;background:rgba(0,0,0,.45);
  position:fixed;inset:0;z-index:900;
}
.cty-modal{
  width:720px;max-height:92vh;overflow:auto;
  background:var(--bg-1);border:1px solid var(--b2);
  border-radius:16px;box-shadow:0 12px 36px var(--b2);
}
.cty-modal-head{
  padding:24px 24px 0;
  background:linear-gradient(135deg,var(--t1) 0%,#1E2A22 40%,#1A2428 100%);
  border-bottom:2px solid var(--accent-seam);
  position:relative;
}
.cty-modal-head::after{
  content:'';position:absolute;bottom:-1px;left:24px;right:24px;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent-dn),transparent);
}
.cty-modal-hero{display:flex;gap:16px;margin-bottom:16px;position:relative;}
.cty-modal-initial{
  width:72px;height:72px;border-radius:50%;
  background:linear-gradient(135deg,#26221C 0%,#302B24 100%);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;border:2px solid var(--accent-ring);
}
.cty-modal-initial-text{font-family:var(--fd);font-size:32px;font-weight:300;color:#C99020;}
.cty-modal-info{flex:1;display:flex;flex-direction:column;justify-content:center;}
.cty-modal-name{font-family:var(--fd);font-size:24px;font-weight:300;color:#F6EEE2;letter-spacing:-.01em;margin-bottom:4px;}
.cty-modal-meta-line{font-family:var(--fb);font-size:12px;color:#C8B89C;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cty-modal-meta-dot{width:3px;height:3px;border-radius:50%;background:#C8B89C;flex-shrink:0;}
.cty-tabs{display:flex;gap:0;background:transparent;padding:0 24px;}
.cty-tab{
  padding:10px 20px;background:transparent;border:none;border-bottom:2px solid transparent;
  font-family:var(--fu);font-size:9px;font-weight:700;color:#C8B89C;
  letter-spacing:.08em;text-transform:uppercase;
  cursor:pointer;
  transition:color 120ms,border-color 120ms;
}
.cty-tab:hover{color:#F6EEE2;}
.cty-tab.active{color:#C99020;border-bottom-color:#C99020;}
.cty-modal-body{padding:24px;min-height:360px;background:var(--bg-1);color:var(--t1);}

/* Overview tab */
.cty-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px;}
.cty-ov-box{padding:12px;border-radius:8px;background:var(--bg-2);border:1px solid var(--b1);text-align:center;}
.cty-ov-val{font-family:var(--fd);font-size:22px;font-weight:400;color:var(--t1);line-height:1.2;}
.cty-ov-label{font-family:var(--fu);font-size:7px;font-weight:800;color:var(--t4);letter-spacing:.10em;text-transform:uppercase;margin-top:2px;}

.cty-ov-section-title{
  font-family:var(--fu);font-size:9px;font-weight:800;color:var(--t4);
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;
  display:flex;align-items:center;gap:10px;
}
.cty-ov-section-title::after{content:'';flex:1;height:1px;background:var(--b1);}

.cty-ov-aliases{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;}
.cty-ov-alias{
  padding:4px 12px;border-radius:999px;
  font-family:var(--fb);font-size:12px;color:var(--t2);
  background:var(--bg-2);border:1px solid var(--b1);
}
.cty-ov-desc{
  font-family:var(--fb);font-size:13px;color:var(--t3);line-height:1.65;
  margin-bottom:20px;padding:14px 16px;background:var(--bg-2);border-radius:8px;
  border:1px solid var(--b1);
}

.cty-connected-list{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;}
.cty-connected-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 12px;border-radius:6px;
  background:var(--bg-2);border:1px solid var(--b1);
}
.cty-connected-name{font-family:var(--fb);font-size:13px;color:var(--t1);font-weight:500;flex:1;}
.cty-connected-badge{
  padding:2px 8px;border-radius:999px;
  font-family:var(--fu);font-size:8px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
}
.cty-connected-badge.luxury{background:rgba(148,120,200,.12);color:var(--violet);}
.cty-connected-badge.standard{background:var(--accent-ghost);color:var(--accent);}
.cty-connected-badge.budget{background:rgba(107,154,184,.12);color:var(--blue);}
.cty-connected-badge.tour{background:rgba(56,180,120,.12);color:var(--green);}
.cty-connected-badge.adventure{background:rgba(212,148,76,.12);color:var(--orange);}
.cty-connected-badge.culture{background:rgba(148,120,200,.12);color:var(--violet);}
.cty-connected-badge.nature{background:rgba(78,168,160,.12);color:var(--teal);}
.cty-connected-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.cty-connected-dot.hotel{background:var(--accent);}
.cty-connected-dot.activity{background:var(--teal);}

/* ===== SECTION 3 — MAP & COORDINATES ===== */
.cty-map-content{display:flex;flex-direction:column;gap:16px;}
.cty-map-placeholder{
  height:300px;border-radius:12px;
  background:var(--bg-3);border:1px dashed var(--b2);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
}
.cty-map-icon{font-size:36px;opacity:.4;}
.cty-map-text{font-family:var(--fb);font-size:12px;color:var(--t4);}

.cty-geo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px;}
.cty-geo-item{padding:10px 14px;border-radius:6px;background:var(--bg-2);border:1px solid var(--b1);}
.cty-geo-label{font-family:var(--fu);font-size:8px;font-weight:800;color:var(--t4);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;}
.cty-geo-val{font-family:var(--fb);font-size:12px;color:var(--t1);font-weight:500;word-break:break-word;}

.cty-zone-card{
  padding:16px;border-radius:8px;
  background:var(--bg-2);border:1px solid var(--b1);
  margin-bottom:16px;
}
.cty-zone-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.cty-zone-card-icon{
  width:36px;height:36px;border-radius:6px;
  background:rgba(78,168,160,.12);border:1px solid rgba(78,168,160,.15);
  display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;
}
.cty-zone-card-title{font-family:var(--fd);font-size:18px;font-weight:400;color:var(--t1);}
.cty-zone-card-code{font-family:var(--fu);font-size:8px;font-weight:800;color:var(--teal);letter-spacing:.08em;text-transform:uppercase;}
.cty-zone-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.cty-zone-card-item{display:flex;flex-direction:column;gap:2px;}
.cty-zone-card-item-label{font-family:var(--fu);font-size:7px;font-weight:800;color:var(--t4);letter-spacing:.08em;text-transform:uppercase;}
.cty-zone-card-item-val{font-family:var(--fb);font-size:12px;color:var(--t2);}
.cty-zone-card-activities{display:flex;gap:4px;flex-wrap:wrap;margin-top:10px;}
.cty-zone-card-act-pill{
  padding:3px 8px;border-radius:999px;
  font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t3);
  letter-spacing:.04em;text-transform:uppercase;
  background:var(--bg-3);border:1px solid var(--b1);
}

.cty-nearby-list{display:flex;flex-direction:column;gap:6px;}
.cty-nearby-item{
  display:flex;align-items:center;gap:12px;
  padding:8px 12px;border-radius:6px;
  background:var(--bg-2);border:1px solid var(--b1);
}
.cty-nearby-name{font-family:var(--fb);font-size:13px;color:var(--t1);font-weight:500;flex:1;}
.cty-nearby-dist{font-family:var(--fd);font-size:14px;font-weight:500;color:var(--accent);}
.cty-nearby-dir{
  font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t4);
  letter-spacing:.04em;text-transform:uppercase;
}

/* ===== SECTION 4 — CITY EDIT FORM ===== */
.cty-edit-form{display:flex;flex-direction:column;gap:16px;}
.cty-field{display:flex;flex-direction:column;gap:4px;}
.cty-field-row{display:flex;gap:12px;}
.cty-field-row .cty-field{flex:1;}
.cty-label{font-family:var(--fu);font-size:9px;font-weight:800;color:var(--t4);letter-spacing:.10em;text-transform:uppercase;}
.cty-input{
  padding:9px 14px;border-radius:8px;
  border:1px solid var(--b2);background:var(--bg-2);
  font-family:var(--fb);font-size:13px;color:var(--t1);
  outline:none;transition:border-color 120ms;
}
.cty-input:focus{border-color:var(--accent-ring);}
.cty-textarea{
  padding:9px 14px;border-radius:8px;
  border:1px solid var(--b2);background:var(--bg-2);
  font-family:var(--fb);font-size:13px;color:var(--t1);
  outline:none;transition:border-color 120ms;
  resize:vertical;min-height:80px;
}
.cty-textarea:focus{border-color:var(--accent-ring);}
.cty-select{
  padding:9px 14px;border-radius:8px;
  border:1px solid var(--b2);background:var(--bg-2);
  font-family:var(--fb);font-size:13px;color:var(--t1);
  outline:none;cursor:pointer;transition:border-color 120ms;
}
.cty-select:focus{border-color:var(--accent-ring);}

.cty-tag-input-wrap{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  padding:8px 12px;border-radius:8px;
  border:1px solid var(--b2);background:var(--bg-2);
  min-height:40px;
}
.cty-tag-item{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 10px;border-radius:999px;
  background:var(--accent-ghost);color:var(--accent);border:1px solid var(--accent-ring);
  font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
}
.cty-tag-remove{
  width:14px;height:14px;border-radius:50%;background:transparent;
  border:none;color:var(--accent);font-size:10px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background 120ms;line-height:1;
}
.cty-tag-remove:hover{background:rgba(201,152,28,.2);}
.cty-tag-field{
  border:none;background:transparent;outline:none;
  font-family:var(--fb);font-size:12px;color:var(--t1);
  flex:1;min-width:80px;
}
.cty-tag-field::placeholder{color:var(--t4);}

.cty-priority-input{
  width:80px;padding:9px 14px;border-radius:8px;
  border:1px solid var(--b2);background:var(--bg-2);
  font-family:var(--fd);font-size:18px;font-weight:500;color:var(--t1);
  outline:none;text-align:center;transition:border-color 120ms;
}
.cty-priority-input:focus{border-color:var(--accent-ring);}

.cty-toggle-wrap{display:flex;align-items:center;gap:12px;}
.cty-toggle{
  width:44px;height:24px;border-radius:999px;
  background:var(--bg-3);border:1px solid var(--b2);
  position:relative;cursor:pointer;transition:background 120ms,border-color 120ms;
}
.cty-toggle.on{background:var(--green);border-color:var(--green);}
.cty-toggle-knob{
  width:18px;height:18px;border-radius:50%;background:var(--bg-1);
  position:absolute;top:2px;left:2px;
  transition:transform 120ms cubic-bezier(0.16,1,0.3,1);
  box-shadow:0 1px 3px var(--sh1);
}
.cty-toggle.on .cty-toggle-knob{transform:translateX(20px);}
.cty-toggle-label{font-family:var(--fb);font-size:13px;color:var(--t2);}

.cty-form-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--b1);}
.cty-btn-save{
  padding:9px 24px;border-radius:999px;
  background:var(--accent-metal);color:var(--t1);border:none;
  font-family:var(--fu);font-size:9px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  box-shadow:0 1px 3px var(--b0),inset 0 1px 0 rgba(255,255,255,.60);
  position:relative;transition:transform 120ms;
}
.cty-btn-save:active{transform:scale(.97);}
.cty-btn-save::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 50%);
  pointer-events:none;
}
.cty-btn-cancel{
  padding:9px 20px;border-radius:999px;
  border:1px solid var(--b2);background:var(--bg-2);
  font-family:var(--fu);font-size:9px;font-weight:700;
  color:var(--t3);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  transition:all 120ms;
}
.cty-btn-cancel:hover{background:var(--bg-3);color:var(--t1);border-color:var(--t4);}

/* ===== SECTION 5 — ZONE REGISTRY ===== */
.cty-zone-registry{
  padding:20px 24px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
@media(max-width:960px){.cty-zone-registry{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.cty-zone-registry{grid-template-columns:1fr;}}
.cty-zr-card{
  background:var(--bg-1);border:1px solid var(--b1);border-radius:12px;
  overflow:hidden;transition:border-color 220ms,box-shadow 220ms;
  position:relative;
}
.cty-zr-card:hover{border-color:var(--b2);box-shadow:0 1px 3px var(--b0);}
.cty-zr-card::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;z-index:1;
}
.cty-zr-card.region-cultural::before{background:var(--orange);}
.cty-zr-card.region-coast::before{background:var(--blue);}
.cty-zr-card.region-hill::before{background:var(--green);}
.cty-zr-card.region-north::before{background:var(--violet);}
.cty-zr-card.region-western::before{background:var(--accent);}
.cty-zr-card.region-east::before{background:var(--teal);}

.cty-zr-header{padding:14px 16px 10px;display:flex;align-items:flex-start;gap:10px;}
.cty-zr-name{font-family:var(--fd);font-size:17px;font-weight:500;color:var(--t1);flex:1;line-height:1.2;}
.cty-zr-code{
  font-family:var(--fu);font-size:7px;font-weight:800;color:var(--t4);
  letter-spacing:.06em;text-transform:uppercase;
  padding:2px 6px;border-radius:999px;background:var(--bg-2);border:1px solid var(--b1);
}
.cty-zr-city-count{
  padding:3px 8px;border-radius:999px;
  font-family:var(--fu);font-size:8px;font-weight:800;color:var(--accent);
  background:var(--accent-ghost);border:1px solid var(--accent-ring);
  flex-shrink:0;
}
.cty-zr-body{padding:0 16px 14px;display:flex;flex-direction:column;gap:8px;}
.cty-zr-stats{display:flex;gap:12px;}
.cty-zr-stat{display:flex;flex-direction:column;gap:1px;}
.cty-zr-stat-label{font-family:var(--fu);font-size:7px;font-weight:700;color:var(--t4);letter-spacing:.06em;text-transform:uppercase;}
.cty-zr-stat-val{font-family:var(--fd);font-size:15px;font-weight:500;color:var(--t2);}
.cty-zr-activities{display:flex;gap:3px;flex-wrap:wrap;}
.cty-zr-act-pill{
  padding:2px 7px;border-radius:999px;
  font-family:var(--fu);font-size:7px;font-weight:700;color:var(--t3);
  letter-spacing:.04em;text-transform:uppercase;
  background:var(--bg-2);border:1px solid var(--b1);
}
.cty-zr-peak{
  display:inline-flex;align-items:center;gap:4px;
  font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t3);
  letter-spacing:.04em;text-transform:uppercase;
}
.cty-zr-peak-dot{width:5px;height:5px;border-radius:50%;background:var(--orange);flex-shrink:0;}

/* ===== SECTION 6 — EMPTY STATE ===== */
.cty-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:80px 40px;text-align:center;grid-column:1/-1;
}
.cty-empty-icon{font-size:56px;margin-bottom:20px;opacity:.35;}
.cty-empty-title{font-family:var(--fd);font-size:28px;font-weight:400;color:var(--t1);margin-bottom:8px;}
.cty-empty-desc{font-family:var(--fb);font-size:14px;color:var(--t3);line-height:1.65;max-width:400px;margin-bottom:28px;}
.cty-empty-actions{display:flex;gap:12px;}
.cty-empty-btn{
  padding:10px 24px;border-radius:999px;
  font-family:var(--fu);font-size:10px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
  transition:all 120ms;border:none;
}
.cty-empty-btn.primary{
  background:var(--accent-metal);color:var(--t1);
  box-shadow:0 1px 3px var(--b0),inset 0 1px 0 rgba(255,255,255,.60);
  position:relative;
}
.cty-empty-btn.primary::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 50%);
  pointer-events:none;
}
.cty-empty-btn.secondary{
  background:transparent;color:var(--t2);
  border:1px solid var(--b2);
}
.cty-empty-btn.secondary:hover{background:var(--bg-2);color:var(--t1);border-color:var(--t4);}

/* Mobile */
@media(max-width:480px){
  .cty-summary{flex-wrap:wrap;gap:12px;padding:14px 16px;}
  .cty-add-btn{width:100%;text-align:center;margin-left:0;}
  .cty-toolbar{padding:10px 16px;gap:8px;}
  .cty-search-wrap{min-width:0;max-width:none;flex:1 1 100%;}
  .cty-filter-select{flex:1 1 auto;}
  .cty-zone-chips{flex:1 1 100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;}
  .cty-sort-label{margin-left:0;flex:1 1 100%;text-align:right;}
  .cty-grid{padding:16px;gap:14px;}
  .cty-modal-wrap{padding:16px;}
  .cty-modal{width:100%;max-width:100%;}
  .cty-modal-head{padding:16px 16px 0;}
  .cty-modal-body{padding:16px;}
  .cty-modal-hero{gap:12px;}
  .cty-modal-initial{width:52px;height:52px;}
  .cty-modal-initial-text{font-size:24px;}
  .cty-modal-name{font-size:20px;}
  .cty-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 16px;}
  .cty-tab{padding:8px 14px;white-space:nowrap;}
  .cty-overview-grid{grid-template-columns:repeat(2,1fr);gap:8px;}
  .cty-zone-registry{padding:16px;gap:10px;}
  .cty-zone-card-grid{grid-template-columns:1fr;}
  .cty-field-row{flex-direction:column;gap:12px;}
  .cty-empty{padding:48px 16px;}
  .cty-empty-title{font-size:22px;}
  .cty-empty-actions{flex-direction:column;gap:8px;width:100%;}
  .cty-empty-btn{width:100%;text-align:center;}
}
@media(max-width:600px){
  .cty-modal{width:100%;max-width:100%;}
  .cty-modal-wrap{padding:20px;}
  .cty-overview-grid{grid-template-columns:repeat(2,1fr);}
}


/* ============ TEMPLATES GALLERY (LWS) ============ */
/* Light Warm Studio v6.1 port of nd-prototype-templates.html
   Sections: Template Gallery, Card Anatomy, Empty Gallery, Filter & Search States.
   Inlined hex colors only. No var(--). */

/* ---------- Gallery layout + slide-in preview ---------- */
.gallery-layout{display:flex;gap:0;}
.gallery-main{flex:1;min-width:0;}
.preview-panel{
  width:0;flex-shrink:0;background:var(--bg-0);overflow:hidden;
  transition:width 380ms cubic-bezier(0.16,1,0.3,1),border-color 220ms cubic-bezier(0.16,1,0.3,1);
  position:sticky;top:0;align-self:flex-start;max-height:100vh;overflow-y:auto;
  border-left:0 solid transparent;
}
.preview-panel.open{width:440px;border-left:1px solid var(--b1);}

/* ---------- Filter bar ---------- */
.filter-bar{
  display:flex;align-items:center;gap:10px;padding:16px 20px;
  border-bottom:1px solid var(--b0);flex-wrap:wrap;
  transition:opacity 220ms cubic-bezier(0.16,1,0.3,1);
}
.filter-bar.dimmed{opacity:.55;}
.filter-search{
  flex:1;min-width:200px;padding:8px 14px;border-radius:999px;
  border:1px solid var(--b2);background:var(--bg-2);
  font-family:var(--fb);font-size:12px;color:var(--t1);
  outline:none;transition:border-color 120ms cubic-bezier(0.16,1,0.3,1);
}
.filter-search::placeholder{color:var(--t4);}
.filter-search:focus{border-color:var(--accent-ring);}
.filter-chips{display:flex;gap:6px;flex-wrap:wrap;}
.filter-chip{
  padding:5px 14px;border-radius:999px;border:1px solid var(--b2);
  background:var(--bg-2);font-family:var(--fu);font-size:9px;font-weight:700;
  color:var(--t3);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
  transition:all 120ms cubic-bezier(0.16,1,0.3,1);
}
.filter-chip:hover{border-color:var(--b3);color:var(--t2);}
.filter-chip.active{
  background:var(--accent-ghost);color:var(--accent);border-color:var(--accent-ring);
}
.filter-chip .chip-count{font-size:8px;color:var(--t4);margin-left:3px;}
.filter-chip.active .chip-count{color:var(--accent);}

/* ---------- Starred carousel ---------- */
.starred-section{padding:16px 20px 0;}
.starred-label{
  font-family:var(--fu);font-size:9px;font-weight:800;color:var(--accent);
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;
}
.starred-scroll{
  display:flex;gap:10px;overflow-x:auto;padding-bottom:12px;
  scrollbar-width:thin;scrollbar-color:var(--b2) transparent;
}
.starred-mini{
  flex-shrink:0;width:180px;padding:12px 14px;
  background:var(--bg-2);border-radius:14px;
  border:1px solid var(--accent-ring);cursor:pointer;
  transition:background 120ms cubic-bezier(0.16,1,0.3,1),box-shadow 120ms cubic-bezier(0.16,1,0.3,1);
}
.starred-mini:hover{background:var(--bg-3);box-shadow:0 1px 3px rgba(20,14,8,.07),0 1px 2px var(--b0);}
.starred-mini-strip{
  height:4px;border-radius:2px;margin-bottom:8px;
  background:linear-gradient(90deg,var(--teal),var(--green));
}
.starred-mini-body{display:flex;flex-direction:column;gap:4px;}
.starred-mini-name{font-family:var(--fb);font-size:12px;font-weight:600;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.starred-mini-route{font-family:var(--fb);font-size:10px;color:var(--t4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ---------- Template card grid ---------- */
.tpl-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:14px;padding:16px 20px;
}
.tpl-card{
  background:var(--bg-2);border:1.5px solid var(--b1);border-radius:20px;
  display:flex;flex-direction:column;overflow:hidden;position:relative;
  transition:box-shadow 220ms cubic-bezier(0.16,1,0.3,1),transform 220ms cubic-bezier(0.16,1,0.3,1),border-color 120ms cubic-bezier(0.16,1,0.3,1),background 120ms cubic-bezier(0.16,1,0.3,1);
  cursor:pointer;
}
.tpl-card:hover{
  box-shadow:0 4px 20px var(--b1),0 2px 8px rgba(20,14,8,.07);
  transform:translateY(-3px);border-color:var(--b3);
}
.tpl-card.is-active{
  border-color:var(--accent);background:var(--accent-ghost);
  box-shadow:0 0 0 2px var(--accent-ring),0 4px 20px var(--b1),0 2px 8px rgba(20,14,8,.07);
}

/* Colour strip top (6px w/ glow per prototype) */
.tpl-strip{height:6px;width:100%;position:relative;}
.tpl-strip::after{
  content:'';position:absolute;bottom:-8px;left:10%;right:10%;height:12px;
  filter:blur(10px);opacity:.35;border-radius:50%;
}
.tpl-strip.route-1{background:linear-gradient(90deg,var(--teal),var(--green));}
.tpl-strip.route-1::after{background:linear-gradient(90deg,var(--teal),var(--green));}
.tpl-strip.route-2{background:linear-gradient(90deg,var(--accent),var(--orange));}
.tpl-strip.route-2::after{background:linear-gradient(90deg,var(--accent),var(--orange));}
.tpl-strip.route-3{background:linear-gradient(90deg,var(--blue),var(--violet));}
.tpl-strip.route-3::after{background:linear-gradient(90deg,var(--blue),var(--violet));}
.tpl-strip.route-4{background:linear-gradient(90deg,var(--green),var(--teal),var(--blue));}
.tpl-strip.route-4::after{background:linear-gradient(90deg,var(--green),var(--teal),var(--blue));}
.tpl-strip.route-5{background:linear-gradient(90deg,var(--orange),var(--accent),var(--green));}
.tpl-strip.route-5::after{background:linear-gradient(90deg,var(--orange),var(--accent),var(--green));}

.tpl-body{padding:18px 18px 14px;flex:1;}
.tpl-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;}
.tpl-name{font-family:var(--fd);font-size:19px;font-weight:400;color:var(--t1);line-height:1.25;letter-spacing:-.01em;}
.tpl-star{
  font-size:16px;cursor:pointer;opacity:.3;
  transition:opacity 120ms cubic-bezier(0.16,1,0.3,1),transform 120ms cubic-bezier(0.16,1,0.3,1);
  flex-shrink:0;margin-left:8px;margin-top:2px;color:var(--t4);
}
.tpl-star:hover{opacity:.7;transform:scale(1.15);}
.tpl-star.starred{opacity:1;color:var(--accent);}

/* Route as mini neutral city pills */
.tpl-route-pills{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px;align-items:center;}
.tpl-city-pill{
  font-family:var(--fu);font-size:8px;font-weight:700;
  padding:2px 8px;border-radius:999px;
  letter-spacing:.04em;text-transform:uppercase;
  background:var(--b1);color:var(--t3);
}
.tpl-city-pill .pill-n{opacity:.6;margin-left:2px;}
.tpl-route-arrow{color:var(--t5);font-size:9px;align-self:center;}

/* Stats row */
.tpl-stats{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.tpl-stat{
  padding:3px 10px;border-radius:999px;
  font-family:var(--fu);font-size:9px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
  background:var(--b1);color:var(--t2);  /* Phase-1a.5: --t3 → --t2 for AA body on bg-2 */
}
.tpl-stat.cost{
  background:rgba(56,180,120,.12);color:var(--green);
  font-family:var(--fd);font-size:13px;font-weight:400;
  letter-spacing:0;text-transform:none;
}
.tpl-usage{
  font-size:10px;color:var(--t4);margin-left:auto;display:flex;align-items:center;gap:3px;
  font-family:var(--fb);
}
.tpl-usage-dot{
  width:4px;height:4px;border-radius:50%;background:var(--green);display:inline-block;
}

/* Card footer — 3 canonical footer buttons */
.tpl-footer{
  display:flex;align-items:center;gap:0;
  border-top:1px solid var(--b0);
}
.tpl-footer-btn{
  flex:1;padding:10px 0;border:none;border-right:1px solid var(--b0);
  background:transparent;font-family:var(--fu);font-size:9px;font-weight:700;
  color:var(--t4);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
  transition:background 120ms cubic-bezier(0.16,1,0.3,1),color 120ms cubic-bezier(0.16,1,0.3,1);
  display:flex;align-items:center;justify-content:center;gap:5px;
}
.tpl-footer-btn:last-child{border-right:none;}
.tpl-footer-btn:hover{background:var(--b0);color:var(--t2);}
.tpl-footer-btn.primary{color:var(--accent);}
.tpl-footer-btn.primary:hover{background:var(--accent-ghost);color:var(--accent);}

/* ---------- Preview panel (DARK header per prototype, regardless of theme) ---------- */
.preview-header{
  background:linear-gradient(145deg,#302B24 0%,#1E2A22 50%,#1A2428 100%);
  padding:28px 24px;position:relative;
  border-bottom:2px solid var(--accent-seam);
}
.preview-header::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:var(--accent-metal);opacity:.30;
}
.preview-close{
  position:absolute;top:14px;right:14px;
  width:30px;height:30px;border-radius:50%;border:1px solid rgba(246,238,226,.13);
  background:rgba(0,0,0,.30);color:#C8B89C;cursor:pointer;font-size:16px;
  display:flex;align-items:center;justify-content:center;
  transition:all 120ms cubic-bezier(0.16,1,0.3,1);backdrop-filter:blur(4px);
}
.preview-close:hover{background:rgba(0,0,0,.50);color:#F6EEE2;}
.preview-star{
  position:absolute;top:16px;right:52px;font-size:18px;cursor:pointer;
  color:var(--accent);opacity:.55;transition:opacity 120ms cubic-bezier(0.16,1,0.3,1),transform 120ms cubic-bezier(0.16,1,0.3,1);
}
.preview-star:hover{opacity:1;transform:scale(1.1);}
.preview-star.starred{opacity:1;}
.preview-title{font-family:var(--fd);font-size:24px;font-weight:300;color:#F6EEE2;margin-bottom:4px;letter-spacing:-.01em;padding-right:90px;}
.preview-desc{font-family:var(--fb);font-size:12px;color:#8C7C6A;font-style:italic;margin-bottom:20px;line-height:1.5;}
.preview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.preview-stat-box{
  text-align:center;padding:12px 8px;
  background:rgba(0,0,0,.25);border-radius:10px;
  border:1px solid rgba(246,238,226,.03);backdrop-filter:blur(4px);
}
.preview-stat-label{
  font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t4);
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;
}
.preview-stat-val{
  font-family:var(--fd);font-size:22px;font-weight:300;color:var(--accent);line-height:1;
}

/* Preview body sections */
.preview-section{padding:18px 24px;border-bottom:1px solid var(--b0);}
.preview-section:last-child{border-bottom:none;}
.preview-sec-title{
  font-family:var(--fu);font-size:9px;font-weight:800;color:var(--t4);
  letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;
  display:flex;align-items:center;gap:8px;
}
.preview-sec-title::after{
  content:'';flex:1;height:1px;background:var(--b1);
}

/* Logistics */
.logistics-row{display:flex;gap:10px;flex-wrap:wrap;}
.logistics-tag{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 10px;border-radius:999px;
  font-family:var(--fu);font-size:9px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
  background:var(--b0);color:var(--t3);border:1px solid var(--b1);
}
.logistics-tag .ltag-icon{font-size:12px;}

/* Route pills (preview) — connected chain */
.route-pills{display:flex;flex-wrap:wrap;gap:4px;align-items:center;}
.route-pill{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;
  border:1px solid var(--b1);background:var(--b0);color:var(--t2);
  font-family:var(--fb);
}
.route-pill-nights{
  font-family:var(--fu);font-size:8px;font-weight:800;
  letter-spacing:.06em;opacity:.8;
}
.route-connector{color:var(--t5);font-size:10px;}

/* Day-by-day timeline */
.day-list{display:flex;flex-direction:column;gap:0;}
.day-item{
  display:grid;grid-template-columns:24px 16px 1fr auto;gap:0;
  align-items:center;padding:0;position:relative;min-height:44px;
}
.day-num{
  font-family:var(--fd);font-size:13px;font-weight:300;color:var(--t4);
  text-align:center;
}
.day-rail{
  display:flex;flex-direction:column;align-items:center;position:relative;
  height:100%;padding:0 4px;
}
.day-dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;z-index:1;
  margin-top:16px;background:var(--t4);
}
.day-line{
  width:1px;flex:1;background:var(--b2);margin-top:2px;
}
.day-item:last-child .day-line{display:none;}
.day-content{padding:10px 12px;border-bottom:1px solid var(--b0);}
.day-item:last-child .day-content{border-bottom:none;}
.day-city{font-family:var(--fb);font-size:12px;font-weight:600;color:var(--t1);}
.day-hotel{font-family:var(--fb);font-size:10px;color:var(--t4);margin-top:1px;}
.day-stars{color:var(--accent);font-size:8px;margin-left:4px;}
.day-acts{
  font-family:var(--fu);font-size:8px;font-weight:700;color:var(--teal);
  background:var(--teal-bg);padding:3px 8px;border-radius:999px;
  letter-spacing:.04em;text-transform:uppercase;align-self:center;margin-right:4px;
}
.day-acts.none{color:var(--t5);background:transparent;}

/* Cost breakdown with bars (prototype grid: 1fr 60px 40px label|val|bar) */
.cost-table{width:100%;}
.cost-row{
  display:grid;grid-template-columns:1fr 60px 40px;gap:8px;align-items:center;
  padding:6px 0;font-family:var(--fb);font-size:12px;color:var(--t3);
}
.cost-val{font-family:var(--fd);font-weight:400;text-align:right;color:var(--t1);}
.cost-bar-wrap{height:4px;border-radius:2px;background:var(--b0);overflow:hidden;}
.cost-bar{height:100%;border-radius:2px;background:var(--accent);opacity:.50;}
.cost-row.total{
  border-top:1px solid var(--b2);padding-top:10px;margin-top:6px;
  font-weight:600;color:var(--t1);grid-template-columns:1fr auto;
}
.cost-row.total .cost-val{color:var(--accent);font-size:16px;font-weight:300;}

/* Pricing scenarios 2x2 */
.scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.scenario-card{
  padding:12px;border-radius:10px;
  background:var(--b0);border:1px solid var(--b1);
  text-align:center;transition:border-color 120ms cubic-bezier(0.16,1,0.3,1),background 120ms cubic-bezier(0.16,1,0.3,1);
}
.scenario-card:hover,.scenario-card.recommended{border-color:rgba(201,152,28,.22);background:var(--accent-ghost);}
.scenario-pct{
  font-family:var(--fu);font-size:10px;font-weight:800;color:var(--accent);
  letter-spacing:.06em;margin-bottom:6px;
}
.scenario-sell{
  font-family:var(--fd);font-size:18px;font-weight:300;color:var(--t1);
  margin-bottom:2px;letter-spacing:-.01em;
}
.scenario-pp{font-family:var(--fb);font-size:10px;color:var(--t4);}

/* Preview actions */
.preview-actions{display:flex;flex-direction:column;gap:8px;padding:16px 20px;}
.preview-btn{
  padding:10px 16px;border-radius:14px;border:1px solid var(--b2);
  background:var(--bg-2);font-family:var(--fu);font-size:11px;font-weight:700;
  color:var(--t2);letter-spacing:.04em;cursor:pointer;text-align:center;
  transition:all 120ms cubic-bezier(0.16,1,0.3,1);
}
.preview-btn:hover{background:var(--bg-3);border-color:var(--b3);color:var(--t1);}
.preview-btn.primary{
  background:var(--accent-metal);color:var(--t1);border-color:transparent;
  font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  box-shadow:var(--sh1),var(--sh-inner);
}
.preview-btn.primary:hover{
  box-shadow:0 4px 20px var(--b1),inset 0 1px 0 rgba(255,255,255,.60);
  transform:translateY(-1px);
}
.preview-btn.danger{color:var(--red);border-color:rgba(168,56,56,.28);}
.preview-btn.danger:hover{background:var(--red-bg);color:var(--red);}
.preview-btn-row{display:flex;gap:8px;}
.preview-btn-row .preview-btn{flex:1;}

/* ---------- Empty states ---------- */
.empty-gallery{text-align:center;padding:64px 32px;}
.empty-icon{font-size:48px;opacity:.35;margin-bottom:12px;color:var(--t4);}
.empty-title{
  font-family:var(--fd);font-size:22px;font-weight:400;color:var(--t2);margin-bottom:6px;
}
.empty-text{
  font-family:var(--fb);font-size:13px;color:var(--t4);
  line-height:1.6;max-width:320px;margin:0 auto 20px;
}
.empty-cta{
  display:inline-block;padding:10px 24px;border-radius:999px;
  background:var(--accent-metal);color:var(--t1);
  font-family:var(--fu);font-size:11px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  box-shadow:var(--sh1),var(--sh-inner);
  transition:box-shadow 120ms cubic-bezier(0.16,1,0.3,1),transform 120ms cubic-bezier(0.16,1,0.3,1);
  border:none;
}
.empty-cta:hover{
  box-shadow:0 4px 20px var(--b1),inset 0 1px 0 rgba(255,255,255,.60);
  transform:translateY(-1px);
}
/* No-results uses .empty-gallery with smaller padding variant */
.empty-gallery.empty-noresults{padding:40px 24px;}

/* Dimmed filter bar for empty state */
.filter-bar.dimmed{opacity:.5;}
.filter-bar.dimmed .filter-search{pointer-events:none;}

/* ---------- Responsive ---------- */
@media(max-width:600px){
  .gallery-layout{flex-direction:column;}
  .gallery-main{min-width:0;}
  .preview-panel.open{width:100%;border-left:none;border-top:1px solid var(--b1);}
  .preview-header{padding:20px 16px;}
  .preview-title{font-size:20px;padding-right:80px;}
  .preview-stats{grid-template-columns:repeat(2,1fr);gap:6px;}
  .preview-section{padding:14px 16px;}
  .tpl-grid{grid-template-columns:1fr;gap:12px;padding:12px 16px;}
  .tpl-body{padding:14px 16px 12px;}
  .tpl-name{font-size:17px;}
  .tpl-footer-btn{padding:10px 8px;font-size:9px;}
  .filter-bar{padding:12px 16px;gap:8px;}
  .filter-chips{gap:4px;}
  .starred-section{padding:12px 16px 0;}
  .starred-mini{width:160px;}
  .scenario-grid{grid-template-columns:1fr;}
}

/* ════════════════════════════════════════════════════════════════════════
   LWS v6.1 — Revenue screen (prototype-canonical, inline HEX only)
   Introduced: v88-revenue-lws
   ════════════════════════════════════════════════════════════════════════ */

/* Screen shell & header */
#revenueScreen .rev-shell{
  background:var(--bg-0);color:var(--t1);min-height:100vh;
  font-family:var(--fb);
}
.rev-screen-header{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  padding:28px 40px 20px;border-bottom:1px solid var(--b1);
  background:var(--bg-0);flex-wrap:wrap;
}
.rev-screen-head-l{display:flex;flex-direction:column;gap:6px;}
.rev-eyebrow{
  font-family:var(--fu);font-size:10px;font-weight:800;
  color:var(--accent);letter-spacing:.20em;text-transform:uppercase;
}
.rev-screen-title{
  font-family:var(--fd);font-size:34px;font-weight:400;
  color:var(--t1);letter-spacing:-.02em;line-height:1.1;margin:0;
}
.rev-accent-underline{
  width:60px;height:2px;background:linear-gradient(135deg,#C9962E,var(--accent),#8A5C0F);
  margin-top:4px;border-radius:2px;
}
.rev-screen-head-r{display:flex;gap:8px;align-items:center;}
.rev-chip-btn{
  padding:8px 16px;border-radius:999px;border:1px solid var(--b2);
  background:var(--bg-2);font-family:var(--fu);font-size:10px;
  font-weight:700;color:var(--t2);letter-spacing:.08em;text-transform:uppercase;
  cursor:pointer;transition:all 120ms cubic-bezier(0.16,1,0.3,1);
}
.rev-chip-btn:hover{background:var(--bg-3);border-color:var(--b3);color:var(--t1);}
.rev-chip-btn.primary{
  background:linear-gradient(135deg,#C9962E,var(--accent),#8A5C0F);
  color:var(--bg-1);border-color:transparent;font-weight:800;
}
.rev-chip-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 14px var(--accent-ring);}
.rev-chip-btn.danger{color:var(--red);border-color:rgba(168,56,56,.28);background:rgba(168,56,56,.06);}
.rev-chip-btn.danger:hover{background:rgba(168,56,56,.12);}

/* Hero */
#revenueScreen .rev-hero{
  display:block;background:linear-gradient(180deg,var(--bg-1) 0%,var(--bg-0) 100%);
  padding:56px 40px 48px;border-bottom:1px solid var(--b1);
  position:relative;overflow:hidden;grid-template-columns:none;gap:0;
}
#revenueScreen .rev-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 50% at 30% 20%,var(--accent-ghost),transparent 70%);
  pointer-events:none;
}
.rev-hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 16px;border-radius:999px;
  background:var(--accent-ghost);border:1px solid var(--accent-ring);
  font-family:var(--fu);font-size:9px;font-weight:800;
  color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;
  position:relative;z-index:1;
}
.rev-hero-badge::before{
  content:'';width:6px;height:6px;border-radius:50%;
  background:var(--accent);animation:revPulse 2s ease infinite;
}
@keyframes revPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.7);}}
.rev-hero-title{
  font-family:var(--fd);font-size:28px;font-weight:400;
  color:var(--t1);letter-spacing:-.01em;margin:0 0 6px;position:relative;z-index:1;
}
.rev-hero-sub{
  font-family:var(--fb);font-size:13px;color:var(--t3);
  position:relative;z-index:1;margin:0;
}

/* KPI grid (6 cards) */
.rev-kpi-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:16px;padding:32px 40px 0;position:relative;z-index:1;margin-top:-20px;
}
.rev-kpi{
  background:var(--bg-1);border:1px solid var(--b1);border-radius:14px;
  padding:24px 20px 20px;position:relative;overflow:hidden;
  transition:all 220ms cubic-bezier(0.16,1,0.3,1);
  box-shadow:0 1px 3px rgba(20,14,8,.07),0 1px 2px var(--b0);
}
.rev-kpi:hover{
  border-color:var(--accent-ring);
  box-shadow:0 4px 20px var(--b1),0 2px 8px rgba(20,14,8,.07);
  transform:translateY(-2px);
}
.rev-kpi::after{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(135deg,#C9962E,var(--accent),#8A5C0F);opacity:0;
  transition:opacity 220ms;
}
.rev-kpi:hover::after{opacity:1;}
.rev-kpi-label{
  font-family:var(--fu);font-size:9px;font-weight:700;
  color:var(--t3);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;
}
.rev-kpi-value{
  font-family:var(--fd);font-size:32px;font-weight:500;
  color:var(--accent);letter-spacing:-.02em;line-height:1;margin-bottom:10px;
}
.rev-kpi-delta{
  display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;
  font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.06em;
}
.rev-kpi-delta.up{background:var(--green-bg);color:var(--green);}
.rev-kpi-delta.down{background:var(--red-bg);color:var(--red);}
.rev-kpi-icon{
  position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:6px;
  background:var(--accent-ghost);display:flex;align-items:center;justify-content:center;
  font-size:14px;color:var(--accent);opacity:.6;
}

/* Generic LWS section wrapper */
.rev-section-lws{
  padding:48px 40px;border-top:1px solid var(--b1);background:var(--bg-0);
}
#revenueScreen .rev-sec-label{
  font-family:var(--fu);font-size:9px;font-weight:800;
  color:var(--accent);letter-spacing:.20em;text-transform:uppercase;margin-bottom:8px;display:block;
}
.rev-sec-title{
  font-family:var(--fd);font-size:32px;font-weight:400;
  color:var(--t1);letter-spacing:-.02em;margin:0 0 8px;
}
.rev-sec-desc{
  font-family:var(--fb);font-size:14px;color:var(--t3);
  line-height:1.65;max-width:560px;margin:0 0 32px;
}

/* Canvas */
.rev-canvas{
  background:var(--bg-0);border:1px solid var(--b1);border-radius:20px;
  overflow:hidden;position:relative;margin-bottom:24px;
}
.rev-canvas-label{
  font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t4);
  letter-spacing:.12em;text-transform:uppercase;padding:12px 20px;
  border-bottom:1px solid var(--b0);background:var(--bg-1);
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.rev-canvas-range{
  font-family:var(--fb);font-size:10px;color:var(--t3);
  text-transform:none;letter-spacing:0;
}
.rev-canvas-inner{padding:0;min-height:80px;position:relative;}
.rev-tag-pill{
  display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:999px;
  font-family:var(--fu);font-size:9px;font-weight:800;letter-spacing:.10em;
  text-transform:uppercase;background:var(--accent-ghost);color:var(--accent);
  border:1px solid var(--accent-ring);
}

/* Period tabs */
.rev-period-tabs{display:flex;gap:4px;margin-bottom:24px;flex-wrap:wrap;}
.rev-period-tab{
  padding:6px 16px;border-radius:999px;border:1px solid var(--b1);
  background:var(--bg-1);font-family:var(--fu);font-size:9px;font-weight:700;
  color:var(--t3);letter-spacing:.10em;text-transform:uppercase;cursor:pointer;
  transition:all 120ms cubic-bezier(0.16,1,0.3,1);
}
.rev-period-tab:hover{color:var(--t2);border-color:var(--b2);}
.rev-period-tab.active{background:var(--accent-ghost);color:var(--accent);border-color:var(--accent-ring);}

/* Chart */
.rev-chart-container{
  display:flex;gap:0;align-items:flex-end;height:280px;padding:24px 24px 0;
  border-bottom:1px solid var(--b1);position:relative;
}
.rev-chart-gridlines{
  position:absolute;top:24px;left:24px;right:24px;bottom:0;
  display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;
}
.rev-chart-gridline{border-top:1px dashed var(--b0);position:relative;}
.rev-chart-gridline-label{
  position:absolute;left:-4px;top:-8px;font-family:var(--fu);
  font-size:8px;font-weight:600;color:var(--t4);letter-spacing:.05em;
  transform:translateX(-100%);padding-right:8px;
}
.rev-chart-bar-group{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:0;
  position:relative;z-index:1;padding:0 8px;
}
.rev-chart-stack{
  width:100%;max-width:56px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:stretch;height:240px;gap:2px;
}
.rev-chart-seg{
  border-radius:4px 4px 0 0;min-height:2px;position:relative;
  transition:all 220ms cubic-bezier(0.16,1,0.3,1);
}
.rev-chart-seg.confirmed{background:var(--green);border-radius:0 0 4px 4px;}
.rev-chart-seg.pipeline{background:var(--accent);border-radius:4px 4px 0 0;}
.rev-chart-seg:hover{opacity:.85;transform:scaleX(1.06);}
.rev-chart-seg-tooltip{
  position:absolute;bottom:100%;left:50%;transform:translateX(-50%);
  background:var(--bg-3);border:1px solid var(--b2);border-radius:6px;
  padding:6px 10px;white-space:nowrap;opacity:0;pointer-events:none;
  font-family:var(--fb);font-size:11px;color:var(--t1);
  box-shadow:0 4px 20px var(--b1);transition:opacity 120ms;z-index:10;
}
.rev-chart-seg:hover .rev-chart-seg-tooltip{opacity:1;}
.rev-chart-month{
  font-family:var(--fu);font-size:9px;font-weight:700;
  color:var(--t3);letter-spacing:.08em;text-transform:uppercase;
  padding:12px 0 16px;text-align:center;
}
.rev-chart-total{
  font-family:var(--fb);font-size:11px;font-weight:600;
  color:var(--t2);text-align:center;padding-bottom:4px;
}
.rev-chart-legend{
  display:flex;gap:24px;padding:16px 24px;border-top:1px solid var(--b0);
  flex-wrap:wrap;
}
.rev-chart-legend-item{
  display:flex;align-items:center;gap:8px;
  font-family:var(--fb);font-size:12px;color:var(--t3);
}
.rev-chart-legend-dot{width:10px;height:10px;border-radius:3px;}

/* Funnel */
.rev-funnel{display:flex;flex-direction:column;gap:0;padding:24px;}
.rev-funnel-stage{
  display:grid;grid-template-columns:140px 1fr 100px 100px 120px;
  align-items:center;gap:16px;padding:16px 20px;
  border-bottom:1px solid var(--b0);
  transition:background 120ms;
}
.rev-funnel-stage:hover{background:var(--bg-1);}
.rev-funnel-stage:last-child{border-bottom:none;}
.rev-funnel-head{border-bottom:2px solid var(--b1);padding-bottom:8px;}
.rev-funnel-hcol{
  font-family:var(--fu);font-size:8px;font-weight:700;
  color:var(--t4);letter-spacing:.12em;text-transform:uppercase;
}
.rev-funnel-hcol.r{text-align:right;}
.rev-funnel-hcol.c{text-align:center;}
.rev-funnel-stage-name{
  font-family:var(--fu);font-size:10px;font-weight:700;
  color:var(--t2);letter-spacing:.10em;text-transform:uppercase;
}
.rev-funnel-bar-wrap{
  height:28px;background:var(--bg-2);border-radius:6px;overflow:hidden;position:relative;
}
.rev-funnel-bar{
  height:100%;border-radius:6px;transition:width 380ms cubic-bezier(0.16,1,0.3,1);
}
.rev-funnel-bar.stage-enquiry{background:var(--t4);}
.rev-funnel-bar.stage-draft{background:var(--blue);}
.rev-funnel-bar.stage-sent{background:var(--orange);}
.rev-funnel-bar.stage-followup{background:var(--violet);}
.rev-funnel-bar.stage-confirmed{background:var(--green);}
.rev-funnel-stat{
  font-family:var(--fb);font-size:13px;font-weight:500;
  color:var(--t2);text-align:right;
}
.rev-funnel-stat small{
  font-size:10px;color:var(--t4);display:block;
  font-family:var(--fu);font-weight:600;letter-spacing:.06em;text-transform:uppercase;
}
.rev-funnel-prob{
  font-family:var(--fu);font-size:11px;font-weight:700;
  text-align:center;padding:4px 10px;border-radius:999px;
}
.rev-funnel-prob.prob-red{background:var(--red-bg);color:var(--red);}
.rev-funnel-prob.prob-orange{background:var(--orange-bg);color:var(--orange);}
.rev-funnel-prob.prob-accent{background:var(--accent-ghost);color:var(--accent);}
.rev-funnel-prob.prob-violet{background:rgba(110,80,160,.09);color:var(--violet);}
.rev-funnel-prob.prob-green{background:var(--green-bg);color:var(--green);}
.rev-funnel-weighted{
  font-family:var(--fd);font-size:18px;font-weight:500;
  color:var(--accent);text-align:right;
}
.rev-funnel-total{
  display:flex;justify-content:space-between;align-items:center;
  padding:20px 20px 4px;border-top:2px solid var(--accent-seam);margin-top:8px;
}
.rev-funnel-total-label{
  font-family:var(--fu);font-size:10px;font-weight:800;
  color:var(--accent);letter-spacing:.14em;text-transform:uppercase;
}
.rev-funnel-total-value{
  font-family:var(--fd);font-size:28px;font-weight:500;color:var(--accent);
}

/* Margin analysis */
.rev-margin-grid{display:grid;grid-template-columns:1fr 320px;gap:24px;}
.rev-margin-bars{display:flex;flex-direction:column;gap:12px;}
.rev-margin-bar-row{
  display:grid;grid-template-columns:80px 1fr 60px;align-items:center;gap:12px;
}
.rev-margin-bin-lbl{
  font-family:var(--fu);font-size:10px;font-weight:700;
  color:var(--t2);letter-spacing:.06em;
}
.rev-margin-bar-track{
  height:24px;background:var(--bg-2);border-radius:6px;overflow:hidden;
}
.rev-margin-bar-fill{
  height:100%;border-radius:6px;transition:width 380ms cubic-bezier(0.16,1,0.3,1);
  display:flex;align-items:center;padding-left:8px;
  font-family:var(--fu);font-size:9px;font-weight:700;
  color:rgba(255,255,255,.9);letter-spacing:.04em;
}
.rev-margin-count{
  font-family:var(--fb);font-size:12px;color:var(--t3);text-align:right;
}
.rev-margin-profile{
  background:var(--bg-1);border:1px solid var(--b1);border-radius:14px;padding:24px;
  align-self:start;
}
.rev-margin-profile-title{
  font-family:var(--fu);font-size:9px;font-weight:800;
  color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px;
}
.rev-margin-profile-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 0;border-bottom:1px solid var(--b0);
}
.rev-margin-profile-row:last-child{border-bottom:none;}
.rev-margin-profile-label{
  font-family:var(--fb);font-size:13px;color:var(--t3);
}
.rev-margin-profile-val{
  font-family:var(--fd);font-size:22px;font-weight:500;color:var(--t1);
}
.rev-margin-profile-val.floor{color:var(--red);}
.rev-margin-profile-val.target{color:var(--green);}
.rev-margin-profile-val.cap{color:var(--accent);}
.rev-margin-profile-footer{
  margin-top:24px;padding-top:16px;border-top:1px solid var(--b0);
}
.rev-margin-profile-avg-lbl{
  font-family:var(--fu);font-size:9px;font-weight:700;
  color:var(--t4);letter-spacing:.10em;text-transform:uppercase;margin-bottom:12px;text-align:center;
}
.rev-margin-profile-avg-val{
  font-family:var(--fd);font-size:36px;font-weight:500;
  color:var(--green);text-align:center;line-height:1;
}

.rev-top-margins{margin-top:24px;}
.rev-top-margins-title{
  font-family:var(--fu);font-size:9px;font-weight:800;
  color:var(--t3);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;
}
.rev-top-margin-item{
  display:grid;grid-template-columns:1fr 80px 100px;align-items:center;gap:12px;
  padding:10px 16px;border-bottom:1px solid var(--b0);
  transition:background 120ms;
}
.rev-top-margin-item:hover{background:var(--bg-1);}
.rev-top-margin-client{
  font-family:var(--fb);font-size:13px;color:var(--t2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.rev-top-margin-pct{
  font-family:var(--fu);font-size:12px;font-weight:700;
  color:var(--green);text-align:right;
}
.rev-top-margin-val{
  font-family:var(--fb);font-size:13px;color:var(--t1);text-align:right;
}
.rev-empty-note{
  font-family:var(--fb);font-size:13px;color:var(--t4);
  padding:16px 0;font-style:italic;
}

/* Source table */
.rev-source-table{width:100%;border-collapse:collapse;}
.rev-source-table th{
  font-family:var(--fu);font-size:9px;font-weight:700;
  color:var(--t4);letter-spacing:.12em;text-transform:uppercase;
  text-align:left;padding:12px 16px;
  border-bottom:1px solid var(--b1);background:var(--bg-1);
}
.rev-source-table th:nth-child(n+3){text-align:right;}
.rev-source-table td{
  padding:14px 16px;border-bottom:1px solid var(--b0);
  font-family:var(--fb);font-size:13px;color:var(--t2);
  vertical-align:middle;
}
.rev-source-table td:nth-child(n+3){text-align:right;}
.rev-source-table tr:hover td{background:var(--bg-1);}
.rev-source-name-lws{display:flex;align-items:center;gap:10px;}
.rev-source-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.rev-source-bar-cell{width:200px;}
.rev-source-bar-track-lws{
  height:8px;background:var(--bg-2);border-radius:999px;overflow:hidden;
}
.rev-source-bar-fill-lws{
  height:100%;border-radius:999px;transition:width 380ms cubic-bezier(0.16,1,0.3,1);
}
.rev-source-conv{
  display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;
  font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.06em;
}

/* Config panel */
.rev-config-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.rev-advanced-btn{
  padding:10px 20px;border-radius:999px;border:1px solid var(--accent-ring);
  background:var(--bg-1);font-family:var(--fu);font-size:10px;font-weight:800;
  color:var(--accent);letter-spacing:.10em;text-transform:uppercase;cursor:pointer;
  transition:all 120ms cubic-bezier(0.16,1,0.3,1);
}
.rev-advanced-btn:hover{
  background:linear-gradient(135deg,#C9962E,var(--accent),#8A5C0F);color:var(--bg-1);border-color:transparent;
  box-shadow:0 4px 14px var(--accent-ring);transform:translateY(-1px);
}
.rev-config-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;
}
.rev-config-card{
  background:var(--bg-1);border:1px solid var(--b1);border-radius:14px;
  padding:24px;box-shadow:0 1px 3px rgba(20,14,8,.07),0 1px 2px var(--b0);
}
.rev-config-card-title{
  font-family:var(--fu);font-size:9px;font-weight:800;
  color:var(--accent);letter-spacing:.16em;text-transform:uppercase;
  margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--b0);
}
.rev-config-row{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:10px 0;border-bottom:1px solid var(--b0);
}
.rev-config-row:last-child{border-bottom:none;}
.rev-config-label{
  font-family:var(--fb);font-size:13px;color:var(--t2);flex:1;min-width:0;
}
.rev-config-label small{
  display:block;font-size:11px;color:var(--t4);margin-top:2px;
}
.rev-config-input{
  width:80px;padding:6px 12px;border-radius:6px;
  border:1px solid var(--b2);background:var(--bg-0);
  font-family:var(--fd);font-size:16px;font-weight:500;
  color:var(--t1);text-align:center;
  transition:border-color 120ms;
}
.rev-config-input:focus{outline:none;border-color:var(--accent);}
.rev-config-chip{
  display:inline-flex;align-items:center;padding:5px 14px;border-radius:999px;
  font-family:var(--fu);font-size:11px;font-weight:700;
  border:1px solid var(--b1);background:var(--bg-2);color:var(--t2);letter-spacing:.04em;
}
.rev-config-chip.low{color:var(--blue);border-color:rgba(74,122,152,.22);background:var(--blue-bg);}
.rev-config-chip.normal{color:var(--green);border-color:rgba(40,120,78,.22);background:var(--green-bg);}
.rev-config-chip.high{color:var(--orange);border-color:rgba(184,116,48,.22);background:var(--orange-bg);}
.rev-config-chip.peak{color:var(--red);border-color:rgba(168,56,56,.22);background:var(--red-bg);}
.rev-config-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--b0);}
.rev-config-actions .rev-chip-btn{flex:1;}

/* FX */
.rev-fx-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;}
.rev-fx-primary{
  background:linear-gradient(135deg,#C9962E,var(--accent),#8A5C0F);
  border:1px solid var(--accent-ring);border-radius:14px;
  padding:32px 24px;text-align:center;position:relative;overflow:hidden;
  box-shadow:0 4px 20px var(--accent-ring),inset 0 1px 0 rgba(255,255,255,.18);
}
.rev-fx-primary::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#C9962E,var(--accent),#8A5C0F);
}
.rev-fx-primary-symbol{
  font-family:var(--fd);font-size:64px;font-weight:300;
  color:var(--bg-1);line-height:1;margin-bottom:8px;
  text-shadow:0 2px 8px rgba(0,0,0,.18);
}
.rev-fx-primary-code{
  font-family:var(--fu);font-size:12px;font-weight:800;
  color:var(--bg-1);letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px;
}
.rev-fx-primary-label{
  font-family:var(--fb);font-size:12px;color:rgba(255,255,255,.88);
}
.rev-fx-primary-footer{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.22);}
.rev-fx-primary-footer .rev-tag-pill{
  background:rgba(255,255,255,.18);color:var(--bg-1);border-color:rgba(255,255,255,.28);
}
.rev-fx-currencies{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;
}
.rev-fx-card{
  background:var(--bg-1);border:1px solid var(--b1);border-radius:10px;
  padding:16px;transition:all 120ms;
  box-shadow:0 1px 3px rgba(20,14,8,.07),0 1px 2px var(--b0);
}
.rev-fx-card:hover{border-color:var(--accent-ring);transform:translateY(-1px);}
.rev-fx-card-code{
  font-family:var(--fu);font-size:10px;font-weight:700;
  color:var(--t3);letter-spacing:.10em;margin-bottom:8px;
}
.rev-fx-card-symbol{
  font-family:var(--fd);font-size:24px;font-weight:400;
  color:var(--t1);margin-bottom:4px;
}
.rev-fx-card-rate{
  font-family:var(--fb);font-size:12px;color:var(--accent);font-weight:500;
}
.rev-fx-updated{
  grid-column:1/-1;display:flex;align-items:center;gap:8px;
  padding:12px 16px;border-radius:10px;
  background:var(--bg-1);border:1px solid var(--b0);
  font-family:var(--fb);font-size:12px;color:var(--t3);margin-top:8px;
}
.rev-fx-updated-dot{
  width:6px;height:6px;border-radius:50%;background:var(--green);animation:revPulse 2s ease infinite;
}

/* Advanced Pricing Rules modal */
.rev-modal-overlay{
  position:fixed;inset:0;background:var(--scrim);z-index:9999;
  display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;
  overflow-y:auto;animation:revModalFade 180ms ease;
}
@keyframes revModalFade{from{opacity:0;}to{opacity:1;}}
.rev-modal{
  background:var(--bg-0);border:1px solid var(--b1);border-radius:20px;
  width:100%;max-width:1000px;box-shadow:0 16px 48px rgba(20,14,8,.14),0 4px 16px var(--b1);
  display:flex;flex-direction:column;max-height:calc(100vh - 80px);
}
.rev-modal-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:24px 32px 20px;border-bottom:1px solid var(--b1);background:var(--bg-1);
  border-radius:20px 20px 0 0;
}
.rev-modal-title{
  font-family:var(--fd);font-size:26px;font-weight:400;
  color:var(--t1);letter-spacing:-.02em;margin:2px 0 0;
}
.rev-modal-close{
  width:36px;height:36px;border-radius:999px;border:1px solid var(--b1);
  background:var(--bg-2);color:var(--t2);font-size:22px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;line-height:1;padding:0;
  transition:all 120ms;
}
.rev-modal-close:hover{background:var(--bg-3);color:var(--t1);}
.rev-modal-body{
  padding:24px 32px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:24px;
}
.rev-modal-section{
  background:var(--bg-1);border:1px solid var(--b1);border-radius:14px;padding:20px 24px;
}
.rev-modal-section-title{
  font-family:var(--fu);font-size:10px;font-weight:800;
  color:var(--accent);letter-spacing:.16em;text-transform:uppercase;
  margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--b0);
}
.rev-modal-hint{
  font-family:var(--fb);font-size:12px;color:var(--t4);margin:0 0 12px;
}
.rev-modal-row{
  display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap;
}
.rev-modal-row:last-child{margin-bottom:0;}
.rev-modal-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.rev-modal-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.rev-modal-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.rev-modal-grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.rev-modal-field{display:flex;flex-direction:column;gap:4px;min-width:0;}
.rev-modal-field label{
  font-family:var(--fu);font-size:10px;font-weight:700;
  color:var(--t4);letter-spacing:.06em;text-transform:uppercase;
}
.rev-modal-field input, .rev-modal-field select, .rev-modal-input{
  padding:8px 12px;border-radius:8px;border:1px solid var(--b2);
  background:var(--bg-0);font-family:var(--fb);font-size:13px;color:var(--t1);
  transition:border-color 120ms;min-width:0;
}
.rev-modal-field input:focus, .rev-modal-field select:focus, .rev-modal-input:focus{
  outline:none;border-color:var(--accent);
}
.rev-modal-input{flex:1;}
.rev-country-map-card{
  padding:10px 14px;background:var(--bg-0);border-radius:8px;border:1px solid var(--b1);
}
.rev-country-map-title{
  font-family:var(--fu);font-size:10px;font-weight:800;
  color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;
}
.rev-country-map-list{
  font-family:var(--fb);font-size:11px;color:var(--t3);line-height:1.5;
}
.rev-country-map-list em{color:var(--t5);font-style:italic;}
.rev-modal-footer{
  display:flex;justify-content:flex-end;gap:8px;
  padding:16px 32px;border-top:1px solid var(--b1);
  background:var(--bg-1);border-radius:0 0 20px 20px;
}

/* Responsive */
@media(max-width:900px){
  .rev-kpi-grid{grid-template-columns:repeat(2,1fr);}
  .rev-margin-grid{grid-template-columns:1fr;}
  .rev-fx-layout{grid-template-columns:1fr;}
  .rev-funnel-stage{grid-template-columns:100px 1fr 80px 80px 100px;font-size:12px;}
  .rev-config-grid{grid-template-columns:1fr;}
  .rev-section-lws{padding:40px 24px;}
  #revenueScreen .rev-hero{padding:40px 24px 32px;}
  .rev-kpi-grid{padding:28px 24px 0;}
  .rev-screen-header{padding:20px 24px;}
  .rev-modal-grid-5,.rev-modal-grid-4{grid-template-columns:repeat(2,1fr);}
  .rev-modal-grid-3{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .rev-section-lws{padding:32px 16px;}
  #revenueScreen .rev-hero{padding:28px 16px 24px;}
  .rev-kpi-grid{grid-template-columns:1fr;padding:20px 16px 0;gap:12px;}
  .rev-screen-title{font-size:26px;}
  .rev-sec-title{font-size:24px;}
  .rev-hero-title{font-size:22px;}
  .rev-kpi-value{font-size:26px;}
  .rev-chart-container{height:200px;padding:16px 16px 0;}
  .rev-chart-gridlines{left:16px;right:16px;top:16px;}
  .rev-chart-bar-group{padding:0 4px;}
  .rev-chart-stack{max-width:40px;}
  .rev-funnel{padding:16px;}
  .rev-funnel-stage{grid-template-columns:1fr;gap:8px;padding:14px 16px;}
  .rev-funnel-head{display:none;}
  .rev-funnel-stat,.rev-funnel-weighted{text-align:left;}
  .rev-funnel-total-value{font-size:22px;}
  .rev-margin-bar-row{grid-template-columns:60px 1fr 60px;gap:8px;}
  .rev-source-table{display:block;overflow-x:auto;}
  .rev-source-table thead,.rev-source-table tbody,.rev-source-table tr{display:table;width:100%;}
  .rev-fx-currencies{grid-template-columns:repeat(2,1fr);gap:8px;}
  .rev-config-grid{grid-template-columns:1fr;gap:16px;}
  .rev-modal{border-radius:14px;}
  .rev-modal-head{padding:20px 20px 16px;}
  .rev-modal-body{padding:16px 20px;}
  .rev-modal-grid-5,.rev-modal-grid-4,.rev-modal-grid-3,.rev-modal-grid-2{grid-template-columns:1fr 1fr;}
  .rev-modal-footer{padding:12px 20px;}
}

/* =====================================================================
   PRESET GALLERY — LWS Light v6.1 (inline HEX only, no CSS vars)
   Scoped to #s-presets (standalone screen) and #qb2Sec-presets (embedded QB2)
===================================================================== */

/* ── Screen header (standalone only) ─────────────────────────────────── */
#s-presets .prst-screen-header{
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  padding:28px 32px 20px;border-bottom:1px solid var(--b1);
  background:var(--bg-1);flex-wrap:wrap;
}
#s-presets .prst-screen-head-l{display:flex;flex-direction:column;gap:4px;}
#s-presets .prst-eyebrow{
  font-family:var(--fu);font-size:9px;font-weight:800;
  color:var(--accent);letter-spacing:.20em;text-transform:uppercase;
}
#s-presets .prst-screen-title{
  font-family:var(--fd);font-size:30px;font-weight:400;
  color:var(--t1);letter-spacing:-.02em;line-height:1.1;
}
#s-presets .prst-accent-underline{
  width:64px;height:2px;margin-top:8px;
  background:var(--accent-metal);
  border-radius:999px;
}
#s-presets .prst-screen-head-r{display:flex;gap:8px;flex-wrap:wrap;}
#s-presets .prst-chip-btn,
#qb2Sec-presets .prst-chip-btn{
  padding:7px 16px;border-radius:999px;border:1px solid var(--b2);
  background:var(--bg-2);font-family:var(--fu);font-size:10px;
  font-weight:700;color:var(--t2);letter-spacing:.08em;text-transform:uppercase;
  cursor:pointer;transition:background 120ms,color 120ms,border-color 120ms;
}
#s-presets .prst-chip-btn:hover,
#qb2Sec-presets .prst-chip-btn:hover{background:var(--bg-3);color:var(--t1);border-color:var(--b3);}
#s-presets .prst-chip-btn.primary,
#qb2Sec-presets .prst-chip-btn.primary{
  background:var(--accent-metal);
  color:var(--t1);border-color:transparent;
  box-shadow:0 1px 3px rgba(20,14,8,.07),0 1px 2px var(--b0),inset 0 1px 0 rgba(255,255,255,.60);
}

/* ── Gallery layout ──────────────────────────────────────────────────── */
#s-presets .prst-gallery,
#qb2Sec-presets .prst-gallery{
  display:flex;min-height:680px;background:var(--bg-1);
  border:1px solid var(--b1);border-radius:20px;overflow:hidden;
  margin:20px 32px;
}
#qb2Sec-presets .prst-gallery{margin:12px 0;min-height:auto;}

/* ── Sidebar ─────────────────────────────────────────────────────────── */
#s-presets .prst-sidebar,
#qb2Sec-presets .prst-sidebar{
  width:220px;flex-shrink:0;border-right:1px solid var(--b1);
  padding:20px 16px;display:flex;flex-direction:column;gap:6px;
  background:var(--bg-1);
}
#s-presets .prst-sidebar-title,
#qb2Sec-presets .prst-sidebar-title{
  font-family:var(--fu);font-size:9px;font-weight:800;
  color:var(--t4);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;
}
#s-presets .prst-filter-btn,
#qb2Sec-presets .prst-filter-btn{
  display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:10px;
  font-family:var(--fb);font-size:13px;font-weight:500;
  color:var(--t3);cursor:pointer;border:none;background:transparent;
  text-align:left;width:100%;transition:background 120ms,color 120ms;
}
#s-presets .prst-filter-btn:hover,
#qb2Sec-presets .prst-filter-btn:hover{background:var(--bg-2);color:var(--t2);}
#s-presets .prst-filter-btn.active,
#qb2Sec-presets .prst-filter-btn.active{
  background:var(--accent-ghost);color:var(--accent);font-weight:600;
}
#s-presets .prst-filter-icon,
#qb2Sec-presets .prst-filter-icon{width:18px;text-align:center;font-size:14px;flex-shrink:0;}
#s-presets .prst-filter-count,
#qb2Sec-presets .prst-filter-count{
  margin-left:auto;font-family:var(--fu);font-size:9px;font-weight:700;
  color:var(--t4);background:var(--bg-3);padding:2px 7px;border-radius:999px;
}
#s-presets .prst-sidebar-divider,
#qb2Sec-presets .prst-sidebar-divider{height:1px;background:var(--b1);margin:10px 0;}

/* ── Center column ───────────────────────────────────────────────────── */
#s-presets .prst-center,
#qb2Sec-presets .prst-center{flex:1;min-width:0;display:flex;flex-direction:column;}
#s-presets .prst-toolbar,
#qb2Sec-presets .prst-toolbar{
  padding:16px 20px;border-bottom:1px solid var(--b1);
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--bg-1);
}
#s-presets .prst-search-wrap,
#qb2Sec-presets .prst-search-wrap{position:relative;flex:1;min-width:200px;max-width:360px;}
#s-presets .prst-search-wrap::before,
#qb2Sec-presets .prst-search-wrap::before{
  content:'\1F50D';position:absolute;left:12px;top:50%;transform:translateY(-50%);
  font-size:14px;opacity:.5;pointer-events:none;
}
#s-presets .prst-search,
#qb2Sec-presets .prst-search{
  width:100%;padding:9px 14px 9px 36px;border-radius:999px;
  border:1px solid var(--b2);background:var(--bg-0);
  font-family:var(--fb);font-size:13px;color:var(--t1);
  outline:none;transition:border-color 120ms;
}
#s-presets .prst-search:focus,
#qb2Sec-presets .prst-search:focus{border-color:var(--accent-ring);}
#s-presets .prst-sort-btn,
#qb2Sec-presets .prst-sort-btn{
  padding:7px 14px;border-radius:999px;border:1px solid var(--b1);
  background:var(--bg-2);font-family:var(--fu);font-size:9px;
  font-weight:700;color:var(--t3);letter-spacing:.06em;text-transform:uppercase;
  cursor:pointer;transition:background 120ms,color 120ms,border-color 120ms;
}
#s-presets .prst-sort-btn:hover,
#qb2Sec-presets .prst-sort-btn:hover{background:var(--bg-3);color:var(--t2);}
#s-presets .prst-sort-btn.active,
#qb2Sec-presets .prst-sort-btn.active{border-color:var(--accent-ring);color:var(--accent);background:var(--accent-ghost);}
#s-presets .prst-count,
#qb2Sec-presets .prst-count{
  font-family:var(--fu);font-size:9px;font-weight:700;
  color:var(--t4);letter-spacing:.08em;text-transform:uppercase;margin-left:auto;
}

/* ── Favourites carousel ─────────────────────────────────────────────── */
#s-presets .prst-fav-row,
#qb2Sec-presets .prst-fav-row{
  padding:16px 20px;border-bottom:1px solid var(--b0);background:var(--bg-0);
}
#s-presets .prst-fav-title,
#qb2Sec-presets .prst-fav-title{
  font-family:var(--fu);font-size:9px;font-weight:800;
  color:var(--t4);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;
}
#s-presets .prst-fav-scroll,
#qb2Sec-presets .prst-fav-scroll{
  display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;
  scrollbar-width:thin;
}
#s-presets .prst-fav-card,
#qb2Sec-presets .prst-fav-card{
  min-width:210px;max-width:210px;flex-shrink:0;cursor:pointer;
  background:var(--bg-1);border:1px solid var(--b1);border-radius:14px;
  overflow:hidden;transition:transform 220ms cubic-bezier(0.16,1,0.3,1),box-shadow 220ms cubic-bezier(0.16,1,0.3,1);
}
#s-presets .prst-fav-card:hover,
#qb2Sec-presets .prst-fav-card:hover{
  transform:translateY(-2px);
  box-shadow:0 4px 20px var(--b1),0 2px 8px rgba(20,14,8,.07);
}
#s-presets .prst-fav-strip,
#qb2Sec-presets .prst-fav-strip{height:3px;}
#s-presets .prst-fav-body,
#qb2Sec-presets .prst-fav-body{padding:10px 12px;}
#s-presets .prst-fav-name,
#qb2Sec-presets .prst-fav-name{
  font-family:var(--fd);font-size:16px;font-weight:500;
  color:var(--t1);line-height:1.2;margin-bottom:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#s-presets .prst-fav-meta,
#qb2Sec-presets .prst-fav-meta{
  font-family:var(--fb);font-size:11px;color:var(--t3);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px;
}
#s-presets .prst-fav-chips,
#qb2Sec-presets .prst-fav-chips{display:flex;gap:4px;}
#s-presets .prst-fav-chip,
#qb2Sec-presets .prst-fav-chip{
  font-family:var(--fu);font-size:8px;font-weight:700;
  padding:2px 6px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase;
  background:var(--accent-ghost);color:var(--accent);
}

/* ── Card grid ───────────────────────────────────────────────────────── */
#s-presets .prst-grid,
#qb2Sec-presets .prst-grid{
  padding:20px;flex:1;overflow-y:auto;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:16px;align-content:start;background:var(--bg-0);
}

/* ── Preset card ─────────────────────────────────────────────────────── */
#s-presets .prst-card,
#qb2Sec-presets .prst-card{
  background:var(--bg-1);border:1px solid var(--b1);border-radius:14px;
  overflow:hidden;cursor:pointer;position:relative;
  transition:transform 220ms cubic-bezier(0.16,1,0.3,1),box-shadow 220ms cubic-bezier(0.16,1,0.3,1),border-color 220ms;
}
#s-presets .prst-card:hover,
#qb2Sec-presets .prst-card:hover{
  transform:translateY(-3px);
  box-shadow:0 4px 20px var(--b1),0 2px 8px rgba(20,14,8,.07);
  border-color:var(--b2);
}
#s-presets .prst-card.active,
#qb2Sec-presets .prst-card.active{
  border-color:var(--accent-ring);
  box-shadow:0 0 0 1px var(--accent-ring),0 4px 20px var(--b1),0 2px 8px rgba(20,14,8,.07);
}

/* Pace strip */
#s-presets .prst-strip,
#qb2Sec-presets .prst-strip{height:6px;width:100%;position:relative;}
#s-presets .prst-strip::after,
#qb2Sec-presets .prst-strip::after{
  content:'';position:absolute;bottom:-8px;left:8%;right:8%;height:12px;
  background:inherit;filter:blur(14px);opacity:.4;border-radius:50%;
}
#s-presets .prst-strip.pace-relaxed,
#qb2Sec-presets .prst-strip.pace-relaxed{background:linear-gradient(90deg,var(--green) 0%,var(--teal) 60%,var(--teal) 100%);}
#s-presets .prst-strip.pace-moderate,
#qb2Sec-presets .prst-strip.pace-moderate{background:linear-gradient(90deg,var(--accent) 0%,var(--orange) 50%,var(--accent-up) 100%);}
#s-presets .prst-strip.pace-packed,
#qb2Sec-presets .prst-strip.pace-packed{background:linear-gradient(90deg,var(--red) 0%,var(--orange) 60%,var(--red) 100%);}

/* Card body */
#s-presets .prst-card-body,
#qb2Sec-presets .prst-card-body{padding:16px 18px 14px;}
#s-presets .prst-card-header,
#qb2Sec-presets .prst-card-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;}
#s-presets .prst-card-name,
#qb2Sec-presets .prst-card-name{
  font-family:var(--fd);font-size:19px;font-weight:500;
  color:var(--t1);letter-spacing:-.01em;line-height:1.25;flex:1;
}

/* Usage indicator */
#s-presets .prst-usage,
#qb2Sec-presets .prst-usage{
  display:flex;align-items:center;gap:5px;
  font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t4);
  letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase;
}
#s-presets .prst-usage-dot,
#qb2Sec-presets .prst-usage-dot{
  width:6px;height:6px;border-radius:50%;background:var(--green);
  box-shadow:0 0 6px rgba(40,120,78,.4);
}
#s-presets .prst-usage.low .prst-usage-dot,
#qb2Sec-presets .prst-usage.low .prst-usage-dot{background:var(--t4);box-shadow:none;}

/* Star */
#s-presets .prst-star,
#qb2Sec-presets .prst-star{
  width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;font-size:14px;cursor:pointer;flex-shrink:0;
  background:transparent;border:none;
  transition:transform 120ms,background 120ms;
}
#s-presets .prst-star:hover,
#qb2Sec-presets .prst-star:hover{transform:scale(1.15);background:var(--accent-ghost);}
#s-presets .prst-star.starred,
#qb2Sec-presets .prst-star.starred{color:var(--accent);}
#s-presets .prst-star:not(.starred),
#qb2Sec-presets .prst-star:not(.starred){color:var(--t4);opacity:.6;}

/* City route */
#s-presets .prst-route,
#qb2Sec-presets .prst-route{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:10px;}
#s-presets .prst-city-pill,
#qb2Sec-presets .prst-city-pill{
  display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:999px;
  font-family:var(--fu);font-size:9px;font-weight:700;color:var(--teal);
  background:var(--teal-bg);border:1px solid var(--teal-bg);
  letter-spacing:.04em;text-transform:uppercase;
}
#s-presets .prst-route-arrow,
#qb2Sec-presets .prst-route-arrow{color:var(--t4);font-size:10px;}
#s-presets .prst-zone-tag,
#qb2Sec-presets .prst-zone-tag{
  display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;
  font-family:var(--fu);font-size:8px;font-weight:700;
  color:var(--violet);background:rgba(110,80,160,.09);border:1px solid rgba(110,80,160,.15);
  letter-spacing:.04em;text-transform:uppercase;
}

/* Hotel */
#s-presets .prst-hotel,
#qb2Sec-presets .prst-hotel{
  display:flex;align-items:center;gap:6px;margin-bottom:10px;
  font-family:var(--fb);font-size:12px;color:var(--t3);
}
#s-presets .prst-hotel-icon,
#qb2Sec-presets .prst-hotel-icon{font-size:12px;flex-shrink:0;}
#s-presets .prst-hotel-name,
#qb2Sec-presets .prst-hotel-name{color:var(--t2);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#s-presets .prst-hotel-board,
#qb2Sec-presets .prst-hotel-board{
  padding:2px 6px;border-radius:6px;
  font-family:var(--fu);font-size:8px;font-weight:800;
  background:var(--blue-bg);color:var(--blue);
  letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;
}

/* Badges */
#s-presets .prst-badges,
#qb2Sec-presets .prst-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
#s-presets .prst-badge,
#qb2Sec-presets .prst-badge{
  display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;
  font-family:var(--fu);font-size:8px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
  background:var(--bg-2);color:var(--t3);border:1px solid var(--b1);
}
#s-presets .prst-badge.pace-relaxed,
#qb2Sec-presets .prst-badge.pace-relaxed{background:var(--green-bg);color:var(--green);border-color:var(--green-bg);}
#s-presets .prst-badge.pace-moderate,
#qb2Sec-presets .prst-badge.pace-moderate{background:var(--accent-ghost);color:var(--accent);border-color:var(--accent-ring);}
#s-presets .prst-badge.pace-packed,
#qb2Sec-presets .prst-badge.pace-packed{background:var(--red-bg);color:var(--red);border-color:var(--red-bg);}
#s-presets .prst-badge.has-timeline,
#qb2Sec-presets .prst-badge.has-timeline{background:rgba(110,80,160,.09);color:var(--violet);border-color:rgba(110,80,160,.15);}
#s-presets .prst-badge.tier-standard,
#qb2Sec-presets .prst-badge.tier-standard{background:var(--blue-bg);color:var(--blue);}
#s-presets .prst-badge.tier-premium,
#qb2Sec-presets .prst-badge.tier-premium{background:var(--accent-ghost);color:var(--accent);}
#s-presets .prst-badge.tier-luxury,
#qb2Sec-presets .prst-badge.tier-luxury{background:rgba(110,80,160,.09);color:var(--violet);}

/* Mini timeline */
#s-presets .prst-mini-tl,
#qb2Sec-presets .prst-mini-tl{
  display:flex;align-items:center;gap:3px;margin-bottom:10px;padding:6px 10px;
  background:var(--bg-2);border-radius:6px;border:1px solid var(--b0);
}
#s-presets .prst-mini-tl-dot,
#qb2Sec-presets .prst-mini-tl-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
#s-presets .prst-mini-tl-dot.act,
#qb2Sec-presets .prst-mini-tl-dot.act{background:var(--teal);}
#s-presets .prst-mini-tl-dot.drive,
#qb2Sec-presets .prst-mini-tl-dot.drive{background:var(--blue);}
#s-presets .prst-mini-tl-dot.meal,
#qb2Sec-presets .prst-mini-tl-dot.meal{background:var(--orange);}
#s-presets .prst-mini-tl-dot.special,
#qb2Sec-presets .prst-mini-tl-dot.special{background:var(--violet);}
#s-presets .prst-mini-tl-line,
#qb2Sec-presets .prst-mini-tl-line{width:8px;height:1px;background:var(--b2);flex-shrink:0;}
#s-presets .prst-mini-tl-label,
#qb2Sec-presets .prst-mini-tl-label{
  font-family:var(--fu);font-size:7px;font-weight:700;color:var(--t4);
  letter-spacing:.06em;text-transform:uppercase;margin-left:auto;
}

/* Footer */
#s-presets .prst-card-foot,
#qb2Sec-presets .prst-card-foot{
  padding:0;border-top:1px solid var(--b1);display:flex;
}
#s-presets .prst-card-action,
#qb2Sec-presets .prst-card-action{
  flex:1;padding:9px 0;text-align:center;
  font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t3);
  letter-spacing:.06em;text-transform:uppercase;
  cursor:pointer;border:none;background:transparent;
  transition:background 120ms,color 120ms;
}
#s-presets .prst-card-action:hover,
#qb2Sec-presets .prst-card-action:hover{background:var(--bg-2);color:var(--t1);}
#s-presets .prst-card-action+.prst-card-action,
#qb2Sec-presets .prst-card-action+.prst-card-action{border-left:1px solid var(--b1);}
#s-presets .prst-card-action.apply-btn:hover,
#qb2Sec-presets .prst-card-action.apply-btn:hover{color:var(--green);}
#s-presets .prst-card-action.delete-btn:hover,
#qb2Sec-presets .prst-card-action.delete-btn:hover{color:var(--red);}

/* Linked chip */
#s-presets .prst-linked,
#qb2Sec-presets .prst-linked{
  display:flex;align-items:center;gap:5px;
  padding:6px 12px;margin:0 18px 12px;
  background:var(--accent-ghost);border:1px solid var(--accent-ring);
  border-radius:6px;
  font-family:var(--fb);font-size:11px;color:var(--accent);
}
#s-presets .prst-linked-label,
#qb2Sec-presets .prst-linked-label{
  font-family:var(--fu);font-size:8px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;color:var(--accent-up);
}
#s-presets .prst-linked-name,
#qb2Sec-presets .prst-linked-name{font-weight:600;color:var(--accent-up);}
#s-presets .prst-linked-unlink,
#qb2Sec-presets .prst-linked-unlink{
  margin-left:auto;font-size:10px;cursor:pointer;background:none;border:none;
  color:var(--t4);transition:color 120ms;
}
#s-presets .prst-linked-unlink:hover,
#qb2Sec-presets .prst-linked-unlink:hover{color:var(--red);}

/* ── Preview panel (standalone only) ─────────────────────────────────── */
#s-presets .prst-preview{
  width:380px;flex-shrink:0;border-left:1px solid var(--b1);
  display:flex;flex-direction:column;background:var(--bg-1);
}
#s-presets .prst-preview-empty{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:40px;text-align:center;
}
#s-presets .prst-preview-empty-icon{font-size:48px;margin-bottom:16px;opacity:.3;}
#s-presets .prst-preview-empty-text{
  font-family:var(--fb);font-size:13px;color:var(--t4);line-height:1.6;
}

/* Preview header (dark gradient by design) */
#s-presets .prst-preview-head{
  padding:24px 20px 20px;
  background:linear-gradient(135deg,var(--t1) 0%,#1E2A22 40%,#1A2428 100%);
  border-bottom:2px solid var(--accent-seam);
  position:relative;
}
#s-presets .prst-preview-head::after{
  content:'';position:absolute;bottom:-1px;left:20px;right:20px;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent-up),transparent);
}
#s-presets .prst-preview-name{
  font-family:var(--fd);font-size:24px;font-weight:300;
  color:#F6EEE2;letter-spacing:-.01em;margin-bottom:6px;padding-right:42px;
}
#s-presets .prst-preview-meta{
  font-family:var(--fb);font-size:11px;color:#C8B89C;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}
#s-presets .prst-preview-star{
  font-size:18px;cursor:pointer;position:absolute;top:22px;right:20px;
  background:rgba(255,255,255,.06);border:none;color:#F6EEE2;
  width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
}
#s-presets .prst-preview-star.starred{color:var(--accent);}

/* Preview stat boxes */
#s-presets .prst-preview-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
  padding:14px 20px;background:var(--bg-2);border-bottom:1px solid var(--b1);
}
#s-presets .prst-stat-box{
  padding:8px 10px;border-radius:6px;
  background:var(--bg-1);border:1px solid var(--b1);text-align:center;
}
#s-presets .prst-stat-value{
  font-family:var(--fd);font-size:20px;font-weight:400;
  color:var(--t1);letter-spacing:-.02em;line-height:1.2;
}
#s-presets .prst-stat-label{
  font-family:var(--fu);font-size:7px;font-weight:800;color:var(--t4);
  letter-spacing:.10em;text-transform:uppercase;margin-top:2px;
}
#s-presets .prst-stat-pace{
  display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:middle;
}
#s-presets .prst-stat-pace.relaxed{background:var(--green);}
#s-presets .prst-stat-pace.moderate{background:var(--accent);}
#s-presets .prst-stat-pace.packed{background:var(--red);}

/* Preview body */
#s-presets .prst-preview-body{flex:1;overflow-y:auto;padding:20px;}
#s-presets .prst-preview-section{margin-bottom:20px;}
#s-presets .prst-preview-section-title{
  font-family:var(--fu);font-size:9px;font-weight:800;color:var(--t4);
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;
  display:flex;align-items:center;gap:10px;
}
#s-presets .prst-preview-section-title::after{
  content:'';flex:1;height:1px;background:var(--b1);
}

/* Detail rows */
#s-presets .prst-detail-row{
  display:flex;align-items:flex-start;gap:10px;padding:8px 0;
  font-family:var(--fb);font-size:13px;color:var(--t2);
}
#s-presets .prst-detail-icon{width:20px;text-align:center;flex-shrink:0;font-size:13px;color:var(--t3);}
#s-presets .prst-detail-label{color:var(--t3);font-size:11px;min-width:60px;}
#s-presets .prst-detail-value{color:var(--t1);font-weight:500;}

/* Hotel detail */
#s-presets .prst-hotel-detail{
  padding:12px 14px;border-radius:10px;
  background:var(--bg-2);border:1px solid var(--b1);
}
#s-presets .prst-hotel-detail-name{
  font-family:var(--fd);font-size:16px;font-weight:500;
  color:var(--t1);margin-bottom:4px;
}
#s-presets .prst-hotel-detail-stars{color:var(--accent);font-size:11px;letter-spacing:1px;margin-bottom:6px;}
#s-presets .prst-hotel-detail-tags{display:flex;gap:5px;flex-wrap:wrap;}

/* Activities */
#s-presets .prst-act-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 12px;border-radius:6px;margin-bottom:4px;
  background:var(--bg-2);border:1px solid var(--b0);
  transition:background 120ms;
}
#s-presets .prst-act-item:hover{background:var(--bg-3);}
#s-presets .prst-act-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--teal);}
#s-presets .prst-act-name{font-family:var(--fb);font-size:12px;color:var(--t1);font-weight:500;flex:1;}
#s-presets .prst-act-price{font-family:var(--fd);font-size:13px;color:var(--accent);font-weight:500;}

/* Pace bar */
#s-presets .prst-pace-bar{
  height:6px;border-radius:3px;background:var(--bg-3);
  margin-top:8px;overflow:hidden;position:relative;
}
#s-presets .prst-pace-fill{height:100%;border-radius:3px;transition:width 380ms cubic-bezier(0.16,1,0.3,1);}
#s-presets .prst-pace-fill.relaxed{background:linear-gradient(90deg,var(--green),var(--teal));width:35%;}
#s-presets .prst-pace-fill.moderate{background:linear-gradient(90deg,var(--accent),var(--orange));width:60%;}
#s-presets .prst-pace-fill.packed{background:linear-gradient(90deg,var(--red),var(--orange));width:90%;}

/* Timeline */
#s-presets .prst-timeline{display:flex;flex-direction:column;gap:0;}
#s-presets .prst-tl-item{display:flex;align-items:flex-start;gap:10px;padding:6px 0;position:relative;}
#s-presets .prst-tl-rail{width:20px;display:flex;flex-direction:column;align-items:center;flex-shrink:0;}
#s-presets .prst-tl-dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
  border:2px solid var(--t4);background:var(--bg-1);
}
#s-presets .prst-tl-dot.act{border-color:var(--teal);background:var(--teal-bg);}
#s-presets .prst-tl-dot.drive{border-color:var(--blue);background:var(--blue-bg);}
#s-presets .prst-tl-dot.meal{border-color:var(--orange);background:var(--orange-bg);}
#s-presets .prst-tl-dot.special{border-color:var(--violet);background:rgba(110,80,160,.09);}
#s-presets .prst-tl-line{width:2px;flex:1;min-height:16px;background:var(--b1);margin:3px 0;}
#s-presets .prst-tl-body{flex:1;min-width:0;display:flex;align-items:center;gap:8px;}
#s-presets .prst-tl-time{font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t4);letter-spacing:.04em;}
#s-presets .prst-tl-label{font-family:var(--fb);font-size:12px;color:var(--t2);font-weight:500;flex:1;}
#s-presets .prst-tl-dur{
  font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t4);
  background:var(--bg-3);padding:2px 6px;border-radius:999px;
  margin-left:auto;flex-shrink:0;
}

/* Preview actions */
#s-presets .prst-preview-actions{
  padding:16px 20px;border-top:1px solid var(--b1);display:flex;gap:10px;
}
#s-presets .prst-action-btn{
  flex:1;padding:10px;border-radius:10px;
  font-family:var(--fu);font-size:10px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;
  cursor:pointer;text-align:center;border:none;
  transition:background 120ms,transform 120ms;
}
#s-presets .prst-action-btn:active{transform:scale(.97);}
#s-presets .prst-action-btn.primary{
  background:var(--accent-metal);
  color:var(--t1);
  box-shadow:0 1px 3px rgba(20,14,8,.07),0 1px 2px var(--b0),inset 0 1px 0 rgba(255,255,255,.60);
  position:relative;
}
#s-presets .prst-action-btn.primary::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 50%);
  pointer-events:none;
}
#s-presets .prst-action-btn.secondary{
  background:var(--bg-2);color:var(--t2);border:1px solid var(--b2);
}
#s-presets .prst-action-btn.secondary:hover{background:var(--bg-3);color:var(--t1);}
#s-presets .prst-action-btn.danger{
  background:var(--red-bg);color:var(--red);border:1px solid var(--red-bg);
}
#s-presets .prst-action-btn.danger:hover{background:rgba(168,56,56,.18);}

/* Linked preset preview chip */
#s-presets .prst-linked-preview{
  padding:10px 12px;border-radius:10px;background:var(--accent-ghost);
  border:1px solid var(--accent-ring);display:flex;align-items:center;gap:10px;
}
#s-presets .prst-linked-preview-arrow{font-size:18px;color:var(--accent);flex-shrink:0;}
#s-presets .prst-linked-preview-name{
  font-family:var(--fb);font-size:12px;font-weight:600;color:var(--t1);
}
#s-presets .prst-linked-preview-empty{
  font-family:var(--fb);font-style:italic;font-size:12px;color:var(--t4);
}

/* ── Empty state ─────────────────────────────────────────────────────── */
#s-presets .prst-empty,
#qb2Sec-presets .prst-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:80px 40px;text-align:center;background:var(--bg-1);
  border:1px solid var(--b1);border-radius:20px;margin:20px 32px;
}
#qb2Sec-presets .prst-empty{margin:12px 0;padding:48px 24px;}
#s-presets .prst-empty-icon,
#qb2Sec-presets .prst-empty-icon{
  width:80px;height:80px;border-radius:50%;
  background:var(--bg-2);border:1px solid var(--b1);
  display:flex;align-items:center;justify-content:center;
  font-size:32px;margin-bottom:20px;opacity:.6;
}
#s-presets .prst-empty-title,
#qb2Sec-presets .prst-empty-title{
  font-family:var(--fd);font-size:24px;font-weight:400;
  color:var(--t2);margin-bottom:8px;
}
#s-presets .prst-empty-desc,
#qb2Sec-presets .prst-empty-desc{
  font-family:var(--fb);font-size:13px;color:var(--t4);
  line-height:1.65;max-width:380px;margin-bottom:24px;
}
#s-presets .prst-empty-cta,
#qb2Sec-presets .prst-empty-cta{
  padding:10px 28px;border-radius:999px;
  background:var(--accent-metal);
  color:var(--t1);border:none;
  font-family:var(--fu);font-size:10px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  box-shadow:0 1px 3px rgba(20,14,8,.07),0 1px 2px var(--b0),inset 0 1px 0 rgba(255,255,255,.60);
  position:relative;
}

/* ── Embedded QB2 mode overrides ─────────────────────────────────────── */
#qb2Sec-presets .prst-gallery{min-height:520px;}
#qb2Sec-presets .prst-sidebar{display:none;} /* no sidebar in embedded mode */
#qb2Sec-presets .prst-preview{display:none;} /* no preview panel in embedded mode */
#qb2Sec-presets .prst-embed-toolbar{
  padding:12px 16px;border-bottom:1px solid var(--b1);
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--bg-1);
}
#qb2Sec-presets .prst-embed-chip{
  padding:5px 12px;border-radius:999px;border:1px solid var(--b1);
  background:var(--bg-2);font-family:var(--fu);font-size:9px;font-weight:700;
  color:var(--t3);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
}
#qb2Sec-presets .prst-embed-chip.active{background:var(--accent-ghost);color:var(--accent);border-color:var(--accent-ring);}

/* ── Mobile responsive (≤480px) ──────────────────────────────────────── */
@media(max-width:480px){
  #s-presets .prst-screen-header{padding:18px 16px 14px;}
  #s-presets .prst-screen-title{font-size:22px;}
  #s-presets .prst-gallery,
  #qb2Sec-presets .prst-gallery{flex-direction:column;min-height:auto;margin:12px 16px;}
  #s-presets .prst-sidebar,
  #qb2Sec-presets .prst-sidebar{
    width:100%;border-right:none;border-bottom:1px solid var(--b1);
    padding:12px 14px;flex-direction:row;flex-wrap:wrap;gap:4px;
  }
  #s-presets .prst-sidebar-title,
  #qb2Sec-presets .prst-sidebar-title{width:100%;margin-bottom:6px;}
  #s-presets .prst-filter-btn,
  #qb2Sec-presets .prst-filter-btn{padding:6px 10px;font-size:11px;width:auto;}
  #s-presets .prst-center,
  #qb2Sec-presets .prst-center{min-width:0;}
  #s-presets .prst-toolbar,
  #qb2Sec-presets .prst-toolbar{padding:12px 14px;gap:8px;}
  #s-presets .prst-search,
  #qb2Sec-presets .prst-search{min-width:0;}
  #s-presets .prst-search-wrap,
  #qb2Sec-presets .prst-search-wrap{min-width:0;max-width:100%;flex:1 1 100%;}
  #s-presets .prst-grid,
  #qb2Sec-presets .prst-grid{grid-template-columns:1fr;gap:12px;padding:12px 14px;}
  #s-presets .prst-preview{width:100%;border-left:none;border-top:1px solid var(--b1);}
  #s-presets .prst-preview-head{padding:20px 16px;}
  #s-presets .prst-preview-name{font-size:20px;padding-right:38px;}
  #s-presets .prst-preview-stats{grid-template-columns:repeat(3,1fr);gap:6px;padding:12px 16px;}
  #s-presets .prst-preview-body{padding:16px;}
  #s-presets .prst-preview-star{top:16px;right:16px;}
  #s-presets .prst-empty,
  #qb2Sec-presets .prst-empty{padding:40px 16px;margin:12px 16px;}
  #s-presets .prst-empty-title,
  #qb2Sec-presets .prst-empty-title{font-size:20px;}
}

/* ═══════════════════════════════════════════════════════════════════════
   PRESETS v6.1 FOLLOW-UPS (LWS)
   Preview close button, Assembler (Section 3), Save Modal (Section 4),
   Empty-state steps (Section 5 extension).
═══════════════════════════════════════════════════════════════════════ */

/* ── Preview: close button + timeline empty row ─────────────────────── */
#s-presets .prst-preview-close{
  position:absolute;top:22px;right:58px;width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.06);border:none;color:#F6EEE2;font-size:18px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background 120ms,color 120ms;
}
#s-presets .prst-preview-close:hover{background:rgba(255,255,255,.14);color:var(--bg-1);}
#s-presets .prst-preview-empty-row{
  font-family:var(--fb);font-size:12px;font-style:italic;color:var(--t4);
  padding:10px 12px;background:var(--bg-2);border:1px solid var(--b1);border-radius:10px;
}
@media(max-width:480px){
  #s-presets .prst-preview-close{top:16px;right:52px;width:28px;height:28px;font-size:16px;}
}

/* ── Preset Assembler overlay (Section 3) ──────────────────────────── */
.prst-assembler-overlay{
  position:fixed;inset:0;z-index:10100;display:flex;align-items:center;justify-content:center;
  background:rgba(20,14,8,.32);backdrop-filter:blur(4px);padding:20px;box-sizing:border-box;
  font-family:var(--fb);
}
.prst-assembler-modal{
  width:100%;max-width:900px;max-height:88vh;
  background:var(--bg-1);border:1px solid var(--b2);
  border-radius:20px;
  box-shadow:0 24px 60px rgba(20,14,8,.22),0 6px 18px rgba(20,14,8,.12);
  display:flex;flex-direction:column;overflow:hidden;
}
.prst-assembler-modal .asm-header{
  padding:16px 24px;border-bottom:1px solid var(--b1);
  display:flex;align-items:center;gap:16px;background:var(--bg-0);flex-shrink:0;
}
.prst-assembler-modal .asm-back{
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-2);border:1px solid var(--b1);cursor:pointer;
  font-size:14px;color:var(--t3);flex-shrink:0;
  transition:background 120ms,color 120ms;
}
.prst-assembler-modal .asm-back:hover{background:var(--bg-3);color:var(--t1);}
.prst-assembler-modal .asm-header-text{flex:1;min-width:0;}
.prst-assembler-modal .asm-title{
  font-family:var(--fd);font-size:20px;font-weight:400;color:var(--t1);
  line-height:1.2;
}
.prst-assembler-modal .asm-subtitle{
  font-family:var(--fb);font-size:12px;color:var(--t3);margin-top:2px;
}
.prst-assembler-modal .asm-close-x{
  width:28px;height:28px;border-radius:50%;
  background:transparent;border:1px solid var(--b1);cursor:pointer;
  font-size:16px;color:var(--t3);line-height:1;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:background 120ms,color 120ms;
}
.prst-assembler-modal .asm-close-x:hover{background:var(--red-bg);color:var(--red);}

.prst-assembler-modal .asm-body{display:flex;flex:1;min-height:0;}
.prst-assembler-modal .asm-pool{
  flex:1;padding:20px;overflow-y:auto;border-right:1px solid var(--b1);background:var(--bg-1);
}
.prst-assembler-modal .asm-pool-title,
.prst-assembler-modal .asm-selected-title{
  font-family:var(--fu);font-size:9px;font-weight:800;color:var(--t4);
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;
}
.prst-assembler-modal .asm-pool-empty,
.prst-assembler-modal .asm-selected-empty{
  font-family:var(--fb);font-size:12px;color:var(--t4);
  font-style:italic;padding:16px 4px;line-height:1.5;
}

.prst-assembler-modal .asm-card{
  display:flex;align-items:center;gap:14px;
  padding:14px 16px;border-radius:10px;
  border:2px solid var(--b1);background:var(--bg-0);
  margin-bottom:10px;cursor:pointer;
  transition:border-color 120ms,background 120ms,transform 120ms;
}
.prst-assembler-modal .asm-card:hover{border-color:var(--b2);background:var(--bg-2);}
.prst-assembler-modal .asm-card.selected{
  border-left:4px solid var(--green);border-right:2px solid var(--green);border-top:2px solid var(--green);border-bottom:2px solid var(--green);
  background:var(--green-bg);
}
.prst-assembler-modal .asm-card-content{flex:1;min-width:0;}
.prst-assembler-modal .asm-card-name{
  font-family:var(--fd);font-size:15px;font-weight:500;color:var(--t1);
  margin-bottom:6px;line-height:1.25;
}
.prst-assembler-modal .asm-card-meta{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.prst-assembler-modal .asm-card-order{
  width:28px;height:28px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fu);font-size:11px;font-weight:800;
  transition:background 120ms,color 120ms,border-color 120ms;
}
.prst-assembler-modal .asm-card:not(.selected) .asm-card-order{
  border:2px solid var(--b2);color:var(--t4);background:var(--bg-1);
}
.prst-assembler-modal .asm-card.selected .asm-card-order{
  background:var(--green);color:var(--bg-1);border:none;
}

.prst-assembler-modal .asm-selected{
  width:300px;flex-shrink:0;padding:20px;display:flex;flex-direction:column;
  background:var(--bg-0);
}
.prst-assembler-modal .asm-selected-list{flex:1;display:flex;flex-direction:column;gap:8px;overflow-y:auto;}
.prst-assembler-modal .asm-sel-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:10px;
  background:var(--bg-1);border:1px solid var(--b1);
}
.prst-assembler-modal .asm-sel-num{
  width:22px;height:22px;border-radius:50%;
  background:var(--green);color:var(--bg-1);
  font-family:var(--fu);font-size:10px;font-weight:800;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.prst-assembler-modal .asm-sel-text{flex:1;min-width:0;}
.prst-assembler-modal .asm-sel-name{
  font-family:var(--fb);font-size:12px;color:var(--t1);font-weight:500;
  line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.prst-assembler-modal .asm-sel-cities{
  font-family:var(--fb);font-size:10px;color:var(--t4);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.prst-assembler-modal .asm-sel-controls{display:flex;align-items:center;gap:2px;flex-shrink:0;}
.prst-assembler-modal .asm-sel-move,
.prst-assembler-modal .asm-sel-remove{
  width:22px;height:22px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:none;cursor:pointer;
  font-size:12px;color:var(--t4);line-height:1;
  transition:background 120ms,color 120ms;
}
.prst-assembler-modal .asm-sel-move:hover:not(:disabled){background:var(--bg-2);color:var(--t1);}
.prst-assembler-modal .asm-sel-move:disabled{opacity:.3;cursor:not-allowed;}
.prst-assembler-modal .asm-sel-remove:hover{background:var(--red-bg);color:var(--red);}

.prst-assembler-modal .asm-footer{
  padding:16px 24px;border-top:1px solid var(--b1);
  display:flex;align-items:center;gap:16px;background:var(--bg-1);flex-shrink:0;
}
.prst-assembler-modal .asm-counter{
  font-family:var(--fb);font-size:13px;color:var(--t3);flex:1;
}
.prst-assembler-modal .asm-counter strong{color:var(--accent);font-weight:700;}
.prst-assembler-modal .asm-apply-btn{
  padding:10px 28px;border-radius:999px;
  background:var(--accent-metal);
  color:var(--t1);border:none;
  font-family:var(--fu);font-size:10px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  box-shadow:0 1px 3px rgba(20,14,8,.07),0 1px 2px var(--b0),inset 0 1px 0 rgba(255,255,255,.60);
  position:relative;
  transition:transform 120ms;
}
.prst-assembler-modal .asm-apply-btn:active{transform:scale(.97);}
.prst-assembler-modal .asm-apply-btn::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 50%);
  pointer-events:none;
}
.prst-assembler-modal .asm-apply-btn:disabled{opacity:.4;cursor:not-allowed;}

@media(max-width:700px){
  .prst-assembler-overlay{padding:8px;}
  .prst-assembler-modal{max-height:96vh;border-radius:14px;}
  .prst-assembler-modal .asm-body{flex-direction:column;}
  .prst-assembler-modal .asm-pool{border-right:none;border-bottom:1px solid var(--b1);max-height:46vh;padding:14px;}
  .prst-assembler-modal .asm-selected{width:100%;padding:14px;max-height:40vh;}
  .prst-assembler-modal .asm-header{padding:12px 16px;gap:12px;}
  .prst-assembler-modal .asm-title{font-size:18px;}
  .prst-assembler-modal .asm-footer{padding:12px 16px;flex-wrap:wrap;gap:10px;}
  .prst-assembler-modal .asm-counter{flex:1 1 100%;order:1;text-align:center;}
  .prst-assembler-modal .asm-apply-btn{flex:1 1 100%;order:2;padding:12px;}
}

/* ── Save Preset Modal (Section 4) ─────────────────────────────────── */
.prst-save-modal-overlay{
  position:fixed;inset:0;z-index:10100;display:flex;align-items:center;justify-content:center;
  background:rgba(20,14,8,.32);backdrop-filter:blur(4px);padding:20px;box-sizing:border-box;
  font-family:var(--fb);
}
.prst-save-modal{
  width:100%;max-width:420px;
  background:var(--bg-0);border:1px solid var(--b2);
  border-radius:20px;
  box-shadow:0 24px 60px rgba(20,14,8,.22),0 6px 18px rgba(20,14,8,.12);
  overflow:hidden;display:flex;flex-direction:column;max-height:92vh;
}
.prst-save-modal-head{
  padding:20px 24px;position:relative;
  background:linear-gradient(135deg,var(--t1) 0%,#1E2A22 40%,#1A2428 100%);
  border-bottom:2px solid var(--accent-seam);
}
.prst-save-modal-head::after{
  content:'';position:absolute;bottom:-1px;left:24px;right:24px;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent-up),transparent);
}
.prst-save-modal-title{
  font-family:var(--fd);font-size:22px;font-weight:400;color:#F6EEE2;
  letter-spacing:-.01em;margin-bottom:4px;
}
.prst-save-modal-sub{
  font-family:var(--fb);font-size:12px;color:#C8B89C;
}
.prst-save-modal-body{padding:24px;overflow-y:auto;}
.prst-save-modal-field{margin-bottom:16px;}
.prst-save-modal-field:last-child{margin-bottom:0;}
.prst-save-modal-label{
  font-family:var(--fu);font-size:9px;font-weight:800;color:var(--t4);
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;display:block;
}
.prst-save-modal-input{
  width:100%;box-sizing:border-box;padding:10px 14px;border-radius:10px;
  border:1px solid var(--b2);background:var(--bg-1);
  font-family:var(--fb);font-size:14px;color:var(--t1);
  outline:none;transition:border-color 120ms,box-shadow 120ms;
}
.prst-save-modal-input:focus{
  border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);
}
.prst-save-modal-preview{
  padding:12px 16px;border-radius:10px;background:var(--bg-2);
  border:1px solid var(--b1);
}
.prst-save-modal-preview-row{
  display:flex;align-items:center;gap:8px;margin-bottom:6px;
  font-family:var(--fb);font-size:12px;color:var(--t3);
}
.prst-save-modal-preview-row:last-child{margin-bottom:0;}
.prst-save-modal-preview-icon{width:16px;text-align:center;font-size:13px;flex-shrink:0;}
.prst-save-modal-preview-val{color:var(--t2);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.prst-save-modal-foot{
  padding:16px 24px;border-top:1px solid var(--b1);
  display:flex;gap:10px;justify-content:flex-end;background:var(--bg-1);flex-shrink:0;
}
.prst-save-modal-btn{
  padding:10px 24px;border-radius:999px;
  font-family:var(--fu);font-size:10px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;
  cursor:pointer;border:none;transition:background 120ms,color 120ms,transform 120ms;
}
.prst-save-modal-btn.cancel{
  background:var(--bg-2);color:var(--t3);border:1px solid var(--b1);
}
.prst-save-modal-btn.cancel:hover{background:var(--bg-3);color:var(--t1);}
.prst-save-modal-btn.save{
  background:var(--accent-metal);
  color:var(--t1);
  box-shadow:0 1px 3px rgba(20,14,8,.07),0 1px 2px var(--b0),inset 0 1px 0 rgba(255,255,255,.60);
  position:relative;
}
.prst-save-modal-btn.save:active{transform:scale(.97);}
.prst-save-modal-btn.save::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 50%);
  pointer-events:none;
}

@media(max-width:480px){
  .prst-save-modal-overlay{padding:12px;}
  .prst-save-modal{border-radius:14px;}
  .prst-save-modal-head{padding:16px 18px;}
  .prst-save-modal-title{font-size:20px;}
  .prst-save-modal-body{padding:18px;}
  .prst-save-modal-foot{padding:14px 18px;}
}

/* ── Empty-state 3-step guide (Section 5) ──────────────────────────── */
#s-presets .prst-empty-steps,
#qb2Sec-presets .prst-empty-steps{
  display:flex;gap:24px;margin-top:32px;flex-wrap:wrap;justify-content:center;
}
#s-presets .prst-empty-step,
#qb2Sec-presets .prst-empty-step{
  padding:16px 20px;border-radius:14px;
  background:var(--bg-2);border:1px solid var(--b1);
  text-align:center;width:160px;box-sizing:border-box;
}
#s-presets .prst-empty-step-num,
#qb2Sec-presets .prst-empty-step-num{
  width:28px;height:28px;border-radius:50%;
  background:var(--accent-ghost);color:var(--accent);
  font-family:var(--fu);font-size:11px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;
  margin-bottom:8px;
}
#s-presets .prst-empty-step-text,
#qb2Sec-presets .prst-empty-step-text{
  font-family:var(--fb);font-size:12px;color:var(--t3);line-height:1.5;
}
@media(max-width:480px){
  #s-presets .prst-empty-steps,
  #qb2Sec-presets .prst-empty-steps{gap:10px;margin-top:20px;}
  #s-presets .prst-empty-step,
  #qb2Sec-presets .prst-empty-step{width:100%;max-width:280px;padding:12px 16px;}
}

/* ─── Linked Presets — visual chain (LWS v6.1) ───────────────────────── */
#s-presets .link-demo,
#qb2Sec-presets .link-demo{
  display:flex;gap:24px;padding:24px;background:var(--bg-1);
  border:1px solid var(--b1);border-radius:14px;
  flex-wrap:wrap;align-items:center;justify-content:center;
}
#s-presets .link-card,
#qb2Sec-presets .link-card{
  width:240px;background:var(--bg-0);border:1px solid var(--b1);
  border-radius:14px;padding:16px;position:relative;box-sizing:border-box;
}
#s-presets .link-card.source,
#qb2Sec-presets .link-card.source{border-color:var(--accent-ring);}
#s-presets .link-card.target.linked,
#qb2Sec-presets .link-card.target.linked{border:2px dashed var(--green);}
#s-presets .link-card.target.empty,
#qb2Sec-presets .link-card.target.empty{
  border:1px dashed var(--b2);background:var(--bg-2);
}
#s-presets .link-card-name,
#qb2Sec-presets .link-card-name{
  font-family:var(--fd);font-size:16px;font-weight:500;
  color:var(--t1);margin-bottom:6px;
}
#s-presets .link-card-name.green,
#qb2Sec-presets .link-card-name.green{color:var(--green);}
#s-presets .link-card-cities,
#qb2Sec-presets .link-card-cities{
  font-family:var(--fb);font-size:11px;
  color:var(--t3);margin-bottom:10px;
}
#s-presets .link-arrow-col,
#qb2Sec-presets .link-arrow-col{
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
#s-presets .link-arrow,
#qb2Sec-presets .link-arrow{
  width:44px;height:44px;border-radius:50%;
  background:var(--accent-ghost);border:2px solid var(--accent-ring);
  color:var(--accent);font-size:18px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
#s-presets .link-label,
#qb2Sec-presets .link-label{
  font-family:var(--fu);font-size:9px;font-weight:800;
  color:var(--accent);letter-spacing:.12em;text-transform:uppercase;
}
#s-presets .link-dropdown-label,
#qb2Sec-presets .link-dropdown-label{
  font-family:var(--fu);font-size:9px;font-weight:800;
  color:var(--t3);letter-spacing:.08em;text-transform:uppercase;
  margin-bottom:6px;margin-top:12px;
}
#s-presets .link-dropdown,
#qb2Sec-presets .link-dropdown{
  width:100%;padding:8px 12px;border-radius:6px;
  border:1px solid var(--b2);background:var(--bg-2);
  font-family:var(--fb);font-size:12px;color:var(--t1);
  cursor:pointer;box-sizing:border-box;
}
#s-presets .link-empty-hint,
#qb2Sec-presets .link-empty-hint{
  font-family:var(--fb);font-size:11px;
  color:var(--t3);font-style:italic;text-align:center;padding:12px;
}
#s-presets .link-auto-hint,
#qb2Sec-presets .link-auto-hint{
  padding:8px 12px;border-radius:6px;background:var(--green-bg);
  border:1px solid var(--green-bg);
  font-family:var(--fb);font-size:11px;
  color:var(--green);margin-top:12px;
}
#s-presets .link-unlink-btn,
#qb2Sec-presets .link-unlink-btn{
  position:absolute;top:10px;right:10px;width:22px;height:22px;
  background:var(--b0);border:1px solid var(--b1);
  color:var(--t3);cursor:pointer;font-size:14px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
}
#s-presets .prst-link-popover,
#qb2Sec-presets .prst-link-popover,
.prst-link-popover{
  position:absolute;z-index:10003;background:var(--bg-1);
  border:1px solid var(--b1);border-radius:14px;
  box-shadow:0 12px 32px rgba(20,14,8,.14);padding:14px;width:260px;
  box-sizing:border-box;
}
#s-presets .prst-link-popover-title,
#qb2Sec-presets .prst-link-popover-title,
.prst-link-popover-title{
  font-family:var(--fu);font-size:10px;font-weight:800;
  color:var(--t3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;
}
#s-presets .prst-link-popover-select,
#qb2Sec-presets .prst-link-popover-select,
.prst-link-popover-select{
  width:100%;padding:8px 10px;border:1px solid var(--b2);
  border-radius:6px;background:var(--bg-0);
  font-family:var(--fb);font-size:12px;color:var(--t1);
  cursor:pointer;box-sizing:border-box;
}
#s-presets .prst-link-popover-actions,
#qb2Sec-presets .prst-link-popover-actions,
.prst-link-popover-actions{display:flex;gap:6px;margin-top:10px;}
#s-presets .prst-link-popover-save,
#qb2Sec-presets .prst-link-popover-save,
.prst-link-popover-save{
  flex:1;background:var(--accent-metal);
  color:var(--bg-1);border:none;border-radius:6px;padding:8px;
  font-family:var(--fu);font-size:10px;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;cursor:pointer;
}
#s-presets .prst-link-popover-cancel,
#qb2Sec-presets .prst-link-popover-cancel,
.prst-link-popover-cancel{
  background:var(--bg-0);color:var(--t3);
  border:1px solid var(--b1);border-radius:6px;padding:8px 12px;
  font-family:var(--fb);font-size:11px;cursor:pointer;
}


/* ============================================================
   QUOTE HISTORY — LWS v6.1 (ported from nd-prototype-quote-history.html)
   All var(--xxx) replaced with inline hex. Scoped under #s-history
   except modal/overlay classes (.qh-modal*, .qh-overlay*).
============================================================ */

/* ── SECTION 1: ARCHIVE ─────────────────────────────────── */
#s-history #histRoot{font-family:var(--fb);color:var(--t1);}
#s-history .qh-shell{padding:24px 28px;background:var(--bg-0);min-height:100vh;}
#s-history .qh-shell-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px;}
#s-history .qh-shell-title{font-family:var(--fd);font-size:28px;font-weight:400;color:var(--t1);}
#s-history .qh-shell-sub{font-family:var(--fb);font-size:13px;color:var(--t3);margin-top:4px;}
#s-history .qh-new-btn{font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:9px 18px;border-radius:999px;border:1px solid var(--accent);background:var(--accent-metal);color:var(--bg-1);cursor:pointer;transition:all 220ms cubic-bezier(0.16,1,0.3,1);box-shadow:0 1px 3px rgba(0,0,0,.08);}
#s-history .qh-new-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.06);}
#s-history .qh-canvas{background:var(--bg-2);border:1px solid rgba(26,23,16,.07);border-radius:20px;padding:32px;margin-bottom:24px;position:relative;overflow:hidden;}
#s-history .qh-canvas-label{font-family:var(--fu);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--t4);margin-bottom:24px;display:flex;align-items:center;gap:12px;}
#s-history .qh-canvas-label .qh-tag-pill{font-size:8px;padding:3px 8px;border-radius:999px;background:rgba(168,116,18,.06);color:var(--accent);border:1px solid rgba(168,116,18,.25);letter-spacing:.1em;}

#s-history .qh-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:rgba(26,23,16,.07);border-radius:14px;overflow:hidden;margin-bottom:24px;}
#s-history .qh-stat{background:var(--bg-3);padding:16px 18px;text-align:center;transition:background 220ms;}
#s-history .qh-stat:hover{background:var(--bg-4);}
#s-history .qh-stat-val{font-family:var(--fd);font-size:26px;font-weight:300;color:var(--t1);line-height:1;margin-bottom:4px;}
#s-history .qh-stat-val.gold{color:var(--accent);}
#s-history .qh-stat-val.green{color:var(--green);}
#s-history .qh-stat-val.red{color:#B0443F;}
#s-history .qh-stat-val.grey{color:var(--t4);}
#s-history .qh-stat-label{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--t4);}

#s-history .qh-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px;}
#s-history .qh-search{font-family:var(--fb);font-size:12px;color:var(--t1);background:var(--bg-3);border:1px solid rgba(26,23,16,.12);border-radius:999px;padding:8px 16px 8px 36px;width:260px;outline:none;transition:border-color 220ms;}
#s-history .qh-search:focus{border-color:var(--accent);}
#s-history .qh-search-wrap{position:relative;display:inline-flex;}
#s-history .qh-search-wrap::before{content:'\01F50D';position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:12px;opacity:.5;z-index:1;pointer-events:none;}
#s-history .qh-filter-pills{display:flex;gap:6px;flex-wrap:wrap;}
#s-history .qh-pill{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px;border:1px solid rgba(26,23,16,.12);background:var(--bg-3);color:var(--t2);cursor:pointer;transition:all 220ms cubic-bezier(0.16,1,0.3,1);display:inline-flex;align-items:center;gap:6px;}
#s-history .qh-pill:hover{border-color:rgba(168,116,18,.25);color:var(--t2);}
#s-history .qh-pill.active{background:rgba(168,116,18,.06);border-color:var(--accent);color:var(--accent);}
#s-history .qh-pill-count{font-size:8px;background:rgba(26,23,16,.07);padding:2px 5px;border-radius:999px;color:var(--t4);}
#s-history .qh-pill.active .qh-pill-count{background:rgba(168,116,18,.25);color:var(--accent);}
#s-history .qh-owner-toggle{display:flex;border:1px solid rgba(26,23,16,.12);border-radius:999px;overflow:hidden;}
#s-history .qh-owner-btn{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 14px;background:var(--bg-3);color:var(--t3);cursor:pointer;border:none;transition:all 220ms;}
#s-history .qh-owner-btn.active{background:rgba(168,116,18,.06);color:var(--accent);}
#s-history .qh-sort{font-family:var(--fb);font-size:11px;color:var(--t2);background:var(--bg-3);border:1px solid rgba(26,23,16,.12);border-radius:10px;padding:6px 12px;outline:none;cursor:pointer;}
#s-history .qh-date-range{font-family:var(--fb);font-size:11px;color:var(--t3);background:var(--bg-3);border:1px solid rgba(26,23,16,.12);border-radius:10px;padding:6px 12px;}
#s-history .qh-filters-spacer{flex:1;}

#s-history .qh-grid{display:flex;flex-direction:column;gap:10px;}
#s-history .qh-card{display:flex;align-items:stretch;background:var(--bg-3);border:1px solid rgba(26,23,16,.07);border-radius:14px;overflow:hidden;transition:all 220ms cubic-bezier(0.16,1,0.3,1);cursor:pointer;}
#s-history .qh-card:hover{border-color:rgba(26,23,16,.12);box-shadow:0 4px 16px rgba(0,0,0,.06);transform:translateY(-1px);}
#s-history .qh-card-accent{width:5px;flex-shrink:0;border-radius:14px 0 0 14px;}
#s-history .qh-card-accent.st-enquiry{background:#6B5AA5;}
#s-history .qh-card-accent.st-draft{background:#4A7FB5;}
#s-history .qh-card-accent.st-sent{background:var(--accent);}
#s-history .qh-card-accent.st-followup{background:#C06A20;}
#s-history .qh-card-accent.st-confirmed{background:var(--green);}
#s-history .qh-card-accent.st-expired{background:var(--t3);}
#s-history .qh-card-accent.st-cancelled{background:#9B4D5C;}
#s-history .qh-card-body{flex:1;padding:16px 20px;display:flex;align-items:center;gap:24px;min-width:0;}
#s-history .qh-card-main{flex:1;min-width:0;}
#s-history .qh-card-client{font-family:var(--fd);font-size:18px;font-weight:500;color:var(--t1);margin-bottom:2px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
#s-history .qh-card-ref{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:rgba(26,23,16,.07);color:var(--t2);}
#s-history .qh-card-dates{font-family:var(--fb);font-size:11px;color:var(--t3);margin-bottom:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
#s-history .qh-card-nights{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:999px;background:rgba(168,116,18,.06);color:var(--accent);border:1px solid rgba(168,116,18,.25);}
#s-history .qh-card-guests{font-family:var(--fb);font-size:11px;color:var(--t4);margin-bottom:2px;}
#s-history .qh-card-values{display:flex;align-items:baseline;gap:16px;margin-top:6px;flex-wrap:wrap;}
#s-history .qh-card-price{font-family:var(--fd);font-size:22px;font-weight:400;color:var(--accent);line-height:1;}
#s-history .qh-card-margin{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.06em;padding:3px 8px;border-radius:999px;}
#s-history .qh-card-margin.margin-high{color:var(--green);background:rgba(26,107,90,.08);}
#s-history .qh-card-margin.margin-mid{color:var(--accent);background:rgba(168,116,18,.06);}
#s-history .qh-card-margin.margin-low{color:#C06A20;background:rgba(192,106,32,.08);}
#s-history .qh-card-source{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;margin-top:6px;display:inline-flex;}
#s-history .qh-card-source.src-whatsapp{color:#25D366;background:rgba(37,211,102,.1);border:1px solid rgba(37,211,102,.25);}
#s-history .qh-card-source.src-email{color:#3A6FA5;background:rgba(58,111,165,.08);border:1px solid rgba(74,127,181,.25);}
#s-history .qh-card-source.src-referral{color:#6B5AA5;background:rgba(107,90,165,.08);border:1px solid rgba(124,107,181,.25);}
#s-history .qh-card-source.src-website{color:#1A6B6B;background:rgba(26,107,107,.08);border:1px solid rgba(45,138,138,.25);}
#s-history .qh-card-source.src-instagram{color:#E1306C;background:rgba(225,48,108,.1);border:1px solid rgba(225,48,108,.25);}
#s-history .qh-card-source.src-google{color:#3A6FA5;background:rgba(58,111,165,.08);border:1px solid rgba(74,127,181,.25);}
#s-history .qh-card-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;padding:16px 20px;min-width:200px;border-left:1px solid rgba(26,23,16,.03);gap:6px;}
#s-history .qh-card-status{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:999px;}
#s-history .qh-card-status.st-enquiry{color:#6B5AA5;background:rgba(107,90,165,.08);border:1px solid rgba(124,107,181,.25);}
#s-history .qh-card-status.st-draft{color:#4A7FB5;background:rgba(58,111,165,.08);border:1px solid rgba(74,127,181,.25);}
#s-history .qh-card-status.st-sent{color:var(--accent);background:rgba(168,116,18,.06);border:1px solid rgba(168,116,18,.25);}
#s-history .qh-card-status.st-followup{color:#C06A20;background:rgba(192,106,32,.08);border:1px solid rgba(217,123,43,.25);}
#s-history .qh-card-status.st-confirmed{color:var(--green);background:rgba(26,107,90,.08);border:1px solid rgba(45,138,110,.25);}
#s-history .qh-card-status.st-expired{color:var(--t3);background:rgba(26,23,16,.03);border:1px solid rgba(26,23,16,.07);}
#s-history .qh-card-status.st-cancelled{color:#9B4D5C;background:rgba(176,68,63,.08);border:1px solid rgba(192,83,79,.2);}
#s-history .qh-card-timestamps{font-family:var(--fb);font-size:10px;color:var(--t4);text-align:right;line-height:1.6;}
#s-history .qh-card-published{display:flex;align-items:center;gap:4px;font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:4px 0;}
#s-history .qh-card-actions{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap;justify-content:flex-end;}
#s-history .qh-btn{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:6px;border:1px solid rgba(26,23,16,.12);background:var(--bg-2);color:var(--t2);cursor:pointer;transition:all 220ms cubic-bezier(0.16,1,0.3,1);}
#s-history .qh-btn:hover{background:rgba(168,116,18,.06);border-color:rgba(168,116,18,.25);color:var(--accent);}
#s-history .qh-btn.btn-load{color:var(--accent);border-color:rgba(168,116,18,.25);}
#s-history .qh-btn.btn-load:hover{background:var(--accent);color:var(--bg-1);}
#s-history .qh-btn.btn-danger{color:#B0443F;border-color:rgba(192,83,79,.25);}
#s-history .qh-btn.btn-danger:hover{background:rgba(176,68,63,.08);border-color:#B0443F;}
#s-history .qh-btn.btn-share{color:var(--accent);border-color:rgba(168,116,18,.25);}
#s-history .qh-empty{padding:48px 24px;text-align:center;color:var(--t4);font-family:var(--fb);font-size:13px;font-style:italic;}

/* ── SECTION 2: DETAIL OVERLAY (global scope) ─── */
.qh-overlay{position:fixed;inset:0;z-index:9999;background:rgba(26,23,16,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;overflow-y:auto;font-family:var(--fb);color:var(--t1);animation:qhFadeIn 220ms cubic-bezier(0.16,1,0.3,1);}
@keyframes qhFadeIn{from{opacity:0;}to{opacity:1;}}
.qh-overlay-sheet{background:var(--bg-1);border:1px solid rgba(26,23,16,.07);border-radius:20px;width:100%;max-width:960px;box-shadow:0 12px 40px rgba(0,0,0,.1);position:relative;overflow:hidden;}
.qh-overlay-close{position:absolute;top:14px;right:14px;z-index:2;width:32px;height:32px;border-radius:50%;border:1px solid rgba(26,23,16,.12);background:var(--bg-1);color:var(--t2);cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all 220ms cubic-bezier(0.16,1,0.3,1);}
.qh-overlay-close:hover{background:rgba(168,116,18,.06);border-color:var(--accent);color:var(--accent);}
.qh-overlay-tabs{display:flex;gap:0;background:var(--bg-0);border-bottom:1px solid rgba(26,23,16,.07);}
.qh-overlay-tab{font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:14px 22px;background:transparent;border:none;color:var(--t3);cursor:pointer;border-bottom:2px solid transparent;transition:all 220ms;}
.qh-overlay-tab:hover{color:var(--t1);}
.qh-overlay-tab.active{color:var(--accent);border-bottom-color:var(--accent);}
.qh-overlay-tab .qh-tab-count{font-size:9px;background:rgba(26,23,16,.07);padding:1px 6px;border-radius:999px;margin-left:6px;color:var(--t3);}
.qh-overlay-tab.active .qh-tab-count{background:rgba(168,116,18,.25);color:var(--accent);}
.qh-overlay-body{padding:0;}

.qh-detail{background:var(--bg-1);border-radius:0;overflow:hidden;}
.qh-detail-header{background:linear-gradient(135deg,var(--bg-4),var(--bg-3));padding:24px 28px;border-bottom:1px solid rgba(26,23,16,.07);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.qh-detail-header-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.qh-detail-name{font-family:var(--fd);font-size:24px;font-weight:500;color:var(--t1);}
.qh-detail-ref{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:rgba(26,23,16,.07);color:var(--t3);}
.qh-detail-status{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:999px;}
.qh-detail-status.st-enquiry{color:#6B5AA5;background:rgba(107,90,165,.08);border:1px solid rgba(124,107,181,.25);}
.qh-detail-status.st-draft{color:#4A7FB5;background:rgba(58,111,165,.08);border:1px solid rgba(74,127,181,.25);}
.qh-detail-status.st-sent{color:var(--accent);background:rgba(168,116,18,.06);border:1px solid rgba(168,116,18,.25);}
.qh-detail-status.st-followup{color:#C06A20;background:rgba(192,106,32,.08);border:1px solid rgba(217,123,43,.25);}
.qh-detail-status.st-confirmed{color:var(--green);background:rgba(26,107,90,.08);border:1px solid rgba(45,138,110,.25);}
.qh-detail-status.st-expired{color:var(--t3);background:rgba(26,23,16,.03);border:1px solid rgba(26,23,16,.07);}
.qh-detail-status.st-cancelled{color:#9B4D5C;background:rgba(176,68,63,.08);border:1px solid rgba(192,83,79,.2);}
.qh-detail-published{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:4px;}

.qh-detail-info{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(26,23,16,.07);}
.qh-detail-col{background:var(--bg-1);padding:20px 24px;}
.qh-detail-col-title{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.qh-detail-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;gap:10px;}
.qh-detail-key{font-family:var(--fb);font-size:11px;color:var(--t4);}
.qh-detail-val{font-family:var(--fb);font-size:11px;color:var(--t2);font-weight:500;text-align:right;}
.qh-detail-val.gold{color:var(--accent);font-family:var(--fd);font-size:22px;font-weight:400;}
.qh-detail-val.green{color:var(--green);}
.qh-detail-val.orange{color:#C06A20;}

.qh-itinerary{padding:20px 24px;border-top:1px solid rgba(26,23,16,.07);background:var(--bg-1);}
.qh-itinerary-title{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.qh-itinerary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;}
.qh-itin-day{background:var(--bg-0);border:1px solid rgba(26,23,16,.07);border-radius:10px;padding:10px 14px;}
.qh-itin-num{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;}
.qh-itin-city{font-family:var(--fb);font-size:12px;font-weight:600;color:var(--t1);margin-bottom:2px;}
.qh-itin-hotel{font-family:var(--fb);font-size:10px;color:var(--t3);}
.qh-itin-acts{font-family:var(--fb);font-size:9px;color:var(--t4);margin-top:2px;}

.qh-detail-actions{padding:16px 24px;border-top:1px solid rgba(26,23,16,.07);background:var(--bg-1);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;}
.qh-detail-actions .qh-btn{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 14px;border-radius:6px;border:1px solid rgba(26,23,16,.12);background:var(--bg-2);color:var(--t2);cursor:pointer;transition:all 220ms cubic-bezier(0.16,1,0.3,1);}
.qh-detail-actions .qh-btn:hover{background:rgba(168,116,18,.06);border-color:rgba(168,116,18,.25);color:var(--accent);}
.qh-detail-actions .qh-btn.btn-load{color:var(--accent);border-color:rgba(168,116,18,.25);}
.qh-detail-actions .qh-btn.btn-load:hover{background:var(--accent);color:var(--bg-1);}
.qh-detail-actions .qh-btn.btn-share{color:var(--accent);border-color:rgba(168,116,18,.25);}
.qh-detail-actions .qh-btn.btn-danger{color:#B0443F;border-color:rgba(192,83,79,.25);}
.qh-detail-actions .qh-btn.btn-danger:hover{background:rgba(176,68,63,.08);border-color:#B0443F;}

/* ── SECTION 3: VERSIONING ─── */
.qh-versions-wrap{padding:24px 28px;}
.qh-versions{display:flex;flex-direction:column;gap:0;}
.qh-version{display:flex;align-items:flex-start;gap:20px;padding:20px 0;position:relative;}
.qh-version:not(:last-child)::after{content:'';position:absolute;left:15px;top:52px;bottom:0;width:2px;background:rgba(26,23,16,.12);}
.qh-version-dot{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--fu);font-size:10px;font-weight:800;background:var(--bg-4);border:2px solid rgba(26,23,16,.12);color:var(--t3);position:relative;z-index:1;}
.qh-version-dot.current{background:rgba(168,116,18,.06);border-color:var(--accent);color:var(--accent);box-shadow:0 0 12px rgba(168,116,18,.25);}
.qh-version-body{flex:1;min-width:0;}
.qh-version-top{display:flex;align-items:center;gap:12px;margin-bottom:6px;flex-wrap:wrap;}
.qh-version-time{font-family:'Courier New',monospace;font-size:11px;color:var(--t3);}
.qh-version-author{font-family:var(--fb);font-size:10px;color:var(--t4);}
.qh-version-status{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:999px;}
.qh-version-status.st-enquiry{color:#6B5AA5;background:rgba(107,90,165,.08);border:1px solid rgba(124,107,181,.25);}
.qh-version-status.st-draft{color:#4A7FB5;background:rgba(58,111,165,.08);border:1px solid rgba(74,127,181,.25);}
.qh-version-status.st-sent{color:var(--accent);background:rgba(168,116,18,.06);border:1px solid rgba(168,116,18,.25);}
.qh-version-status.st-followup{color:#C06A20;background:rgba(192,106,32,.08);border:1px solid rgba(217,123,43,.25);}
.qh-version-status.st-confirmed{color:var(--green);background:rgba(26,107,90,.08);border:1px solid rgba(45,138,110,.25);}
.qh-version-status.st-expired{color:var(--t3);background:rgba(26,23,16,.03);border:1px solid rgba(26,23,16,.07);}
.qh-version-status.st-cancelled{color:#9B4D5C;background:rgba(176,68,63,.08);border:1px solid rgba(192,83,79,.2);}
.qh-version-label{font-family:var(--fb);font-size:12px;color:var(--t2);font-weight:500;margin-bottom:6px;}
.qh-version-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.qh-version-price{font-family:var(--fd);font-size:18px;font-weight:400;color:var(--accent);}
.qh-version-delta{font-family:var(--fb);font-size:10px;font-weight:600;padding:2px 8px;border-radius:999px;}
.qh-version-delta.up{color:var(--green);background:rgba(26,107,90,.08);}
.qh-version-delta.down{color:#B0443F;background:rgba(176,68,63,.08);}
.qh-version-delta.neutral{color:var(--t4);background:rgba(26,23,16,.03);}
.qh-version-current-tag{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green);}
.qh-version-restore{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:6px;border:1px solid rgba(26,23,16,.12);background:var(--bg-2);color:var(--t3);cursor:pointer;margin-left:auto;transition:all 220ms cubic-bezier(0.16,1,0.3,1);}
.qh-version-restore:hover{border-color:rgba(168,116,18,.25);color:var(--accent);background:rgba(168,116,18,.06);}

/* ── SECTION 4: AUDIT LOG ─── */
.qh-log-wrap{padding:24px 28px;}
.qh-log-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px;}
.qh-log-title{font-family:var(--fd);font-size:18px;font-weight:500;color:var(--t1);}
.qh-log-count{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t4);margin-top:2px;}
.qh-log-filters{display:flex;gap:6px;flex-wrap:wrap;}
.qh-log-filters .qh-pill{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px;border:1px solid rgba(26,23,16,.12);background:var(--bg-2);color:var(--t2);cursor:pointer;transition:all 220ms;display:inline-flex;align-items:center;gap:6px;}
.qh-log-filters .qh-pill.active{background:rgba(168,116,18,.06);border-color:var(--accent);color:var(--accent);}
.qh-log-filters .qh-pill-count{font-size:8px;background:rgba(26,23,16,.07);padding:2px 5px;border-radius:999px;color:var(--t4);}
.qh-log-filters .qh-pill.active .qh-pill-count{background:rgba(168,116,18,.25);color:var(--accent);}
.qh-log-entries{display:flex;flex-direction:column;gap:6px;}
.qh-log-entry{display:flex;align-items:flex-start;gap:16px;padding:12px 16px;background:var(--bg-1);border:1px solid rgba(26,23,16,.07);border-radius:10px;transition:border-color 220ms;}
.qh-log-entry:hover{border-color:rgba(26,23,16,.12);}
.qh-log-ts{font-family:'Courier New',monospace;font-size:11px;color:var(--t3);white-space:nowrap;min-width:110px;}
.qh-log-author{font-family:var(--fb);font-size:10px;color:var(--t4);min-width:160px;}
.qh-log-type{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;min-width:60px;text-align:center;flex-shrink:0;}
.qh-log-type.type-note{color:#3A6FA5;background:rgba(58,111,165,.08);border:1px solid rgba(74,127,181,.25);}
.qh-log-type.type-save{color:var(--green);background:rgba(26,107,90,.08);border:1px solid rgba(45,138,110,.25);}
.qh-log-type.type-status{color:#C06A20;background:rgba(192,106,32,.08);border:1px solid rgba(217,123,43,.25);}
.qh-log-action{font-family:var(--fb);font-size:12px;color:var(--t2);font-weight:500;flex:1;}
.qh-log-detail{font-family:var(--fb);font-size:10px;color:var(--t4);font-style:italic;margin-top:2px;}

/* ── SECTION 5: STATE MACHINE ─── */
#s-history .qh-states{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:32px;}
#s-history .qh-state-node{width:120px;text-align:center;padding:16px 12px;background:var(--bg-3);border:1px solid rgba(26,23,16,.07);border-radius:14px;position:relative;transition:all 220ms cubic-bezier(0.16,1,0.3,1);}
#s-history .qh-state-node:hover{border-color:rgba(26,23,16,.12);box-shadow:0 4px 16px rgba(0,0,0,.06);}
#s-history .qh-state-dot{width:28px;height:28px;border-radius:50%;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;}
#s-history .qh-state-dot.dot-enquiry{background:#6B5AA5;box-shadow:0 0 8px rgba(124,107,181,.4);}
#s-history .qh-state-dot.dot-draft{background:#4A7FB5;box-shadow:0 0 8px rgba(74,127,181,.4);}
#s-history .qh-state-dot.dot-sent{background:var(--accent);box-shadow:0 0 8px rgba(168,116,18,.25);}
#s-history .qh-state-dot.dot-followup{background:#C06A20;box-shadow:0 0 8px rgba(217,123,43,.4);}
#s-history .qh-state-dot.dot-confirmed{background:var(--green);box-shadow:0 0 8px rgba(45,138,110,.4);}
#s-history .qh-state-dot.dot-expired{background:var(--t3);box-shadow:0 0 8px rgba(107,96,89,.3);}
#s-history .qh-state-dot.dot-cancelled{background:#9B4D5C;box-shadow:0 0 8px rgba(139,77,92,.4);}
#s-history .qh-state-name{font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t2);margin-bottom:4px;}
#s-history .qh-state-count{font-family:var(--fd);font-size:16px;font-weight:400;color:var(--t3);}
#s-history .qh-transitions{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;}
#s-history .qh-trans-card{background:var(--bg-3);border:1px solid rgba(26,23,16,.07);border-radius:10px;padding:14px 18px;}
#s-history .qh-trans-card.from-enquiry{border-top:3px solid #6B5AA5;}
#s-history .qh-trans-card.from-draft{border-top:3px solid #4A7FB5;}
#s-history .qh-trans-card.from-sent{border-top:3px solid var(--accent);}
#s-history .qh-trans-card.from-followup{border-top:3px solid #C06A20;}
#s-history .qh-trans-card.from-confirmed{border-top:3px solid var(--green);}
#s-history .qh-trans-card.from-cancelled{border-top:3px solid #9B4D5C;}
#s-history .qh-trans-card.from-expired{border-top:3px solid var(--t3);}
#s-history .qh-trans-from{font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:8px;color:var(--t2);}
#s-history .qh-trans-from .dot-sm{width:8px;height:8px;border-radius:50%;display:inline-block;}
#s-history .qh-trans-from .dot-sm.dot-enquiry{background:#6B5AA5;}
#s-history .qh-trans-from .dot-sm.dot-draft{background:#4A7FB5;}
#s-history .qh-trans-from .dot-sm.dot-sent{background:var(--accent);}
#s-history .qh-trans-from .dot-sm.dot-followup{background:#C06A20;}
#s-history .qh-trans-from .dot-sm.dot-confirmed{background:var(--green);}
#s-history .qh-trans-from .dot-sm.dot-cancelled{background:#9B4D5C;}
#s-history .qh-trans-from .dot-sm.dot-expired{background:var(--t3);}
#s-history .qh-trans-targets{display:flex;flex-direction:column;gap:4px;}
#s-history .qh-trans-arrow{font-family:var(--fb);font-size:11px;color:var(--t3);display:flex;align-items:center;gap:8px;padding:3px 0;}
#s-history .qh-trans-arrow::before{content:'\2192';color:var(--t4);}
#s-history .qh-trans-trigger{font-family:var(--fb);font-size:9px;color:var(--t4);font-style:italic;margin-left:auto;}

#s-history .qh-collapse{background:var(--bg-2);border:1px solid rgba(26,23,16,.07);border-radius:14px;margin-bottom:24px;overflow:hidden;}
#s-history .qh-collapse-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;background:var(--bg-3);font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);}
#s-history .qh-collapse-head:hover{background:var(--bg-4);}
#s-history .qh-collapse-arrow{font-size:14px;color:var(--t3);transition:transform 220ms;}
#s-history .qh-collapse.open .qh-collapse-arrow{transform:rotate(90deg);}
#s-history .qh-collapse-body{padding:24px;display:none;}
#s-history .qh-collapse.open .qh-collapse-body{display:block;}

/* ── SECTION 6: ARCHIVE + DELETE MODAL ─── */
#s-history .qh-toggle-wrap{display:flex;align-items:center;gap:8px;margin-bottom:16px;}
#s-history .qh-toggle{width:40px;height:22px;border-radius:11px;background:rgba(26,23,16,.12);position:relative;cursor:pointer;transition:background 220ms;}
#s-history .qh-toggle.on{background:var(--accent);}
#s-history .qh-toggle::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--bg-1);transition:transform 220ms cubic-bezier(0.16,1,0.3,1);}
#s-history .qh-toggle.on::after{transform:translateX(18px);}
#s-history .qh-toggle-label{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);}

#s-history .qh-archive-section{display:grid;grid-template-columns:1fr 200px;gap:20px;margin-top:16px;}
#s-history .qh-archive-list{display:flex;flex-direction:column;gap:8px;}
#s-history .qh-archive-card{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--bg-3);border:1px solid rgba(26,23,16,.07);border-radius:10px;opacity:.6;transition:opacity 220ms;cursor:pointer;}
#s-history .qh-archive-card:hover{opacity:.85;}
#s-history .qh-archive-card-accent{width:4px;height:32px;border-radius:2px;flex-shrink:0;}
#s-history .qh-archive-card-accent.st-expired{background:var(--t3);}
#s-history .qh-archive-card-accent.st-cancelled{background:#9B4D5C;}
#s-history .qh-archive-card-name{font-family:var(--fb);font-size:12px;font-weight:500;color:var(--t2);flex:1;}
#s-history .qh-archive-card-name .ref{font-size:10px;color:var(--t4);margin-left:4px;}
#s-history .qh-archive-card-val{font-family:var(--fd);font-size:14px;color:var(--t3);}
#s-history .qh-archive-card .qh-card-status{font-size:8px;padding:2px 8px;}

#s-history .qh-archive-stats{background:var(--bg-3);border:1px solid rgba(26,23,16,.07);border-radius:10px;padding:20px;align-self:flex-start;}
#s-history .qh-archive-stats-title{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);margin-bottom:12px;}
#s-history .qh-archive-stat-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(26,23,16,.03);}
#s-history .qh-archive-stat-row:last-child{border-bottom:none;}
#s-history .qh-archive-stat-key{font-family:var(--fb);font-size:11px;color:var(--t4);}
#s-history .qh-archive-stat-val{font-family:var(--fd);font-size:14px;color:var(--t2);}

/* Delete modal — global */
.qh-modal-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(26,23,16,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;animation:qhFadeIn 220ms cubic-bezier(0.16,1,0.3,1);}
.qh-modal{background:var(--bg-1);border:1px solid rgba(26,23,16,.12);border-radius:20px;padding:32px;max-width:400px;width:100%;text-align:center;box-shadow:0 12px 40px rgba(0,0,0,.1);font-family:var(--fb);}
.qh-modal-icon{font-size:40px;margin-bottom:16px;}
.qh-modal-title{font-family:var(--fd);font-size:20px;font-weight:500;color:var(--t1);margin-bottom:8px;}
.qh-modal-text{font-family:var(--fb);font-size:12px;color:var(--t3);line-height:1.5;margin-bottom:24px;}
.qh-modal-text strong{color:var(--t1);font-weight:600;}
.qh-modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.qh-modal-btn{font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:10px 24px;border-radius:999px;border:1px solid rgba(26,23,16,.12);cursor:pointer;transition:all 220ms cubic-bezier(0.16,1,0.3,1);}
.qh-modal-btn.cancel{background:var(--bg-2);color:var(--t3);}
.qh-modal-btn.cancel:hover{border-color:rgba(168,116,18,.25);color:var(--t1);}
.qh-modal-btn.confirm-delete{background:#B0443F;color:var(--bg-1);border-color:#B0443F;}
.qh-modal-btn.confirm-delete:hover{background:#C0534F;box-shadow:0 0 16px rgba(176,68,63,.4);}

/* ── Archive card action buttons (Restore / Delete inside archive list) ── */
#s-history .qh-archive-card .qh-card-actions{display:flex;gap:6px;flex-shrink:0;}
#s-history .qh-archive-card .qh-btn{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:6px;}

/* ── RESPONSIVE: 800px ─── */
@media(max-width:800px){
  #s-history .qh-shell{padding:18px 16px;}
  #s-history .qh-canvas{padding:24px;}
  #s-history .qh-stats{grid-template-columns:repeat(3,1fr);}
  .qh-detail-info{grid-template-columns:repeat(2,1fr);}
  #s-history .qh-card-side{min-width:160px;padding:14px 16px;}
  #s-history .qh-card-body{padding:14px 16px;gap:16px;}
  #s-history .qh-search{width:200px;}
  #s-history .qh-state-node{width:100px;padding:12px 10px;}
  .qh-log-ts{min-width:90px;font-size:10px;}
  .qh-log-author{min-width:120px;}
  #s-history .qh-archive-section{grid-template-columns:1fr 180px;gap:16px;}
}

/* ── RESPONSIVE: 600px ─── */
@media(max-width:600px){
  #s-history .qh-shell{padding:14px 12px;}
  #s-history .qh-canvas{padding:16px;border-radius:14px;margin-bottom:20px;}
  #s-history .qh-canvas-label{margin-bottom:16px;flex-wrap:wrap;gap:8px;}
  #s-history .qh-shell-title{font-size:22px;}
  #s-history .qh-stats{grid-template-columns:repeat(2,1fr);border-radius:10px;}
  #s-history .qh-stat{padding:12px 10px;}
  #s-history .qh-stat-val{font-size:20px;}
  #s-history .qh-stat-label{font-size:7px;letter-spacing:.08em;}
  #s-history .qh-filters{flex-direction:column;align-items:stretch;gap:10px;}
  #s-history .qh-search-wrap{width:100%;}
  #s-history .qh-search{width:100%;}
  #s-history .qh-filter-pills{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
  #s-history .qh-owner-toggle{align-self:flex-start;}
  #s-history .qh-sort,#s-history .qh-date-range{width:100%;}
  #s-history .qh-card{flex-direction:column;}
  #s-history .qh-card-accent{width:100%;height:4px;border-radius:14px 14px 0 0;}
  #s-history .qh-card-body{padding:14px 16px;gap:12px;flex-direction:column;align-items:flex-start;}
  #s-history .qh-card-client{font-size:16px;flex-wrap:wrap;}
  #s-history .qh-card-values{gap:10px;flex-wrap:wrap;}
  #s-history .qh-card-price{font-size:18px;}
  #s-history .qh-card-side{flex-direction:row;align-items:center;justify-content:space-between;min-width:0;width:100%;padding:10px 16px;border-left:none;border-top:1px solid rgba(26,23,16,.03);flex-wrap:wrap;gap:8px;}
  #s-history .qh-card-timestamps{text-align:left;font-size:9px;}
  #s-history .qh-card-actions{margin-top:0;}

  .qh-overlay{padding:0;}
  .qh-overlay-sheet{border-radius:0;min-height:100vh;}
  .qh-detail-header{padding:16px;flex-direction:column;align-items:flex-start;gap:12px;}
  .qh-detail-header-left{flex-wrap:wrap;}
  .qh-detail-name{font-size:20px;}
  .qh-detail-info{grid-template-columns:1fr;}
  .qh-detail-col{padding:14px 16px;}
  .qh-detail-val.gold{font-size:18px;}
  .qh-itinerary{padding:16px;}
  .qh-itinerary-grid{grid-template-columns:1fr 1fr;gap:6px;}
  .qh-itin-day{padding:8px 10px;}
  .qh-detail-actions{padding:12px 16px;flex-wrap:wrap;}
  .qh-detail-actions .qh-btn{flex:1;text-align:center;}

  .qh-versions-wrap,.qh-log-wrap{padding:16px;}
  .qh-version{gap:12px;padding:14px 0;}
  .qh-version-dot{width:26px;height:26px;font-size:9px;}
  .qh-version:not(:last-child)::after{left:12px;top:44px;}
  .qh-version-top{gap:8px;}
  .qh-version-time{font-size:10px;}
  .qh-version-meta{gap:8px;}
  .qh-version-price{font-size:16px;}
  .qh-version-restore{margin-left:0;margin-top:6px;}

  .qh-log-entry{flex-direction:column;gap:6px;padding:10px 14px;}
  .qh-log-ts{min-width:0;font-size:10px;}
  .qh-log-author{min-width:0;}
  .qh-log-filters{flex-wrap:wrap;}

  #s-history .qh-states{gap:8px;}
  #s-history .qh-state-node{width:auto;min-width:80px;flex:1;padding:12px 8px;}
  #s-history .qh-state-dot{width:22px;height:22px;margin-bottom:6px;}
  #s-history .qh-state-name{font-size:8px;letter-spacing:.06em;}
  #s-history .qh-state-count{font-size:14px;}
  #s-history .qh-transitions{grid-template-columns:1fr;}
  #s-history .qh-trans-card{padding:12px 14px;}

  #s-history .qh-archive-section{grid-template-columns:1fr;gap:16px;}
  #s-history .qh-archive-stats{padding:16px;}

  .qh-modal{padding:24px 20px;max-width:calc(100vw - 32px);}
  .qh-modal-icon{font-size:32px;margin-bottom:12px;}
  .qh-modal-title{font-size:18px;}
  .qh-modal-actions{flex-direction:column;gap:8px;}
  .qh-modal-btn{width:100%;text-align:center;padding:10px 20px;}

  #s-history .qh-toggle-wrap{margin-bottom:12px;}
}

/* ── RESPONSIVE: 375px ─── */
@media(max-width:375px){
  #s-history .qh-shell{padding:12px 10px;}
  #s-history .qh-canvas{padding:12px;}
  #s-history .qh-shell-title{font-size:20px;}
  #s-history .qh-stats{grid-template-columns:repeat(2,1fr);}
  #s-history .qh-stat-val{font-size:18px;}
  .qh-itinerary-grid{grid-template-columns:1fr;}
  #s-history .qh-card-client{font-size:15px;}
  #s-history .qh-card-price{font-size:16px;}
  #s-history .qh-state-node{min-width:70px;padding:10px 6px;}
}
/* === END QUOTE HISTORY LWS === */

/* ═══════════════════════════════════════════════════════════
   === PUBLISHED LINKS LWS v6.1 (WS1 design migration) ===
   All .pub-* classes scoped under #s-links,
   except overlay/modal (.pub-overlay* and .pub-modal*) which are global.
   Inline hex only — no var(--) tokens.
   Tokens mapped from v6.1 light theme:
     bg-0 var(--bg-0), bg-1 var(--bg-1), bg-2 var(--bg-2), bg-3 var(--bg-3), bg-4 var(--bg-4)
     t1 var(--t1), t2 var(--t2), t3 var(--t3), t4 var(--t4), t5 var(--t5)
     accent var(--accent), accent-ghost var(--accent-ghost), accent-ring var(--accent-ring)
     green var(--green) bg rgba(40,120,78,.09), red var(--red) bg rgba(168,56,56,.09), teal #2A7A74
     b0 var(--b0), b1 var(--b1), b2 var(--b2), b3 var(--b3)
═══════════════════════════════════════════════════════════ */

/* Dashboard shell */
#s-links .pub-dashboard{background:var(--bg-1);min-height:600px;border:1px solid var(--b1);border-radius:20px;overflow:hidden;}

/* Summary bar */
#s-links .pub-summary{display:flex;align-items:center;gap:24px;padding:20px 24px;border-bottom:1px solid var(--b1);flex-wrap:wrap;}
#s-links .pub-stat{display:flex;align-items:center;gap:8px;}
#s-links .pub-stat-val{font-family:var(--fd);font-size:28px;font-weight:400;color:var(--t1);letter-spacing:-.02em;}
#s-links .pub-stat-val.gold{color:var(--accent);}
#s-links .pub-stat-label{font-family:var(--fu);font-size:8px;font-weight:800;color:var(--t4);letter-spacing:.10em;text-transform:uppercase;}
#s-links .pub-stat-divider{width:1px;height:32px;background:var(--b1);}

/* Toolbar */
#s-links .pub-toolbar{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--b1);flex-wrap:wrap;}
#s-links .pub-search-wrap{position:relative;flex:1;min-width:200px;max-width:320px;}
#s-links .pub-search-wrap::before{content:'\1F50D';position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.5;pointer-events:none;}
#s-links .pub-search{width:100%;padding:8px 14px 8px 34px;border-radius:999px;border:1px solid var(--b2);background:var(--bg-0);font-family:var(--fb);font-size:13px;color:var(--t1);outline:none;transition:border-color 120ms cubic-bezier(0.16,1,0.3,1);}
#s-links .pub-search:focus{border-color:var(--accent-ring);}
#s-links .pub-filter-select{padding:7px 12px;border-radius:999px;border:1px solid var(--b1);background:var(--bg-2);font-family:var(--fb);font-size:12px;color:var(--t2);outline:none;cursor:pointer;}
#s-links .pub-status-chips{display:flex;gap:4px;flex-wrap:wrap;}
#s-links .pub-status-chip{padding:6px 12px;border-radius:999px;border:1px solid var(--b1);background:transparent;font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t3);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:all 120ms;}
#s-links .pub-status-chip:hover{background:var(--bg-2);color:var(--t2);}
#s-links .pub-status-chip.active{background:var(--accent-ghost);color:var(--accent);border-color:var(--accent-ring);}
#s-links .pub-sort-label{font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t4);letter-spacing:.08em;text-transform:uppercase;margin-left:auto;}

/* Grid */
#s-links .pub-grid{padding:20px 24px;display:flex;flex-direction:column;gap:14px;}

/* Cards */
#s-links .pub-card{display:grid;grid-template-columns:240px 1fr auto;gap:0;background:var(--bg-0);border:1px solid var(--b1);border-radius:14px;overflow:hidden;transition:border-color 220ms cubic-bezier(0.16,1,0.3,1),box-shadow 220ms,transform 220ms;position:relative;}
#s-links .pub-card:hover{border-color:var(--b2);box-shadow:0 4px 20px rgba(20,14,8,.10),0 2px 8px rgba(20,14,8,.07);transform:translateY(-2px);}

/* OG thumb (dark gradients kept verbatim — lives in a dark surface) */
#s-links .pub-og-thumb{width:240px;min-height:126px;position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:flex-start;padding:12px;}
#s-links .pub-og-thumb.og-1{background:linear-gradient(135deg,#1A3A2E 0%,#0A1A14 40%,#0D2A1E 100%);}
#s-links .pub-og-thumb.og-2{background:linear-gradient(135deg,#2A2A1A 0%,#1A180A 40%,#2A2214 100%);}
#s-links .pub-og-thumb.og-3{background:linear-gradient(135deg,#2A1A1A 0%,#1A0A0A 40%,#2A1420 100%);}
#s-links .pub-og-thumb.og-4{background:linear-gradient(135deg,#1A2A3A 0%,#0A141A 40%,#142030 100%);}
#s-links .pub-og-thumb.og-5{background:linear-gradient(135deg,#2A1A2A 0%,#1A0A1A 40%,#201430 100%);}
#s-links .pub-og-thumb.og-6{background:linear-gradient(135deg,#1A2A2A 0%,#0A1A18 40%,#142A24 100%);}
#s-links .pub-og-overlay{font-family:var(--fd);font-size:14px;font-weight:400;color:rgba(255,255,255,.85);text-shadow:0 1px 4px rgba(0,0,0,.6);line-height:1.3;}
#s-links .pub-og-brand{position:absolute;top:8px;right:8px;font-family:var(--fu);font-size:7px;font-weight:800;letter-spacing:.10em;text-transform:uppercase;color:rgba(255,255,255,.4);}
#s-links .pub-og-nights{font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:2px;}

/* Card content */
#s-links .pub-content{padding:16px 20px;display:flex;flex-direction:column;gap:6px;min-width:0;}
#s-links .pub-client-name{font-family:var(--fd);font-size:18px;font-weight:400;color:var(--t1);letter-spacing:-.01em;}
#s-links .pub-trip-ref{font-family:var(--fb);font-size:12px;color:var(--t3);}
#s-links .pub-meta-line{font-family:var(--fb);font-size:12px;color:var(--t3);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
#s-links .pub-meta-dot{width:3px;height:3px;border-radius:50%;background:var(--t4);flex-shrink:0;}
#s-links .pub-url{font-family:'SF Mono','Fira Code','Consolas',monospace;font-size:11px;color:var(--t4);background:var(--bg-2);padding:4px 10px;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px;border:1px solid var(--b0);}
#s-links .pub-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px;}
#s-links .pub-version-pill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-family:var(--fu);font-size:9px;font-weight:800;letter-spacing:.06em;background:var(--accent-ghost);color:var(--accent);border:1px solid var(--accent-ring);}

/* Status dots — global-scope friendly: also styled under #s-links and under overlay */
#s-links .pub-status-dot,
.pub-overlay-modal .pub-status-dot{display:inline-flex;align-items:center;gap:5px;font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;}
#s-links .pub-status-dot::before,
.pub-overlay-modal .pub-status-dot::before{content:'';width:7px;height:7px;border-radius:50%;flex-shrink:0;}
#s-links .pub-status-dot.active,
.pub-overlay-modal .pub-status-dot.active{color:var(--green);}
#s-links .pub-status-dot.active::before,
.pub-overlay-modal .pub-status-dot.active::before{background:var(--green);box-shadow:0 0 6px rgba(40,120,78,.4);}
#s-links .pub-status-dot.expired,
.pub-overlay-modal .pub-status-dot.expired{color:var(--red);}
#s-links .pub-status-dot.expired::before,
.pub-overlay-modal .pub-status-dot.expired::before{background:var(--red);box-shadow:0 0 6px rgba(168,56,56,.4);}
#s-links .pub-status-dot.revoked,
.pub-overlay-modal .pub-status-dot.revoked{color:var(--t4);}
#s-links .pub-status-dot.revoked::before,
.pub-overlay-modal .pub-status-dot.revoked::before{background:var(--t4);}

#s-links .pub-date-line{font-family:var(--fb);font-size:11px;color:var(--t4);}
#s-links .pub-tokens-used{font-family:var(--fb);font-size:11px;color:var(--teal);display:flex;align-items:center;gap:5px;}
#s-links .pub-tokens-used::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--teal);flex-shrink:0;}

/* Card actions */
#s-links .pub-actions{display:flex;flex-direction:column;gap:6px;padding:16px;border-left:1px solid var(--b0);align-items:stretch;justify-content:center;min-width:140px;}
#s-links .pub-action-btn{padding:7px 14px;border-radius:6px;border:1px solid var(--b1);background:var(--bg-2);font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t2);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all 120ms;display:flex;align-items:center;gap:6px;justify-content:center;}
#s-links .pub-action-btn:hover{background:var(--bg-3);border-color:var(--b2);color:var(--t1);}
#s-links .pub-action-btn.whatsapp{color:var(--green);border-color:rgba(40,120,78,.2);}
#s-links .pub-action-btn.whatsapp:hover{background:rgba(40,120,78,.09);border-color:rgba(40,120,78,.35);}
#s-links .pub-action-btn.danger{color:var(--red);border-color:rgba(168,56,56,.2);}
#s-links .pub-action-btn.danger:hover{background:rgba(168,56,56,.09);border-color:rgba(168,56,56,.35);}

/* ─────────── Stepper (Publish Flow) ─────────── */
.pub-overlay-modal .pub-stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0;min-height:320px;}
.pub-overlay-modal .pub-step{padding:28px 24px;border-right:1px solid var(--b0);display:flex;flex-direction:column;gap:16px;position:relative;}
.pub-overlay-modal .pub-step:last-child{border-right:none;}
.pub-overlay-modal .pub-step-header{display:flex;align-items:center;gap:10px;}
.pub-overlay-modal .pub-step-num{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--fu);font-size:11px;font-weight:800;background:var(--bg-3);color:var(--t3);border:1px solid var(--b1);transition:all 120ms;}
.pub-overlay-modal .pub-step.completed .pub-step-num{background:rgba(40,120,78,.09);color:var(--green);border-color:rgba(40,120,78,.3);}
.pub-overlay-modal .pub-step.current .pub-step-num{background:var(--accent-ghost);color:var(--accent);border-color:var(--accent-ring);}
.pub-overlay-modal .pub-step-title{font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t2);}
.pub-overlay-modal .pub-step-connector{position:absolute;top:44px;right:-12px;width:24px;height:2px;background:var(--b1);z-index:1;}
.pub-overlay-modal .pub-step.completed .pub-step-connector{background:var(--green);}
.pub-overlay-modal .pub-step:last-child .pub-step-connector{display:none;}

/* Checklist */
.pub-overlay-modal .pub-checklist{display:flex;flex-direction:column;gap:8px;}
.pub-overlay-modal .pub-check-item{display:flex;align-items:center;gap:8px;font-family:var(--fb);font-size:12px;color:var(--t2);}
.pub-overlay-modal .pub-check-icon{width:18px;height:18px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:10px;}
.pub-overlay-modal .pub-check-icon.done{background:rgba(40,120,78,.09);color:var(--green);border:1px solid rgba(40,120,78,.3);}
.pub-overlay-modal .pub-check-icon.pending{background:var(--bg-3);color:var(--t4);border:1px solid var(--b1);}

/* Token gen display */
.pub-overlay-modal .pub-token-gen{background:var(--bg-2);border:1px solid var(--b1);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px;}
.pub-overlay-modal .pub-token-slug{font-family:'SF Mono','Fira Code','Consolas',monospace;font-size:12px;color:var(--accent);letter-spacing:.04em;word-break:break-all;}
.pub-overlay-modal .pub-token-parts{font-family:var(--fb);font-size:11px;color:var(--t4);display:flex;flex-direction:column;gap:2px;}
.pub-overlay-modal .pub-token-parts span{color:var(--t3);}

/* Snapshot phases */
.pub-overlay-modal .pub-snapshot-phases{display:flex;flex-direction:column;gap:6px;}
.pub-overlay-modal .pub-phase{display:flex;align-items:center;gap:8px;font-family:var(--fb);font-size:12px;color:var(--t2);}
.pub-overlay-modal .pub-phase-bar{flex:1;height:4px;border-radius:2px;background:var(--bg-3);overflow:hidden;}
.pub-overlay-modal .pub-phase-fill{height:100%;border-radius:2px;background:var(--green);transition:width 380ms cubic-bezier(0.16,1,0.3,1);}
.pub-overlay-modal .pub-phase-label{font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t4);letter-spacing:.06em;text-transform:uppercase;min-width:64px;}

/* Success */
.pub-overlay-modal .pub-success{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;}
.pub-overlay-modal .pub-success-icon{font-size:36px;}
.pub-overlay-modal .pub-success-msg{font-family:var(--fd);font-size:18px;font-weight:400;color:var(--green);}
.pub-overlay-modal .pub-success-url{font-family:'SF Mono','Fira Code','Consolas',monospace;font-size:11px;color:var(--accent);background:var(--bg-2);padding:8px 14px;border-radius:6px;border:1px solid var(--accent-ring);word-break:break-all;}
.pub-overlay-modal .pub-share-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.pub-overlay-modal .pub-share-btn{padding:7px 16px;border-radius:999px;border:1px solid var(--b1);background:var(--bg-2);font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t2);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all 120ms;}
.pub-overlay-modal .pub-share-btn:hover{background:var(--bg-3);color:var(--t1);}
.pub-overlay-modal .pub-share-btn.wa{color:var(--green);border-color:rgba(40,120,78,.2);}
.pub-overlay-modal .pub-share-btn.copy{color:var(--accent);border-color:var(--accent-ring);}

/* ─────────── OG Card tab ─────────── */
.pub-overlay-modal .pub-og-canvas{display:flex;flex-direction:column;gap:32px;padding:32px;}
.pub-overlay-modal .pub-og-large{width:100%;max-width:600px;aspect-ratio:1200/630;border-radius:14px;overflow:hidden;position:relative;background:linear-gradient(135deg,#1A3A2E 0%,#0A1A14 30%,#0D2A1E 60%,#142820 100%);box-shadow:0 16px 48px rgba(20,14,8,.14),0 4px 16px var(--b1);margin:0 auto;display:flex;flex-direction:column;justify-content:flex-end;padding:32px;}
.pub-overlay-modal .pub-og-large-hero{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.5) 60%,rgba(0,0,0,.8) 100%);z-index:1;}
.pub-overlay-modal .pub-og-large-img{position:absolute;top:0;right:0;width:50%;height:100%;background:linear-gradient(135deg,rgba(40,120,78,.15) 0%,rgba(74,122,152,.1) 100%);opacity:.4;}
.pub-overlay-modal .pub-og-large-content{position:relative;z-index:2;display:flex;flex-direction:column;gap:8px;}
.pub-overlay-modal .pub-og-large-name{font-family:var(--fd);font-size:28px;font-weight:400;color:var(--bg-1);letter-spacing:-.01em;text-shadow:0 2px 8px rgba(0,0,0,.5);}
.pub-overlay-modal .pub-og-large-nights{font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.pub-overlay-modal .pub-og-large-brand{font-family:var(--fu);font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(168,116,18,.85);margin-top:8px;}

.pub-overlay-modal .pub-social-frames{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:700px;margin:0 auto;width:100%;}
.pub-overlay-modal .pub-social-frame{background:var(--bg-2);border:1px solid var(--b1);border-radius:14px;overflow:hidden;}
.pub-overlay-modal .pub-social-frame-header{padding:10px 14px;border-bottom:1px solid var(--b0);font-family:var(--fu);font-size:8px;font-weight:800;color:var(--t4);letter-spacing:.10em;text-transform:uppercase;}
.pub-overlay-modal .pub-wa-bubble{background:var(--bg-3);margin:12px;border-radius:0 10px 10px 10px;overflow:hidden;max-width:280px;}
.pub-overlay-modal .pub-wa-bubble-img{width:100%;height:100px;background:linear-gradient(135deg,#1A3A2E 0%,#0D2A1E 100%);display:flex;align-items:flex-end;padding:8px;}
.pub-overlay-modal .pub-wa-bubble-img-text{font-family:var(--fd);font-size:11px;color:rgba(255,255,255,.8);}
.pub-overlay-modal .pub-wa-bubble-body{padding:8px 10px;}
.pub-overlay-modal .pub-wa-bubble-title{font-family:var(--fb);font-size:11px;font-weight:600;color:var(--t1);margin-bottom:2px;}
.pub-overlay-modal .pub-wa-bubble-desc{font-family:var(--fb);font-size:10px;color:var(--t3);line-height:1.4;}
.pub-overlay-modal .pub-wa-bubble-link{font-family:var(--fb);font-size:9px;color:#2A7A74;margin-top:4px;}

.pub-overlay-modal .pub-email-preview{margin:12px;display:flex;flex-direction:column;gap:8px;}
.pub-overlay-modal .pub-email-subject{font-family:var(--fb);font-size:12px;font-weight:600;color:var(--t1);}
.pub-overlay-modal .pub-email-body{font-family:var(--fb);font-size:11px;color:var(--t3);line-height:1.5;}
.pub-overlay-modal .pub-email-link-card{border:1px solid var(--b1);border-radius:10px;overflow:hidden;display:flex;}
.pub-overlay-modal .pub-email-link-img{width:80px;min-height:60px;flex-shrink:0;background:linear-gradient(135deg,#1A3A2E 0%,#0D2A1E 100%);}
.pub-overlay-modal .pub-email-link-text{padding:8px 10px;display:flex;flex-direction:column;gap:2px;}
.pub-overlay-modal .pub-email-link-title{font-family:var(--fb);font-size:11px;font-weight:600;color:var(--t1);}
.pub-overlay-modal .pub-email-link-desc{font-family:var(--fb);font-size:9px;color:var(--t3);}
.pub-overlay-modal .pub-email-link-url{font-family:var(--fb);font-size:8px;color:var(--t4);}

.pub-overlay-modal .pub-og-fields{max-width:600px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:8px;}
.pub-overlay-modal .pub-og-field{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 14px;background:var(--bg-2);border-radius:6px;border:1px solid var(--b0);align-items:start;}
.pub-overlay-modal .pub-og-field-key{font-family:'SF Mono','Fira Code','Consolas',monospace;font-size:11px;color:var(--accent);}
.pub-overlay-modal .pub-og-field-val{font-family:var(--fb);font-size:12px;color:var(--t2);line-height:1.4;word-break:break-all;}

/* ─────────── Versions timeline ─────────── */
.pub-overlay-modal .pub-timeline{padding:32px 40px 32px 60px;position:relative;}
.pub-overlay-modal .pub-timeline::before{content:'';position:absolute;left:40px;top:32px;bottom:32px;width:2px;background:var(--b1);}
.pub-overlay-modal .pub-timeline-item{position:relative;padding:0 0 32px 32px;}
.pub-overlay-modal .pub-timeline-item:last-child{padding-bottom:0;}
.pub-overlay-modal .pub-timeline-dot{position:absolute;left:-10px;top:4px;width:20px;height:20px;border-radius:50%;background:var(--bg-1);border:2px solid var(--b2);display:flex;align-items:center;justify-content:center;}
.pub-overlay-modal .pub-timeline-dot.current{border-color:var(--accent);background:var(--accent-ghost);}
.pub-overlay-modal .pub-timeline-dot.current::after{content:'';width:8px;height:8px;border-radius:50%;background:var(--accent);}
.pub-overlay-modal .pub-timeline-dot.past{border-color:var(--t4);}
.pub-overlay-modal .pub-timeline-dot.past::after{content:'';width:6px;height:6px;border-radius:50%;background:var(--t4);}
.pub-overlay-modal .pub-timeline-card{background:var(--bg-2);border:1px solid var(--b1);border-radius:14px;padding:16px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.pub-overlay-modal .pub-timeline-card.current{border-color:var(--accent-ring);background:var(--accent-ghost);}
.pub-overlay-modal .pub-timeline-info{display:flex;flex-direction:column;gap:4px;min-width:0;}
.pub-overlay-modal .pub-timeline-version{font-family:var(--fu);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);}
.pub-overlay-modal .pub-timeline-version.past-v{color:var(--t3);}
.pub-overlay-modal .pub-timeline-date{font-family:var(--fb);font-size:12px;color:var(--t3);}
.pub-overlay-modal .pub-timeline-change{font-family:var(--fb);font-size:13px;color:var(--t1);line-height:1.5;}
.pub-overlay-modal .pub-timeline-size{font-family:var(--fb);font-size:11px;color:var(--t4);margin-top:2px;}
.pub-overlay-modal .pub-timeline-actions{display:flex;gap:8px;align-items:center;flex-shrink:0;}
.pub-overlay-modal .pub-timeline-btn{padding:6px 14px;border-radius:999px;border:1px solid var(--b1);background:var(--bg-3);font-family:var(--fu);font-size:9px;font-weight:700;color:var(--t2);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all 120ms;}
.pub-overlay-modal .pub-timeline-btn:hover{background:var(--bg-4);color:var(--t1);}
.pub-overlay-modal .pub-compare{position:relative;padding:0 0 0 32px;margin:-16px 0 16px;}
.pub-overlay-modal .pub-compare-line{display:flex;align-items:center;gap:8px;font-family:var(--fu);font-size:8px;font-weight:700;color:var(--t4);letter-spacing:.08em;text-transform:uppercase;}
.pub-overlay-modal .pub-compare-line::before{content:'';width:16px;height:1px;background:var(--b2);}

/* tag-pill helper used inside timeline */
.pub-overlay-modal .tag-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:999px;font-family:var(--fu);font-size:9px;font-weight:800;letter-spacing:.10em;text-transform:uppercase;background:var(--accent-ghost);color:var(--accent);border:1px solid var(--accent-ring);}

/* ─────────── Share grid ─────────── */
.pub-overlay-modal .pub-share-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:24px;}
.pub-overlay-modal .pub-share-card{background:var(--bg-2);border:1px solid var(--b1);border-radius:14px;overflow:hidden;}
.pub-overlay-modal .pub-share-card-header{padding:14px 18px;border-bottom:1px solid var(--b0);display:flex;align-items:center;gap:10px;}
.pub-overlay-modal .pub-share-card-icon{font-size:20px;}
.pub-overlay-modal .pub-share-card-title{font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t1);}
.pub-overlay-modal .pub-share-card-body{padding:18px;}

.pub-overlay-modal .pub-wa-compose{display:flex;flex-direction:column;gap:12px;}
.pub-overlay-modal .pub-wa-input-row{display:flex;gap:8px;align-items:center;}
.pub-overlay-modal .pub-wa-input{flex:1;padding:8px 12px;border-radius:6px;border:1px solid var(--b2);background:var(--bg-0);font-family:var(--fb);font-size:13px;color:var(--t1);outline:none;}
.pub-overlay-modal .pub-wa-preview{background:var(--bg-3);border-radius:10px;padding:12px;font-family:var(--fb);font-size:12px;color:var(--t2);line-height:1.6;border-left:3px solid var(--green);}
.pub-overlay-modal .pub-wa-send-btn{padding:9px 20px;border-radius:999px;border:none;background:var(--green);color:#fff;font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform 120ms;align-self:flex-start;}
.pub-overlay-modal .pub-wa-send-btn:active{transform:scale(.97);}

.pub-overlay-modal .pub-email-compose{display:flex;flex-direction:column;gap:12px;}
.pub-overlay-modal .pub-pdf-preview{background:var(--bg-3);border:1px solid var(--b1);border-radius:10px;padding:16px;text-align:center;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;}
.pub-overlay-modal .pub-pdf-icon{font-size:32px;opacity:.6;}
.pub-overlay-modal .pub-pdf-name{font-family:var(--fb);font-size:12px;color:var(--t2);word-break:break-all;}
.pub-overlay-modal .pub-pdf-size{font-family:var(--fb);font-size:11px;color:var(--t4);}
.pub-overlay-modal .pub-download-btn{padding:9px 20px;border-radius:999px;background:linear-gradient(160deg,#C49820 0%,#9A6C08 60%,#B88010 100%);color:var(--t1);border:none;font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;box-shadow:0 1px 3px rgba(20,14,8,.07),0 1px 2px var(--b0),inset 0 1px 0 rgba(255,255,255,.60);position:relative;transition:transform 120ms;align-self:center;}
.pub-overlay-modal .pub-download-btn:active{transform:scale(.97);}
.pub-overlay-modal .pub-download-btn::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 50%);pointer-events:none;}

.pub-overlay-modal .pub-direct-link{display:flex;flex-direction:column;gap:14px;}
.pub-overlay-modal .pub-url-row{display:flex;gap:8px;align-items:center;}
.pub-overlay-modal .pub-url-display{flex:1;font-family:'SF Mono','Fira Code','Consolas',monospace;font-size:12px;color:var(--accent);background:var(--bg-0);padding:10px 14px;border-radius:6px;border:1px solid var(--accent-ring);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pub-overlay-modal .pub-copy-btn{padding:9px 16px;border-radius:6px;border:1px solid var(--accent-ring);background:var(--accent-ghost);font-family:var(--fu);font-size:9px;font-weight:700;color:var(--accent);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all 120ms;flex-shrink:0;}
.pub-overlay-modal .pub-copy-btn:hover{background:var(--accent);color:var(--t1);}
.pub-overlay-modal .pub-qr-placeholder{width:120px;height:120px;border-radius:10px;background:var(--bg-3);border:1px solid var(--b1);display:flex;align-items:center;justify-content:center;margin:0 auto;overflow:hidden;}

.pub-overlay-modal .pub-lock-controls{display:flex;flex-direction:column;gap:14px;}
.pub-overlay-modal .pub-lock-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.pub-overlay-modal .pub-lock-label{font-family:var(--fb);font-size:13px;color:var(--t1);}
.pub-overlay-modal .pub-lock-desc{font-family:var(--fb);font-size:11px;color:var(--t4);line-height:1.5;}
.pub-overlay-modal .pub-toggle-track{width:42px;height:22px;border-radius:11px;background:var(--green);position:relative;cursor:pointer;flex-shrink:0;transition:background 120ms;}
.pub-overlay-modal .pub-toggle-knob{position:absolute;top:2px;left:22px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.3);transition:left 120ms;}
.pub-overlay-modal .pub-lock-status{display:flex;align-items:center;gap:8px;padding:10px 14px;background:rgba(40,120,78,.09);border-radius:6px;border:1px solid rgba(40,120,78,.2);}
.pub-overlay-modal .pub-lock-status-icon{font-size:16px;}
.pub-overlay-modal .pub-lock-status-text{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green);}

/* ─────────── Tokens tab ─────────── */
.pub-overlay-modal .pub-tokens-canvas{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:24px;}
.pub-overlay-modal .pub-token-alloc{background:var(--bg-2);border:1px solid var(--b1);border-radius:14px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:16px;}
.pub-overlay-modal .pub-token-ring{width:140px;height:140px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;}
.pub-overlay-modal .pub-token-ring svg{position:absolute;inset:0;transform:rotate(-90deg);}
.pub-overlay-modal .pub-token-ring circle{fill:none;stroke-width:6;stroke-linecap:round;}
.pub-overlay-modal .pub-token-ring .ring-bg{stroke:var(--b1);}
.pub-overlay-modal .pub-token-ring .ring-fill{stroke:var(--accent);transition:stroke-dashoffset 380ms cubic-bezier(0.16,1,0.3,1);}
.pub-overlay-modal .pub-token-center{text-align:center;}
.pub-overlay-modal .pub-token-big{font-family:var(--fd);font-size:36px;font-weight:400;color:var(--accent);line-height:1;}
.pub-overlay-modal .pub-token-of{font-family:var(--fu);font-size:9px;font-weight:800;color:var(--t4);letter-spacing:.10em;text-transform:uppercase;margin-top:4px;}
.pub-overlay-modal .pub-token-alloc-label{font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t2);}
.pub-overlay-modal .pub-token-alloc-desc{font-family:var(--fb);font-size:12px;color:var(--t4);line-height:1.5;text-align:center;}
.pub-overlay-modal .pub-token-log{display:flex;flex-direction:column;gap:12px;}
.pub-overlay-modal .pub-token-log-title{font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t2);margin-bottom:4px;}
.pub-overlay-modal .pub-token-entry{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--bg-2);border:1px solid var(--b1);border-radius:10px;transition:border-color 120ms;}
.pub-overlay-modal .pub-token-entry:hover{border-color:var(--b2);}
.pub-overlay-modal .pub-token-entry-num{width:28px;height:28px;border-radius:50%;flex-shrink:0;background:var(--accent-ghost);border:1px solid var(--accent-ring);display:flex;align-items:center;justify-content:center;font-family:var(--fu);font-size:10px;font-weight:800;color:var(--accent);}
.pub-overlay-modal .pub-token-entry-info{flex:1;min-width:0;}
.pub-overlay-modal .pub-token-entry-desc{font-family:var(--fb);font-size:13px;color:var(--t1);}
.pub-overlay-modal .pub-token-entry-meta{font-family:var(--fb);font-size:11px;color:var(--t4);margin-top:2px;}
.pub-overlay-modal .pub-token-entry-adj{font-family:var(--fd);font-size:18px;font-weight:400;flex-shrink:0;letter-spacing:-.01em;}
.pub-overlay-modal .pub-token-entry-adj.positive{color:var(--green);}
.pub-overlay-modal .pub-token-entry-adj.negative{color:var(--red);}
.pub-overlay-modal .pub-token-net{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--accent-ghost);border:1px solid var(--accent-ring);border-radius:10px;}
.pub-overlay-modal .pub-token-net-label{font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t2);}
.pub-overlay-modal .pub-token-net-val{font-family:var(--fd);font-size:22px;font-weight:400;color:var(--accent);}
.pub-overlay-modal .pub-token-reset{padding:8px 18px;border-radius:999px;border:1px solid var(--red);background:rgba(168,56,56,.09);font-family:var(--fu);font-size:9px;font-weight:700;color:var(--red);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all 120ms;align-self:flex-start;}
.pub-overlay-modal .pub-token-reset:hover:not([disabled]){background:var(--red);color:#fff;}

/* ─────────── OVERLAY SHELL (global) ─────────── */
.pub-overlay-backdrop{position:fixed;inset:0;z-index:9999;background:rgba(26,23,16,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;overflow-y:auto;font-family:var(--fb);color:var(--t1);animation:pubFadeIn 220ms cubic-bezier(0.16,1,0.3,1);}
@keyframes pubFadeIn{from{opacity:0}to{opacity:1}}
.pub-overlay-modal{background:var(--bg-1);border:1px solid var(--b1);border-radius:20px;width:100%;max-width:1100px;max-height:90vh;box-shadow:0 16px 48px rgba(20,14,8,.14),0 4px 16px var(--b1);position:relative;overflow:hidden;display:flex;flex-direction:column;}
.pub-overlay-close{position:absolute;top:14px;right:14px;z-index:3;width:32px;height:32px;border-radius:50%;border:1px solid var(--b2);background:var(--bg-1);color:var(--t3);cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all 120ms cubic-bezier(0.16,1,0.3,1);}
.pub-overlay-close:hover{background:var(--accent-ghost);border-color:var(--accent);color:var(--accent);}
.pub-overlay-header{padding:18px 56px 14px 22px;border-bottom:1px solid var(--b0);background:var(--bg-1);}
.pub-overlay-header-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.pub-overlay-name{font-family:var(--fd);font-size:24px;font-weight:400;color:var(--t1);letter-spacing:-.01em;}
.pub-overlay-ref{font-family:var(--fb);font-size:12px;color:var(--t3);background:var(--bg-2);padding:3px 10px;border-radius:999px;border:1px solid var(--b0);}
.pub-overlay-tabs{display:flex;gap:0;background:var(--bg-0);border-bottom:1px solid var(--b1);position:sticky;top:0;z-index:2;}
.pub-overlay-tab{font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:14px 22px;background:transparent;border:none;color:var(--t3);cursor:pointer;border-bottom:2px solid transparent;transition:all 220ms;}
.pub-overlay-tab:hover{color:var(--t1);}
.pub-overlay-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--bg-1);}
.pub-overlay-body{overflow-y:auto;flex:1;background:var(--bg-1);}

/* ─────────── DELETE MODAL (global) ─────────── */
.pub-modal-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(26,23,16,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;font-family:var(--fb);animation:pubFadeIn 180ms cubic-bezier(0.16,1,0.3,1);}
.pub-modal{background:var(--bg-1);border:1px solid var(--b1);border-radius:20px;width:100%;max-width:440px;box-shadow:0 16px 48px rgba(20,14,8,.14),0 4px 16px var(--b1);padding:28px 28px 22px;text-align:center;}
.pub-modal-icon{font-size:32px;margin-bottom:12px;}
.pub-modal-title{font-family:var(--fd);font-size:22px;font-weight:400;color:var(--t1);margin-bottom:8px;letter-spacing:-.01em;}
.pub-modal-text{font-family:var(--fb);font-size:13px;color:var(--t2);line-height:1.55;margin-bottom:20px;}
.pub-modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.pub-modal-btn{padding:9px 20px;border-radius:999px;border:1px solid var(--b2);background:var(--bg-2);font-family:var(--fu);font-size:10px;font-weight:700;color:var(--t2);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all 120ms;}
.pub-modal-btn.cancel:hover{background:var(--bg-3);}
.pub-modal-btn.confirm-delete{background:var(--red);color:var(--bg-1);border-color:var(--red);}
.pub-modal-btn.confirm-delete:hover{background:#8A2C2C;border-color:#8A2C2C;}

/* ─────────── Responsive breakpoints ─────────── */
@media(max-width:800px){
  #s-links .pub-card{grid-template-columns:200px 1fr;}
  #s-links .pub-card .pub-actions{grid-column:1 / -1;border-left:none;border-top:1px solid var(--b0);flex-direction:row;flex-wrap:wrap;}
  .pub-overlay-modal .pub-stepper{grid-template-columns:1fr 1fr;}
  .pub-overlay-modal .pub-share-grid{grid-template-columns:1fr;}
  .pub-overlay-modal .pub-tokens-canvas{grid-template-columns:1fr;}
  .pub-overlay-modal .pub-social-frames{grid-template-columns:1fr;gap:16px;}
}
@media(max-width:600px){
  #s-links .pub-summary{padding:16px;gap:16px;}
  #s-links .pub-stat-val{font-size:22px;}
  #s-links .pub-toolbar{padding:12px 16px;gap:8px;}
  #s-links .pub-grid{padding:14px 16px;}
}
@media(max-width:480px){
  #s-links .pub-card{grid-template-columns:1fr;}
  #s-links .pub-og-thumb{width:100%;height:160px;}
  #s-links .pub-content{padding:14px 16px;}
  #s-links .pub-client-name{font-size:16px;}
  #s-links .pub-actions{padding:12px 16px;}
  .pub-overlay-modal .pub-stepper{grid-template-columns:1fr;min-height:auto;}
  .pub-overlay-modal .pub-step{padding:20px 16px;border-right:none;border-bottom:1px solid var(--b0);}
  .pub-overlay-modal .pub-step:last-child{border-bottom:none;}
  .pub-overlay-modal .pub-og-field{grid-template-columns:1fr;gap:6px;}
  .pub-overlay-modal .pub-share-card-body{padding:14px;}
  .pub-overlay-modal .pub-tokens-canvas{padding:16px;gap:16px;}
  .pub-overlay-modal .pub-token-big{font-size:28px;}
  .pub-overlay-modal .pub-timeline{padding:24px 16px 24px 40px;}
  .pub-overlay-modal .pub-timeline-card{padding:14px 16px;}
  .pub-overlay-modal .pub-og-large{padding:24px;}
  .pub-overlay-modal .pub-og-large-name{font-size:22px;}
  .pub-overlay-modal .pub-og-large-content{gap:6px;}
  .pub-overlay-header{padding:16px 48px 12px 18px;}
  .pub-overlay-name{font-size:20px;}
  .pub-overlay-tab{padding:12px 14px;font-size:9px;}
}
/* === END PUBLISHED LINKS LWS === */

/* ═══════════════════════ DASHBOARD (LWS v6.1) ═══════════════════════ */
/* All rules scoped to #dashRoot to raise specificity above legacy
   generic classes (.card, .btn-sm, .spl, .empty-icon, .empty-text). */

#dashRoot{padding:20px;background:var(--bg-0);min-height:calc(100vh - 120px)}

#dashRoot .dash-greeting{padding:24px 24px 20px;border-bottom:1px solid var(--b0);margin-bottom:16px}
#dashRoot .dash-greeting-text{font-family:var(--fd);font-size:32px;font-weight:300;color:var(--t1);letter-spacing:-.02em}
#dashRoot .dash-greeting-sub{font-family:var(--fu);font-size:11px;font-weight:600;color:var(--t4);text-transform:uppercase;letter-spacing:.08em;margin-top:6px}

#dashRoot .dash-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}

#dashRoot .kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}
#dashRoot .kpi-grid.dimmed{opacity:.4}

#dashRoot .kpi-card{background:var(--bg-1);border:1px solid var(--b1);border-radius:14px;padding:20px 22px;position:relative;overflow:hidden;margin-bottom:0}
#dashRoot .kpi-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent)}
#dashRoot .kpi-card::after{content:none}
#dashRoot .kpi-card.hero{background:var(--accent-ghost)}
#dashRoot .kpi-label{font-family:var(--fu);font-size:10px;font-weight:700;color:var(--t4);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
#dashRoot .kpi-val{font-family:var(--fd);font-size:36px;font-weight:300;color:var(--t1);letter-spacing:-.02em;line-height:1}
#dashRoot .kpi-card.hero .kpi-val{color:var(--accent)}
#dashRoot .kpi-sub{font-family:var(--fb);font-size:11px;color:var(--t4);margin-top:8px}
#dashRoot .kpi-delta{font-family:var(--fu);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-top:6px}
#dashRoot .kpi-delta.up{color:var(--green)}
#dashRoot .kpi-delta.down{color:#9B4D5C}
#dashRoot .kpi-delta.neutral{color:var(--t4)}

#dashRoot .alert-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-1);border:1px solid var(--b1);border-radius:14px;padding:12px 16px;margin-bottom:8px;flex-wrap:wrap}
#dashRoot .alert-row.warn{border-left:3px solid #9B4D5C;background:rgba(155,77,92,.06)}
#dashRoot .alert-row.gold{border-left:3px solid var(--accent);background:rgba(168,116,18,.06)}
#dashRoot .alert-row.info{border-left:3px solid var(--blue);background:rgba(74,122,152,.06)}
#dashRoot .alert-row.success{border-left:3px solid var(--green);background:rgba(26,107,90,.06)}
#dashRoot .alert-icon{font-size:16px;flex-shrink:0}
#dashRoot .alert-msg{font-family:var(--fb);font-size:13px;font-weight:500;color:var(--t2);flex:1}
#dashRoot .alert-action{font-family:var(--fu);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:transparent;border:1px solid rgba(168,116,18,.35);padding:5px 14px;border-radius:999px;cursor:pointer}
#dashRoot .alert-action:hover{background:var(--accent-ghost)}

#dashRoot .canvas{background:var(--bg-1);border:1px solid var(--b1);border-radius:20px;overflow:hidden;margin-bottom:14px}
#dashRoot .panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid var(--b0);gap:8px}
#dashRoot .panel-title{font-family:var(--fu);font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.08em}
#dashRoot .panel-badge{font-family:var(--fu);font-size:10px;font-weight:700;color:var(--accent);background:var(--accent-ghost);border:1px solid var(--accent-ring);padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}
#dashRoot .panel-body{padding:14px 22px 18px}

#dashRoot .funnel-stage{margin-bottom:12px}
#dashRoot .funnel-stage:last-child{margin-bottom:0}
#dashRoot .funnel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
#dashRoot .funnel-label{font-family:var(--fu);font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.06em}
#dashRoot .funnel-count{font-family:var(--fb);font-size:12px;font-weight:700;color:var(--t2)}
#dashRoot .funnel-track{height:8px;background:var(--bg-2);border-radius:999px;overflow:hidden}
#dashRoot .funnel-fill{height:100%;border-radius:999px;transition:width .6s}
#dashRoot .funnel-fill.draft{background:#4A7FB5}
#dashRoot .funnel-fill.sent{background:var(--accent)}
#dashRoot .funnel-fill.followup{background:#C06A20}
#dashRoot .funnel-fill.confirmed{background:var(--green)}
#dashRoot .funnel-fill.cancelled{background:#9B4D5C}

#dashRoot .route-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--b0)}
#dashRoot .route-row:last-child{border-bottom:none}
#dashRoot .route-rank{width:24px;height:24px;border-radius:999px;background:var(--accent-ghost);color:var(--accent);font-family:var(--fu);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
#dashRoot .route-path{font-family:var(--fb);font-size:12px;font-weight:600;color:var(--t2);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#dashRoot .route-sub{font-family:var(--fb);font-size:11px;color:var(--t4);margin-top:2px}
#dashRoot .route-val{font-family:var(--fd);font-size:18px;font-weight:300;color:var(--accent);flex-shrink:0}

#dashRoot .fu-row,#dashRoot .enq-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--b0);flex-wrap:wrap}
#dashRoot .fu-row:last-child,#dashRoot .enq-row:last-child{border-bottom:none}
#dashRoot .fu-body,#dashRoot .enq-body{flex:1;min-width:0}
#dashRoot .fu-name,#dashRoot .enq-name{font-family:var(--fb);font-size:13px;font-weight:600;color:var(--t2);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#dashRoot .fu-meta,#dashRoot .enq-meta{font-family:var(--fb);font-size:11px;color:var(--t4);margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#dashRoot .fu-due{font-family:var(--fb);font-size:11px;font-weight:600;margin-top:3px}
#dashRoot .fu-due.overdue{color:#9B4D5C}
#dashRoot .fu-due.soon{color:var(--orange)}
#dashRoot .fu-due.ok{color:var(--t4)}
#dashRoot .enq-badge-new{font-family:var(--fu);font-size:9px;font-weight:700;color:var(--orange);background:rgba(184,116,48,.12);border:1px solid rgba(184,116,48,.35);padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}

#dashRoot .btn-sm{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--fu);font-size:11px;font-weight:700;color:var(--t2);background:var(--bg-1);border:1px solid var(--b2);padding:6px 14px;border-radius:999px;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;transition:all .15s}
#dashRoot .btn-sm:hover{background:var(--bg-2);transform:none}
#dashRoot .btn-sm.wa{background:#25D366;color:var(--bg-1);border-color:#25D366}
#dashRoot .btn-sm.wa:hover{background:#1DA851;border-color:#1DA851}

#dashRoot .rq-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--b0);flex-wrap:wrap}
#dashRoot .rq-row:last-child{border-bottom:none}
#dashRoot .rq-body{flex:1;min-width:160px}
#dashRoot .rq-name{font-family:var(--fb);font-size:13px;font-weight:600;color:var(--t2)}
#dashRoot .rq-ref{font-family:var(--fb);font-size:11px;font-weight:400;color:var(--t4);margin-left:6px}
#dashRoot .rq-trip{font-family:var(--fb);font-size:11px;color:var(--t4);margin-top:3px}
#dashRoot .rq-val{font-family:var(--fd);font-size:18px;font-weight:300;color:var(--accent)}
#dashRoot .rq-margin{font-family:var(--fu);font-size:10px;font-weight:600;color:var(--t3);background:var(--bg-2);padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}

#dashRoot .spl{display:inline-block;font-family:var(--fu);font-size:10px;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em;color:var(--bg-1);border:none;background:#4A7FB5;white-space:nowrap}
#dashRoot .spl.s-draft{background:#4A7FB5;color:var(--bg-1)}
#dashRoot .spl.s-sent{background:var(--accent);color:var(--bg-1)}
#dashRoot .spl.s-followup{background:#C06A20;color:var(--bg-1)}
#dashRoot .spl.s-confirmed{background:var(--green);color:var(--bg-1)}
#dashRoot .spl.s-cancelled{background:#9B4D5C;color:var(--bg-1)}
#dashRoot .spl.s-enquiry{background:#6B5AA5;color:var(--bg-1)}
#dashRoot .spl.s-expired{background:var(--t3);color:var(--bg-1)}

#dashRoot .sparkline-canvas{max-width:480px}
#dashRoot .sparkline-wrap{padding:18px 22px}
#dashRoot .sparkline-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}
#dashRoot .sparkline-title{font-family:var(--fu);font-size:10px;font-weight:700;color:var(--t4);text-transform:uppercase;letter-spacing:.08em}
#dashRoot .sparkline-value{font-family:var(--fd);font-size:24px;font-weight:300;color:var(--accent)}
#dashRoot .sparkline-chart{display:flex;align-items:flex-end;gap:8px;height:80px}
#dashRoot .sparkline-bar{flex:1;background:rgba(168,116,18,.4);border-radius:4px 4px 0 0;min-height:4px;transition:height .6s}
#dashRoot .sparkline-bar.current{background:#9A6C08}
#dashRoot .sparkline-labels{display:flex;margin-top:10px}
#dashRoot .sparkline-labels span{flex:1;text-align:center;font-family:var(--fu);font-size:9px;font-weight:600;color:var(--t4);text-transform:uppercase;letter-spacing:.06em}

#dashRoot .qa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;padding:18px 22px}
#dashRoot .qa-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 18px;border-radius:14px;background:var(--bg-1);border:1px solid var(--b2);font-family:var(--fb);font-size:13px;font-weight:600;color:var(--t2);cursor:pointer;transition:all .15s}
#dashRoot .qa-btn:hover{background:var(--bg-2)}
#dashRoot .qa-btn.primary{background:linear-gradient(160deg,#C49820 0%,#9A6C08 60%,#B88010 100%);color:var(--t1);border:none;font-family:var(--fu);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:12px}
#dashRoot .qa-btn.primary:hover{filter:brightness(1.05)}
#dashRoot .qa-btn.primary.lg{padding:16px 36px;font-size:13px;display:inline-flex;margin:0 auto}
#dashRoot .qa-icon{font-size:15px}

#dashRoot .empty-panel{text-align:center;padding:32px 22px;max-width:none;margin:0}
#dashRoot .empty-panel .empty-icon,#dashRoot .empty-icon{font-size:32px;margin-bottom:8px;opacity:.5;color:var(--t4)}
#dashRoot .empty-panel .empty-text,#dashRoot .empty-text{font-family:var(--fb);font-size:13px;color:var(--t4);max-width:none;margin:0}

#dashRoot .dash-first-use{padding:40px 24px;text-align:center}
#dashRoot .dash-first-use-actions{margin-top:20px;text-align:center}
#dashRoot .dash-first-use-link{color:var(--accent);text-decoration:underline;cursor:pointer;font-family:var(--fb);font-size:12px;margin-top:10px;display:inline-block}

@media (max-width:900px){#dashRoot .dash-row{grid-template-columns:1fr}}
@media (max-width:600px){#dashRoot .kpi-grid{grid-template-columns:1fr 1fr}}
/* === END DASHBOARD LWS === */

/* ═══════════════════════════════════════════════════════════════════════
   ENQUIRIES SCREEN — Meta Leads Inbox
   enquiries-screen.js consumes these classes
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Enquiries screen layout ─────────────────────────────────────────────── */
#s-enquiries { padding: 0 !important; display: flex; flex-direction: column; overflow: hidden; }

.enq-topbar {
  padding: 18px 24px 14px;
  border-bottom: 1px solid var(--b1);
  flex-shrink: 0;
}
.enq-topbar-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 12px; }
.enq-screen-label { font-family: var(--fu); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--t4); margin-bottom: 3px; }
.enq-screen-title { font-family: var(--fd); font-size: 22px; font-weight: 300; color: var(--t1); margin-bottom: 2px; }
.enq-screen-sub   { font-family: var(--fb); font-size: 12px; color: var(--t4); }
.enq-kpis         { margin: 0; }

.enq-workspace { display: flex; flex: 1; overflow: hidden; min-height: 0; }

/* ── Left list panel ─────────────────────────────────────────────────────── */
.enq-list-panel {
  width: 320px; flex-shrink: 0;
  border-right: 1px solid var(--b1);
  display: flex; flex-direction: column; overflow: hidden;
}

/* ── Stage tabs (replaces old .enq-tabs) ─────────────────────────────────── */
.enq-stage-tabs {
  display: flex; gap: 0; padding: 10px 10px 0;
  border-bottom: 1px solid var(--b1);
  background: var(--bg-0); flex-shrink: 0; flex-wrap: wrap;
}
.enq-tab {
  font-family: var(--fu); font-size: 9px; font-weight: 700;
  letter-spacing: .09em; text-transform: uppercase;
  padding: 6px 10px 8px; border: none;
  border-bottom: 2px solid transparent;
  background: none; color: var(--t4);
  cursor: pointer; border-radius: 6px 6px 0 0;
  transition: color .15s;
  display: inline-flex; align-items: center; gap: 5px;
}
.enq-tab:hover  { color: var(--t2); }
.enq-tab.on     { color: var(--accent-dn); border-bottom-color: var(--accent); }
.enq-tab-count  { font-family: var(--fd); font-size: 11px; font-weight: 400; opacity: .7; }

/* scrollable list */
.enq-list { flex: 1; overflow-y: auto; padding: 6px; display: flex; flex-direction: column; gap: 2px; }

/* ── List item ───────────────────────────────────────────────────────────── */
.enq-list-item {
  display: grid; grid-template-columns: 36px 1fr; gap: 10px;
  padding: 10px; border-radius: 10px; cursor: pointer;
  border: 1px solid transparent;
  transition: background .13s, border-color .13s; align-items: flex-start;
}
.enq-list-item:hover    { background: var(--bg-2); }
.enq-list-item.selected { background: var(--accent-ghost); border-color: var(--accent-ring); }

.enq-li-score {
  width: 36px; height: 36px; border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--fd); font-size: 16px; font-weight: 300; flex-shrink: 0;
}
.enq-li-body   { min-width: 0; }
.enq-li-name   { font-family: var(--fb); font-size: 13px; font-weight: 600; color: var(--t1); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 3px; }
.enq-li-travel { font-family: var(--fb); font-size: 11px; color: var(--t3); margin-bottom: 3px; }
.enq-li-tags   { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 3px; }
.enq-li-time   { font-family: var(--fb); font-size: 10px; color: var(--t4); }

/* ── Score badge colours (shared by list + detail) ───────────────────────── */
.enq-score--hot  { background: rgba(224,80,50,.12);  color: #C43C20; }
.enq-score--warm { background: var(--accent-ghost);  color: var(--accent-dn); }
.enq-score--cool { background: rgba(74,122,152,.10); color: #3A7095; }
.enq-score--cold { background: var(--b1);            color: var(--t4); }

/* ── Pills ───────────────────────────────────────────────────────────────── */
.enq-pill {
  font-family: var(--fu); font-size: 8px; font-weight: 700;
  letter-spacing: .07em; text-transform: uppercase;
  padding: 2px 7px; border-radius: 999px; white-space: nowrap;
}
.enq-pill--gold   { background: var(--accent-ghost);       color: var(--accent-dn); border: 1px solid var(--accent-ring); }
.enq-pill--blue   { background: rgba(74,122,152,.09);      color: #3A7095;          border: 1px solid rgba(74,122,152,.22); }
.enq-pill--green  { background: rgba(40,122,82,.09);       color: #287A52;          border: 1px solid rgba(40,122,82,.22); }
.enq-pill--purple { background: rgba(110,80,160,.09);      color: #5A40A0;          border: 1px solid rgba(110,80,160,.22); }
.enq-pill--grey   { background: var(--b1); color: var(--t3); border: 1px solid var(--b2); }

.enq-badge-new {
  font-family: var(--fu); font-size: 8px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; padding: 2px 8px; border-radius: 999px; flex-shrink: 0;
  background: rgba(184,116,48,.12); color: #A07014; border: 1px solid rgba(184,116,48,.30);
}

/* ── Right detail panel ──────────────────────────────────────────────────── */
.enq-detail-panel {
  flex: 1; overflow-y: auto; display: flex; flex-direction: column; min-width: 0;
}
.enq-detail-empty {
  flex: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  color: var(--t4); gap: 10px; padding: 60px 20px;
}
.enq-detail-empty-icon { font-size: 30px; opacity: .35; }
.enq-detail-empty-text { font-family: var(--fb); font-size: 13px; }
.enq-detail-content    { padding: 0 0 60px; }

/* detail sticky header */
.enq-detail-header {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 14px 24px 12px; border-bottom: 1px solid var(--b1); flex-wrap: wrap;
  position: sticky; top: 0; background: var(--bg-0); z-index: 5;
}
.enq-detail-header-left { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; }
.enq-detail-back {
  font-size: 18px; color: var(--t3); background: none; border: none;
  cursor: pointer; padding: 4px 8px; border-radius: 6px; flex-shrink: 0; display: none;
}
.enq-detail-score {
  width: 44px; height: 44px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--fd); font-size: 20px; font-weight: 300; flex-shrink: 0;
}
.enq-detail-name-block { min-width: 0; }
.enq-detail-name {
  font-family: var(--fd); font-size: 20px; font-weight: 300; color: var(--t1);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.enq-detail-meta  { font-family: var(--fb); font-size: 11px; color: var(--t4); margin-top: 2px; }
.enq-status-select {
  font-family: var(--fu); font-size: 9px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; padding: 7px 14px; border-radius: 999px;
  border: 1px solid var(--b2); background: var(--bg-2); color: var(--t2); cursor: pointer;
  appearance: none; -webkit-appearance: none;
}

/* detail sections */
.enq-detail-section { padding: 16px 24px; border-bottom: 1px solid var(--b1); }
.enq-section-label {
  font-family: var(--fu); font-size: 9px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--t4);
  margin-bottom: 12px; display: flex; align-items: center; gap: 6px;
}
.enq-section-label-sub { font-weight: 400; opacity: .6; }

/* contact grid */
.enq-contact-grid { display: flex; gap: 8px; flex-wrap: wrap; }
.enq-contact-chip {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--fb); font-size: 13px; color: var(--t2);
  background: var(--bg-2); border: 1px solid var(--b2);
  padding: 8px 14px; border-radius: 10px; text-decoration: none;
  transition: border-color .15s, background .15s;
}
.enq-contact-chip:hover { border-color: var(--accent-ring); background: var(--accent-ghost); }

/* spec grid */
.enq-spec-grid   { display: flex; flex-direction: column; gap: 7px; }
.enq-spec-row    { display: flex; align-items: baseline; gap: 10px; font-family: var(--fb); font-size: 13px; }
.enq-spec-icon   { width: 22px; text-align: center; flex-shrink: 0; font-size: 14px; }
.enq-spec-label  { width: 100px; flex-shrink: 0; color: var(--t4); font-size: 11px; }
.enq-spec-val    { color: var(--t2); flex: 1; }
.enq-spec-sub    { font-size: 11px; color: var(--t4); }
.enq-spec-empty  { color: var(--t4); opacity: .45; }
.enq-spec-label-sm { font-family: var(--fu); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; color: var(--t4); margin-bottom: 6px; }
.enq-special-full { margin-top: 14px; }
.enq-special-text {
  font-family: var(--fb); font-size: 13px; color: var(--t2);
  font-style: italic; line-height: 1.65;
  padding: 12px 16px; background: var(--bg-2); border-radius: 10px;
  border-left: 3px solid var(--accent-ring);
}

/* action buttons */
.enq-detail-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.enq-action-btn {
  font-family: var(--fb); font-size: 12px; font-weight: 600;
  padding: 9px 16px; border-radius: 10px; border: none;
  cursor: pointer; transition: opacity .15s, background .15s; white-space: nowrap;
}
.enq-action-btn--primary   { background: var(--accent-metal, linear-gradient(160deg,#C49820 0%,#9A6C08 60%,#B88010 100%)); color: #fff; }
.enq-action-btn--primary:hover { opacity: .88; }
.enq-action-btn--wa        { background: #25D366; color: #fff; }
.enq-action-btn--wa:hover  { opacity: .88; }
.enq-action-btn--secondary { background: var(--bg-2); color: var(--t2); border: 1px solid var(--b2); }
.enq-action-btn--secondary:hover { background: var(--bg-3); }
.enq-action-btn--danger    { background: none; color: var(--t4); font-size: 11px; border: 1px solid transparent; }
.enq-action-btn--danger:hover { color: #A83838; border-color: rgba(168,56,56,.25); }

/* header right-side controls (edit + delete icon buttons) */
.enq-detail-header-right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.enq-hdr-btn {
  width: 32px; height: 32px; border-radius: 8px;
  border: 1px solid var(--b2); background: none;
  cursor: pointer; font-size: 14px; color: var(--t3);
  display: flex; align-items: center; justify-content: center;
  transition: all .15s;
}
.enq-hdr-btn:hover    { background: var(--bg-2); color: var(--t1); }
.enq-hdr-delete:hover { color: #C0392B; border-color: rgba(192,57,43,.3); background: rgba(192,57,43,.06); }

/* edit form */
.enq-edit-form  { padding: 4px 0 0; }
.enq-edit-grid  { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; padding-bottom: 16px; }
.enq-edit-row   { display: flex; flex-direction: column; gap: 5px; }
.enq-edit-row--full { grid-column: 1 / -1; }
.enq-edit-label {
  font-family: var(--fu); font-size: 9px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--t4);
}
.enq-edit-input, .enq-edit-select, .enq-edit-textarea {
  font-family: var(--fb); font-size: 13px; color: var(--t1);
  background: var(--bg-1); border: 1px solid var(--b2);
  border-radius: 8px; padding: 8px 10px;
  outline: none; transition: border-color .15s;
  width: 100%; box-sizing: border-box;
}
.enq-edit-input:focus, .enq-edit-select:focus, .enq-edit-textarea:focus { border-color: #C49820; }
.enq-edit-textarea { resize: vertical; min-height: 64px; }
.enq-edit-footer   { display: flex; gap: 10px; padding-top: 8px; }
@media (max-width: 600px) { .enq-edit-grid { grid-template-columns: 1fr; } }

/* WA greeting panel */
.enq-wa-section { padding: 16px 24px; border-bottom: 1px solid var(--b1); background: rgba(37,211,102,.04); }
.enq-wa-textarea {
  width: 100%; box-sizing: border-box;
  font-family: var(--fb); font-size: 13px; line-height: 1.7; color: var(--t2);
  background: var(--bg-2); border: 1px solid var(--b2); border-radius: 10px;
  padding: 14px; resize: vertical; min-height: 160px; margin-bottom: 10px;
}
.enq-wa-actions { display: flex; align-items: center; gap: 12px; }
.enq-wa-hint    { font-family: var(--fb); font-size: 11px; color: var(--t4); font-style: italic; }

/* attribution */
.enq-attr-row {
  display: flex; justify-content: space-between; align-items: baseline;
  font-family: var(--fb); font-size: 12px; padding: 5px 0;
  border-bottom: 1px solid var(--b0); gap: 20px;
}
.enq-attr-row:last-child { border-bottom: none; }
.enq-attr-row > span:first-child { color: var(--t4); flex-shrink: 0; }
.enq-attr-row > span:last-child  { color: var(--t3); text-align: right; word-break: break-all; font-size: 11px; }

/* timeline */
.enq-timeline-list { display: flex; flex-direction: column; gap: 0; }
.enq-tl-event {
  display: grid; grid-template-columns: 28px 1fr auto;
  gap: 10px; align-items: flex-start;
  padding: 8px 0; border-bottom: 1px solid var(--b0);
}
.enq-tl-event:last-child { border-bottom: none; }
.enq-tl-icon { font-size: 14px; text-align: center; opacity: .7; line-height: 1.4; }
.enq-tl-body { min-width: 0; }
.enq-tl-type { font-family: var(--fb); font-size: 12px; font-weight: 600; color: var(--t2); }
.enq-tl-note { font-family: var(--fb); font-size: 11px; color: var(--t3); margin-top: 2px; line-height: 1.5; }
.enq-tl-time { font-family: var(--fb); font-size: 10px; color: var(--t4); white-space: nowrap; padding-top: 2px; }
.enq-tl-loading, .enq-tl-empty { font-family: var(--fb); font-size: 12px; color: var(--t4); padding: 10px 0; text-align: center; }

/* notes */
.enq-notes-list  { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.enq-note-item   { background: var(--bg-2); border-radius: 10px; padding: 10px 12px; }
.enq-note-text   { font-family: var(--fb); font-size: 13px; color: var(--t2); line-height: 1.6; margin-bottom: 4px; }
.enq-note-time   { font-family: var(--fb); font-size: 10px; color: var(--t4); }
.enq-notes-empty { font-family: var(--fb); font-size: 12px; color: var(--t4); font-style: italic; text-align: center; padding: 8px 0; }
.enq-note-add    { display: flex; flex-direction: column; gap: 8px; }
.enq-note-input  {
  width: 100%; box-sizing: border-box; font-family: var(--fb); font-size: 13px; color: var(--t2);
  background: var(--bg-2); border: 1px solid var(--b2); border-radius: 10px;
  padding: 10px 14px; resize: vertical; line-height: 1.6;
}
.enq-note-input:focus { border-color: var(--accent-ring); outline: none; }

/* empty & loading */
.enq-empty {
  padding: 50px 20px; text-align: center;
  background: var(--bg-1); border: 1px dashed var(--b2); border-radius: 12px; margin: 8px;
}
.enq-empty-icon  { font-size: 30px; margin-bottom: 10px; }
.enq-empty-title { font-family: var(--fb); font-size: 14px; font-weight: 600; color: var(--t2); margin-bottom: 5px; }
.enq-empty-sub   { font-family: var(--fb); font-size: 12px; color: var(--t4); line-height: 1.6; }
.enq-loading     { padding: 40px 20px; text-align: center; }
.enq-loading-dots { display: inline-flex; gap: 6px; }
.enq-loading-dots span { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); animation: enq-pulse 1.2s ease-in-out infinite; }
.enq-loading-dots span:nth-child(2) { animation-delay: .2s; }
.enq-loading-dots span:nth-child(3) { animation-delay: .4s; }
@keyframes enq-pulse { 0%,80%,100%{opacity:.25;transform:scale(.8)} 40%{opacity:1;transform:scale(1)} }

/* KPI red text */
.pipe-kpi-val.red-text { color: #C43C20; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 900px) { .enq-list-panel { width: 260px; } }
@media (max-width: 720px) {
  .enq-workspace    { flex-direction: column; }
  .enq-list-panel   { width: 100%; border-right: none; border-bottom: 1px solid var(--b1); max-height: 45vh; }
  .enq-detail-back  { display: block; }
  .enq-detail-panel { flex: 1; }
}
@media (max-width: 480px) {
  .enq-detail-section { padding: 14px 16px; }
  .enq-detail-header  { padding: 12px 16px; }
}

/* Legacy .enq-tabs alias (keeps old inline HTML tabs working if any remain) */
.enq-tabs {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin: 16px 0 20px;
}
.enq-tab {
  font-family: var(--fu);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid var(--b2);
  background: var(--bg-2);
  color: var(--t3);
  cursor: pointer;
  transition: background .15s, color .15s, border-color .15s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.enq-tab:hover  { background: var(--bg-3); color: var(--t2); }
.enq-tab.on     { background: var(--accent-ghost); border-color: var(--accent-ring); color: var(--accent-dn); }
.enq-tab-count  { font-family: var(--fd); font-size: 11px; font-weight: 400; opacity: .85; }

/* ── List ────────────────────────────────────────────────────────────── */
.enq-list { display: flex; flex-direction: column; gap: 12px; }

/* ── Card ────────────────────────────────────────────────────────────── */
.enq-card {
  background: var(--bg-1);
  border: 1px solid var(--b1);
  border-radius: 16px;
  padding: 16px 18px;
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 16px;
  align-items: flex-start;
  transition: border-color .18s, box-shadow .18s;
}
.enq-card:hover { border-color: var(--b2); box-shadow: var(--sh2); }
.enq-card[data-status="promoted"] { border-left: 3px solid var(--green, #287A52); }
.enq-card[data-status="rejected"] { opacity: .65; }

/* ── Score badge ─────────────────────────────────────────────────────── */
.enq-score {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  gap: 2px;
}
.enq-score-num { font-family: var(--fd); font-size: 24px; font-weight: 300; line-height: 1; }
.enq-score-lbl { font-family: var(--fu); font-size: 7px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.enq-score--hot  { background: rgba(224,80,50,.12);   color: #C43C20; }
.enq-score--warm { background: var(--accent-ghost);   color: var(--accent-dn); }
.enq-score--cool { background: rgba(74,122,152,.10);  color: #3A7095; }
.enq-score--cold { background: var(--b1);             color: var(--t4); }

/* ── Card body ───────────────────────────────────────────────────────── */
.enq-body { min-width: 0; }
.enq-name-row { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-bottom: 5px; }
.enq-name     { font-family: var(--fb); font-size: 14px; font-weight: 600; color: var(--t1); }

.enq-badge-new {
  font-family: var(--fu); font-size: 8px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; padding: 2px 8px; border-radius: 999px;
  background: rgba(184,116,48,.12); color: #A07014; border: 1px solid rgba(184,116,48,.30);
}
.enq-badge-contacted {
  font-family: var(--fu); font-size: 8px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; padding: 2px 8px; border-radius: 999px;
  background: rgba(74,122,152,.09); color: #3A7095; border: 1px solid rgba(74,122,152,.22);
}

.enq-contact {
  font-family: var(--fb); font-size: 12px; color: var(--t3);
  display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 8px;
}
.enq-travel {
  font-family: var(--fb); font-size: 12px; color: var(--t2);
  margin-bottom: 7px; display: flex; align-items: center; flex-wrap: wrap; gap: 4px;
}
.enq-dot { color: var(--t4); margin: 0 2px; }
.enq-tags { display: flex; gap: 5px; flex-wrap: wrap; margin-bottom: 7px; }

/* Pills */
.enq-pill {
  font-family: var(--fu); font-size: 9px; font-weight: 700;
  letter-spacing: .07em; text-transform: uppercase;
  padding: 3px 9px; border-radius: 999px;
}
.enq-pill--gold   { background: var(--accent-ghost); color: var(--accent-dn); border: 1px solid var(--accent-ring); }
.enq-pill--blue   { background: rgba(74,122,152,.09); color: #3A7095; border: 1px solid rgba(74,122,152,.22); }
.enq-pill--green  { background: rgba(40,122,82,.09);  color: #287A52; border: 1px solid rgba(40,122,82,.22); }
.enq-pill--purple { background: rgba(110,80,160,.09); color: #5A40A0; border: 1px solid rgba(110,80,160,.22); }
.enq-pill--grey   { background: var(--b1); color: var(--t3); border: 1px solid var(--b2); }

.enq-special {
  font-family: var(--fb); font-size: 11px; color: var(--t3);
  font-style: italic; margin-bottom: 6px; line-height: 1.5;
}
.enq-time { font-family: var(--fb); font-size: 10px; color: var(--t4); margin-top: 2px; }

/* ── Actions column ─────────────────────────────────────────────────── */
.enq-actions { display: flex; flex-direction: column; gap: 6px; flex-shrink: 0; min-width: 118px; }
.enq-btn {
  font-family: var(--fb); font-size: 11px; font-weight: 600;
  padding: 8px 14px; border-radius: 10px; border: none;
  cursor: pointer; white-space: nowrap; text-align: center;
  transition: opacity .15s, background .15s;
}
.enq-btn--promote {
  background: var(--accent-metal, linear-gradient(160deg,#C49820 0%,#9A6C08 60%,#B88010 100%));
  color: #fff;
}
.enq-btn--promote:hover { opacity: .88; }
.enq-btn--contact {
  background: var(--bg-2); color: var(--t2);
  border: 1px solid var(--b2);
}
.enq-btn--contact:hover { background: var(--bg-3); }
.enq-btn--reject {
  background: none; color: var(--t4); font-size: 10px;
  border: 1px solid transparent;
}
.enq-btn--reject:hover { color: #A83838; border-color: rgba(168,56,56,.25); }

.enq-status-chip {
  font-family: var(--fu); font-size: 9px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  padding: 5px 12px; border-radius: 999px; display: inline-block; text-align: center;
}
.enq-status-chip--green { background: rgba(40,122,82,.10); color: #287A52; border: 1px solid rgba(40,122,82,.22); }
.enq-status-chip--red   { background: rgba(168,56,56,.09); color: #A83838; border: 1px solid rgba(168,56,56,.22); }
.enq-quote-ref { font-family: var(--fb); font-size: 9px; color: var(--t4); margin-top: 3px; text-align: center; word-break: break-all; }

/* ── Empty state ─────────────────────────────────────────────────────── */
.enq-empty {
  padding: 60px 20px; text-align: center;
  background: var(--bg-1); border: 1px dashed var(--b2); border-radius: 16px;
}
.enq-empty-icon  { font-size: 36px; margin-bottom: 12px; }
.enq-empty-title { font-family: var(--fb); font-size: 15px; font-weight: 600; color: var(--t2); margin-bottom: 6px; }
.enq-empty-sub   { font-family: var(--fb); font-size: 12px; color: var(--t4); line-height: 1.6; max-width: 300px; margin: 0 auto; }

/* ── Loading state ───────────────────────────────────────────────────── */
.enq-loading {
  padding: 60px 20px; text-align: center;
}
.enq-loading-dots { display: inline-flex; gap: 6px; }
.enq-loading-dots span {
  width: 7px; height: 7px; border-radius: 50%; background: var(--accent);
  animation: enq-pulse 1.2s ease-in-out infinite;
}
.enq-loading-dots span:nth-child(2) { animation-delay: .2s; }
.enq-loading-dots span:nth-child(3) { animation-delay: .4s; }
@keyframes enq-pulse {
  0%, 80%, 100% { opacity: .25; transform: scale(.8); }
  40%           { opacity: 1;   transform: scale(1);  }
}

/* ── Responsive ──────────────────────────────────────────────────────── */
@media (max-width: 720px) {
  .enq-card {
    grid-template-columns: 48px 1fr;
    grid-template-rows: auto auto;
  }
  .enq-actions {
    grid-column: 1 / -1;
    flex-direction: row;
    flex-wrap: wrap;
    min-width: 0;
  }
  .enq-btn { flex: 1; min-width: 80px; }
}
@media (max-width: 480px) {
  .enq-card { grid-template-columns: 44px 1fr; padding: 12px 14px; gap: 10px; }
  .enq-score { width: 44px; height: 44px; border-radius: 10px; }
  .enq-score-num { font-size: 18px; }
}

/* === END ENQUIRIES === */
