/* ============================================================
   Cu-Bine — cubine.css  (Phase 1: shell, nav, auth)
   Grows per phase as screens are built.
   ============================================================ */
:root{
  --serif:'Playfair Display',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
  --cream:#FDF8F3; --cream2:#F5EDE3; --cream3:#EDE0D4;
  --blush:#E8A898; --blush2:#F2C4B8; --blush3:#FDEAE5;
  --rose:#D4756A; --rose2:#C4645A;
  --gold:#C9924A; --gold2:#E6B87A; --gold3:#FBF0E0;
  --brown:#6B4C3A; --bark:#3D2B20;
  --warm-gray:#9A8880; --text:#3D2B20; --text2:#6B4C3A; --text3:#9A8880;
  --shadow:0 8px 40px rgba(61,43,32,.13); --shadow2:0 2px 16px rgba(61,43,32,.08);
  --r:20px; --r2:14px; --r3:10px; --trans:all .2s cubic-bezier(.4,0,.2,1);
  --nav-h:64px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--cream);color:var(--text);min-height:100vh;}
button{font-family:var(--sans);cursor:pointer;border:none;outline:none;}
input,select,textarea{font-family:var(--sans);outline:none;border:none;width:100%;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
:focus-visible{outline:2px solid var(--rose);outline-offset:2px;}
::-webkit-scrollbar{width:6px;height:6px;} ::-webkit-scrollbar-thumb{background:var(--cream3);border-radius:3px;}

/* ---------- App shell ---------- */
.app{min-height:100vh;display:flex;flex-direction:column;}
.appbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:14px;
  padding:14px clamp(16px,4vw,32px);background:rgba(253,248,243,.96);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--cream3);}
.brand{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.5px;}
.brand em{font-style:italic;color:var(--rose);}
.appbar-title{flex:1;text-align:center;font-family:var(--serif);font-size:16px;font-weight:600;color:var(--text2);}
.appbar-actions{display:flex;gap:8px;}
.appbar-btn{width:38px;height:38px;border-radius:50%;background:#fff;border:1.5px solid var(--cream3);
  display:flex;align-items:center;justify-content:center;font-size:15px;box-shadow:var(--shadow2);transition:var(--trans);}
.appbar-btn:hover{border-color:var(--blush2);transform:scale(1.05);}
.content{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:clamp(18px,3vw,32px);
  padding-bottom:calc(var(--nav-h) + 28px);}

/* ---------- Bottom nav ---------- */
.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;z-index:100;
  width:100%;max-width:560px;height:var(--nav-h);background:#fff;border-top:1px solid var(--cream3);
  display:flex;align-items:center;justify-content:space-around;
  padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 24px rgba(61,43,32,.06);}
.bn-item{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--warm-gray);
  font-size:10px;font-weight:600;flex:1;padding:8px 0;transition:var(--trans);}
.bn-item .bn-ico{font-size:20px;filter:grayscale(.4);opacity:.7;transition:var(--trans);}
.bn-item.active{color:var(--rose);}
.bn-item.active .bn-ico{filter:none;opacity:1;transform:translateY(-1px);}
@media(min-width:760px){
  .bottom-nav{border-radius:18px 18px 0 0;border:1px solid var(--cream3);border-bottom:none;}
}

/* ---------- Page placeholder (Phase-1 stubs) ---------- */
.sec-header{margin-bottom:20px;}
.sec-title{font-family:var(--serif);font-size:clamp(24px,3vw,30px);font-weight:700;color:var(--text);margin-bottom:4px;}
.sec-sub{font-size:14px;color:var(--text3);}
.placeholder{background:#fff;border:1.5px dashed var(--cream3);border-radius:var(--r);
  padding:clamp(28px,5vw,52px);text-align:center;box-shadow:var(--shadow2);}
.placeholder .ph-ico{font-size:46px;margin-bottom:12px;}
.placeholder h2{font-family:var(--serif);font-size:22px;font-weight:700;margin-bottom:8px;}
.placeholder p{font-size:14px;color:var(--text3);line-height:1.6;max-width:460px;margin:0 auto;}
.ph-phase{display:inline-block;margin-top:16px;font-size:11px;font-weight:800;letter-spacing:1px;
  text-transform:uppercase;color:var(--gold);background:var(--gold3);border:1px solid rgba(201,146,74,.3);
  border-radius:20px;padding:5px 14px;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 26px;
  border-radius:25px;font-size:15px;font-weight:700;transition:var(--trans);width:100%;}
.btn-primary{background:linear-gradient(135deg,var(--rose),var(--rose2));color:#fff;box-shadow:0 8px 26px rgba(212,117,106,.4);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(212,117,106,.5);}
.btn-ghost{background:#fff;border:2px solid var(--cream3);color:var(--text2);}
.btn-ghost:hover{border-color:var(--blush2);}

/* ---------- Auth screens ---------- */
.auth-body{background:linear-gradient(150deg,#FDF8F3,#F5EDE3 60%,#EDE0D4);min-height:100vh;
  display:flex;align-items:center;justify-content:center;padding:24px;}
.auth-wrap{width:100%;max-width:420px;}
.auth-card{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);border:1.5px solid var(--cream3);
  padding:clamp(26px,5vw,38px);}
.auth-brand{font-family:var(--serif);font-size:30px;font-weight:700;color:var(--text);text-align:center;letter-spacing:-.5px;}
.auth-brand em{font-style:italic;color:var(--rose);}
.auth-tag{text-align:center;font-size:12px;color:var(--text3);margin-top:4px;margin-bottom:22px;font-style:italic;}
.auth-title{font-family:var(--serif);font-size:21px;font-weight:700;margin-bottom:4px;}
.auth-sub{font-size:13px;color:var(--text3);margin-bottom:20px;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  color:var(--text3);margin-bottom:6px;}
.field .input-wrap{display:flex;align-items:center;gap:8px;background:var(--cream2);border:1.5px solid var(--cream3);
  border-radius:12px;padding:12px 14px;transition:var(--trans);}
.field .input-wrap:focus-within{border-color:var(--blush2);background:#fff;}
.field .input-wrap .pfx{color:var(--text3);font-size:14px;font-weight:600;}
.field input{background:transparent;font-size:14px;color:var(--text);}
.auth-actions{margin-top:8px;}
.auth-alt{text-align:center;font-size:13px;color:var(--text3);margin-top:18px;}
.auth-alt a{color:var(--rose);font-weight:700;}
.auth-error{background:rgba(212,117,106,.1);border:1px solid rgba(212,117,106,.3);color:var(--rose2);
  border-radius:12px;padding:11px 14px;font-size:13px;margin-bottom:16px;}
.auth-note{background:rgba(106,177,135,.08);border:1px solid rgba(106,177,135,.25);color:#2E7D4F;
  border-radius:12px;padding:11px 14px;font-size:12.5px;margin-bottom:16px;line-height:1.5;}

/* ---------- Toast ---------- */
.toast-wrap{position:fixed;bottom:calc(var(--nav-h) + 18px);left:50%;transform:translateX(-50%);z-index:999;pointer-events:none;}
.toast{background:var(--bark);color:var(--cream);padding:12px 22px;border-radius:26px;font-size:13px;font-weight:600;
  opacity:0;transform:translateY(10px);transition:all .3s;box-shadow:0 8px 30px rgba(0,0,0,.35);
  border:1px solid rgba(201,146,74,.2);white-space:nowrap;}
.toast.on{opacity:1;transform:translateY(0);}

/* ============================================================
   PHASE 2 — modes, interests, discover, gallery, stories, profile
   ============================================================ */

/* ---- pick cards (modes) ---- */
.pick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:8px;}
.pick-card{text-align:left;background:#fff;border-radius:var(--r);padding:22px;box-shadow:var(--shadow2);
  border:2px solid transparent;cursor:pointer;transition:var(--trans);position:relative;overflow:hidden;color:var(--text);}
.pick-card::before{content:'';position:absolute;top:-30px;right:-30px;width:110px;height:110px;border-radius:50%;opacity:.07;}
.pick-card.rom::before{background:var(--rose);}.pick-card.biz::before{background:var(--gold);}.pick-card.cas::before{background:#64B5F6;}
.pick-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.pick-card.sel{border-color:var(--blush2);}
.pick-ico{font-size:34px;margin-bottom:10px;}
.pick-name{font-family:var(--serif);font-size:20px;font-weight:700;margin-bottom:4px;}
.pick-desc{font-size:13px;color:var(--text3);margin-bottom:12px;}
.pick-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.tag{font-size:10px;font-weight:700;padding:4px 10px;border-radius:20px;}
.tr{background:rgba(212,117,106,.1);color:var(--rose);}.tg{background:rgba(201,146,74,.1);color:var(--gold);}.tb{background:rgba(100,181,246,.12);color:#1976D2;}
.pick-go{font-size:13px;font-weight:700;color:var(--rose);}

/* ---- interest cards (radios) ---- */
.interest-card{display:block;text-align:center;background:#fff;border-radius:var(--r);padding:22px 16px;
  border:2px solid var(--cream3);cursor:pointer;transition:var(--trans);position:relative;box-shadow:var(--shadow2);}
.interest-card input{position:absolute;opacity:0;pointer-events:none;}
.interest-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
.interest-card:has(input:checked){border-color:var(--blush2);background:linear-gradient(160deg,#FFF0EE,#FDF8F3);}
.ic-check{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;
  background:linear-gradient(135deg,var(--blush),var(--rose));color:#fff;font-size:11px;
  display:flex;align-items:center;justify-content:center;opacity:0;transition:.2s;}
.interest-card:has(input:checked) .ic-check{opacity:1;}
.ic-icon{font-size:38px;display:block;margin-bottom:8px;}
.ic-name{font-family:var(--serif);font-size:16px;font-weight:700;display:block;}
.ic-desc{font-size:11px;color:var(--text3);display:block;margin-top:3px;}
.also-label{margin-top:20px;font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);margin-bottom:10px;}
.also-label span{font-weight:500;text-transform:none;letter-spacing:0;}
.also-row{display:flex;gap:8px;flex-wrap:wrap;}
.also-chip{cursor:pointer;}
.also-chip input{position:absolute;opacity:0;pointer-events:none;}
.also-chip span{display:inline-block;padding:7px 16px;border-radius:20px;font-size:12px;font-weight:600;
  border:1.5px solid var(--cream3);background:#fff;color:var(--text3);transition:var(--trans);}
.also-chip:has(input:checked) span{background:var(--blush3);border-color:var(--blush2);color:var(--rose);}
.notice{display:flex;align-items:flex-start;gap:12px;background:rgba(106,177,135,.07);border:1px solid rgba(106,177,135,.2);
  border-radius:14px;padding:14px 18px;margin-top:18px;font-size:12px;color:#2E7D4F;line-height:1.55;}
.form-cta{display:flex;justify-content:flex-end;margin-top:22px;}
.form-cta .btn{width:auto;padding:0 30px;}

/* ---- discover top + search ---- */
.disc-top{margin-bottom:16px;}
.disc-top .sec-title{margin-bottom:12px;}
.search-bar{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--cream3);
  border-radius:26px;padding:11px 16px;box-shadow:var(--shadow2);transition:var(--trans);}
.search-bar:focus-within{border-color:var(--blush2);}
.search-ico{color:var(--text3);font-size:14px;}
.search-bar input{background:transparent;font-size:14px;color:var(--text);}
.search-clear{color:var(--text3);font-size:13px;padding:0 4px;}

/* ---- stories rail ---- */
.story-rail{display:flex;gap:14px;padding:4px 2px 18px;overflow-x:auto;scrollbar-width:none;}
.story-rail::-webkit-scrollbar{display:none;}
.sitem{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;width:66px;}
.sring{width:60px;height:60px;border-radius:50%;padding:2.5px;}
.sring.unseen{background:linear-gradient(135deg,var(--gold2),var(--rose),var(--blush));}
.sring.seen{background:var(--cream3);}
.sav{width:100%;height:100%;border-radius:50%;border:2.5px solid var(--cream);overflow:hidden;
  background:linear-gradient(160deg,#D4A5A0,#C8847A);display:flex;align-items:center;justify-content:center;font-size:22px;}
.sav img{width:100%;height:100%;object-fit:cover;}
.sname{font-size:10px;color:var(--text2);font-weight:600;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ---- feed grid ---- */
.feed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;}
.feed-card{background:#fff;border-radius:var(--r2);overflow:hidden;box-shadow:var(--shadow2);border:1.5px solid transparent;transition:var(--trans);}
.feed-card:hover{border-color:var(--blush2);box-shadow:var(--shadow);}
.fc-photo{display:block;height:180px;position:relative;overflow:hidden;background:linear-gradient(160deg,#D4A5A0,#C8847A,#A06070);}
.fc-photo img{width:100%;height:100%;object-fit:cover;}
.fc-photo.noimg img{display:none;}
.fc-noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:46px;color:rgba(255,255,255,.7);}
.fc-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 45%,rgba(0,0,0,.62));}
.fc-badges{position:absolute;top:8px;right:8px;display:flex;gap:5px;}
.fc-badge{border-radius:14px;padding:3px 9px;font-size:9px;font-weight:700;color:#fff;}
.fc-badge.veri{background:rgba(201,146,74,.92);} .fc-badge.story{background:rgba(212,117,106,.92);}
.fc-name-wrap{position:absolute;bottom:10px;left:12px;right:12px;}
.fc-name{font-family:var(--serif);font-size:17px;font-weight:700;color:#fff;line-height:1.1;}
.fc-handle{font-size:11px;color:rgba(255,255,255,.85);margin-top:1px;}
.fc-body{padding:12px 14px 6px;}
.fc-bio{font-size:12.5px;color:var(--text3);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px;}
.fc-meta{font-size:11px;color:var(--text3);margin-top:8px;}
.fc-actions{display:flex;align-items:center;gap:8px;padding:10px 14px 14px;}
.fc-actions .da-form{display:flex;}
.fc-actions .da-form.grow{flex:1.2;}
.fc-pass{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid #FFCDD2;font-size:15px;display:flex;align-items:center;justify-content:center;transition:var(--trans);}
.fc-pass:hover{background:#FFF5F5;}
.fc-view{flex:1;height:40px;border-radius:20px;background:var(--cream2);border:1.5px solid var(--cream3);font-size:12px;font-weight:700;color:var(--text2);display:flex;align-items:center;justify-content:center;transition:var(--trans);}
.fc-view:hover{border-color:var(--blush2);}
.fc-like{width:100%;height:40px;border-radius:20px;background:linear-gradient(135deg,var(--blush),var(--rose));color:#fff;font-size:12px;font-weight:700;box-shadow:0 4px 14px rgba(212,117,106,.4);}

/* ---- detail view ---- */
.back-link{display:inline-block;font-size:13px;font-weight:700;color:var(--text2);margin-bottom:14px;}
.back-link:hover{color:var(--rose);}
.detail{max-width:680px;margin:0 auto;}
.gallery{position:relative;border-radius:var(--r2);overflow:hidden;height:clamp(280px,46vw,420px);background:linear-gradient(160deg,#D4A5A0,#C8847A,#A06070);margin-bottom:18px;}
.gphoto{position:absolute;inset:0;opacity:0;transition:opacity .25s;}
.gphoto.on{opacity:1;}
.gphoto img{width:100%;height:100%;object-fit:cover;}
.gphoto.noimg{background:linear-gradient(160deg,#D4A5A0,#C8847A,#A06070);}
.gphoto.noimg img{display:none;}
.gbars{position:absolute;top:12px;left:12px;right:12px;display:flex;gap:5px;z-index:5;}
.gbar{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.4);overflow:hidden;}
.gbar i{display:block;height:100%;width:0;background:#fff;border-radius:2px;}
.gbar.active i{width:100%;}
.gnav{position:absolute;top:0;bottom:0;width:42%;z-index:4;cursor:pointer;}
.gnav.left{left:0;} .gnav.right{right:0;}
.garrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.85);display:none;align-items:center;justify-content:center;font-size:16px;z-index:6;}
.gallery:hover .garrow{display:flex;}
.garrow.l{left:12px;}.garrow.r{right:12px;}
.gcap{position:absolute;bottom:12px;left:14px;z-index:5;background:rgba(0,0,0,.45);color:#fff;font-size:11px;padding:4px 10px;border-radius:12px;}
.g-story-btn{position:absolute;top:12px;right:12px;z-index:6;background:rgba(0,0,0,.5);color:#fff;font-size:11px;font-weight:700;padding:5px 12px;border-radius:16px;}
.detail-head{margin-bottom:14px;}
.detail-name{font-family:var(--serif);font-size:26px;font-weight:700;}
.veri{color:var(--gold);}
.detail-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text3);margin-top:4px;}
.dot{width:4px;height:4px;border-radius:50%;background:var(--blush2);}
.detail-section-label{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:10px;margin:18px 0 10px;}
.detail-section-label::after{content:'';flex:1;height:1px;background:rgba(201,146,74,.2);}
.detail-bio{font-size:14px;color:var(--text2);line-height:1.7;}
.detail-bio.muted{color:var(--text3);font-style:italic;}
.contract-table{background:#fff;border-radius:var(--r2);overflow:hidden;box-shadow:var(--shadow2);border:1.5px solid var(--cream3);}
.ct-row{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--cream2);}
.ct-row:last-child{border-bottom:none;}
.ct-dot{width:8px;height:8px;border-radius:50%;background:var(--blush2);margin-right:12px;flex-shrink:0;}
.ct-name{flex:1.4;font-size:13px;color:var(--text2);} .ct-val{flex:1;font-size:13px;font-weight:700;text-align:right;}
.detail-actions{max-width:680px;margin:18px auto 0;display:flex;gap:12px;align-items:center;}
.detail-actions .da-form{display:flex;}
.detail-actions .da-form.grow{flex:1.5;}
.da-pass{width:52px;height:52px;border-radius:50%;background:#fff;border:2px solid #FFCDD2;font-size:20px;display:flex;align-items:center;justify-content:center;transition:var(--trans);}
.da-pass:hover{background:#FFF5F5;}
.da-neg{flex:1;height:52px;border-radius:26px;background:var(--cream2);border:2px solid var(--cream3);font-size:14px;font-weight:700;color:var(--text2);display:flex;align-items:center;justify-content:center;gap:8px;transition:var(--trans);}
.da-neg:hover{border-color:var(--gold);color:var(--gold);}
.da-acc{width:100%;height:52px;border-radius:26px;background:linear-gradient(135deg,var(--blush),var(--rose));color:#fff;font-size:15px;font-weight:700;box-shadow:0 6px 22px rgba(212,117,106,.45);}

/* ---- stories viewer ---- */
.sview{position:fixed;inset:0;background:#1A1108;z-index:600;display:none;align-items:center;justify-content:center;}
.sview.on{display:flex;}
.sview-inner{position:relative;width:100%;max-width:440px;height:100%;overflow:hidden;}
.svmedia{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#D4A5A0,#C8847A,#A06070);}
.svmedia img{width:100%;height:100%;object-fit:cover;}
.svgrad{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 18%,transparent 72%,rgba(0,0,0,.6));pointer-events:none;}
.svbars{position:absolute;top:16px;left:14px;right:14px;display:flex;gap:4px;z-index:10;}
.svbar{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.3);overflow:hidden;}
.svbar i{display:block;height:100%;width:0;background:#fff;border-radius:2px;} .svbar.done i{width:100%;}
.svhead{position:absolute;top:28px;left:14px;right:14px;display:flex;align-items:center;gap:10px;z-index:10;}
.svav{width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.7);overflow:hidden;background:linear-gradient(160deg,#D4A5A0,#C8847A);display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff;}
.svav img{width:100%;height:100%;object-fit:cover;}
.svname{font-size:13px;font-weight:700;color:#fff;} .svtime{font-size:11px;color:rgba(255,255,255,.6);}
.svx{margin-left:auto;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:18px;}
.svnav{position:absolute;top:0;bottom:0;width:38%;z-index:8;} .svnav.left{left:0;} .svnav.right{right:0;}
.svcap{position:absolute;bottom:30px;left:18px;right:18px;color:#fff;font-size:14px;line-height:1.5;text-shadow:0 1px 6px rgba(0,0,0,.5);z-index:10;text-align:center;}

/* ---- profile ---- */
.pf-head{display:flex;align-items:center;gap:16px;margin-bottom:14px;}
.pf-avatar{position:relative;width:84px;height:84px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--gold2),var(--gold));border:3px solid #fff;box-shadow:0 4px 20px rgba(201,146,74,.3);
  display:flex;align-items:center;justify-content:center;font-size:34px;overflow:hidden;}
.pf-avatar img{width:100%;height:100%;object-fit:cover;}
.pf-avatar-edit{position:absolute;bottom:-2px;right:-2px;}
.pf-cam{width:30px;height:30px;border-radius:50%;background:var(--rose);color:#fff;border:2px solid #fff;
  display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;}
.pf-cam input{display:none;}
.pf-name{font-family:var(--serif);font-size:23px;font-weight:700;}
.pf-handle{font-size:13px;color:var(--rose);font-weight:600;}
.pf-meta{font-size:12px;color:var(--text3);margin-top:3px;}
.pf-pref{background:var(--cream2);border:1px solid var(--cream3);border-radius:14px;padding:11px 16px;font-size:13px;color:var(--text2);
  display:flex;align-items:center;gap:8px;margin-bottom:22px;}
.pf-pref a{margin-left:auto;color:var(--rose);font-weight:700;font-size:12px;}
.pf-section{margin-bottom:26px;}
.pf-section-label{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.pf-count{background:var(--cream2);border-radius:20px;padding:1px 9px;color:var(--text2);}
.pf-sub{font-weight:600;letter-spacing:0;text-transform:none;color:var(--warm-gray);}
.pf-form{background:#fff;border-radius:var(--r2);padding:18px;box-shadow:var(--shadow2);border:1.5px solid var(--cream3);}
.pf-form textarea{width:100%;border:none;outline:none;}
.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;}
.album-item{position:relative;border-radius:var(--r3);overflow:hidden;aspect-ratio:1;background:var(--cream2);box-shadow:var(--shadow2);}
.album-item img{width:100%;height:100%;object-fit:cover;}
.album-item.noimg img{display:none;}
.album-cap{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.6));color:#fff;font-size:10px;padding:14px 8px 6px;}
.album-del,.story-del{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;}
.uploader{display:flex;flex-direction:column;gap:8px;border:1.5px dashed var(--cream3);border-radius:var(--r3);padding:12px;background:#fff;}
.up-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:80px;border-radius:8px;background:var(--cream2);cursor:pointer;color:var(--text3);transition:var(--trans);}
.up-drop:hover{background:var(--blush3);color:var(--rose);}
.up-drop.story{background:#FBF0E0;}
.up-plus{font-size:24px;line-height:1;} .up-text{font-size:11px;font-weight:700;}
.up-drop input{display:none;}
.up-caption{border:1.5px solid var(--cream3);border-radius:8px;padding:8px 10px;font-size:12px;background:#fff;}
.up-submit{height:38px;font-size:12px;}
.story-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;}
.story-thumb{position:relative;border-radius:var(--r3);overflow:hidden;aspect-ratio:.75;background:var(--cream2);box-shadow:var(--shadow2);}
.story-thumb img{width:100%;height:100%;object-fit:cover;}
.story-thumb.noimg img{display:none;}
.pf-logout{text-align:center;margin-top:8px;}
.pf-logout a{font-size:13px;font-weight:700;color:var(--rose2);}

/* ============================================================
   PHASE 3 — negotiate, sign, tracker, my-terms
   ============================================================ */
.status-pill{font-size:10px;font-weight:800;padding:3px 11px;border-radius:20px;display:inline-block;letter-spacing:.3px;}
.st-pending{background:var(--cream3);color:var(--text2);}
.st-negotiable{background:rgba(255,152,0,.14);color:#E65100;}
.st-non_negotiable{background:rgba(212,117,106,.12);color:var(--rose2);}
.st-agreed{background:rgba(106,177,135,.14);color:#2E7D4F;}
.st-rejected{background:rgba(212,117,106,.14);color:var(--rose2);}
.st-active{background:linear-gradient(135deg,rgba(201,146,74,.16),rgba(212,117,106,.12));color:var(--gold);}

.neg-section-label{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:10px;margin:22px 0 10px;}
.neg-section-label::after{content:'';flex:1;height:1px;background:rgba(201,146,74,.2);}

/* negotiate header */
.neg-head{display:flex;align-items:center;gap:14px;background:#fff;border:1.5px solid var(--cream3);border-radius:var(--r2);padding:14px 18px;box-shadow:var(--shadow2);}
.neg-party{display:flex;align-items:center;gap:10px;}
.neg-av{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;border:2px solid rgba(201,146,74,.35);overflow:hidden;}
.neg-av.me{background:linear-gradient(135deg,var(--gold),var(--gold2));}
.neg-av.them{background:linear-gradient(135deg,var(--blush),var(--rose));}
.neg-av img{width:100%;height:100%;object-fit:cover;}
.neg-pname{font-family:var(--serif);font-size:15px;font-weight:700;}
.neg-arrow{font-size:20px;color:var(--cream3);}
.neg-head .status-pill{margin-left:auto;}

.proceed-sign{display:block;text-align:center;margin-top:14px;background:linear-gradient(135deg,#3D2B20,#6B4C3A);color:var(--gold2);font-family:var(--serif);font-size:15px;font-style:italic;font-weight:600;padding:14px;border-radius:26px;box-shadow:var(--shadow2);transition:var(--trans);}
.proceed-sign:hover{transform:translateY(-2px);}

/* clause cards */
.clause-list{display:flex;flex-direction:column;gap:10px;}
.clause-card{background:#fff;border:1.5px solid var(--cream3);border-radius:var(--r2);padding:14px 16px;box-shadow:var(--shadow2);}
.cc-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;}
.cc-name{font-size:13px;font-weight:700;color:var(--text);}
.cc-value{font-size:15px;font-weight:700;color:var(--text);margin-bottom:10px;}
.cc-value .muted{font-weight:500;font-size:13px;color:var(--text3);font-style:italic;}
.cc-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cc-counter{display:flex;flex:1;min-width:200px;gap:6px;}
.cc-counter input{flex:1;background:var(--cream2);border:1.5px solid var(--cream3);border-radius:18px;padding:8px 14px;font-size:13px;color:var(--text);}
.cc-counter input:focus{border-color:var(--blush2);background:#fff;}
.cc-counter-btn{background:var(--cream2);border:1.5px solid var(--cream3);border-radius:18px;padding:8px 16px;font-size:12px;font-weight:700;color:var(--text2);transition:var(--trans);}
.cc-counter-btn:hover{border-color:var(--gold);color:var(--gold);}
.cc-accept{background:linear-gradient(135deg,#81C784,#4CAF50);color:#fff;border-radius:18px;padding:8px 16px;font-size:12px;font-weight:700;}
.cc-agreed-tag{font-size:12px;font-weight:700;color:#2E7D4F;}

/* chat */
.chat{display:flex;flex-direction:column;gap:10px;max-height:46vh;overflow-y:auto;padding:4px 2px;}
.chat-empty{font-size:13px;color:var(--text3);text-align:center;padding:18px;font-style:italic;}
.nmsg{display:flex;flex-direction:column;max-width:78%;}
.nmsg.me{align-self:flex-end;align-items:flex-end;}
.nmsg.them{align-self:flex-start;align-items:flex-start;}
.nbub{padding:10px 15px;border-radius:18px;font-size:13px;line-height:1.5;}
.nmsg.me .nbub{background:linear-gradient(135deg,var(--blush),var(--rose));color:#fff;border-bottom-right-radius:4px;}
.nmsg.them .nbub{background:#fff;color:var(--text2);box-shadow:var(--shadow2);border-bottom-left-radius:4px;}
.nbub.offer{background:linear-gradient(135deg,#FFF8E8,#FBF0DC);color:var(--text);border:1.5px solid rgba(201,146,74,.35);}
.nbub.accept{background:rgba(106,177,135,.14);color:#2E7D4F;border:1px solid rgba(106,177,135,.3);}
.nmsg.me .nbub.offer,.nmsg.me .nbub.accept{color:var(--text);}
.nmsg-meta{font-size:10px;color:var(--text3);margin-top:3px;}

.msg-box{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--cream3);border-radius:26px;padding:8px 8px 8px 18px;margin-top:12px;box-shadow:var(--shadow2);}
.msg-box:focus-within{border-color:var(--blush2);}
.msg-box input{flex:1;background:transparent;font-size:13px;color:var(--text);}
.msg-send{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--blush),var(--rose));color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* sign */
.sign-done{background:linear-gradient(160deg,#3D2B20,#6B4C3A);border-radius:var(--r);padding:30px;text-align:center;margin-bottom:18px;color:var(--cream);}
.sign-done .sd-ico{font-size:48px;margin-bottom:8px;color:var(--gold2);}
.sign-done h2{font-family:var(--serif);font-size:24px;font-weight:700;margin-bottom:6px;}
.sign-done p{font-size:13px;color:rgba(253,248,243,.6);margin-bottom:18px;}
.sign-head-card{background:linear-gradient(150deg,#3D2B20,#6B4C3A);border-radius:var(--r);padding:24px;position:relative;overflow:hidden;}
.sign-head-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 120%,rgba(201,146,74,.2),transparent 60%);}
.sign-sm{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(253,248,243,.4);margin-bottom:5px;position:relative;z-index:1;}
.sign-title{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--cream);position:relative;z-index:1;}
.sign-parties{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px;position:relative;z-index:1;}
.signer{display:flex;flex-direction:column;align-items:center;gap:5px;opacity:.6;transition:var(--trans);}
.signer.signed{opacity:1;}
.signer-av{width:50px;height:50px;border-radius:50%;border:2.5px solid rgba(201,146,74,.4);display:flex;align-items:center;justify-content:center;font-size:22px;background:rgba(253,248,243,.08);}
.signer.signed .signer-av{border-color:var(--gold2);}
.signer-name{font-size:12px;color:rgba(253,248,243,.7);font-weight:600;}
.signer-state{font-size:10px;color:rgba(253,248,243,.45);}
.signer.signed .signer-state{color:var(--gold2);}
.signer-conn{color:rgba(201,146,74,.5);font-size:18px;}
.sign-action{margin-top:16px;text-align:center;}
.sign-btn{width:100%;max-width:360px;height:52px;border-radius:26px;background:linear-gradient(135deg,#3D2B20,#6B4C3A);color:var(--gold2);font-family:var(--serif);font-size:16px;font-style:italic;font-weight:600;}
.sign-btn:hover{transform:translateY(-2px);}
.sign-note{font-size:12px;color:var(--text3);margin-top:10px;}
.sign-waiting{margin-top:16px;text-align:center;font-size:13px;font-weight:700;color:#2E7D4F;background:rgba(106,177,135,.1);border:1px solid rgba(106,177,135,.25);border-radius:14px;padding:14px;}

/* tracker */
.cd-head{background:linear-gradient(135deg,var(--bark),var(--brown));border-radius:var(--r);padding:22px 24px;position:relative;overflow:hidden;margin-bottom:14px;}
.cd-head::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 0%,rgba(201,146,74,.12),transparent 60%);}
.cd-title{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--cream);position:relative;z-index:1;}
.cd-sub{font-size:12px;color:rgba(253,248,243,.5);position:relative;z-index:1;margin-top:4px;display:flex;align-items:center;gap:8px;}
.milestones{background:#fff;border:1.5px solid var(--cream3);border-radius:var(--r2);padding:8px 18px;box-shadow:var(--shadow2);}
.ms-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--cream2);}
.ms-row:last-child{border-bottom:none;}
.ms-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;}
.ms-dot.done{background:linear-gradient(135deg,#81C784,#4CAF50);color:#fff;}
.ms-dot.todo{background:var(--cream2);color:var(--text3);}
.ms-text{flex:1;font-size:13px;color:var(--text2);}
.ms-date{font-size:11px;color:var(--text3);}
.tr-list{display:flex;flex-direction:column;gap:12px;}
.tr-card{display:block;background:#fff;border:1.5px solid var(--cream3);border-radius:var(--r2);padding:16px 18px;box-shadow:var(--shadow2);transition:var(--trans);}
.tr-card:hover{border-color:var(--blush2);transform:translateX(2px);}
.tr-top{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.tr-av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--blush),var(--rose));display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;}
.tr-name{font-family:var(--serif);font-size:16px;font-weight:700;}
.tr-meta{font-size:11px;color:var(--text3);margin-top:1px;}
.tr-top .status-pill{margin-left:auto;}
.tr-progress{display:flex;align-items:center;gap:10px;}
.tr-bar{flex:1;height:6px;background:var(--cream2);border-radius:3px;overflow:hidden;}
.tr-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--gold2),var(--gold));}
.tr-pct{font-size:11px;font-weight:700;color:var(--text2);min-width:74px;text-align:right;}

/* my terms grid */
.terms-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
@media(max-width:480px){.terms-grid{grid-template-columns:1fr;}}
