:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14110f;--bg-2:#1d1815;--ink:#f6efe7;--muted:#b7a99c;--line:#f6efe71a;--like:#e85d3a;--like-deep:#c2412a;--pass:#8a9aa8;--gold:#e8c39a;--safe-top:env(safe-area-inset-top,0px);--safe-bot:env(safe-area-inset-bottom,0px);--font:"Plus Jakarta Sans", system-ui, sans-serif;--display:"Fraunces", Georgia, serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;min-height:100%;margin:0}body{font-family:var(--font);background:radial-gradient(1200px 800px at 50% -10%, #2a211c, var(--bg));color:var(--ink);overscroll-behavior:none}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%}.phone{background:var(--bg);grid-template-rows:auto 1fr auto;max-width:480px;height:100dvh;margin:0 auto;display:grid;position:relative;overflow:hidden}.phone.is-chat{grid-template-rows:1fr auto}.topbar{padding:calc(14px + var(--safe-top)) 18px 10px;justify-content:space-between;align-items:center;display:flex}.logo{font-family:var(--display);letter-spacing:-.03em;font-size:1.7rem}.stage{min-height:0;position:relative}.deck{grid-template-rows:1fr auto;gap:14px;height:100%;padding:4px 16px 8px;display:grid}.swipe-card{touch-action:none;-webkit-user-select:none;user-select:none;background:#2a2420;border-radius:28px;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:0 24px 50px #00000059}.swipe-card.is-back{filter:brightness(.72);pointer-events:none;z-index:0;height:calc(100% - 90px);position:absolute;inset:4px 22px auto;transform:scale(.96)translateY(10px)}.deck .swipe-card:not(.is-back){z-index:1}.photo-track{position:absolute;inset:0}.photo-track img{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.photo-track img.is-on{opacity:1}.swipe-card.is-text{background:linear-gradient(160deg,#2a221d 0%,#1a1512 100%)}.photo-bars{z-index:2;gap:4px;display:flex;position:absolute;top:10px;left:12px;right:12px}.photo-bars span{background:#ffffff47;border-radius:99px;flex:1;height:3px}.photo-bars span.is-on{background:#fff}.stamp{letter-spacing:.12em;z-index:2;border:3px solid;border-radius:10px;padding:8px 14px;font-weight:800;position:absolute;top:48px}.stamp.like{color:#7dffb1;border-color:#7dffb1;left:18px;transform:rotate(-12deg)}.stamp.nope{color:#ff8a7a;border-color:#ff8a7a;right:18px;transform:rotate(12deg)}.card-copy{z-index:2;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;flex-direction:column;padding:40px 24px 28px;display:flex;position:absolute;inset:0;overflow-y:auto}.card-copy-inner{margin:auto 0}.card-meta{color:var(--gold);letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem}.card-copy h2{font-family:var(--display);margin:0;font-size:2.4rem;font-weight:650;line-height:1.05}.card-copy h2 span{font-family:var(--font);color:var(--gold);font-size:1.2rem;font-weight:500}.job{color:var(--muted);margin:12px 0 14px;font-size:1rem}.bio{color:#f3e9de;margin:0 0 18px;font-size:1rem;line-height:1.45}.tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tags li{background:#ffffff1f;border-radius:999px;padding:5px 10px;font-size:.75rem}.actions{justify-content:center;gap:22px;padding-bottom:4px;display:flex}.fab{cursor:pointer;border:0;border-radius:50%;width:64px;height:64px}.fab.pass{color:var(--pass);background:#2b3238;font-size:1.4rem}.fab.like{background:linear-gradient(180deg, var(--like), var(--like-deep));color:#fff;font-size:1.5rem;box-shadow:0 10px 24px #e85d3a59}.dock{padding:8px 12px calc(10px + var(--safe-bot));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#14110feb;grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}.dock button{color:var(--muted);background:0 0;border:0;border-radius:14px;padding:12px 8px;position:relative}.dock button.is-on{color:var(--ink);background:var(--bg-2)}.dock i{background:var(--like);color:#fff;border-radius:99px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-style:normal;display:grid;position:absolute;top:6px;right:18%}.pane,.chat-pane{height:100%;padding:8px 18px 24px;overflow:auto}.pane-head .eyebrow,.modal .eyebrow,.chat-hint{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:.72rem}.pane-head h1,.empty-deck h2,.modal h2{font-family:var(--display);margin:6px 0 16px;font-weight:650}.empty{color:var(--muted);line-height:1.5}.match-grid{grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none;display:grid}.match-tile{text-align:left;background:0 0;border:0;width:100%;padding:0}.match-tile img{aspect-ratio:3/4;object-fit:cover;border-radius:18px;width:100%;display:block}.match-tile span{margin-top:8px;font-weight:600;display:block}.chat-pane{grid-template-rows:auto 1fr auto;padding:0;display:grid}.chat-head{padding:calc(8px + var(--safe-top)) 12px 12px;border-bottom:1px solid var(--line);align-items:center;gap:10px;display:flex}.chat-head img{object-fit:cover;border-radius:50%;width:40px;height:40px}.chat-head p{color:var(--muted);margin:0;font-size:.8rem}.chat-log{flex-direction:column;gap:8px;padding:16px;display:flex;overflow:auto}.bubble{border-radius:16px;max-width:78%;margin:0;padding:10px 12px;line-height:1.35}.bubble.me{background:var(--like);margin-left:auto}.bubble.them{background:var(--bg-2)}.composer{padding:10px 12px calc(8px + var(--safe-bot));border-top:1px solid var(--line);gap:8px;display:flex}.composer input,.profile-form input,.profile-form textarea{border:1px solid var(--line);background:var(--bg-2);border-radius:14px;outline:none;width:100%;padding:12px 14px}.composer button,.primary-btn{background:var(--like);border:0;border-radius:14px;padding:12px 16px;font-weight:700}.composer button:disabled{opacity:.4}.profile-form{gap:12px;display:grid}.profile-form label{color:var(--muted);gap:6px;font-size:.82rem;display:grid}.row{grid-template-columns:90px 1fr;gap:10px;display:grid}.ghost{border:1px solid var(--line);background:0 0;border-radius:999px;padding:6px 14px}.ghost.sm:disabled{opacity:.35}.ghost:not(.sm){width:40px;height:40px;font-size:1.4rem}.primary-btn,.text-btn{width:100%}.text-btn{color:var(--muted);background:0 0;border:0;padding:12px}.empty-deck{text-align:center;color:var(--muted);align-self:center;padding:24px}.modal-scrim{z-index:5;padding:16px 16px calc(88px + var(--safe-bot));background:#080605b8;place-items:end center;display:grid;position:absolute;inset:0}.modal{text-align:center;background:#241e1a;border-radius:24px;width:100%;padding:22px 20px 12px}.match-faces img{object-fit:cover;border-radius:18px;width:112px;height:140px}.modal-copy{color:var(--muted)}@media (width>=720px){body{place-items:center;display:grid}.phone{border:1px solid var(--line);border-radius:36px;width:390px;height:min(844px,100dvh);box-shadow:0 40px 80px #00000073}}.splash{height:100dvh;color:var(--muted);place-items:center;display:grid}.you-label{color:var(--muted);background:var(--bg-2);border-radius:999px;padding:5px 12px;font-size:.8rem}.auth-overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a080799;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.auth-card{background:var(--bg-2);border:1px solid var(--line);border-radius:24px;width:100%;max-width:420px;max-height:92dvh;padding:24px 22px 26px;overflow-y:auto}.auth-logo{font-family:var(--display);text-align:center;margin-bottom:6px;font-size:2rem}.auth-tabs{gap:6px;margin-bottom:16px;display:flex}.auth-tab{color:var(--muted);background:0 0;border:0;border-radius:10px;flex:1;padding:9px 4px;font-size:.78rem}.auth-tab.is-on{color:var(--ink);background:var(--bg)}.auth-title{font-family:var(--display);margin:0 0 14px;font-size:1.3rem}.auth-section{border-top:1px solid var(--line);margin-top:8px;padding-top:10px}.auth-error{color:#ff8a7a;margin:10px 0 0;font-size:.85rem}.ok-msg{color:#7dffb1;font-size:.85rem}.field{margin-bottom:12px;display:block}.field>span{color:var(--muted);margin-bottom:5px;font-size:.75rem;display:block}.field input,.field select,.field textarea{background:var(--bg);border:1px solid var(--line);border-radius:10px;outline:none;width:100%;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}.field-row{gap:16px;margin-bottom:12px;display:flex}.hint{color:var(--muted);font-size:.72rem}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:.8rem}.chip.is-on{border-color:var(--gold);color:var(--ink);background:#e8c39a1f}.check,.radio{color:var(--muted);align-items:center;gap:8px;margin-bottom:6px;font-size:.85rem;display:flex}.auth-submit{background:linear-gradient(180deg, var(--like), var(--like-deep));color:#fff;cursor:pointer;border:0;border-radius:12px;width:100%;margin-top:8px;padding:13px;font-weight:700}.auth-submit:disabled{opacity:.6}.detail-pane{overflow-y:auto}.detail-head{align-items:center;gap:8px;margin-bottom:14px;display:flex}.detail-head h1{font-family:var(--display);margin:0;font-size:1.5rem}.detail-photos{grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:16px;display:grid}.detail-photos img{aspect-ratio:3/4;object-fit:cover;border-radius:12px;width:100%}.detail-card{background:var(--bg-2);border:1px solid var(--line);border-radius:18px;margin-bottom:16px;padding:18px}.detail-card h2{font-family:var(--display);margin:4px 0 2px}.rate-grid{grid-template-columns:1fr 1fr 1fr;gap:8px;margin:12px 0;display:grid}.rate-grid div{background:var(--bg);text-align:center;border-radius:12px;padding:10px}.rate-grid span{color:var(--muted);font-size:.7rem;display:block}.rate-grid b{font-size:.85rem}.booking{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.booking h3{margin:0 0 10px;font-size:1rem}.section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin:18px 0 8px;font-size:.78rem}.slot-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.slot-row{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.slot-row b{font-size:.9rem;display:block}.slot-row small{color:var(--muted);font-size:.75rem;display:block}.req-actions{gap:6px;display:flex}.badge{text-transform:capitalize;border-radius:999px;padding:4px 10px;font-size:.72rem}.badge.pending{color:var(--gold);background:#e8c39a26}.badge.approved{color:#7dffb1;background:#7dffb126}.badge.rejected{color:#ff8a7a;background:#ff8a7a26}.small-btn{border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:.8rem}.small-btn.ok{color:#7dffb1;border-color:#7dffb166}.small-btn.danger{color:#ff8a7a;border-color:#ff8a7a66}.link-btn{color:var(--gold);cursor:pointer;background:0 0;border:0;padding:0;font-size:.75rem}.slot-form,.calendar-list{background:var(--bg-2);border:1px solid var(--line);border-radius:16px;margin-bottom:12px;padding:14px}.slot-form-fields{grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;display:grid}.slot-form-fields .field{margin-bottom:0}.my-info{background:var(--bg-2);border:1px solid var(--line);border-radius:16px;margin:16px 0;padding:14px}.my-info .section-title{margin-top:0}.admin{max-width:760px;height:100dvh;margin:0 auto;padding:16px;overflow-y:auto}.admin-head{justify-content:space-between;align-items:center;display:flex}.admin-head h1{font-family:var(--display);font-size:1.6rem}.admin-tabs{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.admin-tabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:7px 14px}.admin-tabs button.is-on{color:var(--ink);border-color:var(--gold)}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.stat{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:16px}.stat b{font-size:1.6rem;font-family:var(--display);display:block}.stat span{color:var(--muted);font-size:.8rem}.table-wrap{overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;font-size:.82rem}.table-wrap th,.table-wrap td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:8px}.table-wrap th{color:var(--muted);text-transform:uppercase;font-size:.7rem}.primary-btn.block{width:100%}
