
:root{
  /* Brand — ήρεμο, καθαρό, σίγουρο */
  --c-primary:#f8551f; --c-primary-deep:#d13d0e; --c-primary-soft:#fff2ee; --c-primary-glow:#ff7847;
  --c-ink:#1a1a1a; --c-ink-soft:#555; --c-muted:#8a8a8a;
  --c-bg:#fbfaf9; --c-surface:#ffffff; --c-cream:#f7f6f4; --c-border:#eceae7; --c-border-soft:#f3f2f0;
  --c-success:#0e9d5e; --c-success-soft:#e6f5ee;
  --c-warn:#c2710c; --c-warn-soft:#fdf2e3;
  --c-danger:#e23d2e; --c-danger-soft:#fdeae8;
  --c-blue:#2f6fed; --c-blue-soft:#eaf0fd;
  --c-purple:#7c4dff; --c-purple-soft:#f1ecff;
  /* Τυπογραφία */
  --t-xs:.72rem; --t-sm:.83rem; --t-base:.97rem; --t-md:1.12rem; --t-lg:1.45rem; --t-xl:2.05rem; --t-hero:3.1rem;
  /* Σκιές — απαλές, διακριτικές, ουδέτερες */
  --s-soft:0 1px 3px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.03);
  --s-medium:0 4px 16px rgba(0,0,0,.06), 0 1px 4px rgba(0,0,0,.04);
  --s-strong:0 12px 40px rgba(0,0,0,.10), 0 4px 12px rgba(0,0,0,.05);
  --s-glow:0 4px 16px rgba(248,85,31,.18);
  --r-sm:10px; --r-md:14px; --r-lg:20px; --r-xl:26px; --r-pill:999px;
  --sans:'Manrope',-apple-system,system-ui,'Segoe UI',Roboto,sans-serif;
  --display:'Plus Jakarta Sans',var(--sans);
  --mono:ui-monospace,'SF Mono','Cascadia Code',Menlo,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
.mc-static{position:static}
/* ── Utility classes (αντικαθιστούν επαναλαμβανόμενα inline styles) ── */
.u-flex1{flex:1}
.u-title-lg{font-size:var(--t-lg)}
.u-stat{font-size:var(--t-xl);font-weight:800}
.u-mt8{margin-top:8px}
.u-full-col{grid-column:1/-1}
body{font-family:var(--sans);background:var(--c-bg);color:var(--c-ink);line-height:1.55;-webkit-font-smoothing:antialias;text-rendering:optimizeLegibility}
h1,h2,h3,.brand,.feed-hero h2{font-family:var(--display);letter-spacing:-.022em}
button{font-family:inherit;cursor:pointer}
input{font-family:inherit}

/* ── App shell ── */
#app{min-height:100vh;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--c-border-soft);position:sticky;top:0;z-index:40}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:var(--t-md)}
.brand .logo{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--c-primary),var(--c-primary-deep));display:grid;place-items:center;color:#fff;font-weight:800}
.brand small{display:block;font-size:var(--t-xs);color:var(--c-muted);font-weight:500}
.topbar-actions{display:flex;align-items:center;gap:10px}
.acct-wrap{position:relative}
.acct-btn{width:36px;height:36px;padding:0;border:1px solid var(--c-border);background:var(--c-surface);border-radius:var(--r-pill);display:grid;place-items:center;overflow:hidden;cursor:pointer}
.acct-btn:hover{box-shadow:var(--s-soft)}
.acct-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:220px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--s-strong);padding:6px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.15s;z-index:60}
.acct-menu.open{opacity:1;visibility:visible;transform:none}
.acct-head{padding:10px 12px 9px;border-bottom:1px solid var(--c-border-soft);margin-bottom:6px;display:flex;flex-direction:column;gap:2px}
.acct-head b{font-size:var(--t-sm)}
.acct-head span{font-size:var(--t-xs);color:var(--c-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acct-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;background:none;border-radius:var(--r-sm);font-size:var(--t-sm);font-weight:600;color:var(--c-ink);text-align:left;cursor:pointer;font-family:var(--sans)}
.acct-item:hover{background:var(--c-cream)}
.acct-logout{color:var(--c-danger)}

.shell{flex:1;display:flex;max-width:1280px;margin:0 auto;width:100%}
.sidebar{width:232px;flex:0 0 232px;padding:20px 14px;border-right:1px solid var(--c-border-soft);display:flex;flex-direction:column;background:var(--c-surface)}
.sidebar nav{display:flex;flex-direction:column;gap:2px}
.sidebar button{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--c-ink-soft);font-weight:600;font-size:var(--t-sm);padding:12px 14px;border-radius:var(--r-md);text-align:left;transition:all .18s cubic-bezier(.4,0,.2,1);width:100%;position:relative;cursor:pointer;font-family:var(--sans)}
.sidebar button .ic{font-size:1.15rem;transition:transform .2s}
.sidebar button:hover{background:var(--c-primary-soft);color:var(--c-ink)}
.sidebar button:hover .ic{transform:scale(1.15)}
.sidebar button.active{background:var(--c-ink);color:#fff;box-shadow:var(--s-soft)}
.sidebar button.active::before{content:'';position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:4px;height:22px;background:var(--c-primary);border-radius:0 var(--r-pill) var(--r-pill) 0}
.sidebar .userbox{margin-top:auto;padding:14px;background:var(--c-cream);border:1px solid var(--c-border-soft);border-radius:var(--r-md);font-size:var(--t-xs)}
.userbox b{font-size:var(--t-sm)}
.userbox-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.userbox-admin{color:var(--c-primary);font-weight:700}
.userbox span{color:var(--c-muted);word-break:break-all}
.sidebar .userbox b{display:block;color:var(--c-ink);font-size:var(--t-sm);margin-bottom:2px}
.sidebar .userbox span{color:var(--c-muted)}
.content{flex:1;padding:32px;min-width:0}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid var(--c-border);background:var(--c-surface);color:var(--c-ink);font-weight:700;font-size:var(--t-sm);padding:11px 19px;border-radius:var(--r-pill);transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;font-family:var(--sans)}
.btn:hover{border-color:var(--c-ink-soft);transform:translateY(-1px);box-shadow:var(--s-soft)}
.btn:active{transform:translateY(0) scale(.98)}
.btn:hover{border-color:var(--c-ink);transform:translateY(-1px)}
.btn.primary{background:linear-gradient(135deg,var(--c-primary-glow),var(--c-primary));border-color:transparent;color:#fff;box-shadow:var(--s-glow)}
.btn.primary:hover{box-shadow:0 12px 30px rgba(248,85,31,.38);transform:translateY(-2px)}
.btn.primary:hover{background:var(--c-primary-deep)}
.btn.ghost{background:transparent}
.btn:disabled{opacity:.5;cursor:default;transform:none}

/* ── Auth screen ── */
.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}
.auth-brand{position:relative;background:linear-gradient(145deg,#1c1714 0%,#3a2418 55%,#7a3a16 100%);color:#fff;display:flex;align-items:center;padding:64px;overflow:hidden}
.auth-brand-inner{position:relative;z-index:2;max-width:480px}
.brand-lg{font-size:1.5rem;color:#fff;margin-bottom:48px}
.brand-lg .logo{width:42px;height:42px;font-size:1.3rem}
.auth-headline{font-family:var(--display);font-size:3.4rem;font-weight:800;line-height:1.04;letter-spacing:-.03em;text-align:left;margin-bottom:22px;color:#fff}
.auth-tagline{font-size:1.08rem;line-height:1.6;color:rgba(255,255,255,.82);margin-bottom:44px;max-width:420px}
.auth-features{display:flex;flex-direction:column;gap:20px}
.auth-feat{display:flex;align-items:center;gap:16px}
.af-ic{width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center;font-size:1.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:14px}
.auth-feat b{display:block;font-size:var(--t-base);font-weight:700;color:#fff}
.auth-feat span{font-size:var(--t-sm);color:rgba(255,255,255,.62)}
.auth-orbs span{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;animation:orbFloat 14s ease-in-out infinite}
.auth-orbs span:nth-child(1){width:340px;height:340px;background:#f8551f;top:-80px;right:-60px}
.auth-orbs span:nth-child(2){width:260px;height:260px;background:#ff7847;bottom:-40px;left:10%;animation-delay:-5s}
.auth-orbs span:nth-child(3){width:200px;height:200px;background:#7a3a16;top:40%;right:20%;animation-delay:-9s}
@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-40px) scale(1.1)}66%{transform:translate(-20px,30px) scale(.95)}}
.auth-form-side{display:flex;align-items:center;justify-content:center;padding:40px;background:var(--c-bg)}
.auth-card{width:100%;max-width:400px}
.brand-mobile{display:none;margin-bottom:32px;font-size:var(--t-md)}
.auth-title{font-size:2.1rem;font-weight:800;letter-spacing:-.025em;text-align:left;margin-bottom:6px}
.auth-sub{color:var(--c-ink-soft);font-size:var(--t-base);margin-bottom:28px}
.auth-submit{width:100%;padding:15px;font-size:var(--t-base);margin-top:4px}
.field{margin-bottom:16px}
.field label{display:block;font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted);margin-bottom:6px}
.field input{width:100%;border:1.5px solid var(--c-border);border-radius:var(--r-md);padding:14px 16px;font-size:var(--t-base);background:var(--c-surface);transition:border .18s,box-shadow .18s;font-family:var(--sans)}
.field input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 4px var(--c-primary-soft)}
.auth-toggle{text-align:center;margin-top:20px;font-size:var(--t-sm);color:var(--c-ink-soft)}
.auth-toggle button{border:0;background:0;color:var(--c-primary);font-weight:700;cursor:pointer;font-size:inherit}
.auth-err{background:var(--c-danger-soft);color:var(--c-danger);padding:11px 14px;border-radius:var(--r-sm);font-size:var(--t-sm);margin-bottom:16px;display:none}
.auth-err.show{display:block}
@media(max-width:860px){
  .auth{grid-template-columns:1fr}
  .auth-brand{display:none}
  .brand-mobile{display:flex}
  .auth-form-side{padding:24px;min-height:100vh}
  .auth-title{font-size:1.8rem}
}

/* ── Section placeholder ── */
.sec-head{margin-bottom:24px}
.sec-head h2{font-size:var(--t-xl);font-weight:800;letter-spacing:-.02em}
.sec-head p{color:var(--c-ink-soft);margin-top:4px}
.placeholder{background:var(--c-surface);border:1px dashed var(--c-border);border-radius:var(--r-lg);padding:48px;text-align:center;color:var(--c-muted)}
.placeholder .big{font-size:2.4rem;margin-bottom:12px}

/* ── Feed ── */
.feed-hero{background:var(--c-surface);border:1px solid var(--c-border-soft);border-radius:var(--r-xl);padding:48px 40px;margin-bottom:28px;text-align:center}
.feed-hero::after{display:none}
.feed-hero h2{font-size:var(--t-hero);font-weight:800;letter-spacing:-.03em;line-height:1.08}
.hero-accent{color:var(--c-primary)}
.hero-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:700;color:var(--c-muted);background:var(--c-cream);padding:6px 14px;border-radius:var(--r-pill);margin-bottom:22px}
.feed-hero-content{position:relative;z-index:2}
.feed-hero p{color:var(--c-ink-soft);margin:16px auto 0;font-size:var(--t-md);max-width:540px;line-height:1.6}
.feed-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap;justify-content:center}
.hero-stat-strip{display:flex;align-items:center;justify-content:center;gap:32px;margin-top:36px;padding-top:30px;border-top:1px solid var(--c-border-soft);position:relative;z-index:2}
.hstat{display:flex;flex-direction:column;align-items:center}
.hstat b{font-family:var(--display);font-size:1.7rem;font-weight:800;line-height:1;color:var(--c-ink)}
.hstat span{font-size:var(--t-xs);color:var(--c-muted);margin-top:5px;font-weight:600}
.hstat-div{width:1px;height:34px;background:var(--c-border)}
.routebar{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.route-pill{border:1.5px solid var(--c-border);background:var(--c-surface);color:var(--c-ink-soft);font-weight:600;font-size:var(--t-sm);padding:9px 17px;border-radius:var(--r-pill);transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer}
.route-pill:hover{border-color:var(--c-ink-soft);transform:translateY(-1px)}
.route-pill.active{background:var(--c-ink);border-color:var(--c-ink);color:#fff;box-shadow:var(--s-soft)}
.searchbar{position:relative;margin-bottom:24px}
.search-ic{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:var(--t-base);pointer-events:none;opacity:.6}
.searchbar input{width:100%;border:1.5px solid var(--c-border);border-radius:var(--r-md);padding:13px 16px 13px 44px;font-size:var(--t-base);background:var(--c-surface);transition:border .18s,box-shadow .18s;font-family:var(--sans)}
.searchbar input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 4px var(--c-primary-soft)}
.feed-meta{font-size:var(--t-sm);color:var(--c-muted);margin-bottom:16px}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.dcard{position:relative;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:18px 20px 16px;cursor:pointer;display:flex;flex-direction:column;transition:border-color .18s,box-shadow .18s}
.dcard-guest{cursor:default}
.dc-cta{margin-left:auto;flex:0 0 auto}
.dcard::before{content:'';position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:0 3px 3px 0;background:var(--dc-tint,var(--c-primary))}
.dcard:hover{border-color:var(--c-ink);box-shadow:var(--s-medium)}
.dc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:9px}
.dc-kind{font-size:var(--t-xs);font-weight:700;color:var(--dc-tint,var(--c-muted));letter-spacing:.01em}
.dc-state,.dc-urgent,.dc-match{font-size:var(--t-xs);font-weight:700;padding:2px 9px;border-radius:var(--r-pill)}
.dc-state{background:var(--c-cream);color:var(--c-ink-soft)}
.dc-accepted{background:var(--c-blue-soft);color:var(--c-blue)}
.dc-urgent{background:var(--c-danger-soft);color:var(--c-danger)}
.dc-match{background:var(--c-primary-soft);color:var(--c-primary-deep)}
.dc-title{font-family:var(--display);font-size:var(--t-md);font-weight:800;line-height:1.32;letter-spacing:-.018em;color:var(--c-ink)}
.dc-price{margin-top:8px;font-size:var(--t-base);font-weight:800;color:var(--c-ink)}
.dc-foot{margin-top:16px;padding-top:13px;border-top:1px solid var(--c-border-soft);display:flex;align-items:center;gap:9px}
.dc-who{font-size:var(--t-sm);font-weight:700;color:var(--c-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dc-check{flex:none;display:inline-grid;vertical-align:middle;width:15px;height:15px;border-radius:50%;background:var(--c-success);color:#fff;font-size:.58rem;place-items:center;font-weight:800;line-height:1}
.dc-when{margin-left:auto;font-size:var(--t-xs);color:var(--c-muted);flex:none}
.dcard:hover .dcard-arrow{transform:translateX(4px)}
.empty{background:var(--c-surface);border:1px dashed var(--c-border);border-radius:var(--r-lg);padding:48px;text-align:center}
.empty .big{font-size:2.4rem;margin-bottom:12px}
.empty b{font-size:var(--t-md)}
.empty p{color:var(--c-ink-soft);margin:8px 0 18px}
.skel{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);height:240px;overflow:hidden;position:relative}
.skel::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 1.3s infinite}
@keyframes shimmer{to{transform:translateX(100%)}}

/* ── Modal ── */
.modal{position:fixed;inset:0;background:rgba(20,16,12,.5);backdrop-filter:blur(6px);z-index:100;display:none;align-items:flex-start;justify-content:center;padding:32px 24px;overflow-y:auto}
.modal.open{display:flex}
.modal-card{background:var(--c-surface);border-radius:var(--r-xl);width:min(680px,100%);box-shadow:var(--s-strong);margin:auto;overflow:hidden;animation:pop .3s cubic-bezier(.34,1.4,.64,1)}
@keyframes pop{from{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
.modal-cover{height:140px;display:flex;align-items:center;justify-content:center;position:relative}
.modal-cover-emoji{font-size:3.2rem}
.modal-cover-type{position:absolute;top:16px;left:18px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);font-size:var(--t-xs);font-weight:800;padding:5px 13px;border-radius:var(--r-pill)}
.modal-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:1.2rem;display:grid;place-items:center;box-shadow:var(--s-soft);cursor:pointer;transition:all .2s}
.modal-close:hover{background:#fff;transform:rotate(90deg)}
.modal-body{padding:26px 30px 30px}
.modal-body h2{font-size:1.7rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.modal-meta{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px;color:var(--c-ink-soft);font-size:var(--t-sm)}
.modal-meta>span{display:inline-flex;align-items:center;gap:5px;color:var(--c-muted);font-size:var(--t-sm)}
.mm-status{font-weight:700}
.mm-open{background:var(--c-success-soft)!important;color:var(--c-success);border-color:transparent!important}
.mm-accepted{background:var(--c-blue-soft)!important;color:var(--c-blue);border-color:transparent!important}
.mm-completed{background:var(--c-bg)!important;color:var(--c-muted)}
.mm-budget{font-weight:700;color:var(--c-primary-deep)}
.modal-desc{color:var(--c-ink-soft);line-height:1.6;padding:16px 0;border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);margin-bottom:18px}
.modal-sec-title{font-weight:800;font-size:var(--t-md);margin:18px 0 12px}
.offer-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;background:var(--c-cream);border:1px solid var(--c-border);border-radius:var(--r-md);margin-bottom:10px}
.offer-row .who{font-weight:700;font-size:var(--t-sm)}
.offer-row .msg{color:var(--c-ink-soft);font-size:var(--t-sm);margin-top:3px}
.offer-row .ostatus{font-size:var(--t-xs);font-weight:700;padding:3px 9px;border-radius:var(--r-pill);background:var(--c-bg);color:var(--c-muted);white-space:nowrap}
.offer-row .ostatus.accepted{background:var(--c-success-soft);color:var(--c-success)}
.offer-form{margin-top:16px;background:var(--c-cream);border:1.5px solid var(--c-border);border-radius:var(--r-lg);padding:18px}
.offer-form textarea{width:100%;border:1.5px solid var(--c-border);border-radius:var(--r-md);padding:13px 15px;font-size:var(--t-base);font-family:var(--sans);min-height:84px;resize:vertical;background:var(--c-surface);transition:border .18s,box-shadow .18s}
.offer-form textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 4px var(--c-primary-soft)}
.offer-form .row{display:flex;gap:10px;margin-top:12px}
.offer-form input[type=number]{width:140px;border:1.5px solid var(--c-border);border-radius:var(--r-md);padding:13px 15px;background:var(--c-surface);font-family:var(--sans)}
.offer-form #sendOfferBtn{flex:1}
.offer-form .btn.primary{flex:1}
.mini-note{font-size:var(--t-xs);color:var(--c-muted);margin-top:10px}

/* ── Chat & actions ── */
.detail-actions{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}
.chat-box{margin-top:16px;border:1px solid var(--c-border);border-radius:var(--r-md);overflow:hidden}
.chat-msgs{max-height:280px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--c-cream)}
.msg{max-width:78%;padding:10px 14px;border-radius:14px;font-size:var(--t-sm);line-height:1.4}
.msg.mine{align-self:flex-end;background:var(--c-primary);color:#fff;border-bottom-right-radius:4px}
.msg.theirs{align-self:flex-start;background:var(--c-surface);border:1px solid var(--c-border);border-bottom-left-radius:4px}
.msg .mtime{font-size:.65rem;opacity:.7;margin-top:3px}
.chat-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--c-border);background:var(--c-surface)}
.chat-input input{flex:1;border:1px solid var(--c-border);border-radius:var(--r-pill);padding:11px 16px;font-size:var(--t-sm)}
.chat-input input:focus{outline:none;border-color:var(--c-primary)}
.chat-input button{border:0;background:var(--c-primary);color:#fff;width:42px;height:42px;border-radius:50%;font-size:1.1rem}
.chat-empty{padding:24px;text-align:center;color:var(--c-muted);font-size:var(--t-sm)}

/* Review stars */
.review-form{margin-top:16px;padding:18px;background:var(--c-cream);border:1px solid var(--c-border);border-radius:var(--r-md)}
.stars{display:flex;gap:6px;margin:10px 0}
.star{font-size:1.8rem;cursor:pointer;filter:grayscale(1);opacity:.4;transition:all .12s}
.star.on{filter:none;opacity:1;transform:scale(1.1)}
.review-form textarea{width:100%;border:1px solid var(--c-border);border-radius:var(--r-sm);padding:11px 13px;font-family:inherit;min-height:70px;margin-top:8px;background:var(--c-surface)}
.review-form textarea:focus{outline:none;border-color:var(--c-primary)}

/* Completion celebration */
.celebrate{position:fixed;inset:0;display:grid;place-items:center;z-index:300;background:rgba(20,16,12,.45);opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(3px)}
.celebrate.show{opacity:1;pointer-events:auto}
.celebrate-card{background:var(--c-surface);border-radius:var(--r-xl);padding:40px 48px;text-align:center;box-shadow:var(--s-strong);transform:scale(.85) translateY(10px);transition:transform .4s cubic-bezier(.34,1.56,.64,1);max-width:340px}
.celebrate.show .celebrate-card{transform:scale(1) translateY(0)}
.celebrate .ico{font-size:3.4rem;display:block;margin-bottom:14px;animation:celebIco .6s cubic-bezier(.34,1.56,.64,1) .1s backwards}
@keyframes celebIco{from{transform:scale(0) rotate(-20deg)}to{transform:scale(1) rotate(0)}}
.celebrate h2{font-family:var(--display);font-size:var(--t-lg);font-weight:800;margin-bottom:8px}
.celebrate p{color:var(--c-ink-soft);font-size:var(--t-sm);line-height:1.5}
.celebrate.show .celebrate-card{transform:scale(1)}
.celebrate-card .ico{font-size:3.4rem;margin-bottom:12px}
.celebrate-card h2{font-size:var(--t-xl);font-weight:800;margin-bottom:8px}
.celebrate-card p{color:var(--c-ink-soft)}

/* ── Create modal (Creation Engine) ── */
.create-card{background:var(--c-surface);border-radius:var(--r-xl);width:min(1080px,100%);box-shadow:var(--s-strong);margin:auto;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 330px;animation:pop .2s ease}
.create-main{padding:32px 34px;min-width:0;max-height:88vh;overflow-y:auto}
.create-side{background:linear-gradient(180deg,var(--c-cream),var(--c-primary-soft));border-left:1px solid var(--c-border-soft);padding:32px 26px;min-width:0}
.create-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}
.create-head h2{font-size:var(--t-xl);font-weight:800;letter-spacing:-.02em}
.create-head p{color:var(--c-ink-soft);font-size:var(--t-sm);margin-top:4px}
.wizard-steps{display:flex;gap:8px;margin-bottom:24px}
.wizard-steps span{flex:1;text-align:center;padding:9px;border-radius:var(--r-pill);background:var(--c-bg);color:var(--c-muted);font-size:var(--t-xs);font-weight:700;transition:all .25s;position:relative}
.wizard-steps span.active{background:var(--c-ink);color:#fff}
.wizard-steps span.done{background:var(--c-success-soft);color:var(--c-success)}
.wizard-steps span.active{background:var(--c-primary);color:#fff}
.route-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:22px}
.route-tile{border:1.5px solid var(--c-border);background:var(--c-surface);border-radius:var(--r-md);padding:14px 10px;text-align:center;transition:all .15s;cursor:pointer}
.route-tile:hover{border-color:var(--c-primary)}
.route-tile.sel{border-color:var(--c-primary);background:var(--c-primary-soft,#fff0eb)}
.route-tile .ti{font-size:1.5rem;display:block;margin-bottom:6px}
.route-tile .tl{font-size:var(--t-xs);font-weight:700;display:block}
.route-tile .td{font-size:.66rem;color:var(--c-muted);display:block;margin-top:3px;line-height:1.3}
.cfield{margin-bottom:16px}
.cfield label{display:block;font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-muted);margin-bottom:6px}
.cfield input,.cfield textarea{width:100%;border:1.5px solid var(--c-border);border-radius:var(--r-md);padding:13px 15px;font-size:var(--t-base);font-family:var(--sans);background:var(--c-surface);transition:border .18s,box-shadow .18s}
.cfield input:focus,.cfield textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 4px var(--c-primary-soft)}
.cfield input:focus,.cfield textarea:focus{outline:none;border-color:var(--c-primary);background:var(--c-surface)}
.cfield textarea{min-height:96px;resize:vertical}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.create-foot{display:flex;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--c-border)}
.create-foot .btn.primary{flex:1}
/* live preview */
.side-label{font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted);margin-bottom:14px}
.preview-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--s-soft)}
.preview-cover{height:90px;background:linear-gradient(135deg,var(--c-primary-soft),var(--c-cream));display:grid;place-items:center;font-size:var(--t-xl)}
.preview-cover{position:relative;overflow:hidden}
.preview-cover img{width:100%;height:100%;object-fit:cover;display:block}
.preview-body{padding:16px}
.preview-body h4{font-size:var(--t-md);font-weight:800;line-height:1.2}
.preview-body .pcity{font-size:var(--t-sm);color:var(--c-muted);margin-top:4px}
.quality{margin-top:20px}
.quality .qitem{display:flex;align-items:center;gap:8px;font-size:var(--t-sm);padding:5px 0;color:var(--c-muted)}
.quality .qitem.done{color:var(--c-success);font-weight:600}
@media(max-width:860px){.create-card{grid-template-columns:1fr}.create-side{display:none}.route-tiles{grid-template-columns:repeat(2,1fr)}}

/* ── Map & Community ── */
#mapView{height:560px;border-radius:var(--r-lg);border:1px solid var(--c-border);overflow:hidden;z-index:1}
.map-filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(130px,1fr));gap:12px;margin:16px 0 12px}.map-filters label{display:grid;gap:5px;font-size:.82rem;font-weight:650}.map-filters input,.map-filters select{width:100%;min-height:42px;border:1px solid #dadfdc;border-radius:12px;background:#fff;color:#23302b;padding:8px 12px;font:inherit}.map-kinds{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.map-kinds button{border:1px solid #d7dfd8;border-radius:999px;background:#fff;color:#26372d;padding:8px 15px;font:inherit;cursor:pointer}.map-kinds button[aria-pressed="true"]{background:#234e3b;color:#fff;border-color:#234e3b}.map-count-pin span{display:grid;place-items:center;width:38px;height:38px;border:2px solid #fff;border-radius:50%;background:#234e3b;color:#fff;font-weight:750;box-shadow:0 2px 9px #0004}.map-pop-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid #eee}.map-pop-item span{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-pop-item button,.map-unlocated button{border:0;background:transparent;color:#205b45;cursor:pointer;text-decoration:underline}.map-unlocated{display:grid;justify-items:start;gap:8px;margin:16px 0}.map-unlocated:empty{display:none}.map-unlocated h3{margin:0;font-size:1rem}.map-unlocated button{text-align:left;padding:7px 0}
.demo-switch{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0 18px;padding:10px 12px;background:#f5f8f4;border:1px solid #dbe8dd;border-radius:14px;font-size:.85rem}.demo-switch button{border:1px solid #6a9474;background:#fff;color:#24523a;border-radius:999px;padding:8px 13px;font:inherit;font-weight:700;cursor:pointer}.demo-switch button[aria-pressed="true"]{background:#28583e;color:#fff}.demo-switch span{color:#4b6355}.demo-card{cursor:default}.demo-card:hover{box-shadow:none;border-color:var(--c-border)}.demo-tag{border-radius:999px;background:#e4eee3;color:#235038;font-size:.7rem;font-weight:800;padding:3px 8px;letter-spacing:.05em}
@media(max-width:650px){.map-filters{grid-template-columns:1fr 1fr}.map-filters label:first-child{grid-column:1/-1}.map-kinds{flex-wrap:nowrap;overflow:auto;padding-bottom:5px}.map-kinds button{flex:none}#mapView{height:62vh;min-height:380px}}
.leaflet-popup-content{font-family:var(--sans)}
.map-pop b{font-size:var(--t-sm)}
.map-pop .mp-city{color:var(--c-muted);font-size:var(--t-xs)}
.map-pop button{margin-top:8px;border:0;background:var(--c-primary);color:#fff;font-weight:700;padding:6px 12px;border-radius:var(--r-pill);font-size:var(--t-xs);cursor:pointer}
.comm-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:16px 18px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.comm-card .ci{font-size:var(--t-xl)}
.comm-card .cinfo{flex:1;min-width:0}
.comm-card h3{font-size:var(--t-md);font-weight:800}
.comm-card p{color:var(--c-ink-soft);font-size:var(--t-sm);margin-top:3px}
.comm-card .cpart{font-size:var(--t-xs);color:var(--c-muted);margin-top:6px}

/* ── Admin console ── */
.admin-tabs{display:flex;gap:6px;overflow-x:auto;white-space:nowrap;margin-bottom:20px;padding:4px 1px 9px;scrollbar-width:thin}
.admin-tab{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-ink-soft);font-weight:600;font-size:var(--t-sm);padding:9px 14px;border-radius:var(--r-pill);transition:all .15s}
.admin-tab{flex:none}
.admin-tab:hover{border-color:var(--c-ink)}
.admin-tab.active{background:var(--c-ink);color:#fff;border-color:var(--c-ink)}
.admin-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:20px}
.ametric{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:16px}
.ametric .n{font-size:var(--t-xl);font-weight:800}
.ametric.accent .n{color:var(--c-primary)}
.ametric .l{font-size:var(--t-xs);color:var(--c-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
.atable-wrap{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);overflow:auto;max-height:520px}
.atable{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
.atable th{position:sticky;top:0;background:var(--c-cream);text-align:left;padding:11px 14px;font-weight:700;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted);border-bottom:1px solid var(--c-border)}
.atable td{padding:10px 14px;border-bottom:1px solid var(--c-border);font-family:var(--mono);font-size:var(--t-xs);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.atable tr:hover td{background:var(--c-cream)}
.acount{font-size:var(--t-xs);color:var(--c-muted);margin-top:10px}
.aempty{padding:40px;text-align:center;color:var(--c-muted)}
.admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin:14px 0 18px}
.admin-head h3{font-size:1.25rem;margin:0 0 5px}.admin-head p,.admin-section p{color:var(--c-ink-soft);font-size:.86rem;line-height:1.55;margin:0}
.admin-refresh,.admin-action,.admin-pager button,.admin-decision button{font:inherit;border:1px solid var(--c-border);background:#fff;color:var(--c-ink);border-radius:10px;padding:8px 12px;cursor:pointer}
.admin-refresh{flex:none}.admin-action{font-size:.77rem;margin:3px}.admin-action.danger{color:#a83a28;border-color:#efd1ca}
.admin-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:16px}
.admin-kpi{background:var(--c-surface);border:1px solid var(--c-border);border-radius:16px;padding:18px;display:grid;gap:5px;min-width:0}
.admin-kpi strong{font-size:1.55rem;line-height:1.1}.admin-kpi span{font-size:.82rem;font-weight:700}.admin-kpi small,.admin-table small{display:block;color:var(--c-muted);font-size:.73rem;line-height:1.45;margin-top:4px}
.admin-section{margin-top:25px}.admin-section h4{font-size:1rem;margin:0 0 10px}.admin-section p{margin-bottom:12px}
.admin-table-wrap{overflow:auto;border:1px solid var(--c-border);border-radius:16px;background:var(--c-surface)}
.admin-table{width:100%;border-collapse:collapse;font-size:.82rem;min-width:650px}
.admin-table th,.admin-table td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--c-border)}
.admin-table th{font-size:.7rem;color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--c-cream)}
.admin-table tr:last-child td{border-bottom:0}.admin-table td{max-width:400px;overflow-wrap:anywhere}
.admin-badge{display:inline-block;background:#eef2ed;color:#365143;border-radius:999px;padding:3px 8px;font-size:.7rem;font-weight:700}
.admin-link{border:0;background:none;color:var(--c-primary);padding:2px 0;font:inherit;font-weight:700;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:3px}
.admin-empty{border:1px solid var(--c-border);border-radius:14px;background:#fff;padding:25px;color:var(--c-muted)}
.admin-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;font-size:.8rem;color:var(--c-muted)}.admin-pager button:disabled{opacity:.35;cursor:default}
.admin-filter{display:inline-flex;gap:8px;align-items:center;margin:0 0 12px;font-size:.82rem}.admin-filter select,.admin-status{font:inherit;padding:7px 9px;border:1px solid var(--c-border);border-radius:9px;background:#fff}
.admin-status{display:block;margin-top:9px;max-width:100%}
.admin-search{display:flex;flex-wrap:wrap;align-items:end;gap:9px;margin:0 0 15px}.admin-search label{display:grid;gap:4px;font-size:.74rem;font-weight:700;color:var(--c-ink-soft)}.admin-search input,.admin-search select{font:inherit;min-height:36px;max-width:190px;border:1px solid var(--c-border);border-radius:9px;background:#fff;padding:6px 9px}.admin-search button{font:inherit;font-size:.78rem;border:1px solid var(--c-border);border-radius:9px;background:#fff;min-height:36px;padding:6px 10px;cursor:pointer}.admin-search button[type=submit]{background:var(--c-ink);color:#fff}
.admin-decision{border:1px solid #e8cfc6;background:#fff9f6;border-radius:16px;padding:18px;margin:0 0 18px}.admin-decision h4{margin:0 0 5px}.admin-decision p{font-size:.82rem;color:var(--c-ink-soft);margin:0 0 10px}.admin-decision textarea{width:100%;font:inherit;border:1px solid var(--c-border);border-radius:10px;padding:10px;resize:vertical}.admin-decision-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:9px}.admin-decision button[type=submit]{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
@media(max-width:650px){.admin-head{display:block}.admin-refresh{margin-top:10px}.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-kpi{padding:13px}.admin-kpi strong{font-size:1.3rem}}

/* ── Layer route indicator (4-layer ecosystem) ── */
.layer-route{display:flex;align-items:center;gap:8px;font-size:var(--t-sm);color:var(--c-ink-soft);background:var(--c-cream);border:1px solid var(--c-border);border-radius:var(--r-md);padding:11px 14px;margin-bottom:16px}
.layer-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto}
.layer-dot[data-layer="Community"]{background:var(--c-primary)}
.layer-dot[data-layer="Marketplace"]{background:var(--c-blue)}
.layer-dot[data-layer="Connector"]{background:var(--c-purple)}
.layer-dot[data-layer="Infrastructure"]{background:var(--c-ink)}

/* ── Need Router (Creation Engine) ── */
.ne-stage-label{font-size:var(--t-md);font-weight:800;margin-bottom:20px;letter-spacing:-.01em}
.ne-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.ne-cat{display:flex;align-items:center;gap:14px;border:1.5px solid var(--c-border);background:var(--c-surface);border-radius:var(--r-lg);padding:18px 16px;text-align:left;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer}
.ne-cat:hover{border-color:var(--c-primary);transform:translateY(-3px);box-shadow:var(--s-medium)}
.ne-cat-ic{font-size:1.9rem;width:48px;height:48px;display:grid;place-items:center;background:var(--c-cream);border-radius:var(--r-md);flex:0 0 auto;transition:transform .2s}
.ne-cat:hover .ne-cat-ic{transform:scale(1.12) rotate(-4deg)}
.ne-cat-ic{font-size:1.8rem}
.ne-cat-l{font-weight:700;font-size:var(--t-base)}
.ne-subs{display:flex;flex-direction:column;gap:8px}
.ne-sub{display:flex;align-items:center;gap:12px;border:1.5px solid var(--c-border);background:var(--c-surface);border-radius:var(--r-md);padding:15px 16px;text-align:left;transition:all .18s cubic-bezier(.4,0,.2,1);cursor:pointer}
.ne-sub:hover{border-color:var(--c-primary);background:var(--c-primary-soft);transform:translateX(3px)}
.ne-sub-l{font-weight:700;font-size:var(--t-sm);flex:1}
.ne-sub-ex{font-size:var(--t-xs);color:var(--c-muted);flex:1.4}
.ne-risk{font-size:.66rem;font-weight:700;padding:3px 9px;border-radius:var(--r-pill);white-space:nowrap}
.ne-risk-low{background:var(--c-success-soft);color:var(--c-success)}
.ne-risk-medium{background:var(--c-warn-soft);color:var(--c-warn)}
.ne-risk-high{background:var(--c-danger-soft);color:var(--c-danger)}
.ne-back{border:0;background:0;color:var(--c-primary);font-weight:700;font-size:var(--t-sm);cursor:pointer;margin-bottom:12px;padding:0}
.ne-route-banner{display:flex;align-items:center;gap:14px;border:2px solid var(--c-border);border-radius:var(--r-lg);padding:18px;margin-bottom:22px;background:linear-gradient(135deg,var(--c-cream),var(--c-surface))}
.ne-route-ic{font-size:var(--t-xl)}
.ne-route-note{font-size:var(--t-sm);color:var(--c-ink-soft);margin-top:3px}
.ne-route-mini{border:1.5px solid var(--c-border);border-radius:var(--r-sm);padding:10px 14px;font-weight:700;font-size:var(--t-sm);margin-top:8px}
.wizard-steps span.done{background:var(--c-success-soft);color:var(--c-success)}

/* ── Champions ── */
.champ-hero{background:linear-gradient(135deg,var(--c-purple-soft),var(--c-cream));border:1px solid var(--c-border);border-radius:var(--r-xl);padding:32px;margin-bottom:24px}
.champ-hero h2{font-size:var(--t-xl);font-weight:800;letter-spacing:-.02em}
.champ-hero p{color:var(--c-ink-soft);margin-top:8px;max-width:560px}
.champ-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:20px;display:flex;align-items:center;gap:16px;margin-bottom:12px}
.champ-av{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--c-purple),#9b5cf0);display:grid;place-items:center;font-size:1.5rem;color:#fff;font-weight:800;flex:0 0 auto}
.champ-info{flex:1;min-width:0}
.champ-info h3{font-size:var(--t-md);font-weight:800;display:flex;align-items:center;gap:8px}
.champ-spec{font-size:var(--t-sm);color:var(--c-ink-soft);margin-top:2px}
.champ-stats{font-size:var(--t-xs);color:var(--c-muted);margin-top:6px;display:flex;gap:14px}
.verified-pill{font-size:.66rem;font-weight:700;padding:3px 9px;border-radius:var(--r-pill);background:var(--c-success-soft);color:var(--c-success);display:inline-flex;align-items:center;gap:3px}
.pending-pill{font-size:.66rem;font-weight:700;padding:3px 9px;border-radius:var(--r-pill);background:var(--c-warn-soft);color:var(--c-warn)}
.champ-register{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:24px;margin-bottom:20px}
.champ-register h3{font-size:var(--t-md);font-weight:800;margin-bottom:6px}
.champ-register p{color:var(--c-ink-soft);font-size:var(--t-sm);margin-bottom:16px}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:16px}
.spec-opt{border:1.5px solid var(--c-border);background:var(--c-surface);border-radius:var(--r-sm);padding:10px;font-size:var(--t-sm);font-weight:600;text-align:center;transition:all .15s}
.spec-opt:hover{border-color:var(--c-purple)}
.spec-opt.sel{border-color:var(--c-purple);background:var(--c-purple-soft);color:var(--c-purple)}
.champ-progress{background:var(--c-cream);border-radius:var(--r-md);padding:14px;margin-top:12px}
.champ-progress .bar{height:8px;background:var(--c-border);border-radius:var(--r-pill);overflow:hidden;margin:8px 0}
.champ-progress .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--c-purple),#9b5cf0);border-radius:var(--r-pill);transition:width .4s}

/* ── Risk banner & champion match ── */
.risk-banner{display:flex;align-items:flex-start;gap:12px;background:var(--c-danger-soft);border:1px solid var(--c-danger);border-radius:var(--r-md);padding:14px 16px;margin-bottom:16px}
.risk-ic{font-size:1.6rem;flex:0 0 auto}
.risk-banner b{color:var(--c-danger);font-size:var(--t-sm)}
.risk-note{font-size:var(--t-xs);color:var(--c-ink-soft);margin-top:3px;line-height:1.45}
.champ-match-box{background:var(--c-purple-soft);border:1px solid var(--c-border);border-radius:var(--r-md);padding:16px;margin-bottom:18px}
.cmb-head{font-weight:800;font-size:var(--t-sm);margin-bottom:12px;display:flex;align-items:center}
.cmb-row{display:flex;align-items:center;gap:12px;background:var(--c-surface);border-radius:var(--r-sm);padding:10px;margin-bottom:8px}

/* ── Owner controls ── */
.owner-bar{display:flex;gap:10px;margin:16px 0;flex-wrap:wrap}
.btn.danger-btn{border-color:var(--c-danger);color:var(--c-danger)}
.btn.danger-btn:hover{background:var(--c-danger);color:#fff;border-color:var(--c-danger)}

/* ── Notifications ── */
.notif-wrap{position:relative}
.notif-bell{position:relative;border:1px solid var(--c-border);background:var(--c-surface);width:42px;height:42px;border-radius:50%;font-size:1.1rem;display:grid;place-items:center;transition:all .15s}
.notif-bell:hover{border-color:var(--c-ink)}
.notif-badge{position:absolute;top:-3px;right:-3px;background:var(--c-primary);color:#fff;font-size:.62rem;font-weight:800;min-width:18px;height:18px;border-radius:var(--r-pill);display:grid;place-items:center;padding:0 4px}
.notif-panel{position:absolute;top:52px;right:0;width:340px;max-width:90vw;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--s-strong);z-index:60;overflow:hidden;display:none}
.notif-panel.open{display:block}
.notif-head{padding:14px 18px;border-bottom:1px solid var(--c-border);font-weight:800;font-size:var(--t-sm);display:flex;justify-content:space-between;align-items:center}
.notif-list{max-height:380px;overflow-y:auto}
.notif-item{padding:13px 18px;border-bottom:1px solid var(--c-border);cursor:pointer;transition:background .12s}
.notif-item:hover{background:var(--c-cream)}
.notif-item.unread{background:var(--c-primary-soft,#fff0eb)}
.notif-item .nt{font-weight:700;font-size:var(--t-sm);display:flex;align-items:center;gap:7px}
.notif-item .nb{font-size:var(--t-xs);color:var(--c-ink-soft);margin-top:3px;line-height:1.4}
.notif-item .ntime{font-size:.66rem;color:var(--c-muted);margin-top:4px}
.notif-empty{padding:36px;text-align:center;color:var(--c-muted);font-size:var(--t-sm)}

/* ── Report / Safety ── */
.report-link{background:0;border:0;color:var(--c-muted);font-size:var(--t-xs);cursor:pointer;text-decoration:underline;padding:0;margin-top:8px}
.report-link:hover{color:var(--c-danger)}
.report-reasons{display:flex;flex-direction:column;gap:8px;margin:14px 0}
.report-reason{border:1.5px solid var(--c-border);background:var(--c-surface);border-radius:var(--r-sm);padding:12px 14px;text-align:left;font-size:var(--t-sm);font-weight:600;transition:all .15s}
.report-reason:hover{border-color:var(--c-danger)}
.report-reason.sel{border-color:var(--c-danger);background:var(--c-danger-soft);color:var(--c-danger)}

/* ── Mobile polish ── */
@media(max-width:600px){
  .topbar{padding:12px 16px}
  .brand small{display:none}
  .topbar-actions .btn.primary{padding:9px 13px;font-size:var(--t-xs)}
  .cards{grid-template-columns:1fr;gap:12px}
  .dcard-cover{height:100px}
  .modal{padding:0;align-items:flex-end}
  .modal-card{border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:92vh;overflow-y:auto;margin:0}
  .modal-cover{height:120px}
  .modal-body{padding:22px 20px 26px}
  .modal-body h2{font-size:var(--t-lg)}
  .create-card{border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:94vh;grid-template-columns:1fr}
  .create-main{padding:24px 18px;max-height:none}
  .ne-cats{grid-template-columns:1fr 1fr}
  .ne-sub{flex-wrap:wrap}
  .ne-sub-ex{flex-basis:100%;order:3}
  .feed-hero{padding:24px 20px}
  .feed-hero h2{font-size:var(--t-xl)}
  .hero-stat-strip{gap:14px;flex-wrap:wrap}
  .hstat b{font-size:1.4rem}
  .notif-panel{position:fixed;top:64px;right:8px;left:8px;width:auto}
  .champ-card{flex-wrap:wrap}
  .spec-grid{grid-template-columns:1fr 1fr}
  .admin-metrics{grid-template-columns:1fr 1fr}
  .offer-form .row{flex-direction:column}
  .offer-form input[type=number]{width:100%}
  .owner-bar{flex-direction:column}
  .owner-bar .btn{width:100%}
}
@media(max-width:600px){
  .content{padding:16px 12px 84px}
  #toast{bottom:96px}
  .mobnav{padding-bottom:calc(8px + env(safe-area-inset-bottom))}
}

/* ── Micro-interactions & polish ── */
.btn{position:relative;overflow:hidden}
.btn:active{transform:scale(.97)}
.dcard{animation:cardIn .35s ease backwards}
.cards .dcard:nth-child(1){animation-delay:.02s}
.cards .dcard:nth-child(2){animation-delay:.06s}
.cards .dcard:nth-child(3){animation-delay:.10s}
.cards .dcard:nth-child(4){animation-delay:.14s}
.cards .dcard:nth-child(5){animation-delay:.18s}
.cards .dcard:nth-child(n+6){animation-delay:.20s}
@keyframes cardIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.view-anim{animation:viewIn .32s cubic-bezier(.4,0,.2,1)}
@keyframes viewIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
.sidebar button,.route-pill,.spec-opt,.ne-cat,.ne-sub{transition:all .18s cubic-bezier(.4,0,.2,1)}
.dcard-cover span{transition:transform .25s ease}
.dcard:hover .dcard-cover span{transform:scale(1.12) rotate(-3deg)}
.trust-badge{transition:all .15s}
.modal-card,.create-card{transition:transform .25s cubic-bezier(.34,1.4,.64,1)}
.notif-bell:active{transform:scale(.92)}
.notif-badge{animation:pulse 2s infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.star{transition:transform .12s,filter .12s,opacity .12s}
.star:hover{transform:scale(1.25)}
.champ-av,.dcard-cover{transition:transform .2s}
.empty .big{animation:float 3s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
*:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
input,textarea{transition:border .15s,background .15s,box-shadow .15s}
input:focus,textarea:focus{box-shadow:0 0 0 3px rgba(255,92,43,.1)}

.dcard-author{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--c-border);font-size:var(--t-sm);color:var(--c-ink-soft)}
.dcard-author span:first-of-type{font-weight:600;color:var(--c-ink)}
.dcard-urgent{position:absolute;bottom:12px;left:12px;background:var(--c-danger);color:#fff;font-size:var(--t-xs);font-weight:700;padding:3px 9px;border-radius:var(--r-pill)}
.dcard-views{font-size:var(--t-xs);color:var(--c-muted)}

.btn-lg{padding:16px 30px;font-size:var(--t-md)}

/* ══════════════════════════════════════════════════════════
   LANDING — αντικαθιστά ολόκληρο το μπλοκ .lp-* (γρ. 504–568)
   ══════════════════════════════════════════════════════════ */
.lp{overflow-x:hidden}

/* ── Το σήμα: δύο χέρια που κλείνουν κύκλο ── */
.lp-mark{display:block}
.lp-mark .arm{fill:none;stroke-linecap:round}
.lp-mark .arm-a{stroke:var(--c-primary)}
.lp-mark .arm-b{stroke:var(--c-ink)}
.lp-mark .head-a{fill:var(--c-primary)}
.lp-mark .head-b{fill:var(--c-ink)}
.lp-mark-sm .arm{stroke-width:7.5}
.lp-mark-sm .head-a,.lp-mark-sm .head-b{r:7.5}

/* Η μοναδική κίνηση της σελίδας: ο κύκλος κλείνει μία φορά */
.lp-mark-hero .arm{stroke-dasharray:180;stroke-dashoffset:180;animation:armDraw 1.5s cubic-bezier(.32,.72,.28,1) forwards}
.lp-mark-hero .arm-b{animation-delay:.18s}
.lp-mark-hero .head-a,.lp-mark-hero .head-b{opacity:0;animation:headIn .5s ease forwards 1.15s}
.lp-mark-hero .head-b{animation-delay:1.3s}
@keyframes armDraw{to{stroke-dashoffset:0}}
@keyframes headIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .lp-mark-hero .arm{stroke-dashoffset:0;animation:none}
  .lp-mark-hero .head-a,.lp-mark-hero .head-b{opacity:1;animation:none}
}

/* ── Nav ── */
.lp-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 7vw;position:sticky;top:0;z-index:50;background:rgba(251,250,249,.86);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--c-border-soft)}
.lp-brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:1.15rem;letter-spacing:-.02em}
.lp-nav-actions{display:flex;gap:8px}

/* ── Hero: οι δύο προτάσεις κοιτάζονται ── */
.lp-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(48px,7vw,92px) 7vw clamp(56px,7vw,88px);max-width:1240px;margin:0 auto}
.lp-mirror{font-family:var(--display);font-weight:800;font-size:clamp(1.85rem,4.4vw,3.35rem);line-height:1.12;letter-spacing:-.035em}
.lp-mirror span{display:block}
.lp-mirror .m-a{color:var(--c-primary)}
.lp-mirror .m-b{color:var(--c-ink);text-align:right;margin-top:.42em}
.lp-hero-sub{margin-top:30px;font-size:var(--t-md);line-height:1.6;color:var(--c-ink-soft);max-width:46ch}
.lp-hero-sub b{color:var(--c-ink);font-weight:700}
.lp-ask{margin-top:32px}
.lp-ask-q{font-size:var(--t-sm);font-weight:700;color:var(--c-muted);margin-bottom:12px}
.lp-ask-btns{display:flex;gap:12px;flex-wrap:wrap}
.lp-hero-art{display:flex;justify-content:center}
.lp-hero-art svg{width:min(100%,320px);height:auto}

/* ── Τα τρία ρήματα ── */
.lp-verbs{background:var(--c-cream);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);padding:clamp(52px,6vw,76px) 7vw}
.lp-verb-grid{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);align-items:center}
.lp-verb{font-family:var(--display);font-size:clamp(1.7rem,5.2vw,3.6rem);font-weight:800;letter-spacing:-.045em;color:var(--c-primary);text-align:center;line-height:1}
.lp-verb+.lp-verb{border-left:1px solid var(--c-border)}
.lp-verb-note{max-width:1000px;margin:clamp(30px,4vw,44px) auto 0;padding-top:22px;border-top:1px solid var(--c-border);font-size:var(--t-base);color:var(--c-ink-soft);line-height:1.6}
.lp-verb-note b{color:var(--c-ink);font-weight:700}

/* ── Ο κύκλος: πώς δουλεύει ── */
.lp-loop{padding:clamp(56px,7vw,88px) 7vw;max-width:1000px;margin:0 auto}
.lp-h2{font-family:var(--display);font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;max-width:24ch;text-wrap:balance}
.lp-loop-steps{margin-top:38px;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,32px)}
.lp-step{position:relative;padding-top:26px;border-top:2px solid var(--c-border)}
.lp-step-i{position:absolute;top:-11px;left:0;width:20px;height:20px;border-radius:50%;background:var(--c-primary);display:grid;place-items:center;font-size:.62rem;font-weight:800;color:#fff}
.lp-step h3{font-size:var(--t-md);font-weight:800;letter-spacing:-.02em}
.lp-step p{margin-top:8px;font-size:var(--t-base);line-height:1.55;color:var(--c-ink-soft)}
.lp-step-last{border-top-color:var(--c-primary)}
.lp-loop-close{margin-top:26px;font-size:var(--t-base);color:var(--c-muted);display:flex;align-items:center;gap:10px}
.lp-loop-close svg{flex:none}

/* ── Η αλήθεια: είμαστε λίγοι ── */
.lp-truth{background:var(--c-ink);color:#fff;padding:clamp(60px,7vw,96px) 7vw;text-align:center}
.lp-truth h2{font-family:var(--display);font-size:clamp(1.7rem,3.6vw,2.6rem);font-weight:800;letter-spacing:-.03em;line-height:1.2}
.lp-truth p{margin:16px auto 0;max-width:52ch;font-size:var(--t-md);line-height:1.6;color:rgba(255,255,255,.7)}
.lp-truth .btn{margin-top:34px}
.lp-truth .btn.primary:hover{background:var(--c-primary-glow)}

/* ── Οι υποσχέσεις ── */
.lp-promises{padding:clamp(48px,6vw,72px) 7vw;max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,44px)}
.lp-promise h3{font-size:var(--t-base);font-weight:800;letter-spacing:-.01em}
.lp-promise p{margin-top:7px;font-size:var(--t-sm);line-height:1.6;color:var(--c-ink-soft)}

/* ── Footer ── */
.lp-footer{border-top:1px solid var(--c-border);padding:32px 7vw;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.lp-footer p{color:var(--c-muted);font-size:var(--t-sm)}

@media(max-width:880px){
  .lp-hero{grid-template-columns:1fr;padding-top:36px;gap:34px}
  .lp-hero-art{order:-1}
  .lp-hero-art svg{width:min(58%,210px)}
  .lp-hero-sub{max-width:none}
  .lp-verb-grid{grid-template-columns:1fr;gap:22px}
  .lp-verb+.lp-verb{border-left:0;border-top:1px solid var(--c-border);padding-top:22px}
  .lp-loop-steps{grid-template-columns:1fr;gap:26px}
  .lp-promises{grid-template-columns:1fr;gap:26px}
  .lp-h2{max-width:none}
}
@media(max-width:560px){
  .lp-nav{padding:14px 6vw}
  .lp-nav-actions .btn{padding:9px 15px;font-size:var(--t-sm)}
  .lp-ask-btns .btn{flex:1 1 100%}
}

/* ══════════════════════════════════════════════════════════
   ONBOARDING — η πρώτη πράξη, όχι φόρμα εγγραφής
   ══════════════════════════════════════════════════════════ */
.ob{display:none;min-height:100vh;flex-direction:column;background:var(--c-bg)}
.ob.on{display:flex}
.lp.off{display:none}
.ob-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 7vw}
.ob-dots{display:flex;gap:7px}
.ob-dot{width:26px;height:3px;border-radius:2px;background:var(--c-border)}
.ob-dot.on{background:var(--c-primary)}
.ob-body{flex:1;display:grid;place-items:center;padding:clamp(24px,5vw,56px) 7vw clamp(48px,7vw,72px)}
.ob-card{width:100%;max-width:560px}
.ob-eyebrow{font-size:var(--t-sm);font-weight:700;color:var(--c-primary);margin-bottom:14px}
.ob-q{font-family:var(--display);font-size:clamp(1.7rem,4.4vw,2.7rem);font-weight:800;letter-spacing:-.035em;line-height:1.15;text-wrap:balance}
.ob-help{margin-top:14px;font-size:var(--t-md);line-height:1.6;color:var(--c-ink-soft);max-width:44ch}
.ob-field{margin-top:30px}
.ob-input,.ob-area{width:100%;font:inherit;font-size:var(--t-md);color:var(--c-ink);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:15px 17px;transition:border-color .16s,box-shadow .16s}
.ob-area{min-height:118px;resize:vertical;line-height:1.55}
.ob-input:focus,.ob-area:focus{outline:0;border-color:var(--c-primary);box-shadow:0 0 0 4px var(--c-primary-soft)}
.ob-input::placeholder,.ob-area::placeholder{color:var(--c-muted)}
.ob-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ob-nav{margin-top:28px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ob-skip{display:inline-flex;align-items:center;min-height:44px;padding:8px 10px;background:transparent;border:0;border-radius:var(--r-sm);font-size:var(--t-sm);font-weight:700;color:var(--c-ink-soft);text-decoration:underline;text-underline-offset:3px}
.ob-skip:hover,.ob-skip:focus-visible{color:var(--c-primary-deep);background:var(--c-primary-soft)}
.ob-echo{margin-top:26px;padding:16px 18px;background:var(--c-cream);border-left:3px solid var(--c-primary);border-radius:0 var(--r-sm) var(--r-sm) 0}
.ob-echo small{display:block;font-size:var(--t-xs);font-weight:700;color:var(--c-muted);margin-bottom:5px}
.ob-echo span{font-size:var(--t-base);line-height:1.5;color:var(--c-ink)}
.ob-done{text-align:center;max-width:520px}
.ob-done .lp-mark{margin:0 auto 26px}
.ob-done h2{font-family:var(--display);font-size:clamp(1.7rem,4vw,2.5rem);font-weight:800;letter-spacing:-.035em;line-height:1.18}
.ob-done p{margin-top:16px;font-size:var(--t-md);line-height:1.6;color:var(--c-ink-soft)}
.ob-done .btn{margin-top:30px}
@media(max-width:560px){ .ob-two{grid-template-columns:1fr} .ob-nav .btn{flex:1 1 100%} }

/* ══════════════════════════════════════════════════════════
   GUEST BROWSE — κοιτάς χωρίς λογαριασμό
   ══════════════════════════════════════════════════════════ */
.gb{display:none;min-height:100vh;flex-direction:column;background:var(--c-bg)}
.gb.on{display:flex}
.gb-note{background:var(--c-cream);border-bottom:1px solid var(--c-border);padding:13px 7vw;font-size:var(--t-sm);color:var(--c-ink-soft);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.gb-note b{color:var(--c-ink)}
.gb-body{flex:1;padding:clamp(28px,4vw,44px) 7vw clamp(48px,6vw,72px);max-width:820px;margin:0 auto;width:100%}
.gb-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.gb-head h1{font-family:var(--display);font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:800;letter-spacing:-.035em}
.gb-order{font-size:var(--t-sm);color:var(--c-muted)}
.gb-list{margin-top:26px;display:flex;flex-direction:column;gap:14px}
.gb-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:20px 22px;box-shadow:var(--s-soft)}
.gb-card-top{display:flex;align-items:center;gap:9px;font-size:var(--t-xs);font-weight:700;color:var(--c-muted)}
.gb-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--r-pill);background:var(--c-primary-soft);color:var(--c-primary-deep)}
.gb-tag.need{background:var(--c-blue-soft);color:var(--c-blue)}
.gb-card p{margin-top:12px;font-size:var(--t-md);line-height:1.5;color:var(--c-ink)}
.gb-card-foot{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.gb-who{font-size:var(--t-sm);color:var(--c-muted)}
.gb-hidden{margin-top:22px;border:1px dashed var(--c-border);border-radius:var(--r-lg);padding:20px 22px;background:transparent}
.gb-hidden h3{font-size:var(--t-base);font-weight:800}
.gb-hidden p{margin-top:7px;font-size:var(--t-sm);line-height:1.6;color:var(--c-ink-soft);max-width:62ch}
.gb-end{margin-top:34px;padding-top:26px;border-top:1px solid var(--c-border);text-align:center}
.gb-end p{font-size:var(--t-base);color:var(--c-ink-soft);line-height:1.6}
.gb-end .btn{margin-top:18px}
.lp-see{margin-top:16px}
.lp-see button{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;background:transparent;border:0;font-size:var(--t-sm);font-weight:700;color:var(--c-ink-soft);text-decoration:underline;text-underline-offset:4px}
.lp-see button:hover{color:var(--c-primary)}
.lp-intro{padding:30px 7vw 38px;background:var(--c-cream);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.lp-intro p{max-width:40ch;font-size:var(--t-md);line-height:1.5;font-weight:650}
.lp-intro .btn{flex:none}
.gb-body{max-width:1060px}
.gb-disclaimer{margin:10px 0 22px;color:var(--c-ink-soft);line-height:1.6}
.gb-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gb-example{overflow:hidden;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--s-soft)}
.gb-example img{display:block;width:100%;height:180px;object-fit:cover}
.gb-example-content{padding:19px}
.gb-example-label{color:var(--c-primary-deep);font-size:var(--t-xs);font-weight:750}
.gb-example h2{font-family:var(--display);font-size:var(--t-md);line-height:1.3;margin:10px 0 6px}
.gb-example p{font-size:var(--t-sm);line-height:1.55;color:var(--c-ink-soft)}
.gb-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.gb-actions .btn{margin:0}
.champ-specialties{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0 0 23px}
.champ-specialty{min-width:0;text-align:left;padding:12px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);display:flex;justify-content:space-between;align-items:center;gap:6px;color:var(--c-ink);font:inherit;cursor:pointer}
.champ-specialty span{font-size:var(--t-sm);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.champ-specialty small{flex:none;color:var(--c-muted)}
.champ-specialty:hover,.champ-specialty.active{border-color:var(--c-primary);background:var(--c-primary-soft)}
.champ-mode-title{font-weight:750;margin:20px 0 10px}
.champ-mode-options,.champ-service-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.champ-mode-option,.champ-service-filter button{padding:10px 14px;border:1px solid var(--c-border);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink);font:inherit;font-size:var(--t-sm);cursor:pointer}
.champ-mode-option.sel,.champ-service-filter button.active{background:var(--c-primary-soft);border-color:var(--c-primary);color:var(--c-primary-deep);font-weight:750}
.champ-city-label{display:block;margin:14px 0 7px;font-size:var(--t-sm);font-weight:700}
.champ-register #champCity{width:100%;margin:0 0 9px}
.pro-modes{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.pro-mode{display:inline-flex;align-items:center;margin-top:8px;padding:4px 9px;border-radius:var(--r-pill);background:var(--c-blue-soft);color:var(--c-blue);font-size:var(--t-xs);font-weight:700}
.pro-modes .pro-mode{margin-top:0}
.pro-mode-unknown{background:var(--c-cream);color:var(--c-muted)}
.champ-area-filter{display:block;max-width:370px;margin:0 0 16px;font-size:var(--t-sm);font-weight:700}
.champ-area-filter[hidden]{display:none}
.champ-area-filter input{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--c-border);border-radius:var(--r-md);font:inherit;background:var(--c-surface)}
.champ-specialties{display:block}
.pro-group{border-bottom:1px solid var(--c-border-soft);margin:0 0 7px}
.pro-group summary{display:flex;justify-content:space-between;align-items:center;padding:13px 4px;font-weight:750;cursor:pointer;list-style:none}
.pro-group summary::-webkit-details-marker{display:none}
.pro-group summary span{font-size:var(--t-xs);font-weight:600;color:var(--c-muted)}
.pro-group summary:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.pro-group-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 0 15px}
#specGrid .pro-group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.pro-group-grid .spec-opt{text-align:left;cursor:pointer}
#champOtherWrap[hidden]{display:none}
.producer-filters{display:grid;grid-template-columns:minmax(200px,2fr) minmax(130px,1fr) minmax(130px,1fr) auto;align-items:end;gap:10px;margin:0 0 25px}
.producer-filters label{display:block;font-size:var(--t-sm);font-weight:700}
.producer-filters input,.producer-filters select{width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--c-border);border-radius:var(--r-md);font:inherit;background:var(--c-surface)}
.producer-more{display:block;margin:24px auto}
.producer-more[hidden]{display:none}
@media(max-width:900px){.pro-group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.producer-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.pro-group-grid,#specGrid .pro-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.producer-filters{grid-template-columns:1fr}}
@media(max-width:900px){.champ-specialties{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:550px){.champ-specialties{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.gb-examples{grid-template-columns:1fr}.gb-example{display:grid;grid-template-columns:115px minmax(0,1fr)}.gb-example img{height:100%;min-height:138px}.gb-example-content{padding:16px}}
@media(max-width:400px){.gb-example{display:block}.gb-example img{height:155px}.lp-intro .btn{width:100%}}

/* Προεπισκόπηση drop μέσα στο onboarding */
.ob-preview{margin-top:26px}
.ob-preview>small{display:block;font-size:var(--t-xs);font-weight:700;color:var(--c-muted);margin-bottom:9px}

/* ── σφάλμα onboarding + επιλογή ορατότητας ── */
.ob-err{margin-top:16px;padding:12px 15px;border-radius:var(--r-sm);background:var(--c-danger-soft);color:#8f2318;font-size:var(--t-sm);font-weight:600}
.ob-vis{margin-top:26px}
.ob-vis>small{display:block;font-size:var(--t-xs);font-weight:700;color:var(--c-muted);margin-bottom:9px}
.ob-vis-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ob-vis-opt{text-align:left;padding:14px 16px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);cursor:pointer;transition:border-color .16s,box-shadow .16s}
.ob-vis-opt b{display:block;font-size:var(--t-base);font-weight:800}
.ob-vis-opt span{display:block;margin-top:4px;font-size:var(--t-xs);line-height:1.5;color:var(--c-muted)}
.ob-vis-opt.on{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft)}
.ob-vis-warn{margin-top:12px;font-size:var(--t-sm);line-height:1.55;color:var(--c-warn);background:var(--c-warn-soft);padding:11px 14px;border-radius:var(--r-sm)}
@media(max-width:560px){ .ob-vis-opts{grid-template-columns:1fr} }

/* ════════ ΠΙΝΑΚΑΣ ΕΡΓΑΣΙΑΣ (Home) ════════ */

.mx-warn{border-color:var(--c-warn);background:var(--c-warn-soft)}
.mx-warn b{color:var(--c-warn)}
.gd-alert{margin-top:14px;padding:12px 15px;border-radius:var(--r-md);background:var(--c-warn-soft);color:var(--c-warn);font-size:var(--t-sm);font-weight:700;line-height:1.5}
.gd-sens td{background:var(--c-primary-soft)}


/* ── «Αναλαμβάνω…» — δήλωση, όχι σήμα. Και πάντα δηλωμένη ως εμπορική. ── */
.avail{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:10px;padding:9px 13px;border-radius:var(--r-md);background:var(--c-success-soft);font-size:var(--t-sm);line-height:1.45}
.avail-dot{width:8px;height:8px;border-radius:50%;background:var(--c-success);flex:none}
.avail-text{font-weight:700;color:var(--c-ink)}
.avail-tag{margin-left:auto;font-size:var(--t-xs);font-weight:700;color:var(--c-muted);border:1px solid var(--c-border);border-radius:var(--r-pill);padding:2px 9px;background:var(--c-surface)}
.avail-off{background:var(--c-cream)}
.avail-off .avail-dot{background:var(--c-muted)}
.avail-off .avail-text{color:var(--c-muted);font-weight:600}

@media(max-width:700px){
  .mobnav{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .mobnav button{flex:0 0 auto;min-width:62px;padding-left:6px;padding-right:6px;font-size:.62rem}
  .mobnav button .ic{font-size:1.05rem}
}

/* ── Λεπτομέρεια drop: τα λόγια του ανθρώπου, όχι η αρχιτεκτονική μας ── */
.dm-top{position:relative;display:flex;align-items:center;gap:9px;padding:18px 22px 0}
.dm-top::before{content:'';position:absolute;left:0;top:20px;height:20px;width:3px;border-radius:0 3px 3px 0;background:var(--dc-tint,var(--c-primary))}
.dm-kind{font-size:var(--t-xs);font-weight:800;color:var(--dc-tint,var(--c-muted))}
.dm-top .modal-close{position:static;margin-left:auto;background:var(--c-cream);border:0;width:32px;height:32px;border-radius:50%;font-size:.9rem;color:var(--c-ink-soft);cursor:pointer}
.dm-top .modal-close:hover{background:var(--c-border)}
.modal-meta span{font-size:var(--t-sm);color:var(--c-muted)}
.modal-meta span+span::before{content:'·';margin-right:8px;color:var(--c-border)}
.modal-desc{margin-top:14px;font-size:var(--t-md);line-height:1.62;color:var(--c-ink);white-space:pre-wrap}

.quota{margin:-6px 0 16px;padding:10px 14px;border-radius:var(--r-md);background:var(--c-cream);font-size:var(--t-sm);color:var(--c-ink-soft);line-height:1.5}
.quota b{color:var(--c-ink);font-weight:800}
.quota small{display:block;margin-top:3px;font-size:var(--t-xs);color:var(--c-muted)}
.quota-out{background:var(--c-warn-soft);color:var(--c-warn)}

.vouches{margin:12px 0;padding:16px 18px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg)}
.vch-head{font-size:var(--t-sm);font-weight:800;color:var(--c-muted)}
.vch-who{margin-top:5px;font-size:var(--t-md);font-weight:800;letter-spacing:-.015em;color:var(--c-ink);line-height:1.4}

/* ── Φωτογραφία ── */
.cimg-drop{display:grid;place-items:center;gap:3px;padding:22px;border:1.5px dashed var(--c-border);border-radius:var(--r-md);background:var(--c-cream);cursor:pointer;text-align:center;transition:border-color .16s}
.cimg-drop:hover{border-color:var(--c-primary)}
.cimg-drop span{font-size:var(--t-base);font-weight:700;color:var(--c-ink)}
.cimg-drop small{font-size:var(--t-xs);color:var(--c-muted)}
.cimg{position:relative;border-radius:var(--r-md);overflow:hidden;background:var(--c-cream)}
.cimg img{display:block;width:100%;max-height:220px;object-fit:cover}
.cimg-x{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;font-size:.85rem}
.dc-img{margin:-18px -20px 12px;border-bottom:1px solid var(--c-border-soft);background:var(--c-cream)}
.dc-img img{display:block;width:100%;height:150px;object-fit:cover}
.dm-img{margin:14px 0 0;border-radius:var(--r-md);overflow:hidden;background:var(--c-cream)}
.dm-img img{display:block;width:100%;max-height:380px;object-fit:cover}
.dm-img{position:relative}
.stock-badge{position:absolute;left:9px;bottom:9px;z-index:1;max-width:calc(100% - 18px);border-radius:6px;background:rgba(22,33,28,.78);color:#fff;font:600 .64rem/1.2 var(--sans);padding:5px 7px;pointer-events:none}
.dm-img .stock-badge{left:12px;bottom:12px}
.preview-cover .stock-badge{font-size:.55rem;padding:3px 5px;left:6px;bottom:6px}
.closure-card{max-width:430px}
.closure-card h2{font-size:var(--t-lg);padding-right:30px;margin-bottom:7px}
.closure-card .modal-body{position:relative}
.closure-choices{display:grid;gap:9px;margin:20px 0 16px}
.closure-choice{font:700 var(--t-base)/1.3 var(--sans);text-align:left;cursor:pointer;border:1.5px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);padding:14px 16px}
.closure-choice:hover,.closure-choice.on{border-color:var(--c-primary);background:var(--c-primary-soft)}
.closure-choice:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.closure-note{display:block;font-size:var(--t-sm);font-weight:700;color:var(--c-ink-soft);margin-bottom:14px}
.closure-note[hidden]{display:none}
.closure-note textarea{display:block;width:100%;min-height:70px;resize:vertical;margin-top:7px;border:1px solid var(--c-border);border-radius:var(--r-sm);padding:10px;font:inherit}
.closure-confirm{width:100%;min-height:45px}
.closure-skip{width:100%;margin-top:8px}

/* ══════════════════════════════════════════════════════════
   ΙΕΡΑΡΧΙΑ — ένα εστιακό σημείο ανά οθόνη, τα υπόλοιπα υποχωρούν.
   Το πρόβλημα δεν ήταν αισθητικό: όλα είχαν το ίδιο περίγραμμα,
   την ίδια σκιά και σχεδόν το ίδιο μέγεθος γραμματοσειράς. Όταν
   όλα φωνάζουν εξίσου, το μάτι δεν ξέρει πού να πάει.
   ══════════════════════════════════════════════════════════ */

/* 1. Άλμα τυπογραφίας. Ήταν 1,7× — γίνεται 3×, όπως στο landing. */
.sec-head h2{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.35rem);font-weight:800;letter-spacing:-.032em;line-height:1.15}
.sec-head p{margin-top:6px;font-size:var(--t-base);color:var(--c-muted);line-height:1.55;max-width:56ch}
.sec-head{margin-bottom:26px}
.feed-hero h2{font-size:clamp(1.7rem,3.4vw,2.6rem);letter-spacing:-.035em;line-height:1.18}

/* 2. Το hero δεν είναι κουτί. Είναι κείμενο. */
.feed-hero{background:transparent;border:0;border-radius:0;padding:26px 0 30px;
  border-bottom:1px solid var(--c-border-soft);box-shadow:none}
.hero-stat-strip{border:0;background:transparent;padding:0;margin-top:22px;justify-content:flex-start;gap:26px}

/* 5. Ο τίτλος της οθόνης αναπνέει. */
.content{padding-top:8px}

/* ══════════════════════════════════════════════════════════
   ΤΕΛΕΥΤΑΙΟ ΠΕΡΑΣΜΑ — χάρτης, συνομιλίες, επαγγελματίες.
   Ίδιοι κανόνες: λιγότερα κουτιά, μεγαλύτερο άλμα, περισσότερος αέρας.
   ══════════════════════════════════════════════════════════ */

/* ── Συνομιλίες: η φυσαλίδα είναι ο άνθρωπος, όχι το πλαίσιο ── */
.chat-box{border:1px solid var(--c-border-soft);border-radius:var(--r-lg);background:var(--c-surface);overflow:hidden}
.chat-msgs{padding:18px;display:flex;flex-direction:column;gap:10px;background:var(--c-bg)}
.msg{max-width:76%;padding:11px 15px;border-radius:18px;font-size:var(--t-base);line-height:1.5;background:var(--c-surface);border:1px solid var(--c-border-soft);align-self:flex-start;box-shadow:none}
.msg.mine{align-self:flex-end;background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.msg small{display:block;margin-top:4px;font-size:var(--t-xs);opacity:.65}
.chat-input{display:flex;gap:9px;padding:13px 16px;border-top:1px solid var(--c-border-soft);background:var(--c-surface)}
.chat-input input,.chat-input textarea{flex:1;border:1px solid var(--c-border);border-radius:var(--r-pill);padding:11px 17px;font:inherit;font-size:var(--t-base)}
.chat-input input:focus,.chat-input textarea:focus{outline:0;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft)}
.chat-empty{padding:44px 20px;text-align:center;color:var(--c-muted);font-size:var(--t-base)}

/* ── Επαγγελματίες: η δήλωση είναι το περιεχόμενο ── */
.champ-card{background:var(--c-surface);border:1px solid var(--c-border-soft);border-radius:var(--r-lg);padding:18px 20px;box-shadow:none;transition:border-color .16s}
.champ-card:hover{border-color:var(--c-ink)}
.champ-name{font-family:var(--display);font-size:var(--t-md);font-weight:800;letter-spacing:-.02em}
.champ-spec{margin-top:3px;font-size:var(--t-sm);color:var(--c-muted)}
.champ-stats{margin-top:12px;padding-top:11px;border-top:1px solid var(--c-border-soft);display:flex;gap:14px;flex-wrap:wrap;font-size:var(--t-xs);color:var(--c-muted)}
.champ-stats span{background:transparent;border:0;padding:0}

/* ── Χάρτης: γεμίζει την οθόνη, δεν κάθεται σε κάδρο ── */
#mapView{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--c-border-soft);min-height:66vh}
.map-pop{font-family:var(--sans);font-size:var(--t-sm);line-height:1.45}
.map-pop b{display:block;font-family:var(--display);font-size:var(--t-base);font-weight:800;letter-spacing:-.015em;margin-bottom:3px}
.leaflet-popup-content-wrapper{border-radius:var(--r-md);box-shadow:var(--s-strong)}
.leaflet-container{font-family:var(--sans)}

.champ-hero,.pro-hero,.comm-hero{background:transparent!important;border:0!important;border-radius:0!important;
  padding:26px 0 24px!important;border-bottom:1px solid var(--c-border-soft)!important;box-shadow:none!important}
.champ-hero h2,.pro-hero h2,.comm-hero h2{font-family:var(--display);font-size:clamp(1.7rem,3.4vw,2.5rem);
  font-weight:800;letter-spacing:-.035em;line-height:1.15}
.champ-hero p,.pro-hero p,.comm-hero p{margin-top:8px;font-size:var(--t-base);color:var(--c-muted);line-height:1.55;max-width:60ch}

.lp-legal a,.ob-consent a{color:var(--c-ink-soft);text-decoration:underline;text-underline-offset:3px}
.lp-legal a:hover,.ob-consent a:hover{color:var(--c-primary)}
.ob-consent{margin-top:18px;font-size:var(--t-xs);line-height:1.6;color:var(--c-muted)}
/* ── Ο κύκλος: στάδια ροής ── */
.lp-stages{margin-top:18px;display:flex;flex-direction:column;gap:14px}
.lp-stage{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:14px 16px}
.lps-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.lps-top b{font-size:var(--t-base);font-weight:800}
.lps-top span{font-family:var(--display);font-size:1.35rem;font-weight:800;color:var(--c-primary)}
.lps-bar{margin-top:9px;height:7px;border-radius:4px;background:var(--c-border-soft);overflow:hidden}
.lps-bar i{display:block;height:100%;background:var(--c-primary);border-radius:4px}
.lps-note{margin-top:7px;font-size:var(--t-xs);color:var(--c-muted)}
.lps-lost{color:var(--c-warn);font-weight:700}
/* ── Δείκτες αντικτύπου ── */
.mx-head h3{font-family:var(--display);font-size:var(--t-lg);font-weight:800;letter-spacing:-.025em}
.mx-head p{margin-top:5px;font-size:var(--t-sm);color:var(--c-muted);line-height:1.55}
.mx-grid{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.mx-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:16px 18px}
.mx-card b{display:block;font-family:var(--display);font-size:1.6rem;font-weight:800;letter-spacing:-.03em;color:var(--c-primary)}
.mx-card span{display:block;margin-top:4px;font-size:var(--t-sm);font-weight:700}
.mx-card small{display:block;margin-top:4px;font-size:var(--t-xs);color:var(--c-muted);line-height:1.45}
.mx-foot{margin-top:22px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:var(--t-xs);color:var(--c-muted)}

/* Στόχοι αφής: κανένα διαδραστικό κάτω από 44px ύψος σε κινητό. */
@media(max-width:700px){
  .lp-see button, .ob-skip, .guess-line button{min-height:44px;display:inline-flex;align-items:center}
}

/* ── Η μαντεψιά: φαίνεται, δεν κρύβεται, αλλάζει με ένα πάτημα ── */
.guess-line{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:-4px 0 16px;padding:11px 14px;background:var(--c-primary-soft);border-radius:var(--r-md);font-size:var(--t-sm);color:var(--c-ink)}
.guess-line b{font-weight:800}
.guess-line button{font-size:var(--t-sm);font-weight:700;color:var(--c-primary-deep);text-decoration:underline;text-underline-offset:3px;background:none;border:0;cursor:pointer;flex:none}
.guess-line.guess-idle{background:var(--c-cream);color:var(--c-muted)}

/* ── Τι είπαν όσοι δούλεψαν μαζί του ── */
.outcomes{margin:16px 0;padding:16px 18px;background:var(--c-cream);border-radius:var(--r-lg)}
.oc-head{font-size:var(--t-base);font-weight:800;letter-spacing:-.01em}
.oc-word{margin:12px 0 0;padding-left:13px;border-left:3px solid var(--c-primary);font-size:var(--t-sm);line-height:1.55;color:var(--c-ink)}
.oc-word cite{display:block;margin-top:5px;font-style:normal;font-size:var(--t-xs);font-weight:700;color:var(--c-muted)}

/* ── Το αποτέλεσμα ενός κύκλου: δύο απαντήσεις, καμία κλίμακα ── */

.outcome-done{padding:14px 16px;background:var(--c-cream);border-radius:var(--r-md)}
.outcome-done b{font-size:var(--t-base);font-weight:800}
.outcome-done p{margin-top:8px;padding-left:11px;border-left:3px solid var(--c-primary);font-size:var(--t-sm);line-height:1.55;color:var(--c-ink-soft)}
.outcome-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.outcome-opt{text-align:left;padding:14px 16px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);cursor:pointer;transition:border-color .16s,box-shadow .16s}
.outcome-opt b{display:block;font-size:var(--t-base);font-weight:800}
.outcome-opt span{display:block;margin-top:4px;font-size:var(--t-xs);line-height:1.5;color:var(--c-muted)}
.outcome-opt.on{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft)}
.review-form .btn.primary:disabled{opacity:.45;cursor:default}
@media(max-width:560px){ 
.outcome-done{padding:14px 16px;background:var(--c-cream);border-radius:var(--r-md)}
.outcome-done b{font-size:var(--t-base);font-weight:800}
.outcome-done p{margin-top:8px;padding-left:11px;border-left:3px solid var(--c-primary);font-size:var(--t-sm);line-height:1.55;color:var(--c-ink-soft)}
.outcome-opts{grid-template-columns:1fr} }

.hc-clear{padding:13px 18px;border:1px solid var(--c-border-soft);border-radius:var(--r-md);background:transparent;font-size:var(--t-sm);color:var(--c-muted)}
.hc-lead{margin:0 0 12px;font-size:var(--t-sm);line-height:1.55;color:var(--c-ink-soft)}
.hc-foot{margin-top:12px;padding-top:11px;border-top:1px solid var(--c-border-soft);font-size:var(--t-xs);color:var(--c-muted)}

.home-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px;flex-wrap:wrap}
/* Calm discovery home: intent first, personal activity one tap away. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#discoverHome{max-width:1200px;margin:0 auto;padding-bottom:24px}
.discover-intro{padding:clamp(20px,4vw,48px) 0 12px}
.discover-kicker{display:block;color:var(--c-primary-deep);font-size:var(--t-xs);font-weight:800;letter-spacing:.12em;margin-bottom:12px}
.discover-intro h1{font-size:clamp(2rem,4vw,3.55rem);line-height:1.12;letter-spacing:-.05em;max-width:18ch}
.discover-intro>p{font-size:var(--t-md);color:var(--c-ink-soft);margin:12px 0 25px;max-width:55ch}
.discover-search{display:flex;align-items:center;gap:12px;background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--r-pill);padding:7px 7px 7px 20px;max-width:660px;box-shadow:var(--s-soft);transition:border-color .2s,box-shadow .2s}
.discover-search:focus-within{border-color:var(--c-primary);box-shadow:0 0 0 4px var(--c-primary-soft)}
.discover-search>span{font-size:1.6rem;color:var(--c-ink-soft);line-height:1}
.discover-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:var(--t-base);color:var(--c-ink)}
.discover-search button{border:0;background:var(--c-ink);color:#fff;font-weight:800;padding:11px 21px;border-radius:var(--r-pill)}
.discover-search button:hover{background:var(--c-primary-deep)}
.discover-location{display:inline-flex;align-items:center;gap:8px;padding:9px 2px;margin-top:8px;border:0;background:transparent;color:var(--c-ink-soft);font-size:var(--t-sm);font-weight:700}
.discover-location:hover{text-decoration:underline;color:var(--c-ink)}
.discover-section{margin-top:38px}
.discover-section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px}
.discover-section-head h2{font-size:clamp(1.3rem,2.4vw,1.85rem);line-height:1.25;letter-spacing:-.03em}
.discover-section-head p{color:var(--c-muted);font-size:var(--t-sm);margin-top:3px}
.discover-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.discover-lane{min-height:148px;display:flex;align-items:flex-start;flex-direction:column;text-align:left;position:relative;border:1px solid var(--c-border);border-radius:var(--r-lg);background:#fff;padding:19px;transition:transform .18s,border-color .18s,box-shadow .18s}
.discover-lane:hover{transform:translateY(-2px);border-color:#d0c8c1;box-shadow:var(--s-medium)}
.discover-lane:focus-visible,.discover-all:focus-visible,.discover-location:focus-visible{outline:3px solid var(--c-primary);outline-offset:2px}
.discover-lane-icon{font-size:1.55rem;line-height:1;width:42px;height:42px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--c-cream);margin-bottom:13px}
.discover-help .discover-lane-icon{background:var(--c-primary-soft)}
.discover-things .discover-lane-icon{background:var(--c-blue-soft)}
.discover-community .discover-lane-icon{background:var(--c-success-soft)}
.discover-pros .discover-lane-icon{background:var(--c-purple-soft)}
.discover-lane-text b{display:block;font-size:var(--t-base);line-height:1.2}
.discover-lane-text small{display:block;color:var(--c-muted);font-size:var(--t-xs);margin-top:5px;line-height:1.45}
.discover-arrow{position:absolute;top:16px;right:18px;color:var(--c-muted);font-size:1.1rem}
.discover-all{white-space:nowrap;border:0;background:transparent;color:var(--c-ink);font-size:var(--t-sm);font-weight:800;padding:7px 0}
.discover-all:hover{text-decoration:underline}
#homeRecent.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#homeRecent .dcard{min-width:0;padding:15px}
#homeRecent .dc-title{font-size:var(--t-base)}
.discover-empty{grid-column:1/-1;border:1px dashed var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);padding:28px;color:var(--c-ink-soft)}
.discover-prompt{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:36px;padding:22px 24px;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-cream)}
.discover-prompt b{font-size:var(--t-base)}
.discover-prompt p{font-size:var(--t-sm);color:var(--c-muted);margin-top:3px}
.champ-browse-head{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:14px 0 18px}
.champ-browse-head h2{font-size:var(--t-lg)}
.champ-browse-head label{display:flex;align-items:center;gap:9px;color:var(--c-ink-soft);font-size:var(--t-sm);font-weight:700}
.champ-browse-head select{max-width:250px;border:1px solid var(--c-border);border-radius:var(--r-md);background:#fff;color:var(--c-ink);padding:10px 12px;font:inherit}
.champ-browse-list{margin-bottom:24px}
.champ-join{border:1px solid var(--c-border);border-radius:var(--r-lg);background:#fff;margin-top:24px}
.champ-join>summary{cursor:pointer;padding:18px 20px;font-size:var(--t-base);font-weight:800;list-style-position:inside}
.champ-join .champ-register{margin:0 12px 12px}
.champ-card[hidden],#champFilterEmpty[hidden]{display:none!important}
@media(max-width:1120px){.discover-lanes{grid-template-columns:repeat(2,minmax(0,1fr))}#homeRecent.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
  .discover-intro{padding-top:20px}.discover-intro>p{font-size:var(--t-base);margin-bottom:22px}
  .discover-search{padding-left:13px;gap:6px}.discover-search button{padding:11px 14px}
  .discover-section{margin-top:29px}.discover-lanes{gap:9px}
  .discover-lane{min-height:145px;padding:14px}.discover-lane-icon{width:36px;height:36px;font-size:1.3rem;margin-bottom:10px}
  .discover-lane-text b{font-size:.89rem}.discover-lane-text small{font-size:.7rem}
  #homeRecent.cards{grid-template-columns:1fr}.discover-prompt{align-items:flex-start;flex-direction:column;padding:18px}
}
.home-head h2{font-size:var(--t-xl);font-weight:800;letter-spacing:-.02em}
.home-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.home-sub b{color:var(--c-ink);font-weight:800}
.home-sub{color:var(--c-muted);font-size:var(--t-sm);margin-top:4px}
.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.home-span2{grid-column:1/-1}
.home-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:18px 18px 10px;min-width:0}
.hc-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.hc-head h3{font-size:var(--t-base);font-weight:800;letter-spacing:-.01em;flex:1}
.hc-count{font-size:var(--t-xs);font-weight:700;color:var(--c-muted);background:var(--c-cream);padding:3px 10px;border-radius:var(--r-pill)}
.count-badge{font-size:var(--t-xs);font-weight:800;color:#fff;background:var(--c-primary);padding:3px 10px;border-radius:var(--r-pill)}
.hc-link{padding:6px 14px;font-size:var(--t-xs)}
.hc-empty{color:var(--c-muted);font-size:var(--t-sm);text-align:center;padding:16px 10px;line-height:1.6}
.work-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid var(--c-border-soft);padding:13px 4px;cursor:pointer;transition:background .15s;border-radius:var(--r-sm)}
.work-row:hover{background:var(--c-cream)}
.wr-ic{font-size:1.25rem;flex:0 0 auto}
.wr-main{flex:1;min-width:0}
.wr-main b{display:block;font-size:var(--t-sm);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wr-main small{display:block;color:var(--c-muted);font-size:var(--t-xs);margin-top:2px}
.wr-go{color:var(--c-muted);font-size:var(--t-md);flex:0 0 auto}
.wchip{flex:0 0 auto;font-size:var(--t-xs);font-weight:700;padding:4px 11px;border-radius:var(--r-pill)}
.wchip-open{background:var(--c-success-soft);color:var(--c-success)}
.wchip-accepted{background:var(--c-blue-soft);color:var(--c-blue)}
.wchip-completed{background:var(--c-cream);color:var(--c-muted)}
.wchip-cancelled{background:var(--c-danger-soft);color:var(--c-danger)}
/* Ενιαία εμφάνιση pill καταστάσεων (feed/modal = home) */
.dc-open,.dc-pending{background:var(--c-success-soft);color:var(--c-success)}
.dc-completed,.dc-closed{background:var(--c-cream);color:var(--c-muted)}
.dc-cancelled{background:var(--c-danger-soft);color:var(--c-danger)}
.people-row{display:flex;gap:10px;flex-wrap:wrap;padding:4px 0 10px}
.person-chip{display:flex;align-items:center;gap:10px;background:var(--c-cream);border:1px solid var(--c-border);border-radius:var(--r-pill);padding:6px 16px 6px 6px;cursor:pointer;transition:all .18s}
.person-chip:hover{border-color:var(--c-primary);background:var(--c-surface)}
.person-chip b{display:block;font-size:var(--t-sm);text-align:left}
.person-chip small{display:block;color:var(--c-muted);font-size:var(--t-xs);text-align:left}
@media(max-width:820px){.home-grid{grid-template-columns:1fr}}

/* ── Profile identity card ── */
.sec-head-row{display:flex;justify-content:space-between;align-items:center}
.sec-head-mt{margin-top:28px}
.sh-sub{font-size:var(--t-lg)}
.profile-card{background:var(--c-surface);border:1px solid var(--c-border-soft);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--s-soft)}
.profile-banner{position:relative;background:linear-gradient(145deg,#1c1714,#3a2418 60%,#7a3a16);padding:32px 32px 28px;color:#fff;overflow:hidden}
.profile-banner-glow{position:absolute;top:-80px;right:-40px;width:260px;height:260px;background:radial-gradient(circle,rgba(248,85,31,.4),transparent 70%);border-radius:50%;pointer-events:none}
.profile-id{display:flex;align-items:center;gap:20px;position:relative;z-index:2}
.profile-id .avatar{border:3px solid rgba(255,255,255,.2);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.profile-id-text h2{font-family:var(--display);font-size:1.9rem;font-weight:800;letter-spacing:-.02em;color:#fff}
.profile-role{display:inline-flex;align-items:center;padding:5px 11px;border:1px solid rgba(255,255,255,.28);border-radius:var(--r-pill);color:#fff;font-size:var(--t-xs);font-weight:700}
.profile-badges{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.profile-loc{font-size:var(--t-sm);color:rgba(255,255,255,.7);margin-top:8px}
.profile-bio{position:relative;z-index:2;color:rgba(255,255,255,.82);font-size:var(--t-sm);line-height:1.6;margin-top:18px;max-width:520px}
.profile-specs{position:relative;z-index:2;display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.profile-links{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 4px}
.profile-links a{display:inline-flex;align-items:center;min-height:38px;padding:7px 12px;border:1px solid currentColor;border-radius:var(--r-pill);font-size:var(--t-sm);font-weight:700;text-decoration:none}
.profile-banner .profile-links a{color:#fff;border-color:rgba(255,255,255,.35)}
.profile-links a:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.profile-producer{margin:14px 0;padding:12px 14px;border:1px solid var(--c-border-soft);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink);font-size:var(--t-sm);line-height:1.5}
.profile-producer p{margin:5px 0 0;overflow-wrap:anywhere}
.profile-edit-group{border-top:1px solid var(--c-border-soft);margin-top:18px;padding-top:18px}
.profile-edit-group h3{font-size:var(--t-base);margin:0 0 12px}
.profile-check{display:flex;align-items:flex-start;gap:10px;font-size:var(--t-sm);line-height:1.45;margin:12px 0;cursor:pointer}
.profile-check input{width:19px;height:19px;flex:none;accent-color:var(--c-primary)}
.pspec{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:var(--t-xs);font-weight:600;padding:6px 12px;border-radius:var(--r-pill)}
.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--c-border-soft)}
.profile-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 22px}
.profile-shortcuts button{background:var(--c-surface);border:1px solid var(--c-border-soft);border-radius:var(--r-lg);padding:18px;text-align:left;cursor:pointer;color:var(--c-ink);min-height:76px}
.profile-shortcuts button:hover,.profile-shortcuts button:focus-visible{border-color:var(--c-primary);outline-offset:2px}
.profile-shortcuts b{display:block;font-size:var(--t-base)}
.profile-shortcuts span{display:block;color:var(--c-muted);font-size:var(--t-sm);margin-top:5px;line-height:1.4}
.profile-tabs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;padding-bottom:10px;margin-bottom:14px}
.profile-tabs button{flex:none;min-height:44px;white-space:nowrap;padding:10px 16px;border:1px solid var(--c-border);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink);font-size:var(--t-sm);font-weight:700;cursor:pointer}
.profile-tabs button.active{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-surface)}
.profile-tabs button:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.profile-panel{min-height:120px}
.profile-panel>h3{font-size:var(--t-base);margin:22px 0 12px}
.profile-panel>h3:first-child{margin-top:0}
.profile-panel>.mini-note{margin:0 0 16px}
.profile-review,.profile-record{background:var(--c-surface);border:1px solid var(--c-border-soft);border-radius:var(--r-md);padding:15px 18px;margin:9px 0}
.profile-review p,.profile-record p{font-size:var(--t-sm);line-height:1.5;margin:8px 0 0}
.profile-review small{display:block;color:var(--c-muted);margin-top:6px}
.profile-outcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
.profile-outcome-grid span{display:flex;flex-direction:column;gap:5px;min-width:0;padding:11px;border:1px solid var(--c-border-soft);border-radius:var(--r-md);background:var(--c-surface);font-size:var(--t-xs);line-height:1.35}
.profile-outcome-grid b{font-size:var(--t-lg);line-height:1;color:var(--c-ink)}
.profile-public-record .mini-note{margin:8px 0 0;line-height:1.55}
.pstat{padding:22px 16px;text-align:center;border-right:1px solid var(--c-border-soft)}
.pstat:last-child{border-right:0}
.pstat b{display:block;font-family:var(--display);font-size:1.8rem;font-weight:800;line-height:1;color:var(--c-ink)}
.pstat span{font-size:var(--t-xs);color:var(--c-muted);margin-top:6px;display:block;font-weight:600}
.profile-journey{padding:24px 32px}
.pj-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.pj-top b{font-size:var(--t-sm)}
.pj-top span{font-family:var(--display);font-weight:800;color:var(--c-primary)}
.pj-bar{height:9px;background:var(--c-border);border-radius:var(--r-pill);overflow:hidden}
.pj-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--c-primary-glow),var(--c-primary));border-radius:var(--r-pill);transition:width .6s cubic-bezier(.4,0,.2,1)}
.pj-note{font-size:var(--t-xs);color:var(--c-muted);margin-top:10px}
@media(max-width:600px){
  .profile-shortcuts{grid-template-columns:1fr}
  .profile-stats{grid-template-columns:repeat(2,1fr)}
  .pstat:nth-child(2){border-right:0}
  .pstat:nth-child(1),.pstat:nth-child(2){border-bottom:1px solid var(--c-border-soft)}
  .profile-banner{padding:24px 20px}
  .profile-id-text h2{font-size:1.5rem}
}

/* ── Trust graph (3 διαστάσεις) ── */
.trust-graph{background:linear-gradient(135deg,var(--c-cream),var(--c-surface));border:1.5px solid var(--c-border);border-radius:var(--r-lg);padding:20px;margin-bottom:14px}
.tg-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}
.tg-head b{font-size:var(--t-base)}
.tg-score{font-family:var(--display);font-size:2rem;font-weight:800;color:var(--c-primary)}
.tg-score small{font-size:var(--t-sm);color:var(--c-muted);font-weight:600}
.tg-dims{display:flex;flex-direction:column;gap:12px}
.tg-dim-top{display:flex;justify-content:space-between;font-size:var(--t-sm);font-weight:600;margin-bottom:5px}
.tg-val{color:var(--c-ink-soft);font-variant-numeric:tabular-nums}
.tg-bar{height:7px;background:var(--c-border);border-radius:var(--r-pill);overflow:hidden}
.tg-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--c-primary),var(--c-primary-deep));border-radius:var(--r-pill);transition:width .5s cubic-bezier(.4,0,.2,1)}
.tg-foot{font-size:var(--t-xs);color:var(--c-muted);margin-top:12px;font-style:italic}

/* ── Pro match banner ── */
.pro-match-banner{background:linear-gradient(135deg,var(--c-purple-soft),var(--c-cream));border:1px solid var(--c-purple);border-radius:var(--r-md);padding:14px 16px;margin-bottom:14px}
.pmb-top{font-weight:800;font-size:var(--t-sm);color:var(--c-purple)}
.pmb-reasons{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.pmb-tag{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-pill);padding:4px 11px;font-size:var(--t-xs);font-weight:600}

/* ── Mode toggle (Uber-style driver/rider) ── */
.mode-toggle{display:flex;background:var(--c-cream);border:1.5px solid var(--c-border);border-radius:var(--r-pill);padding:3px;gap:2px}
.mode-toggle button{border:0;background:transparent;color:var(--c-ink-soft);font-weight:700;font-size:var(--t-xs);padding:8px 15px;border-radius:var(--r-pill);transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;cursor:pointer}
.mode-toggle button.on{background:var(--c-ink);color:#fff;box-shadow:var(--s-soft)}
.pro-hero{background:linear-gradient(135deg,var(--c-purple-soft),var(--c-cream))!important}
.dcard-match{position:absolute;bottom:12px;right:12px;background:var(--c-purple);color:#fff;font-size:var(--t-xs);font-weight:700;padding:3px 9px;border-radius:var(--r-pill)}
@media(max-width:600px){.mode-toggle button{padding:6px 9px;font-size:.66rem}}

/* ── Modal author (clickable → public profile) ── */
.modal-author{display:flex;align-items:center;gap:13px;padding:14px 16px;background:linear-gradient(135deg,var(--c-cream),var(--c-surface));border:1.5px solid var(--c-border);border-radius:var(--r-md);margin-bottom:16px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}
.modal-author:hover{border-color:var(--c-primary);box-shadow:var(--s-soft);transform:translateY(-1px)}
.modal-author:hover{border-color:var(--c-primary);background:var(--c-surface)}
.modal-author b{font-size:var(--t-sm)}
.modal-author .author-arrow{margin-left:auto;font-size:var(--t-lg);color:var(--c-muted)}

/* ── Avatar ── */
.avatar{border-radius:50%;overflow:hidden;flex:0 0 auto;display:grid;place-items:center;background:linear-gradient(135deg,var(--c-primary),var(--c-primary-deep));color:#fff;font-weight:800}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.avatar.av-fallback{background:linear-gradient(135deg,var(--c-primary),var(--c-primary-deep))}

/* ── Toast ── */
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--c-ink);color:#fff;padding:13px 22px;border-radius:var(--r-pill);font-size:var(--t-sm);font-weight:600;opacity:0;transition:all .25s;z-index:200;pointer-events:none;box-shadow:var(--s-strong);max-width:90vw;text-align:center}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
#toast.toast-error{background:var(--c-danger)}
#toast.toast-success{background:var(--c-success)}

/* ── Loading ── */
.boot{position:fixed;inset:0;display:grid;place-items:center;background:var(--c-bg);z-index:300}
.boot .spin{width:44px;height:44px;border:3px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── Mobile ── */
.mobnav{display:none}
@media(max-width:860px){
  .shell{flex-direction:column}
  .sidebar{display:none}
  .content{padding:20px 16px 90px}
  .mobnav{display:flex;position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-top:1px solid var(--c-border-soft);padding:8px;z-index:40;justify-content:space-around}
  .mobnav button{flex:1;border:0;background:0;color:var(--c-muted);font-size:.64rem;font-weight:700;padding:6px 4px;border-radius:var(--r-md);display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s;cursor:pointer}
  .mobnav button .ic{font-size:1.3rem;transition:transform .2s}
  .mobnav button.active{color:var(--c-primary)}
  .mobnav button.active .ic{transform:translateY(-2px) scale(1.1)}
  .mobnav button .ic{font-size:1.2rem}
}
.skip-link{position:absolute;left:8px;top:-48px;z-index:100;background:var(--c-ink);color:#fff;padding:10px 16px;border-radius:var(--r-md);font-weight:700;font-size:var(--t-sm);transition:top .15s}
.skip-link:focus{top:8px}
#sectionContent:focus{outline:none}
.gchat-card{display:flex;flex-direction:column;max-height:82vh;padding:0;overflow:hidden}
.gchat-card .dm-top{padding:14px 16px}
.gchat-body{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:8px;background:var(--c-cream)}
.gmsg{max-width:82%;display:flex;flex-direction:column;gap:2px}
.gmsg.me{align-self:flex-end;align-items:flex-end}
.gmsg-who{font-size:var(--t-xs);color:var(--c-muted);padding:0 8px}
.gmsg-bubble{background:var(--c-surface);border:1px solid var(--c-border);padding:8px 12px;border-radius:14px;font-size:var(--t-sm);line-height:1.45;word-break:break-word}
.gmsg.me .gmsg-bubble{background:var(--c-primary);color:#fff;border-color:transparent}
.gchat-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--c-border);background:var(--c-surface)}
.gchat-input input{flex:1;padding:10px 14px;border:1px solid var(--c-border);border-radius:var(--r-pill);font-size:var(--t-sm);font-family:var(--sans)}
.comm-actions{display:flex;flex-direction:column;gap:6px;flex:0 0 auto}
.comm-card .cinfo{flex:1}

/* Community: reading and writing stay separate from action chat. */
.community-shell{max-width:1120px;margin:0 auto;padding-bottom:64px}
.community-shell [hidden]{display:none!important}
.community-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:16px 0 22px}
.community-eyebrow{font-size:var(--t-xs);font-weight:800;color:var(--c-primary-deep);letter-spacing:.04em}
.community-hero h2{font-family:var(--display);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.12;margin:7px 0}
.community-hero p{color:var(--c-ink-soft);max-width:64ch}
.community-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 0 14px;scrollbar-width:thin}
.community-tabs button{white-space:nowrap;border:1px solid var(--c-border);border-radius:var(--r-pill);background:#fff;padding:9px 17px;font-size:var(--t-sm);font-weight:700;color:var(--c-ink-soft)}
.community-tabs button[aria-pressed=true]{background:var(--c-ink);color:#fff;border-color:var(--c-ink)}
.community-filters{display:grid;grid-template-columns:1fr 1fr .8fr 1.5fr;gap:10px;margin:4px 0 24px}
.community-filters label,.community-editor label{display:flex;flex-direction:column;gap:5px;color:var(--c-ink-soft);font-size:var(--t-xs);font-weight:700}
.community-filters input,.community-filters select,.community-editor input,.community-editor select,.community-editor textarea,.community-discussion textarea{width:100%;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-sm);padding:10px 12px;color:var(--c-ink);font-size:var(--t-sm);font-family:var(--sans)}
.community-filters input:focus-visible,.community-filters select:focus-visible,.community-editor input:focus-visible,.community-editor textarea:focus-visible,.community-discussion textarea:focus-visible{outline:2px solid var(--c-primary);outline-offset:1px}
.community-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.community-post{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--s-soft)}
.community-card-button{display:block;text-align:left;width:100%;height:100%;padding:0;border:0;background:none;color:inherit}
.community-card-button:focus-visible{outline:3px solid var(--c-primary);outline-offset:-3px}
.community-image{position:relative;display:block;height:148px;overflow:hidden;background:var(--c-cream)}
.community-image img{width:100%;height:100%;object-fit:cover}
.community-image-note{position:absolute;bottom:8px;left:8px;background:#fffc;border-radius:var(--r-pill);padding:2px 8px;font-size:var(--t-xs)}
.community-image-note:empty{display:none}
.community-card-body{display:flex;flex-direction:column;gap:7px;padding:16px}
.community-tag{color:var(--c-primary-deep);font-size:var(--t-xs);font-weight:800;letter-spacing:.02em}
.community-card-body strong{font-family:var(--display);font-size:var(--t-md);line-height:1.3}
.community-excerpt{font-size:var(--t-sm);color:var(--c-ink-soft);line-height:1.55;overflow-wrap:anywhere}
.community-card-body small,.community-author,.community-muted{font-size:var(--t-sm);color:var(--c-muted)}
.community-more{display:block;margin:20px auto}
.community-action-heading{margin:28px 0 15px}
.community-action-heading h3{font-size:var(--t-lg)}
.community-action-heading p{color:var(--c-ink-soft);font-size:var(--t-sm)}
.community-dialog{position:relative;width:min(760px,100%)}
.community-dialog .community-close{z-index:2;background:var(--c-cream)}
.community-editor,.community-article{padding:28px}
.community-editor{display:flex;flex-direction:column;gap:16px}
.community-editor h2,.community-article h2{padding-right:44px;line-height:1.25}
.community-editor-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.community-editor textarea{resize:vertical}
.community-editor-actions{display:flex;justify-content:flex-end}
.community-article .community-tag{display:block;margin:0 0 9px}
.community-author{margin:9px 0 22px}
.community-article-image{display:block;width:100%;max-height:380px;object-fit:cover;border-radius:var(--r-md);margin-bottom:20px}
.community-article-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}
.community-article-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.community-discussion{margin-top:32px;border-top:1px solid var(--c-border);padding-top:22px}
.community-discussion h3{margin-bottom:12px}
.community-comment{border-bottom:1px solid var(--c-border-soft);padding:12px 0}
.community-comment b{font-size:var(--t-sm)}
.community-comment small{margin-left:8px;color:var(--c-muted)}
.community-comment p{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0}
.community-comment-tools{display:flex;gap:12px}
.community-comment-tools button{border:0;background:none;color:var(--c-muted);font-size:var(--t-xs);padding:3px 0}
.community-report{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-md);padding:16px;margin:12px 0}
.community-report p{margin-bottom:8px;overflow-wrap:anywhere}
.community-report button{margin-right:8px}
#communityCommentForm{display:flex;flex-direction:column;gap:10px;margin-top:20px}
#communityCommentForm label{font-weight:700}
#communityCommentForm textarea{resize:vertical;min-height:76px}
#communityCommentForm button{align-self:flex-end}
@media(max-width:900px){.community-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.community-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.community-hero{align-items:flex-start;flex-direction:column}.community-grid{grid-template-columns:1fr}.community-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.community-editor,.community-article{padding:24px 18px}.community-editor-row{grid-template-columns:1fr}.community-image{height:175px}}

/* Sponsorship stays visibly separate from Drops, reviews and community outcomes. */
.sponsor-page{max-width:1120px;margin:0 auto;padding:36px 22px 72px}
.sponsor-back{margin-bottom:12px}
.sponsor-hero{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-xl);padding:clamp(28px,5vw,58px);box-shadow:var(--s-soft)}
.sponsor-eyebrow{font-size:var(--t-xs);font-weight:800;color:var(--c-primary-deep);letter-spacing:.06em;text-transform:uppercase}
.sponsor-hero h1{font-family:var(--display);font-size:clamp(2rem,4.4vw,3.8rem);line-height:1.12;letter-spacing:-.035em;max-width:20ch;margin:14px 0 16px}
.sponsor-hero p{max-width:74ch;color:var(--c-ink-soft);font-size:var(--t-base);line-height:1.75;margin-bottom:24px}
.sponsor-principle{display:flex;gap:18px;align-items:flex-start;margin:22px 0 38px;padding:18px 22px;background:var(--c-cream);border-radius:var(--r-md)}
.sponsor-principle b{min-width:190px;font-size:var(--t-sm)}
.sponsor-principle p,.sponsor-options p,.sponsor-lead p,.sponsor-fund p{color:var(--c-ink-soft);line-height:1.65}
.sponsor-section-title{font-size:var(--t-lg);margin:0 0 16px}
.sponsor-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sponsor-options article{display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:22px;min-height:260px}
.sponsor-icon{font-size:1.7rem}
.sponsor-options h3{font-size:var(--t-md);line-height:1.3;margin:10px 0}
.sponsor-options p{font-size:var(--t-sm);flex:1}
.sponsor-options strong{font-size:var(--t-sm);margin-top:15px}
.sponsor-options small{font-size:var(--t-xs);color:var(--c-muted);margin-top:5px}
.sponsor-fund{display:grid;grid-template-columns:1fr 1.25fr;gap:30px;align-items:center;background:#262c29;color:#fff;border-radius:var(--r-lg);padding:30px;margin:32px 0}
.sponsor-fund .sponsor-eyebrow{color:#ffd1bf}
.sponsor-fund h2{font-size:var(--t-lg);line-height:1.2;margin-top:8px}
.sponsor-fund p{color:#e2e7e3}
.sponsor-lead{display:grid;grid-template-columns:.8fr 1.4fr;gap:28px;align-items:start;padding:26px 0}
.sponsor-lead h2{font-size:var(--t-lg);line-height:1.3;margin-bottom:10px}
.sponsor-form,.sponsor-login{display:flex;flex-direction:column;gap:16px;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:25px}
.sponsor-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sponsor-form label,.sponsor-inbox-row label{display:flex;flex-direction:column;gap:5px;font-size:var(--t-sm);font-weight:700}
.sponsor-form input,.sponsor-form select,.sponsor-form textarea,.sponsor-inbox-row select{width:100%;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-sm);padding:11px 12px;color:var(--c-ink);font-family:var(--sans);font-size:var(--t-sm)}
.sponsor-form textarea{resize:vertical}
.sponsor-form input:focus-visible,.sponsor-form select:focus-visible,.sponsor-form textarea:focus-visible{outline:2px solid var(--c-primary);outline-offset:1px}
.sponsor-form .sponsor-consent{flex-direction:row;align-items:flex-start;font-weight:500;line-height:1.5}
.sponsor-consent input{width:18px;min-width:18px;height:18px;margin-top:2px}
.sponsor-form button[type=submit]{align-self:flex-start}
.sponsor-form-status{font-size:var(--t-sm);color:var(--c-success)}
.sponsor-admin{border-top:1px solid var(--c-border);padding-top:24px;margin-top:24px}
.sponsor-inbox-row{display:flex;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-md);padding:18px;margin-top:10px}
.sponsor-inbox-row>div{min-width:0;overflow-wrap:anywhere}
.sponsor-inbox-row small{display:block;color:var(--c-muted);margin:4px 0}
.sponsor-inbox-row p{margin:8px 0;white-space:pre-wrap}
.sponsor-inbox-row label{min-width:165px}
.sponsor-muted{color:var(--c-muted)}
@media(max-width:850px){.sponsor-options{grid-template-columns:1fr}.sponsor-options article{min-height:0}.sponsor-lead,.sponsor-fund{grid-template-columns:1fr}.sponsor-principle{flex-direction:column;gap:6px}}
@media(max-width:600px){.sponsor-page{padding:20px 14px 50px}.sponsor-form-row{grid-template-columns:1fr}.sponsor-inbox-row{flex-direction:column}.sponsor-inbox-row label{min-width:0}}
.fav-btn{position:absolute;top:10px;right:10px;z-index:2;width:32px;height:32px;border-radius:50%;border:1px solid var(--c-border);background:rgba(255,255,255,.92);font-size:16px;line-height:1;display:grid;place-items:center;cursor:pointer;color:var(--c-muted);transition:.15s;padding:0}
.fav-btn:hover{box-shadow:var(--s-soft);transform:scale(1.08)}
.fav-btn.on{color:var(--c-danger);border-color:var(--c-danger)}
.star-row{display:flex;gap:6px;justify-content:center;margin:6px 0 2px}
.star{font-size:30px;line-height:1;background:none;border:0;cursor:pointer;color:#d9b400;padding:2px 4px;transition:transform .1s}
.star:hover{transform:scale(1.12)}
.star.on{color:#f5b301}
.star-hint{text-align:center;font-size:var(--t-sm);color:var(--c-muted);margin-bottom:6px}
.pro-rating{display:inline-flex;align-items:center;gap:4px;font-weight:800;font-size:var(--t-md);color:#c98a00;margin-bottom:12px}
.pro-rating span{font-weight:600;font-size:var(--t-xs);color:var(--c-muted)}
.gchat-attend:empty{display:none}
.attend{border-bottom:1px solid var(--c-border);background:var(--c-surface)}
.attend summary{padding:10px 16px;cursor:pointer;font-size:var(--t-sm);font-weight:700;color:var(--c-ink)}
.attend-list{padding:4px 16px 12px;display:flex;flex-direction:column;gap:6px}
.attend-row{display:flex;align-items:center;gap:8px;font-size:var(--t-sm)}
.attend-row input{width:18px;height:18px}
.dc-price.dc-free{color:var(--c-success)}
.mm-budget.mm-free{color:var(--c-success);font-weight:800}
.acct-premium{color:#c98a00;font-weight:800}
.cfield-opt{font-weight:500;color:var(--c-muted)}
.sk-chips{display:flex;flex-wrap:wrap;gap:8px}
.sk-chip{padding:8px 12px;border-radius:var(--r-pill);border:1.5px solid var(--c-border);background:var(--c-surface);font-size:var(--t-sm);font-weight:700;cursor:pointer;transition:all .15s}
.sk-chip:hover{border-color:var(--c-primary)}
.sk-chip.on{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.dc-sk{margin-right:2px}
.guess-idle{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}
.guess-pick{background:var(--c-cream);border:1.5px solid var(--c-border);border-radius:var(--r-pill);padding:6px 12px;font-size:var(--t-xs);font-weight:800;color:var(--c-primary);cursor:pointer}
.guess-pick:hover{border-color:var(--c-primary)}

#languageSwitch{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:calc(82px + env(safe-area-inset-bottom));z-index:999;border:1px solid #ddd;background:#fff;color:#1a1a1a;border-radius:999px;padding:8px 14px;box-shadow:0 3px 12px #0002;font-weight:700;min-height:42px}.auth-reset{display:block;margin:12px auto;background:transparent;border:0;color:#d13d0e;text-decoration:underline;font-weight:700;font-size:.88rem}@media(min-width:800px){#languageSwitch{bottom:20px}}@media(max-width:380px){.topbar{padding:10px 12px}.topbar-actions{gap:4px}}

/* Profile v62: quiet identity, account actions in the existing right-hand menu. */
.acct-menu{width:min(284px,calc(100vw - 24px));min-width:0;max-height:min(76vh,650px);overflow-y:auto;overscroll-behavior:contain;padding:8px;scrollbar-width:thin}
.acct-divider{height:1px;background:var(--c-border-soft);margin:7px 9px}
.acct-item{min-height:39px;padding:8px 10px;font-size:.82rem;gap:11px}
.acct-item .ic{width:18px;flex:none;text-align:center;font-size:.95rem}
.acct-item:focus-visible,.profile-menu-trigger:focus-visible{outline:2px solid var(--c-primary);outline-offset:1px}
.profile-menu-trigger{border:1px solid var(--c-border);background:var(--c-surface);border-radius:var(--r-pill);padding:8px 13px;color:var(--c-ink);font-size:var(--t-sm);font-weight:700;cursor:pointer}
.profile-menu-trigger:hover{border-color:var(--c-ink)}
.profile-card{box-shadow:none;border-color:var(--c-border);border-radius:var(--r-lg)}
.profile-banner{background:var(--c-surface);padding:22px 24px;color:var(--c-ink)}
.profile-id{gap:14px}
.profile-id .avatar{width:60px!important;height:60px!important;border:1px solid var(--c-border-soft);box-shadow:none}
.profile-id-text h2{font-size:1.35rem;color:var(--c-ink)}
.profile-role{color:var(--c-ink-soft);border-color:var(--c-border);padding:4px 9px}
.profile-loc,.profile-bio{color:var(--c-ink-soft)}
.profile-bio{max-width:740px;margin-top:12px}
.pspec{background:var(--c-cream);border-color:var(--c-border-soft);color:var(--c-ink-soft)}
.profile-banner .profile-links a{color:var(--c-ink-soft);border-color:var(--c-border)}
.profile-links{margin:12px 0 0}
.profile-producer{background:var(--c-cream);margin-bottom:0}
.profile-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:24px 0 14px;border-bottom:1px solid var(--c-border-soft);padding-bottom:12px}
.profile-section-title h3{font-size:1.1rem;line-height:1.3}
.profile-section-title span{font-size:var(--t-xs);color:var(--c-muted)}
.profile-panel>h3{font-size:.88rem;margin:22px 0 12px}
.profile-panel>.empty{padding:24px}
@media(max-width:600px){.profile-banner{padding:18px}.profile-id-text h2{font-size:1.2rem}.profile-section-title span{display:none}.profile-section-title{margin-top:20px}}

/* Compact navigation: seven routes fit in one horizontal, scrollable strip. */
.app-nav{background:var(--c-surface);border-bottom:1px solid var(--c-border-soft);width:100%;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.app-nav-inner{display:flex;align-items:center;justify-content:center;gap:clamp(4px,1.3vw,18px);width:max-content;min-width:100%;padding:4px 14px}
.app-nav button{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--c-ink-soft);white-space:nowrap;font-size:.78rem;font-weight:700;cursor:pointer;transition:color .16s,background .16s}
.app-nav button .ic{font-size:1rem;line-height:1.2}
.app-nav button:hover,.app-nav button:focus-visible{color:var(--c-ink);background:var(--c-cream);border-radius:8px 8px 0 0}
.app-nav button.active{color:var(--c-ink);border-bottom-color:var(--c-primary)}
.app-nav button:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}
.shell{max-width:1440px;display:block}
.content{width:100%;padding:22px clamp(16px,3vw,42px) 52px}
@media(max-width:860px){
  .content{padding:18px 16px 44px}
  .app-nav-inner{justify-content:flex-start;gap:3px}
  .app-nav button{padding:8px 9px;font-size:.74rem}
  #languageSwitch{bottom:12px}
}
@media(max-width:600px){
  .content{padding:16px 12px 48px}
  .app-nav button .ic{font-size:.96rem}
  #toast{bottom:66px}
}

/* v44: discovery reads as one calm, horizontal choice instead of five boxes. */
#discoverHome{max-width:1380px}
.discover-section{margin-top:30px}
.discover-section-head{margin-bottom:12px}
.discover-section-head h2{font-size:clamp(1.15rem,1.9vw,1.5rem)}
.discover-lanes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border-bottom:1px solid var(--c-border);overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity}
.discover-lane{min-height:114px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;box-shadow:none!important;transform:none!important;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:12px 8px 10px;scroll-snap-align:start;transition:color .15s,border-color .15s,background .15s}
.discover-lane:hover{border-color:var(--c-ink);background:var(--c-cream)}
.discover-lane-icon,.discover-help .discover-lane-icon,.discover-things .discover-lane-icon,.discover-community .discover-lane-icon,.discover-pros .discover-lane-icon{background:transparent;width:auto;height:auto;margin:0 0 7px;border-radius:0;font-size:1.7rem}
.discover-lane-text b{font-size:.88rem;line-height:1.28}
.discover-lane-text small{font-size:.69rem;line-height:1.3;margin-top:3px}
.discover-arrow{display:none}
.discover-scroll-actions{display:none;gap:6px}
.discover-scroll-actions button{width:32px;height:32px;border:1px solid var(--c-border);background:#fff;border-radius:50%;font-size:1.25rem;line-height:1;color:var(--c-ink-soft)}
.discover-scroll-actions button:hover{border-color:var(--c-ink);color:var(--c-ink)}

/* Compact Explore header, category strip and image-led cards. */
.explore-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:23px 0 20px}
.explore-kicker{display:block;font-size:.66rem;font-weight:800;letter-spacing:.11em;color:var(--c-primary-deep);margin-bottom:6px}
.explore-head h1{font-family:var(--display);font-size:clamp(1.65rem,2.8vw,2.3rem);letter-spacing:-.035em;line-height:1.15}
.explore-head p{font-size:.86rem;color:var(--c-ink-soft);margin-top:6px}
.explore-head-actions{display:flex;gap:8px;flex:none}
.explore-head-actions .btn{padding:9px 15px}
.routebar{display:flex;flex-wrap:nowrap;gap:0;overflow-x:auto;border-bottom:1px solid var(--c-border);margin-bottom:18px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.route-pill{flex:none;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent!important;box-shadow:none!important;color:var(--c-ink-soft)!important;padding:13px 17px 11px;font-size:.82rem;display:flex;align-items:center;gap:7px;transform:none!important}
.route-pill:hover{color:var(--c-ink)!important;background:var(--c-cream)!important}
.route-pill.active{color:var(--c-ink)!important;border-bottom-color:var(--c-primary);font-weight:800}
.route-pill:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}
.searchbar{max-width:520px;margin-bottom:14px}
.searchbar input{border-radius:var(--r-pill);padding:10px 15px 10px 42px;font-size:.88rem}
.feed-meta{font-size:.77rem;margin:0 0 12px}
#feedCards.cards{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:24px 14px}
#homeRecent.cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 14px}
.cards .dcard:not(.dcard-guest),#homeRecent .dcard{min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transition:none}
.cards .dcard:not(.dcard-guest)::before{display:none}
.cards .dcard:not(.dcard-guest):hover{border:0;box-shadow:none}
.cards .dcard:not(.dcard-guest):focus-visible{outline:2px solid var(--c-primary);outline-offset:3px;border-radius:var(--r-sm)}
.dc-media{aspect-ratio:1.15/1;overflow:hidden;border-radius:15px;background:#f0eeeb;display:grid;place-items:center;position:relative;margin-bottom:10px}
.dc-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.dcard:hover .dc-media img{transform:scale(1.025)}
.dc-media-icon{font-size:2.05rem;filter:saturate(.6);opacity:.62}
.dc-media-help{background:#f6eee9}.dc-media-give,.dc-media-sell,.dc-media-borrow{background:#eff2f5}.dc-media-community,.dc-media-social{background:#eaf2ec}
:is(#feedCards,#homeRecent) .fav-btn{top:8px;right:8px;border:0;background:rgba(255,255,255,.94);box-shadow:0 1px 5px #0002}
:is(#feedCards,#homeRecent) .dc-meta{margin-bottom:3px;gap:5px}
:is(#feedCards,#homeRecent) .dc-kind{font-size:.69rem;color:var(--c-muted);font-weight:600;line-height:1.3}
:is(#feedCards,#homeRecent) .dc-title{font-family:var(--sans);font-size:.87rem;font-weight:800;line-height:1.32;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
:is(#feedCards,#homeRecent) .dc-price{font-size:.8rem;font-weight:750;margin-top:4px}
:is(#feedCards,#homeRecent) .dc-foot{border:0;padding:0;margin-top:6px;gap:5px;min-width:0}
:is(#feedCards,#homeRecent) .dc-foot .avatar{width:19px!important;height:19px!important;font-size:.56rem!important}
:is(#feedCards,#homeRecent) .dc-who{font-size:.7rem;color:var(--c-muted);font-weight:600}
:is(#feedCards,#homeRecent) .dc-when{font-size:.65rem}
@media(max-width:820px){
  .discover-lanes{display:flex;gap:0}
  .discover-lane{flex:0 0 158px;min-height:112px}
  .discover-scroll-actions{display:flex}
  #homeRecent.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  #feedCards.cards{grid-template-columns:repeat(auto-fill,minmax(175px,1fr))}
}
@media(max-width:600px){
  .discover-section{margin-top:26px}
  .discover-lanes{gap:0}
  .discover-lane{flex:0 0 147px;padding:12px 6px;min-height:112px}
  .discover-lane-icon{font-size:1.5rem!important}
  .discover-lane-text b{font-size:.82rem}
  .discover-lane-text small{font-size:.67rem}
  .explore-head{align-items:flex-start;flex-direction:column;padding:20px 0 10px;gap:13px}
  .explore-head-actions .btn{font-size:.76rem;padding:8px 12px}
  .route-pill{padding:10px 13px;font-size:.77rem}
  #feedCards.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px}
  #homeRecent.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px}
  :is(#feedCards,#homeRecent) .dc-title{font-size:.79rem}
  :is(#feedCards,#homeRecent) .dc-when{display:none}
  .dc-media{border-radius:12px}
}

/* Conversations: people first, with the Drop kept in context. */
.inbox-head{padding:22px 0 24px;border-bottom:1px solid var(--c-border-soft)}
.inbox-head>span{font-size:var(--t-xs);font-weight:800;letter-spacing:.12em;color:var(--c-primary)}
.inbox-head h1{font-size:clamp(1.7rem,3.4vw,2.5rem);letter-spacing:-.035em;line-height:1.15;margin-top:8px}
.inbox-head p{margin-top:7px;color:var(--c-ink-soft);font-size:var(--t-sm)}
.inbox-head #inboxRefresh{float:right;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-ink-soft);padding:8px 12px;font-size:var(--t-xs)}
.inbox-shell{display:grid;grid-template-columns:minmax(250px,340px) minmax(0,1fr);min-height:570px;max-height:min(75vh,780px);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;margin-top:22px}
.inbox-sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--c-border-soft)}
.inbox-tools{padding:16px 14px 0;border-bottom:1px solid var(--c-border-soft)}
.inbox-tools input{width:100%;border:1px solid var(--c-border);border-radius:var(--r-pill);background:var(--c-bg);padding:11px 15px;font:inherit;font-size:var(--t-sm)}
.inbox-tools input:focus-visible,.inbox-compose input:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.inbox-tabs{display:flex;gap:18px;margin-top:14px}
.inbox-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:0 2px 11px;color:var(--c-ink-soft);font-size:var(--t-sm);font-weight:650}
.inbox-tabs button[aria-pressed=true]{color:var(--c-ink);border-bottom-color:var(--c-primary);font-weight:800}
.inbox-tabs button span{font-size:var(--t-xs);color:var(--c-muted);margin-left:3px}
.inbox-threads{overflow:auto;flex:1;min-height:0}
.inbox-row{width:100%;display:flex;gap:11px;align-items:flex-start;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--c-border-soft);padding:16px 14px;color:var(--c-ink)}
.inbox-row:hover,.inbox-row.selected{background:var(--c-cream)}
.inbox-row.selected{box-shadow:inset 3px 0 var(--c-primary)}
.inbox-row:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}
.inbox-row-body{min-width:0;display:flex;flex:1;flex-direction:column;gap:2px}
.inbox-row-body strong{font-size:var(--t-sm);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inbox-row-drop{color:var(--c-ink-soft);font-size:var(--t-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inbox-row-preview{color:var(--c-muted);font-size:var(--t-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inbox-row-time{font-size:.67rem;color:var(--c-muted);white-space:nowrap;padding-top:3px}
.inbox-list-empty{padding:35px 22px;color:var(--c-muted);font-size:var(--t-sm);line-height:1.55}
.inbox-conversation{display:flex;flex-direction:column;min-width:0;min-height:0}
.inbox-person{display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--c-border-soft);padding:12px 18px;min-height:68px}
.inbox-person>span{display:flex;flex-direction:column;gap:1px}
.inbox-person strong{font-size:var(--t-sm);font-weight:800}
.inbox-person small{color:var(--c-muted);font-size:var(--t-xs)}
.inbox-back{display:none;border:0;background:none;font-size:1.35rem;padding:7px;color:var(--c-ink)}
.inbox-context{display:flex;align-items:center;gap:9px;padding:10px 18px;background:var(--c-cream);font-size:var(--t-xs);min-width:0}
.inbox-context span:first-child{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inbox-context span:nth-child(2){color:var(--c-muted);white-space:nowrap}
.inbox-context button{border:0;background:none;color:var(--c-primary-deep);font-size:var(--t-xs);font-weight:800;margin-left:auto;white-space:nowrap}
.inbox-messages{flex:1;overflow:auto;background:var(--c-bg);min-height:120px;padding:18px 22px}
.inbox-messages .msg{word-break:break-word}
.inbox-compose{flex:none}
.inbox-compose button{width:46px;min-width:46px;border-radius:var(--r-pill);padding:9px;font-size:1.05rem}
.inbox-closed{border-top:1px solid var(--c-border-soft);padding:15px 20px;color:var(--c-muted);font-size:var(--t-sm);text-align:center}
.inbox-welcome{margin:auto;padding:28px;text-align:center;font-size:1.6rem;color:var(--c-muted)}
.inbox-welcome h3{font-size:var(--t-md);color:var(--c-ink);margin:14px 0 5px}
.inbox-welcome p{font-size:var(--t-sm);max-width:31ch}
@media(max-width:720px){
  .inbox-shell{display:block;min-height:calc(100dvh - 230px);max-height:none;margin-top:14px}
  .inbox-sidebar{min-height:calc(100dvh - 230px);max-height:calc(100dvh - 190px);border-right:0}
  .inbox-conversation{display:none;min-height:calc(100dvh - 230px);max-height:calc(100dvh - 170px)}
  #chatList.show-thread .inbox-sidebar{display:none}
  #chatList.show-thread .inbox-conversation{display:flex}
  .inbox-back{display:block}
  .inbox-row{min-height:76px}
  .inbox-messages{min-height:260px}
}

/* One visual size for live Drop grids across Home, Explore, producers and profile. */
.cards{grid-template-columns:repeat(auto-fill,minmax(190px,205px));gap:22px 14px}
.cards .dcard:not(.dcard-guest){max-width:205px}
.cards .dcard:not(.dcard-guest) .dc-title{font-family:var(--sans);font-size:.87rem;line-height:1.32;letter-spacing:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.cards .dcard:not(.dcard-guest) .dc-meta{margin-bottom:3px;gap:5px}
.cards .dcard:not(.dcard-guest) .dc-kind{font-size:.69rem;color:var(--c-muted);font-weight:600}
.cards .dcard:not(.dcard-guest) .dc-price{font-size:.8rem;margin-top:4px}
.cards .dcard:not(.dcard-guest) .dc-foot{border:0;padding:0;margin-top:6px;gap:5px}
.cards .dcard:not(.dcard-guest) .dc-foot .avatar{width:19px!important;height:19px!important;font-size:.56rem!important}
.cards .dcard:not(.dcard-guest) .dc-who{font-size:.7rem;color:var(--c-muted)}
.cards .dcard:not(.dcard-guest) .dc-when{font-size:.65rem}
#homeRecent.cards,#feedCards.cards,#producerList.cards,.profile-drop-grid.cards{grid-template-columns:repeat(auto-fill,minmax(190px,205px));gap:22px 14px}
.profile-load-more{display:block;margin:18px auto 26px;padding:9px 16px;border:1px solid var(--c-border);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-ink);font-size:var(--t-sm);font-weight:700;cursor:pointer}
.profile-load-more:hover{border-color:var(--c-primary)}
.profile-load-more:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
@media(max-width:600px){
  .cards,#homeRecent.cards,#feedCards.cards,#producerList.cards,.profile-drop-grid.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px}
  .cards .dcard:not(.dcard-guest){max-width:none}
  .cards .dcard:not(.dcard-guest) .dc-title{font-size:.79rem}
  .cards .dcard:not(.dcard-guest) .dc-when{display:none}
}

/* Mobile app shell: important routes remain reachable without a sideways scroll. */
.mobile-bar,.mobile-menu{display:none}
@media(max-width:860px){
  .app-nav{display:none}
  .mobile-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:80;background:rgba(255,255,255,.97);border-top:1px solid var(--c-border);box-shadow:0 -5px 22px #0000000a;padding:5px max(4px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))}
  .mobile-bar button{min-width:0;min-height:52px;border:0;background:transparent;color:var(--c-ink-soft);font-size:.68rem;font-weight:700;line-height:1.15;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:10px}
  .mobile-bar button .ic{font-size:1.25rem;line-height:1.2}
  .mobile-bar button.active,.mobile-bar button[aria-expanded="true"]{color:var(--c-primary-deep);background:var(--c-primary-soft)}
  .mobile-bar button:focus-visible,.mobile-menu button:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}
  .mobile-menu[hidden]{display:none!important}
  .mobile-menu.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;position:fixed;left:10px;right:10px;bottom:calc(68px + env(safe-area-inset-bottom));max-height:min(60dvh,420px);overflow-y:auto;z-index:79;padding:14px;background:#fff;border:1px solid var(--c-border);border-radius:18px;box-shadow:var(--s-strong)}
  .mobile-menu button{display:flex;align-items:center;gap:9px;min-height:48px;min-width:0;padding:10px;text-align:left;border:1px solid var(--c-border-soft);background:var(--c-cream);border-radius:10px;color:var(--c-ink);font-size:.78rem;font-weight:700}
  .mobile-menu button.active{border-color:var(--c-primary);color:var(--c-primary-deep)}
  .mobile-menu .ic{font-size:1.15rem}
  .content{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  #languageSwitch{bottom:calc(77px + env(safe-area-inset-bottom));right:12px;min-height:38px;z-index:70}
  #toast{bottom:calc(80px + env(safe-area-inset-bottom))}
  .topbar{gap:8px;padding:9px 12px}
  .topbar .brand{min-width:0;font-size:1rem;gap:7px}
  .topbar .brand small{display:none}
  .topbar-actions{gap:5px;min-width:0}
  .topbar-actions .btn.primary{white-space:nowrap;padding:8px 10px;font-size:.74rem}
  .topbar .mode-toggle{max-width:110px;overflow-x:auto;scrollbar-width:none}
  .acct-btn,.notif-bell{min-width:38px;min-height:38px}
  input,textarea,select{font-size:max(16px,1em)}
  .shell,.content,#sectionContent{min-width:0;max-width:100%}
  .discover-search{max-width:100%}
}
@media(max-width:370px){
  .mobile-bar button{font-size:.61rem}
  .mobile-bar button .ic{font-size:1.1rem}
  .mobile-menu.open{grid-template-columns:1fr 1fr}
  .topbar .brand .logo{width:28px;height:28px}
  .topbar-actions .btn.primary{font-size:.68rem;padding:8px}
  .topbar .mode-toggle{display:none}
  .cards,#homeRecent.cards,#feedCards.cards,#producerList.cards,.profile-drop-grid.cards{grid-template-columns:1fr;gap:14px}
  .discover-lanes{grid-template-columns:1fr 1fr}
  .discover-lane{min-height:130px;padding:11px}
}
