/* TrinityIAM Date Night — NEW DESIGN reskin of the working app (v5 Midnight & Brass) */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Outfit:wght@400;500;600&display=swap');

#tiam-dn-root{
  --ink:#0c0b09; --ink2:#14110e; --ink3:#1c1814;
  --brass:#c6a36a; --brassb:#e4c78a; --cream:#f3ebdc; --cream2:#e6d9c4;
  --wine:#3f1820; --wine2:#5a2230; --muted:#9a9084; --muted2:#6e675e;
  --line:rgb(198 163 106 / 28%);
  --serif:"Cormorant Garamond",Georgia,serif; --sans:"Outfit",system-ui,sans-serif;
  /* map old var names used inline in JS to new palette */
  --bg:#0c0b09; --surface:#14110e; --surfaceAlt:#1c1814; --glow:#171512;
  --accent:#c6a36a; --accentDeep:#8c6f35; --accentLift:#e4c78a; --head:#f3ebdc;
  background:var(--ink); color:var(--cream);
  font-family:var(--sans); line-height:1.6; -webkit-font-smoothing:antialiased;
}
#tiam-dn-root *{box-sizing:border-box}
#tiam-dn-root img{max-width:100%;display:block}
#tiam-dn-root h1,#tiam-dn-root h2,#tiam-dn-root h3{font-family:var(--serif);font-weight:600;margin:0}
.dn-wrap{max-width:64rem;margin:0 auto;padding:1.4rem 1rem 6rem}

/* ===== AUTH ===== */
.dn-hero{text-align:center;padding:3rem 0 2rem}
.dn-eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--brass);margin:0 0 .6rem}
.dn-title{font-family:var(--serif);font-weight:600;text-transform:none;letter-spacing:0;line-height:1.04;font-size:clamp(2.6rem,9vw,3.6rem);color:var(--cream)}
.dn-lede{max-width:34rem;margin:1rem auto 0;color:var(--cream2);font-size:1rem}
.dn-authcard{max-width:26rem;margin:1.5rem auto 0}
.dn-tabs{display:flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:1.2rem}
.dn-tabs button{flex:1;background:transparent;border:0;color:var(--muted);font-family:var(--sans);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;padding:.85rem;cursor:pointer}
.dn-tabs button.is-active{background:var(--brass);color:var(--ink)}
.dn-authform{display:none}.dn-authform.is-on{display:block}
.dn-autherr{color:#d98a7a;font-size:.85rem;margin-top:.7rem;min-height:1em;text-align:center}
.dn-input{width:100%;min-height:48px;background:var(--ink3);border:1px solid var(--line);color:var(--cream);font-family:var(--sans);font-size:1rem;padding:.75rem .95rem;border-radius:12px;margin-bottom:.7rem;outline:none}
.dn-input:focus{border-color:var(--brass)}
.dn-input::placeholder{color:var(--muted)}

/* ===== APP HEAD ===== */
.dn-apphead{display:flex;justify-content:space-between;align-items:flex-end;padding:.5rem 0 1.3rem;border-bottom:1px solid var(--line);margin-bottom:1.3rem}
.dn-eyebrow+.dn-greet,.dn-greet{margin-top:.15rem}
.dn-greet{font-family:var(--serif);font-weight:600;font-size:2.1rem;color:var(--cream);text-transform:none;letter-spacing:0}
.dn-greet .it{color:var(--brass);font-style:italic}

/* ===== SCREENS / VIEWS ===== */
.dn-screen{display:none}.dn-screen.is-on{display:block;animation:dnf .3s ease}
.dn-view{display:none}.dn-view.is-on{display:block;animation:dnf .3s ease}
@keyframes dnf{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ===== PANELS ===== */
.dn-panel{background:var(--ink2);border:1px solid var(--line);border-radius:28px;padding:1.25rem 1.3rem;margin-bottom:1rem;position:relative;overflow:hidden}
.dn-panel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--brass);border-radius:28px 0 0 28px}
.dn-field{margin-bottom:1.4rem}.dn-field:last-child{margin-bottom:0}
.dn-label{display:block;font-family:var(--sans);font-weight:500;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin:0 0 .7rem}
.dn-mt{margin-top:1.6rem}

/* ===== CHIPS (dislikes + generic) ===== */
.dn-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.dn-chip{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--line);background:rgb(28 24 20 / 70%);color:var(--cream);font-family:var(--sans);font-size:.875rem;font-weight:500;padding:.55rem .95rem;border-radius:10px;cursor:pointer;transition:.16s}
.dn-chip:hover{border-color:var(--brass)}
.dn-chip.sel{background:var(--brass);border-color:var(--brass);color:var(--ink);font-weight:600}
.dn-chip.no.sel{background:var(--wine2);border-color:var(--wine2);color:var(--cream);text-decoration:none}

/* ===== CUISINE PHOTO TILES (JS adds .dn-cui when it detects the cuisines container) ===== */
.dn-cui-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.dn-cui{position:relative;overflow:hidden;border-radius:12px;border:2px solid transparent;padding:0;background:none;text-align:left;cursor:pointer}
.dn-cui.sel,.dn-cui.is-on{border-color:var(--brass)}
.dn-cui img{width:100%;aspect-ratio:1;object-fit:cover;display:block;transition:transform .5s}\n.dn-cui:hover img{transform:scale(1.05)}\n.dn-cui-dot{position:absolute;top:.5rem;right:.5rem;width:8px;height:8px;border-radius:50%;background:var(--brass);box-shadow:0 0 0 3px rgb(12 11 9 / 55%)}
.dn-cui span{position:absolute;left:0;right:0;bottom:0;padding:.5rem .45rem .45rem;font-size:.75rem;font-weight:600;color:#fff;background:linear-gradient(to top,rgba(8,7,5,.96) 0%,rgba(8,7,5,.9) 55%,rgba(8,7,5,0) 100%);text-shadow:0 1px 3px rgba(0,0,0,.9);letter-spacing:.01em;line-height:1.15}

/* ===== RADIUS ===== */
.dn-radius{border:1px solid var(--line);background:var(--ink3);padding:1.1rem;border-radius:16px}
.dn-radius-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.8rem;font-size:.95rem;color:var(--cream2)}
.dn-radius-val{font-family:var(--serif);font-weight:600;font-size:1.5rem;color:var(--brassb);letter-spacing:.02em}
#tiam-dn-root input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;background:rgb(198 163 106 / 22%);outline:none;accent-color:var(--brass)}
#tiam-dn-root input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--brassb);cursor:pointer;border:3px solid var(--ink)}
.dn-loc{display:flex;gap:.6rem;margin-top:.9rem}
.dn-loc button{flex:1;min-height:48px;border:1px solid var(--line);background:transparent;color:var(--cream);font-family:var(--sans);font-size:.9rem;border-radius:12px;cursor:pointer}
.dn-loc button.is-active{border-color:var(--brass);color:var(--brassb)}

/* ===== BUTTONS ===== */
.dn-generate,.dn-confirm{width:100%;border:0;border-radius:12px;padding:.95rem;background:var(--brass);color:var(--ink);font-family:var(--sans);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;cursor:pointer;min-height:52px;transition:background .16s}
.dn-generate:hover,.dn-confirm:hover{background:var(--brassb)}
.dn-surprise{width:100%;margin-top:.6rem;background:transparent;border:1px solid rgb(198 163 106 / 45%);color:var(--brass);font-family:var(--sans);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;padding:.9rem;border-radius:12px;cursor:pointer;min-height:52px}
.dn-surprise:hover{border-color:var(--brass);color:var(--brassb)}
.dn-back{display:block;width:100%;margin-top:.6rem;background:transparent;border:1px solid var(--line);color:var(--muted);padding:.85rem;font-family:var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:12px}
.dn-back:hover{border-color:var(--brass);color:var(--brass)}
.dn-regen{background:transparent;border:1px solid var(--line);color:var(--brass);padding:.5rem .9rem;border-radius:10px;font-family:var(--sans);font-weight:600;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.dn-regen:hover{border-color:var(--brass)}

/* ===== RESULT HEADER + H2 ===== */
.dn-result-head,.dn-crewhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.1rem}
.dn-h2{font-family:var(--serif);font-weight:600;font-size:1.9rem;color:var(--cream);text-transform:none;letter-spacing:0}

/* ===== RESULT CARDS (photo-forward, name over photo) ===== */
.dn-card{background:var(--ink2);border:1px solid var(--line);border-radius:28px;overflow:hidden;margin:0 0 1rem}
.dn-card-photo{position:relative;height:16rem;display:block}
.dn-card-photo img{width:100%;height:100%;object-fit:cover}
.dn-card-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0c0b09,rgb(12 11 9 / 20%),transparent)}
.dn-card-tag{position:absolute;z-index:2;top:.75rem;left:.75rem;background:rgb(12 11 9 / 70%);color:var(--brass);font-family:var(--sans);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:.3rem .6rem;border-radius:999px}
.dn-card-slot{position:absolute;z-index:2;top:.75rem;right:.75rem;background:rgb(12 11 9 / 70%);color:var(--cream);font-family:var(--sans);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:.3rem .6rem;border-radius:999px}
.dn-card-body{padding:1rem 1.2rem 1.2rem}
.dn-card-name{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.dn-card-name h3{font-family:var(--serif);font-weight:600;font-size:1.5rem;color:var(--cream);text-transform:none;letter-spacing:0}
.dn-stars{white-space:nowrap;color:var(--brass);font-weight:600;font-size:.9rem}
.dn-stars span{color:var(--muted);font-weight:400}
.dn-why{color:var(--cream2);font-family:var(--serif);font-style:italic;font-size:1.05rem;margin:.5rem 0 .9rem;line-height:1.4}
.dn-meta{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:.8rem}
.dn-meta b{color:var(--cream);font-weight:600}
.dn-open{color:var(--brass)!important;font-weight:600}
.dn-links{display:flex;gap:.5rem;margin-top:.9rem}
.dn-links a{flex:1;text-align:center;text-decoration:none;font-family:var(--sans);font-weight:600;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;padding:.7rem;border:1px solid rgb(198 163 106 / 45%);color:var(--brass);border-radius:12px;cursor:pointer}
.dn-links a:hover{border-color:var(--brass);color:var(--brassb)}
.dn-links a.primary{background:var(--ink3);color:var(--brassb)}
.dn-cardacts{display:flex;gap:.5rem;margin-top:.6rem}
.dn-cardacts button{flex:1;background:transparent;border:1px solid var(--line);color:var(--muted);font-family:var(--sans);font-weight:600;font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;padding:.6rem;border-radius:12px;cursor:pointer}
.dn-cardacts button:hover{border-color:var(--brass);color:var(--brass)}
.dn-cardacts button.on{background:var(--brass);border-color:var(--brass);color:var(--ink)}
.dn-cardacts button.never.on{background:var(--ink3);border-color:#8a5a52;color:#d98a7a}

/* ===== SAVED / LISTS ===== */
.dn-savecard,.dn-evtcard,.dn-acct,.dn-searchcard{background:var(--ink2);border:1px solid var(--line);border-radius:18px;padding:1rem 1.1rem;margin-bottom:.7rem}
.dn-savecard{display:flex;justify-content:space-between;align-items:center}
.dn-savecard .sc-name,.dn-evtcard .ec-title,.dn-acct .ac-name,.dn-searchcard .sc-nm{font-family:var(--serif);font-weight:600;font-size:1.25rem;color:var(--cream);text-transform:none;letter-spacing:0}
.dn-savecard .sc-meta,.dn-evtcard .ec-meta,.dn-acct .ac-sub,.dn-searchcard .sc-sub{font-size:.8rem;color:var(--muted);margin-top:2px}
.dn-savecard .sc-x{background:transparent;border:1px solid var(--line);color:var(--muted);padding:.4rem .8rem;border-radius:10px;cursor:pointer;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em}
.dn-empty{color:var(--muted);font-size:.95rem;text-align:center;padding:2.5rem 1rem}
.dn-fineprint,.dn-disclaimer{color:var(--muted);font-size:.8rem}
.dn-disclaimer{text-align:center;margin-top:2rem;opacity:.7}

/* ===== TOAST ===== */
.dn-toast{position:fixed;bottom:5.5rem;left:50%;transform:translateX(-50%) translateY(20px);background:var(--brass);color:var(--ink);font-family:var(--sans);font-weight:600;font-size:.9rem;padding:.8rem 1.4rem;border-radius:12px;opacity:0;transition:.3s;z-index:9999;pointer-events:none}
.dn-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ===== BOTTOM NAV ===== */
.dn-nav{position:sticky;bottom:0;display:flex;justify-content:space-around;background:rgb(12 11 9 / 95%);backdrop-filter:blur(10px);border-top:1px solid var(--line);margin:2rem -1rem -6rem;padding:.7rem .4rem calc(.7rem + env(safe-area-inset-bottom))}
.dn-nav button{background:none;border:0;color:var(--muted);font-family:var(--sans);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;cursor:pointer;padding:.3rem .6rem}
.dn-nav button.is-active{color:var(--brass)}

/* ===== CREW bits (event cards, tally, availability) reuse tokens ===== */
.dn-evtcard{border-left:none;cursor:pointer}
.dn-evt-sub{color:var(--muted);font-size:.85rem;margin-top:.3rem}
.dn-suggest{border:1px solid rgb(198 163 106 / 45%);background:var(--ink3);padding:1.1rem 1.2rem;border-radius:16px}
.dn-suggest-time{font-family:var(--serif);font-weight:600;font-size:1.9rem;color:var(--cream);margin:.3rem 0 .1rem}
.dn-suggest-note{color:var(--muted);font-size:.82rem;margin:0 0 1rem}
.dn-datepick{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.4rem}
.dn-datepill{border:1px solid var(--line);background:var(--ink3);color:var(--cream);padding:.55rem .8rem;border-radius:10px;cursor:pointer;font-size:.82rem;text-align:center;min-width:74px}
.dn-datepill .dp-dow{display:block;font-family:var(--serif);font-weight:600;font-size:1rem}
.dn-datepill .dp-date{display:block;font-size:.7rem;color:var(--muted);margin-top:1px}
.dn-datepill.sel{background:var(--brass);border-color:var(--brass)}
.dn-datepill.sel .dp-dow,.dn-datepill.sel .dp-date{color:var(--ink)}
.dn-weekhdr{font-family:var(--serif);font-weight:600;font-size:1.1rem;color:var(--brass);margin:.9rem 0 .5rem}
.dn-friendrow{display:flex;align-items:center;gap:.7rem;padding:.65rem 0;border-bottom:1px solid var(--line)}
.dn-friendrow:last-child{border-bottom:0}
.dn-friendrow .fr-av{width:32px;height:32px;flex-shrink:0;background:var(--brass);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;border-radius:50%}
.dn-friendrow .fr-name{flex:1;color:var(--cream);font-weight:500;font-size:.9rem}
.dn-checkbtn{width:26px;height:26px;border:1px solid var(--line);background:transparent;cursor:pointer;flex-shrink:0;border-radius:6px}
.dn-checkbtn.on{background:var(--brass);border-color:var(--brass)}
.dn-tallyrow{display:flex;align-items:center;gap:.8rem;margin-bottom:.6rem}
.dn-tallyrow .tr-date{width:96px;font-size:.82rem;color:var(--cream);flex-shrink:0}
.dn-tallybar{flex:1;height:22px;background:var(--ink3);border:1px solid var(--line);border-radius:6px;position:relative;overflow:hidden}
.dn-tallybar .fill{height:100%;background:var(--brass);transition:width .4s}
.dn-tallybar.best .fill{background:var(--brassb)}
.dn-tallyrow .tr-n{width:30px;text-align:right;font-family:var(--serif);font-weight:600;font-size:1.1rem;color:var(--cream)}
.dn-headcount{display:flex;align-items:baseline;gap:.5rem;padding:.9rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:.9rem 0}
.dn-headcount .hc-n{font-family:var(--serif);font-weight:600;font-size:1.9rem;color:var(--brass)}
.dn-headcount .hc-l{font-size:.82rem;color:var(--muted)}
.dn-gueststat{display:flex;align-items:center;gap:.6rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.82rem}
.dn-gueststat:last-child{border-bottom:0}
.dn-gueststat .gs-name{flex:1;color:var(--cream);font-weight:500}
.dn-gueststat .gs-badge{font-size:.62rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:.2rem .5rem;border:1px solid var(--line);border-radius:999px}
.dn-gueststat .gs-badge.in{color:var(--brass);border-color:rgb(198 163 106 / 45%)}
.dn-gueststat .gs-badge.out{color:var(--muted)}
.dn-gueststat .gs-badge.wait{color:#c99;opacity:.7}
.dn-nudge{background:transparent;border:1px solid var(--line);color:var(--brass);font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .6rem;cursor:pointer;border-radius:8px}
.dn-future{font-size:.78rem;color:var(--brassb);font-style:italic;margin-top:2px}
.dn-plusrow{display:flex;align-items:center;gap:.6rem;margin-top:.8rem}
.dn-plusrow input{width:56px;background:var(--ink3);border:1px solid var(--line);color:var(--cream);padding:.5rem;text-align:center;border-radius:8px}
.dn-suggchips{display:flex;flex-wrap:wrap;gap:.5rem}
.dn-suggchip{display:inline-flex;align-items:center;gap:.5rem;background:var(--ink3);border:1px solid var(--line);padding:.5rem .8rem;font-size:.82rem;color:var(--cream);cursor:pointer;border-radius:10px}
.dn-suggchip .v{color:var(--brass);font-weight:700;font-size:.75rem}
.dn-sugg{display:flex;justify-content:space-between;align-items:center;gap:.6rem;background:var(--ink3);border:1px solid var(--line);padding:.65rem .8rem;margin-bottom:.5rem;border-radius:10px}
.dn-sugg .sg-nm{font-size:.85rem;color:var(--cream);font-weight:500}
.dn-sugg .sg-nm small{display:block;color:var(--muted);font-size:.72rem}
.dn-sugg .sg-vote{display:flex;align-items:center;gap:.4rem;background:transparent;border:1px solid var(--line);color:var(--brass);padding:.35rem .7rem;border-radius:10px;cursor:pointer;font-size:.75rem;font-weight:700}
.dn-sugg .sg-vote.on{background:var(--brass);border-color:var(--brass);color:var(--ink)}
/* admin */
.dn-adminstats{display:flex;gap:.5rem;flex-wrap:wrap}
.dn-adminstats .as{flex:1;min-width:70px;background:var(--ink2);border:1px solid var(--line);padding:.8rem;text-align:center;border-radius:14px}
.dn-adminstats .as .n{font-family:var(--serif);font-weight:600;font-size:1.7rem;color:var(--brass)}
.dn-adminstats .as .l{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:2px}
.dn-acct .ac-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.dn-acct.inactive{opacity:.6}
.dn-acct .ac-link{font-size:.78rem;color:var(--brassb);margin-top:3px}
.dn-acct .ac-meta{font-size:.72rem;color:var(--muted);margin-top:4px}
.dn-acct .ac-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}
.dn-acct .ac-actions button{background:transparent;border:1px solid var(--line);color:var(--cream);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:.4rem .7rem;border-radius:10px;cursor:pointer;font-weight:600}
.dn-acct .ac-actions button.danger:hover{border-color:#c66;color:#d98a7a}
.dn-acct .ac-edit{margin-top:.7rem;display:none}.dn-acct .ac-edit.open{display:block}
.dn-acct .ac-edit input{width:100%;background:var(--ink3);border:1px solid var(--line);color:var(--cream);padding:.5rem .7rem;border-radius:8px;margin-bottom:.4rem;font-size:.85rem}
.dn-temp{font-family:monospace;font-size:.75rem;color:var(--brassb);background:var(--ink3);padding:2px 6px;border-radius:6px}
.dn-psearchrow{display:flex;align-items:center;gap:.6rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
.dn-psearchrow .ps-nm{flex:1}
.dn-psearchrow .ps-nm b{font-family:var(--serif);font-weight:600;font-size:1.1rem;color:var(--cream);display:block;line-height:1.1}
.dn-psearchrow .ps-nm span{font-size:.72rem;color:var(--muted)}
.dn-psearchrow .ps-add{display:flex;gap:.3rem}
.dn-psearchrow .ps-add button{background:transparent;border:1px solid var(--line);color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;padding:.4rem .6rem;border-radius:8px;cursor:pointer;font-weight:600;white-space:nowrap}
.dn-psearchrow .ps-add button.on{background:var(--brass);border-color:var(--brass);color:var(--ink)}
.dn-placelist .pl-h{font-family:var(--sans);font-weight:600;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--brass);margin:1rem 0 .5rem}
.dn-placechip{display:flex;align-items:center;justify-content:space-between;gap:.6rem;background:var(--ink3);border:1px solid var(--line);padding:.55rem .8rem;margin-bottom:.4rem;border-radius:10px}
.dn-placechip .pc-nm{font-size:.85rem;color:var(--cream);font-weight:500}
.dn-placechip .pc-nm small{display:block;color:var(--muted);font-size:.72rem;font-weight:400}
.dn-placechip .pc-x{background:transparent;border:0;color:var(--muted);font-size:1.1rem;cursor:pointer;padding:0 4px}
.dn-placechip .pc-score{color:var(--brassb);font-weight:700;font-size:.85rem;margin-right:6px}
.dn-searchcard.rated{border-color:var(--brass)}
.dn-searchcard .sc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.dn-searchcard .sc-g{white-space:nowrap;font-size:.8rem;color:var(--brass);font-weight:600}
.dn-searchcard .sc-g .p{color:var(--brassb);margin-left:6px}
.dn-ratebar{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem;align-items:center}
.dn-ratebar .rb-lab{font-size:.66rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);width:100%;margin-bottom:2px}
.dn-score{display:flex;gap:.2rem;flex-wrap:wrap}
.dn-score button{width:26px;height:26px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:.75rem;font-weight:600;cursor:pointer;border-radius:6px}
.dn-score button.on{background:var(--brass);border-color:var(--brass);color:var(--ink)}
.dn-tags{display:flex;gap:.4rem;margin-top:.7rem}
.dn-tags button{flex:1;background:transparent;border:1px solid var(--line);color:var(--muted);font-family:var(--sans);font-weight:600;font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;padding:.5rem;border-radius:10px;cursor:pointer}
.dn-tags button.on{background:var(--brass);border-color:var(--brass);color:var(--ink)}
.dn-tags button.never.on{background:var(--ink3);border-color:#8a5a52;color:#d98a7a}
.dn-tags button.want.on{background:var(--ink3);border-color:var(--brass);color:var(--brassb)}
.dn-notein{width:100%;margin-top:.5rem;background:var(--ink3);border:1px solid var(--line);color:var(--cream);padding:.55rem .7rem;border-radius:10px;font-size:.85rem;font-family:var(--sans)}
.cl-person{margin-bottom:1rem}
.cl-name{font-family:var(--serif);font-weight:600;font-size:1.1rem;color:var(--brass);margin-bottom:.4rem;padding-bottom:.3rem;border-bottom:1px solid var(--line)}
.cl-place{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem 0;cursor:pointer;border-bottom:1px solid var(--line)}
.cl-place:last-child{border-bottom:0}
.cl-pnm{font-size:.85rem;color:var(--cream);font-weight:500}
.cl-pnm small{display:block;color:var(--muted);font-size:.72rem;font-weight:400}
.cl-tag{font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--brassb);white-space:nowrap}
@media(max-width:560px){.dn-links{flex-wrap:wrap}.dn-links a{flex:1 1 30%}}

/* DESKTOP TILE SHRINK - photos 20% smaller on wider screens only; mobile unchanged */
@media(min-width:800px){.dn-cui-grid{max-width:80%;margin:0 auto}}

/* Pick-a-vibe small photo tiles */
.dn-vibe-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem}
@media(min-width:640px){.dn-vibe-grid{grid-template-columns:repeat(6,1fr)}}
.dn-vibe{position:relative;overflow:hidden;border-radius:10px;border:2px solid transparent;padding:0;background:none;cursor:pointer;aspect-ratio:1}
.dn-vibe.sel{border-color:var(--brass)}
.dn-vibe img{width:100%;height:100%;object-fit:cover;display:block}
.dn-vibe span{position:absolute;left:0;right:0;bottom:0;padding:.3rem .25rem .25rem;font-size:.58rem;font-weight:700;color:#fff;background:linear-gradient(to top,rgba(8,7,5,.96) 0%,rgba(8,7,5,.88) 60%,rgba(8,7,5,0) 100%);text-shadow:0 1px 2px rgba(0,0,0,.9);text-align:left;line-height:1.1}

/* Browse-all button + cuisine modal */
.dn-browse-all{position:relative;overflow:hidden;border-radius:12px;border:2px dashed rgb(198 163 106 / 45%);background:var(--ink3);cursor:pointer;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;color:var(--brass)}
.dn-browse-all span{font-family:var(--serif);font-size:2rem;line-height:1;color:var(--brass)}
.dn-browse-all small{font-family:var(--sans);font-size:.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brassb)}
.dn-modal{position:fixed;inset:0;z-index:9998;background:rgb(6 5 4 / 82%);backdrop-filter:blur(3px);display:none;align-items:flex-end;justify-content:center}
@media(min-width:800px){.dn-modal{align-items:center}}
.dn-modal.open{display:flex}
.dn-modal-panel{background:var(--ink2);border:1px solid var(--line);border-radius:24px 24px 0 0;width:100%;max-width:44rem;max-height:82vh;display:flex;flex-direction:column}
@media(min-width:800px){.dn-modal-panel{border-radius:24px}}
.dn-modal-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.2rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--ink2);border-radius:24px 24px 0 0}
.dn-modal-head span{font-family:var(--serif);font-weight:600;font-size:1.4rem;color:var(--cream)}
.dn-modal-x{background:var(--brass);color:var(--ink);border:0;border-radius:10px;font-family:var(--sans);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;padding:.55rem 1.1rem;cursor:pointer}
.dn-modal-grid{overflow-y:auto;padding:1rem 1.1rem 2rem;gap:.5rem}

/* card refinements to match zip */
.dn-card-photo{position:relative}
.dn-card-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,var(--ink) 0%,rgb(12 11 9 / 25%) 45%,transparent 100%);pointer-events:none}
.dn-card-slot{z-index:2}
.dn-card-tag{z-index:2;left:.75rem;right:auto;background:var(--brass);color:var(--ink)}
.dn-card-titleover{position:absolute;z-index:2;left:1rem;right:1rem;bottom:.9rem}
.dn-card-titleover h3{font-family:var(--serif);font-weight:600;font-size:1.65rem;line-height:1.1;color:var(--cream);text-transform:none;letter-spacing:0}
.dn-card-titleover p{margin:.25rem 0 0;font-size:.85rem;color:var(--cream2)}
.dn-cardmeta{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem 1rem;font-size:.85rem;color:var(--muted);margin-bottom:.2rem}
.dn-cardmeta .dn-stars,.dn-cardmeta .cm-star{color:var(--brass);font-weight:600}
.dn-cardmeta .dn-stars span,.dn-cardmeta .cm-star span{color:var(--muted2);font-weight:400}
.dn-cardmeta .cm-loc{color:var(--muted)}

/* Auth screen polish to match 'Welcome back' */
.dn-auth{position:relative;min-height:88vh;padding:2rem 1.2rem 3rem;overflow:hidden}
.dn-auth::before{content:'';position:absolute;inset:0;background:url('https://trinityiam.com/wp-content/uploads/2026/09/interior.jpg') center/cover;opacity:.32}
.dn-auth::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgb(12 11 9 / 55%),var(--ink) 78%)}
.dn-auth>*{position:relative;z-index:1}
.dn-auth .dn-hero{text-align:left;padding:2.5rem 0 1.2rem;max-width:26rem;margin:0 auto}
.dn-auth .dn-eyebrow{letter-spacing:.24em}
.dn-auth .dn-eyebrow::before{content:'\2665  ';color:var(--brass)}
.dn-auth .dn-title{font-size:clamp(2.4rem,10vw,3.2rem);margin-top:.3rem}
.dn-auth .dn-lede{margin:.9rem 0 0;color:var(--cream2);font-size:.95rem}
.dn-authcard{background:transparent;border:0;padding:0;max-width:26rem;margin:1.2rem auto 0}
.dn-authcard::before{display:none}
.dn-authcard .dn-input{background:rgb(28 24 20 / 82%);min-height:52px;border-radius:14px}
.dn-authcard .dn-generate{border-radius:14px;min-height:54px;font-size:.85rem}
.dn-authcard .dn-tabs{background:rgb(20 17 14 / 70%)}

/* Plan screen \u2014 carry the landing polish into the app */
#tiam-dn-root .dn-screen{background:radial-gradient(120% 60% at 50% 0%, rgb(28 24 20 / 55%) 0%, transparent 60%)}
.dn-apphead{border-bottom:1px solid var(--line);padding-bottom:1.4rem}
.dn-apphead .dn-eyebrow{color:var(--brass);letter-spacing:.24em}
.dn-apphead .dn-greet{font-size:2.5rem;color:var(--cream)}
.dn-planhead{text-align:center;padding:1.6rem 0 1.4rem}
.dn-planhead-kick{font-size:.72rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--brass);margin:0}
.dn-planhead-h{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,6vw,2.6rem);color:var(--cream);margin:.5rem 0 0;line-height:1.08}
.dn-orn{position:relative;width:8rem;margin:.8rem auto 0;color:var(--brass);text-align:center;font-size:1rem}
.dn-orn::before,.dn-orn::after{content:'';position:absolute;top:50%;width:2.6rem;height:1px;background:var(--brass);opacity:.5}
.dn-orn::before{left:0}.dn-orn::after{right:0}
.dn-panel-warm{background:linear-gradient(180deg, rgb(28 24 20 / 60%), var(--ink2));border-radius:28px;padding:1.4rem 1.3rem 1.6rem}
.dn-panel-warm .dn-field{margin-bottom:1.8rem}
.dn-panel-warm .dn-label{text-align:left;font-size:.72rem}

/* Browse-all modal grid fixes */
.dn-modal-grid{max-width:none!important;margin:0!important;grid-template-columns:repeat(3,1fr)!important}
@media(min-width:520px){.dn-modal-grid{grid-template-columns:repeat(4,1fr)!important}}
.dn-modal .dn-cui{aspect-ratio:1;min-height:96px}
.dn-modal .dn-cui img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;display:block}

/* input text/cursor visibility fix */
#tiam-dn-root .dn-input{color:var(--cream)!important;caret-color:var(--brass)!important;-webkit-text-fill-color:var(--cream)!important}
#tiam-dn-root .dn-input::placeholder{color:var(--muted)!important;-webkit-text-fill-color:var(--muted)!important}
#tiam-dn-root .dn-input:-webkit-autofill,#tiam-dn-root .dn-input:-webkit-autofill:hover,#tiam-dn-root .dn-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--cream)!important;caret-color:var(--brass)!important;-webkit-box-shadow:0 0 0 1000px var(--ink3) inset!important;box-shadow:0 0 0 1000px var(--ink3) inset!important;transition:background-color 9999s ease-in-out 0s}

/* login gate (Couples when logged out) */
.dn-gate{text-align:center;padding:2.5rem 1.4rem;max-width:26rem;margin:1rem auto;background:var(--ink2);border:1px solid var(--line);border-radius:24px}
.dn-gate h2{margin-bottom:.7rem}
.dn-gate p{color:var(--cream2);font-size:.95rem;line-height:1.55;margin-bottom:1.4rem}

/* Couples: force selected-state visibility + readable text */
#tiam-dn-root .dn-datepill.sel{background:var(--brass)!important;border-color:var(--brass)!important}
#tiam-dn-root .dn-datepill.sel .dp-dow,#tiam-dn-root .dn-datepill.sel .dp-date{color:var(--ink)!important}
#tiam-dn-root .dn-loc button.is-active{background:var(--brass)!important;border-color:var(--brass)!important;color:var(--ink)!important}
#tiam-dn-root .ec-title,#tiam-dn-root .dn-evtcard .ec-title{color:var(--cream)!important}
#tiam-dn-root .dn-evtcard{background:var(--ink2)!important}
#tiam-dn-root .cl-name{color:var(--brass)!important}
#tiam-dn-root .fr-name,#tiam-dn-root .gs-name{color:var(--cream)!important}

/* Profile header */
.dn-profhead{text-align:center;padding:1rem 0 1.4rem}
.dn-profavatar{width:76px;height:76px;border-radius:50%;margin:0 auto .8rem;background:linear-gradient(150deg,var(--brass),var(--brassd));display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;font-size:2.2rem;color:var(--ink)}
.dn-profhead .dn-h2{margin-bottom:.4rem}
.dn-profsub{color:var(--cream2);font-size:.9rem;line-height:1.5;max-width:30rem;margin:0 auto}
.dn-fieldhint{color:var(--muted);font-size:.78rem;margin:0 0 .6rem}

/* weekday collapsible + today marker */
.dn-weekdays-toggle{background:transparent;border:1px dashed rgb(198 163 106 / 45%);color:var(--brass);font-family:var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;padding:.5rem .9rem;border-radius:10px;cursor:pointer;margin:.5rem 0 .3rem}
.dn-weekdays{margin-top:.2rem}
.dn-datepill.dn-today{border-color:var(--brass)}
.dn-datepill.dn-today .dp-dow{color:var(--brassb)}
.dn-datepill.dn-today.sel .dp-dow{color:var(--ink)}

/* input bg lock - never let inputs go white */
#tiam-dn-root input.dn-input,#tiam-dn-root textarea.dn-input,#tiam-dn-root select.dn-input{background:var(--ink3)!important;color:var(--cream)!important;-webkit-text-fill-color:var(--cream)!important;caret-color:var(--brass)!important}
#tiam-dn-root input.dn-input:focus,#tiam-dn-root input.dn-input:active,#tiam-dn-root input.dn-input:hover{background:var(--ink3)!important;color:var(--cream)!important;-webkit-text-fill-color:var(--cream)!important}
#tiam-dn-root input.dn-input::placeholder{color:var(--muted)!important;-webkit-text-fill-color:var(--muted)!important;opacity:1}

/* modal label fix - show cuisine names in Browse all popup */
.dn-modal .dn-cui{position:relative}
.dn-modal .dn-cui span{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:.4rem .35rem;font-size:.62rem;font-weight:600;color:#fff;background:linear-gradient(to top,rgba(8,7,5,.96) 0%,rgba(8,7,5,.85) 60%,transparent 100%);text-shadow:0 1px 2px rgba(0,0,0,.9);text-align:left;line-height:1.1}

/* RSVP: partner check-line + unavailable button */
.dn-checkline{display:flex;align-items:center;gap:.6rem;cursor:pointer}
.dn-checkline span{color:var(--cream);font-size:.95rem;font-weight:500}
.dn-partnerrow{margin-top:1.2rem}
.dn-cutoffwrap{flex-wrap:wrap}
.dn-cutoffwrap button{flex:1 1 30%;min-width:90px}
.dn-loc button.dn-unavail.is-active{background:var(--wine2)!important;border-color:var(--wine2)!important;color:var(--cream)!important}

/* past weekend day - greyed, not selectable */
.dn-datepill.dn-past{opacity:.35;pointer-events:none;filter:grayscale(1)}
.dn-datepill.dn-past .dp-dow{color:var(--muted)}

/* host dashboard restaurant shortlist */
.dn-shortcard{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.dn-shortcard:last-child{border-bottom:0}
.dn-shortcard .sc-info b{color:var(--cream);font-family:var(--serif);font-weight:600;font-size:1.05rem;display:block;line-height:1.15}
.dn-shortcard .sc-info small{color:var(--muted);font-size:.78rem}
.dn-lockbtn{flex-shrink:0;background:var(--brass);color:var(--ink);border:0;border-radius:10px;font-family:var(--sans);font-weight:600;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;padding:.55rem .8rem;cursor:pointer}
.dn-lockbtn:hover{background:var(--brassb)}

/* best time for everyone */
.dn-besttime{background:var(--ink3);border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem;margin:.6rem 0;font-size:.9rem;color:var(--cream2)}
.dn-besttime b{color:var(--brassb);font-family:var(--serif);font-weight:600}

/* who's coming mini roster */
.dn-rostermini{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}
.dn-rchip{font-size:.72rem;font-weight:600;padding:.3rem .6rem;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.dn-rchip.in{color:var(--brass);border-color:rgb(198 163 106 / 45%)}
.dn-rchip.out{color:var(--muted2);opacity:.6;text-decoration:line-through}
.dn-rchip.wait{color:var(--muted)}

/* number input visibility (Bringing extras) */
#tiam-dn-root .dn-plusrow input[type=number]{color:var(--cream)!important;-webkit-text-fill-color:var(--cream)!important;background:var(--ink3)!important;border-radius:10px;font-size:1rem;caret-color:var(--brass)!important}
#tiam-dn-root .dn-plusrow input[type=number]:focus{color:var(--cream)!important;-webkit-text-fill-color:var(--cream)!important;background:var(--ink3)!important;outline:none;border-color:var(--brass)}

/* floating 'Send my response' button - stays visible while scrolling */
.dn-floatbtn{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(5rem + env(safe-area-inset-bottom));z-index:60;width:calc(100% - 2rem);max-width:62rem;box-shadow:0 8px 28px rgba(8,7,5,.6);margin-top:0!important}
#tiam-dn-root #scr-crew{padding-bottom:6rem}

/* modal tile square fix - stop food photos overlapping */
#tiam-dn-root .dn-modal-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:.6rem!important;align-items:stretch!important}
@media(min-width:560px){#tiam-dn-root .dn-modal-grid{grid-template-columns:repeat(3,1fr)!important}}
#tiam-dn-root .dn-modal-panel{max-width:52rem!important;width:94%!important}
#tiam-dn-root .dn-modal-grid .dn-cui{position:relative!important;overflow:hidden!important;border-radius:12px!important;display:block!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important}
#tiam-dn-root .dn-modal-grid .dn-cui img{position:static!important;display:block!important;width:100%!important;height:130px!important;object-fit:cover!important;aspect-ratio:auto!important}
#tiam-dn-root .dn-modal-grid .dn-cui span{position:absolute!important;left:0;right:0;bottom:0;z-index:2}

/* === CUISINE MODAL TILES (clean) === */
#tiam-dn-root .dn-modal-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:.6rem!important;padding:1rem 1.1rem 2rem!important;overflow-y:auto}
@media(min-width:560px){#tiam-dn-root .dn-modal-grid{grid-template-columns:repeat(3,1fr)!important}}
#tiam-dn-root .dn-modal-panel{max-width:52rem!important;width:94%!important}
#tiam-dn-root .dn-modal-grid .dn-cui{position:relative!important;display:block!important;height:130px!important;min-height:130px!important;max-height:130px!important;aspect-ratio:auto!important;overflow:hidden!important;border-radius:12px!important;border:2px solid transparent!important;padding:0!important}
#tiam-dn-root .dn-modal-grid .dn-cui.sel{border-color:var(--brass)!important}
#tiam-dn-root .dn-modal-grid .dn-cui img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;aspect-ratio:auto!important;display:block!important}
#tiam-dn-root .dn-modal-grid .dn-cui span{position:absolute!important;left:0;right:0;bottom:0;z-index:2;padding:.4rem!important;font-size:.72rem!important;font-weight:600;color:#fff;background:linear-gradient(to top,rgba(8,7,5,.95),rgba(8,7,5,.6),transparent);text-align:left;line-height:1.15}

/* floatbtn screen padding - keep last content clear of floating button */
#tiam-dn-root #view-result{padding-bottom:6rem}
#tiam-dn-root #scr-plan{padding-bottom:2rem}

/* per-card save-this-spot button */
.dn-cardsave{width:100%;font-size:.78rem!important}
.dn-cardsave.saved{background:var(--ink3)!important;color:var(--brassb)!important;border:1px solid var(--brass)}

/* floating action bar (two buttons pinned at bottom) */
.dn-floatbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(5rem + env(safe-area-inset-bottom));z-index:60;width:calc(100% - 2rem);max-width:62rem;display:flex;gap:.6rem;box-shadow:0 8px 28px rgba(8,7,5,.6);border-radius:12px}
.dn-floatbar .dn-back{flex:0 0 34%;margin:0!important;background:rgb(20 17 14 / 96%)}
.dn-floatbar .dn-generate{flex:1;margin:0!important}
