@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Manrope:wght@400;500;600;700&display=swap');

:root{
  --bg:#080d18;
  --bg2:#101827;
  --card:#141e2f;
  --line:#334158;
  --ink:#f7f9fc;
  --muted:#aeb9c9;
  --gold:#35b9d0;
  --gold2:#77e3ee;
  --wine:#8f2f66;
  --wine2:#c84e8e;
  --ok:#3d9a6a;
  --warn:#c9842a;
  --bad:#c44a5d;
  --priv:#7a6aa5;
  --shadow:0 18px 40px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body.app{
  font-family:Manrope,system-ui,sans-serif;
  background:
    radial-gradient(900px 400px at 10% -10%,rgba(77,215,232,.13),transparent 50%),
    radial-gradient(700px 360px at 110% 0%,rgba(200,78,142,.13),transparent 45%),
    var(--bg);
  color:var(--ink);
  min-height:100vh;line-height:1.55;-webkit-font-smoothing:antialiased
}
a{color:var(--gold2);text-decoration:none;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
a:hover{color:#fff}
:focus-visible{outline:3px solid rgba(77,215,232,.48);outline-offset:3px}
img{max-width:100%;display:block}
h1,h2,h3,.serif{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;letter-spacing:.01em}
.wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}

/* top public */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 0 10px;gap:16px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}
.brand img{height:46px;width:auto}
.brand b{display:block;font-size:20px;line-height:1}
.brand small{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:10px}
.topbar .brand>.brand-logos+span b{display:none}.topbar .brand>.brand-logos+span small{max-width:150px;line-height:1.35;display:block}
.nav{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.nav a{padding:10px 13px;color:var(--muted);border-radius:999px;font-size:13px;font-weight:600}
.nav a:hover,.nav a.on{background:rgba(77,215,232,.12);color:var(--gold2)}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12px;color:var(--muted)}

/* buttons */
.btn{appearance:none;border:1px solid transparent;cursor:pointer;border-radius:13px;padding:11px 17px;font-weight:750;font-size:13px;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;isolation:isolate;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,filter .2s ease,background .2s ease,border-color .2s ease}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.28) 48%,transparent 70%);transform:translateX(-130%);transition:transform .55s ease;z-index:-1}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.2);filter:saturate(1.08)}
.btn:hover::after{transform:translateX(130%)}
.btn:active{transform:translateY(0) scale(.98);box-shadow:0 4px 10px rgba(0,0,0,.14)}
.btn-gold,.btn-primary{background:linear-gradient(135deg,#3fd2df,#2586d9);color:#07111d;border-color:#69e7ef}
.btn-wine{background:linear-gradient(135deg,#c84e8e,#7e3fc4);color:#fff}
.btn-impersonate{background:#d5d8de;color:#1a1d22;border:1px solid #b4b9c2}
.btn-impersonate:hover{background:#c4c8d0;color:#111;border-color:#9aa1ab}
.btn-ghost{background:#1b2739;border:1px solid #5d708d;color:#f8fbff}
.btn-ghost:hover{background:#273750;border-color:#89a3c5;color:#fff}
.btn-ok{background:#26764d;color:#fff;border-color:#4ca978}
.btn-sm{padding:8px 12px;font-size:12px}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* cards */
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.pad{padding:20px}
.kpi b{display:block;font-size:28px;font-family:"Cormorant Garamond",serif}
.kpi span{color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}

/* panel */
.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.side{background:linear-gradient(180deg,#0b1220,#0d1726);border-right:1px solid var(--line);padding:18px 14px;position:sticky;top:0;height:100vh}
.side .who{margin:18px 0 22px;padding:12px;border:1px solid var(--line);border-radius:14px}
.side nav a{display:block;padding:10px 12px 10px 15px;border-radius:11px;color:#c5cfdd;margin:3px 0;font-size:13px;font-weight:650;position:relative;border:1px solid transparent}
.side nav a::before{content:"";position:absolute;left:5px;top:50%;width:3px;height:0;border-radius:3px;background:var(--gold);transform:translateY(-50%);transition:height .2s ease}
.side nav a.on,.side nav a:hover{background:linear-gradient(90deg,rgba(77,215,232,.17),rgba(77,215,232,.05));border-color:rgba(77,215,232,.18);color:#f3fdff}
.side nav a.on::before,.side nav a:hover::before{height:20px}
.main{padding:22px}
.crumbs{color:var(--muted);font-size:12px;margin-bottom:8px}
.panel-mobilebar{position:fixed;top:15px;left:auto;right:16px;z-index:110;width:auto;height:0;padding:0;background:transparent;border:0}
.panel-mobilebar>.brand{display:none}
.panel-nav-toggle{appearance:none;border:1px solid #60738e;background:#182438;color:#fff;border-radius:12px;padding:9px 12px;font:inherit;font-size:12px;font-weight:750;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.24);white-space:nowrap}
.panel-nav-group{border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);padding:4px 0}
.panel-nav-group summary{list-style:none;cursor:pointer;padding:10px 11px;color:#edf4fc;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;border-radius:10px;transition:background .18s ease,color .18s ease}
.panel-nav-group summary:hover{background:rgba(255,255,255,.06);color:#fff}
.panel-nav-group summary::-webkit-details-marker{display:none}
.panel-nav-group summary::after{content:'+';font-size:16px;color:var(--muted)}
.panel-nav-group[open] summary::after{content:'−'}
.panel-nav-group>div{padding:0 0 5px}
.panel-nav-actions{padding-top:8px}
html.panel-collapsed .shell{grid-template-columns:0 minmax(0,1fr)}html.panel-collapsed .side{opacity:0;visibility:hidden;overflow:hidden;padding-left:0;padding-right:0;pointer-events:none}html.panel-collapsed .main{width:100%}.side{transition:opacity .2s ease,visibility .2s ease,padding .2s ease}.shell{transition:grid-template-columns .24s ease}

table.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th,.tbl td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.tbl th{color:var(--muted);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.tbl tr:hover td{background:rgba(255,255,255,.02)}

.badge{display:inline-block;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;letter-spacing:.04em}
.b-spag{background:#47234e;color:#f4c8ff}
.b-spal{background:#3a2740;color:#e2c6ff}
.b-ga{background:#1f3a33;color:#b8e0c8}
.b-usuario{background:#2a2430;color:#d8cfc4}
.b-ok{background:#1f3a2c;color:#9ee0b8}
.b-warn{background:#40351d;color:#ffe69a}
.b-bad{background:#3a1520;color:#f0b4bd}
.b-priv{background:#262040;color:#d4ccff}
.tick{color:var(--gold)}

/* forms */
label.f{display:block;font-size:12px;color:var(--muted);margin:12px 0 7px;font-weight:700;letter-spacing:.025em;transition:color .18s ease}
input,select,textarea{
  width:100%;background:#0d1625;border:1px solid var(--line);color:var(--ink);
  border-radius:13px;padding:12px 14px;font:inherit;min-height:46px;caret-color:var(--gold);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease
}
input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--line) 42%,var(--gold));background:color-mix(in srgb,#0d1625 94%,var(--gold))}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);background:color-mix(in srgb,#0d1625 97%,var(--gold));box-shadow:0 0 0 4px rgba(77,215,232,.16),0 10px 24px rgba(0,0,0,.12);transform:translateY(-1px)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}
textarea{min-height:90px;resize:vertical}
input[type="checkbox"],input[type="radio"]{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--gold);vertical-align:middle;transform:none}
input[type="file"]{padding:8px;cursor:pointer}
input[type="file"]::file-selector-button{border:0;border-radius:9px;padding:8px 12px;margin-right:10px;background:var(--gold);color:#07111d;font:700 12px Manrope,sans-serif;cursor:pointer;transition:filter .18s ease,transform .18s ease}
input[type="file"]::file-selector-button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.flash{padding:10px 12px;border-radius:12px;margin:0 0 14px;font-size:13px}
.flash.ok{background:#163225;color:#b8e0c8}
.flash.err{background:#3a1520;color:#f0b4bd}

/* profile */
.cover{height:220px;background-size:cover;background-position:center;border-radius:18px 18px 0 0;position:relative}
.cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(16,9,12,.85))}
.avatar{width:112px;height:112px;border-radius:50%;object-fit:cover;border:4px solid var(--card);margin-top:-56px;position:relative;background:#2a1a1e}
.avatar,.person img,.post .who img,.story img,.smart-thumb{object-position:50% 24%}
.smart-thumb{height:180px;width:100%;object-fit:cover;border-radius:12px;background:var(--bg2)}
.smart-thumb.is-portrait,.feed .post .grid img.is-portrait,.profile-gallery img.is-portrait{object-fit:contain!important;object-position:center!important;background:linear-gradient(135deg,var(--bg2),var(--card))}
.smart-thumb.is-square,.feed .post .grid img.is-square,.profile-gallery img.is-square{object-fit:cover!important;object-position:center!important}
.smart-thumb.mini{width:64px;height:64px;float:left;margin:0 10px 8px 0}
.photo-card{border:1px solid var(--line);border-radius:16px;padding:8px;background:var(--card);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;overflow:hidden}.photo-card:hover{transform:translateY(-5px);border-color:#4dd7e8;box-shadow:0 18px 36px rgba(0,0,0,.24)}.photo-card .smart-thumb{transition:transform .35s ease,filter .35s ease}.photo-card:hover .smart-thumb{transform:scale(1.035);filter:saturate(1.08)}
.photo-actions{display:flex;gap:6px;margin:8px 0}.photo-comment{display:flex;gap:6px}.photo-comment input{min-width:0}.photo-comment .btn{flex:0 0 auto}
.private-profile-card{display:flex;gap:18px;align-items:center;max-width:620px;margin:36px auto}.private-profile-card h1{margin:0 0 8px}.private-avatar{width:76px;height:76px;flex:0 0 76px;border-radius:50%;object-fit:cover;object-position:50% 24%;border:3px solid var(--line)}
.profile-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.profile-gallery a{height:92px;overflow:hidden;border-radius:10px;background:linear-gradient(135deg,var(--bg2),var(--card));cursor:zoom-in}.profile-gallery a:first-child{grid-column:1/-1;height:clamp(280px,42vw,430px);border-radius:14px}.profile-gallery img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;transition:transform .3s ease;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.profile-gallery a:first-child img{object-fit:contain!important;object-position:center!important}.profile-gallery a:hover img{transform:scale(1.035)}
.privacy-box{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--card) 90%,var(--gold) 10%)}.privacy-box h3{margin:0}
.credential-card{margin-bottom:16px;border-color:var(--ok);background:color-mix(in srgb,var(--card) 88%,var(--ok) 12%)}.credential-card code{display:inline-block;padding:4px 8px;border-radius:8px;background:var(--bg2);color:var(--ink);font-size:14px;user-select:all}
.publish-route{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.publish-route label{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--bg2);cursor:pointer}.publish-route input{width:18px;height:18px;flex:0 0 18px}.publish-route strong,.publish-route small{display:block}.publish-route small{color:var(--muted);font-size:11px;margin-top:3px}
.post-kind{display:inline-flex;margin:0 0 8px;padding:3px 8px;border-radius:999px;background:rgba(77,215,232,.14);border:1px solid var(--gold);color:var(--gold2);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.moderation-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.moderation-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}.moderation-card{margin-bottom:14px}.moderation-actions{display:grid;grid-template-columns:150px minmax(180px,1fr) auto;gap:8px;margin:12px 0}.moderation-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:12px 0}.moderation-photos>div{padding:7px;border:1px solid var(--line);border-radius:12px;background:var(--bg2)}.moderation-photos img{width:100%;height:150px;object-fit:contain;background:#0b1220;border-radius:8px}.moderation-photos form{display:grid;gap:6px;margin-top:7px}.s-pendiente{background:#fff0c7;color:#785400}.s-aprobado{background:#dff7ed;color:#176749}.s-observado{background:#ffe6ce;color:#874500}.s-rechazado{background:#ffe0e5;color:#8c2336}.submission-row{padding:12px 0;border-top:1px solid var(--line)}.submission-row:first-of-type{border-top:0}
.verify{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font:700 11px/1.2 Manrope,sans-serif;vertical-align:middle}.verify.v1{background:#e8edf4;color:#30435d}.verify.v2{background:#dfeee5;color:#1f6540}.verify.v3{background:linear-gradient(135deg,#fff2b8,#d7a629);color:#5a3b00;box-shadow:0 0 0 1px #c69420}
.v-seal{position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;margin:0 3px;border:0;border-radius:50%;vertical-align:middle;cursor:pointer;background:radial-gradient(circle at 32% 28%,#ffe9a8 0%,#e2b22a 46%,#b8860b 78%,#7a5606 100%);box-shadow:0 0 0 2px #f6de7a,0 0 0 3px #8a6208,0 2px 6px rgba(122,86,6,.35);color:#fff8dc}
.v-seal.sm{width:18px;height:18px}
.v-seal.vip{box-shadow:0 0 0 2px #fff3b0,0 0 0 4px #c9a227,0 2px 8px rgba(122,86,6,.4)}
.v-seal svg{width:13px;height:13px;display:block}
.v-seal.sm svg{width:11px;height:11px}
.v-seal svg circle{fill:none;stroke:rgba(255,248,220,.55);stroke-width:1.6}
.v-seal svg path{fill:none;stroke:#fffdf4;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.v-seal-tag{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(4px);background:#1b1406;color:#ffe9a8;font:700 11px/1 Manrope,system-ui,sans-serif;letter-spacing:.02em;padding:6px 10px;border-radius:999px;white-space:nowrap;opacity:0;pointer-events:none;box-shadow:0 8px 18px rgba(0,0,0,.22);transition:opacity .15s,transform .15s;z-index:8}
.v-seal-tag:after{content:"";position:absolute;left:50%;top:100%;margin-left:-5px;border:5px solid transparent;border-top-color:#1b1406}
.v-seal:hover .v-seal-tag,.v-seal:focus .v-seal-tag,.v-seal.on .v-seal-tag,.v-seal[aria-expanded="true"] .v-seal-tag{opacity:1;transform:translateX(-50%) translateY(0)}
.nv-wrap{margin:8px 0 22px}
.nv-block{margin:0 0 18px}
.nv-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.nv-head h3{margin:0;font-size:22px}
.nv-rail{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x mandatory}
.nv-card{min-width:152px;max-width:168px;flex:0 0 auto;scroll-snap-align:start;background:var(--card,#fff);border:1px solid var(--line,#d2d6dc);border-radius:16px;padding:12px 10px;text-align:center}
.nv-card img{width:72px;height:72px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 8px;background:var(--bg2,#eef0f3)}
.nv-card strong{display:block;font-size:13px;line-height:1.25}
.nv-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.vis-pill{font-size:10px;padding:2px 7px;margin-left:4px;vertical-align:middle}
.rel-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}
.rel-acts form{display:inline;margin:0}
.amigo-search{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.amigo-search input{flex:1;min-width:200px}
.amigo-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.amigo-tabs a{border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}
.amigo-tabs a.on{background:#167a9c;color:#fff;border-color:#167a9c}
.chat-lock{background:var(--bg2,#eef0f3);border-radius:12px;margin:8px}
.online-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.online-status i{width:8px;height:8px;border-radius:50%;background:#9aa0a8}.online-status.is-online i{background:#23a55a;box-shadow:0 0 0 3px rgba(35,165,90,.15)}
.gift-form{display:flex;gap:6px;align-items:center}.gift-form select{width:auto;min-height:36px;padding:7px 10px}.gift-list{display:flex;gap:6px;flex-wrap:wrap}.wallet{display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:center}.wallet strong{font:700 34px/1 "Cormorant Garamond",serif;color:var(--gold2)}.wallet small{grid-column:1/-1;color:var(--muted)}
.meta-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.stars{color:#5a4a40;letter-spacing:1px}
.stars i{font-style:normal;font-size:16px}
.stars i.on,.stars i.half{color:var(--gold)}
.stars em{font-style:normal;color:var(--muted);margin-left:6px;font-size:12px}

.feed .post{padding:14px 0;border-bottom:1px solid var(--line)}
.post .who{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.post .who img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.muted{color:var(--muted)}
.tiny{font-size:12px;color:var(--muted)}

.chat-box{display:grid;grid-template-columns:300px 1fr;min-height:62vh}
.chat-list{border-right:1px solid var(--line);padding:8px 0 12px;max-height:74vh;overflow:auto}
.chat-thread{display:grid;grid-template-columns:48px 1fr auto;gap:8px;align-items:center;padding:8px 12px;border-radius:12px;margin:2px 8px;color:inherit}
.chat-thread:hover,.chat-thread.on{background:rgba(22,122,156,.10)}
.chat-thread strong{display:block;font-size:13px;line-height:1.2}
.chat-thread .preview{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-side{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.unread-n{min-width:18px;height:18px;border-radius:999px;background:#23a55a;color:#fff;font:700 10px/18px Manrope,sans-serif;text-align:center;padding:0 5px;font-style:normal}
.chat-ava{position:relative;width:40px;height:40px;flex:0 0 40px;display:inline-block}
.chat-ava img,.chat-ava .ini{width:40px;height:40px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#d7dde6;color:#314050;font:700 13px Manrope,sans-serif}
.chat-ava.sm,.chat-ava.sm img,.chat-ava.sm .ini{width:28px;height:28px;flex-basis:28px;font-size:11px}
.chat-ava.lg,.chat-ava.lg img,.chat-ava.lg .ini{width:48px;height:48px;flex-basis:48px}
.chat-ava .dot{position:absolute;right:0;bottom:0;width:10px;height:10px;border-radius:50%;background:#9aa0a8;border:2px solid var(--card,#fff)}
.chat-ava .dot.on{background:#23a55a;box-shadow:0 0 0 3px rgba(35,165,90,.18)}
.chat-head{display:flex;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.chat-main{display:flex;flex-direction:column;min-height:62vh}
.thread{flex:1;max-height:none;overflow:auto;padding:12px 16px}
.chat-day{text-align:center;font-size:11px;color:var(--muted);margin:10px 0;letter-spacing:.04em}
.bubble-row{display:flex;gap:8px;align-items:flex-end;margin:8px 0}
.bubble-row.me{justify-content:flex-end}
.bubble{max-width:78%;padding:8px 12px 6px;border-radius:14px;margin:0}
.bubble.me{margin-left:0;background:#1e5b86;color:#fff;border-bottom-right-radius:4px}
.bubble.you{background:#202c3e;color:var(--ink);border-bottom-left-radius:4px}
.who-line{font-size:12px;margin-bottom:3px}
.ini-tag{display:inline-block;font-size:10px;opacity:.75;margin-left:4px}
.bubble-meta{display:flex;gap:6px;justify-content:flex-end;align-items:center;margin-top:4px;font-size:11px;opacity:.8}
.ticks{letter-spacing:-2px;font-weight:700}
.ticks.sent{opacity:.7}
.ticks.read{color:#7ee0ff}
html[data-theme="light"] .ticks.read{color:#0b6e99}
.chat-att{max-width:220px;max-height:160px;border-radius:10px;margin-top:6px}
.chat-compose{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:end;border-top:1px solid var(--line)}
.chat-compose textarea{min-height:46px;margin:0}
.chat-file{margin:0;cursor:pointer;font-size:20px}
.chat-file input{position:absolute;opacity:0;width:1px;height:1px}
.emoji-wrap{position:relative}
.emoji-panel{position:absolute;bottom:42px;left:0;width:260px;background:var(--card,#fff);border:1px solid var(--line);border-radius:14px;padding:8px;display:grid;grid-template-columns:repeat(8,1fr);gap:4px;z-index:8;box-shadow:var(--shadow)}
.emoji-i{appearance:none;border:0;background:transparent;font-size:18px;cursor:pointer;border-radius:8px;padding:4px}
.emoji-i:hover{background:rgba(22,122,156,.12)}
.notif-fab{position:fixed;top:14px;right:86px;z-index:60;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card,#fff);color:var(--ink);border-radius:999px;padding:8px 12px;cursor:pointer;font:700 12px Manrope,sans-serif;box-shadow:var(--shadow)}
.chat-dock{position:fixed;right:16px;bottom:20px;z-index:72;width:60px;height:60px;border-radius:50%;display:block;background:#fff;border:3px solid #e2b22a;box-shadow:0 10px 26px rgba(20,16,8,.28);text-decoration:none}
.chat-dock img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.chat-dock-n{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#c42b45;color:#fff;font:800 11px/20px Manrope,sans-serif;text-align:center;box-shadow:0 0 0 2px #fff}
.chat-dock-lab{position:absolute;left:50%;bottom:-17px;transform:translateX(-50%);font:800 10px/1 Manrope,sans-serif;color:#8a6208;background:#fff3c4;border-radius:999px;padding:3px 7px;white-space:nowrap}
.nav-chatava{position:relative;display:inline-flex;width:36px;height:36px;border-radius:50%;vertical-align:middle;margin-left:4px}
.nav-chatava img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #e2b22a;display:block;background:#eef0f3}
.nav-chat-n{position:absolute;top:-6px;right:-7px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#c42b45;color:#fff;font:800 10px/18px Manrope,sans-serif;text-align:center}
.notif-fab.on{border-color:#23a55a;background:#e9f8ee;color:#146c36}
html[data-theme="dark"] .notif-fab.on{background:#143322;color:#8ee0ad}
.notif-fab.ask{border-color:#c9842a}
.nav-count{display:inline-block;min-width:16px;padding:0 5px;border-radius:999px;background:#c44a5d;color:#fff;font-size:10px;line-height:16px;text-align:center}

.list-people{display:grid;gap:10px}
.person{display:flex;gap:12px;align-items:center}
.person img{width:48px;height:48px;border-radius:50%;object-fit:cover}

.impersonate{background:#36214e;color:#f7eaff;padding:10px 16px;text-align:center;font-size:13px}
.impersonate a{margin-left:8px}
.wizard-tabs{display:flex;gap:8px;margin:12px 0 18px}
.wizard-tabs button{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:8px 14px;cursor:pointer;font:inherit}
.wizard-tabs button.on{background:rgba(77,215,232,.15);color:var(--gold2);border-color:var(--gold)}
.prose .cms{line-height:1.7;color:var(--ink)}
.prose .cms h2,.prose .cms h3{font-family:"Cormorant Garamond",serif;color:var(--gold2)}
.prose .cms ul{padding-left:18px}
.prose .cms a.btn{display:inline-flex}

.nav-toggle{display:none;appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:8px 12px;cursor:pointer;font:inherit}
.actor-bar{background:#1a1014;border-bottom:1px solid var(--line);padding:8px 16px;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}
.actor-bar select{width:auto;min-width:220px}
.feed-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.feed-tabs a,.feed-tabs button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:8px 14px;cursor:pointer;font:inherit;font-size:13px}
.feed-tabs a.on,.feed-tabs button.on{background:rgba(77,215,232,.15);color:var(--gold2);border-color:var(--gold)}
.stories{display:flex;gap:10px;overflow:auto;padding:4px 0 14px;-webkit-overflow-scrolling:touch}
.story{flex:0 0 76px;text-align:center;font-size:11px;color:var(--muted)}
.story img,.story .ph{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);margin:0 auto 4px;display:block}
.post-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.act-btn{appearance:none;border:1px solid #53647c;background:#172234;color:#dce6f2;border-radius:999px;padding:7px 11px;cursor:pointer;font:inherit;font-size:12px;font-weight:650;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
.act-btn:hover{background:#24344c;border-color:#7891b2;color:#fff}.act-btn.on{border-color:var(--gold);background:rgba(77,215,232,.15);color:#aef5fb}
.post-video{width:100%;max-height:360px;border-radius:12px;margin-top:8px;background:#000}
.feed .post .who img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.feed .post .grid img{width:100%;height:90px;object-fit:cover;border-radius:8px}
.nx-tag{display:inline-block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:1px 6px;margin-left:4px}
.nx-tag.p{background:#2a2430;color:#d8cfc4}
.nx-tag.e{background:#1f3a33;color:#b8e0c8}
.bottomnav{display:none}
.brand-logos{display:inline-flex;align-items:center;position:relative}.brand-logos img{height:46px;width:auto;max-width:300px}.brand-logo-light{display:block}.brand-logo-dark{display:none}html[data-theme="dark"] .brand-logo-dark{display:block}html[data-theme="dark"] .brand-logo-light{display:none}
.logo-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.logo-preview{min-height:120px;border-radius:16px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.logo-preview.light{background:#fff;color:#17243a;border:1px solid #d4dbe5}.logo-preview.dark{background:#08101d;color:#fff;border:1px solid #34445d}.logo-preview.dark .brand-logo-dark,.logo-preview.light .brand-logo-light{display:block}.logo-preview.dark .brand-logo-light,.logo-preview.light .brand-logo-dark{display:none}
.ticket-admin{grid-template-columns:minmax(480px,1.1fr) minmax(340px,.9fr)}.ticket-status{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;text-transform:capitalize}.s-nuevo{background:#dcecff;color:#15528a}.s-abierto{background:#dff7ed;color:#176749}.s-espera_usuario{background:#fff0c7;color:#785400}.s-resuelto{background:#e7e3ff;color:#513a9c}.s-cerrado{background:#e5e8ed;color:#4f5865}.chatbot-welcome{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--card) 84%,#2586d9 16%)}.chatbot-welcome>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#3fd2df,#2586d9);color:#07111d;font-size:20px}.ticket-head{border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:10px}
.side a,.nav a,.btn,.act-btn,.theme-toggle,.panel-nav-toggle{will-change:transform}.side nav a:hover,.nav a:hover,.act-btn:hover,.theme-toggle:hover,.panel-nav-toggle:hover{transform:translateY(-2px)}.panel-nav-group>div{animation:menuIn .2s ease}@keyframes menuIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.foot-pub{padding:20px 0 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.search-box{position:relative}
.search-live{margin-top:12px}
.report-sheet{position:fixed;inset:0;z-index:85;display:none;align-items:center;justify-content:center;background:rgba(12,14,18,.5);padding:16px}
.report-sheet.on{display:flex}
.report-sheet .box{position:relative;width:min(480px,100%);background:var(--card,#fff);color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:20px 18px 16px;box-shadow:var(--shadow)}
.report-sheet .lb-x{position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(0,0,0,.08);cursor:pointer}
.report-opt{display:block;margin:6px 0;cursor:pointer}
.report-opt input{width:auto;margin-right:8px}
#aqp-report-err{color:#c44a5d}
.gal-item{position:relative}
.gal-item .report-btn{margin-top:6px}
.bars{display:flex;align-items:flex-end;gap:4px;height:160px;padding:8px 0 22px}
.bars .bar{flex:1;min-width:6px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}
.bars .bar i{display:block;width:100%;max-width:22px;background:linear-gradient(180deg,#35b9d0,#167a9c);border-radius:6px 6px 2px 2px;min-height:2px}
.bars .bar span{position:absolute;bottom:-18px;font-size:9px;color:var(--muted);white-space:nowrap}
.bars.alt .bar i{background:linear-gradient(180deg,#c84e8e,#7e3fc4)}
.usr-thumb{width:48px;height:48px;object-fit:cover;border-radius:10px;cursor:zoom-in;background:var(--bg2)}
.fld.ok input,.fld.ok select,.fld.ok textarea{border-color:#2a9d5c!important;background:#f3fbf5!important}
.fld.bad input,.fld.bad select,.fld.bad textarea{border-color:#c44a5d!important;background:#fff6f7!important}
.fld .val-msg{color:#c44a5d}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:118px;width:100%;box-sizing:border-box}
.pw-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);border:0;background:#e8eaee;color:#17191d;font:inherit;font-size:11px;font-weight:700;padding:6px 8px;border-radius:8px;cursor:pointer;line-height:1.1;max-width:46%;white-space:nowrap}
.pw-toggle[aria-pressed="true"]{background:#167a9c;color:#fff}
html[data-theme="dark"] .pw-toggle{background:#2a3548;color:#f7f9fc}
html[data-theme="dark"] .pw-toggle[aria-pressed="true"]{background:#35b9d0;color:#0b0f16}
input[readonly]{opacity:.72;background:#f3f4f6}
.nac-sels{display:flex;gap:8px}.nac-sels select,.nac-sels input{flex:1;min-width:0}
.foto-zoom .zoom-box{width:min(920px,100%);background:#111;color:#fff;padding:16px 48px;text-align:center;position:relative}
.foto-zoom .zoom-box img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:8px}
.fv-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:26px;cursor:pointer}
.fv-prev{left:10px}.fv-next{right:10px}
.fv-nav:hover{background:rgba(255,255,255,.32)}
#aqp-fv1-grid img{width:100%;height:140px;object-fit:cover;border-radius:10px;cursor:zoom-in}
.foto-n{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700}
.notif-item{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line);color:inherit}
.notif-item.unread{background:rgba(77,215,232,.07);padding-left:8px;border-radius:8px}

@media (max-width:900px){
  html.panel-collapsed .shell{grid-template-columns:1fr}html.panel-collapsed .side{opacity:1;visibility:visible;padding:22px 16px;pointer-events:auto}
  .shell{grid-template-columns:1fr}
  .panel-mobilebar{top:10px;left:auto!important;right:10px;height:auto}
  .panel-nav-toggle{width:43px;height:43px;padding:0;border-radius:13px}.panel-nav-toggle [data-panel-toggle-label]{display:none}.panel-toggle-icon{font-size:20px}
  .side{display:none;position:fixed;left:0;top:0;bottom:0;z-index:100;width:min(330px,88vw);height:auto;overflow-y:auto;padding-top:16px;box-shadow:22px 0 50px rgba(0,0,0,.42)}
  .side.open{display:block}
  body.panel-menu-open{overflow:hidden}
  .main{padding:14px 14px 36px;min-width:0}
  .g2,.g3,.g4,.chat-box{grid-template-columns:1fr}
  .publish-route,.moderation-grid{grid-template-columns:1fr}.moderation-actions{grid-template-columns:1fr}
  .topbar{flex-wrap:wrap}
  .nav-toggle{display:inline-flex}
  .nav{display:none;width:100%;flex-direction:column;align-items:stretch}
  .nav.open{display:flex}
  body.app-social{padding-bottom:78px}
  .bottomnav{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;
    background:#0b1220;border-top:1px solid var(--line);
    justify-content:space-around;padding:8px 6px calc(8px + env(safe-area-inset-bottom));
  }
  .bottomnav a{color:var(--muted);font-size:11px;text-align:center;position:relative;min-width:56px}
  .bottomnav span{display:block;font-size:18px;line-height:1.1}
  .bottomnav i{position:absolute;top:-2px;right:10px;background:var(--wine);color:#fff;border-radius:999px;font-style:normal;font-size:10px;padding:1px 5px}
  .cover{height:160px}
  .avatar{width:88px;height:88px;margin-top:-44px}
  h1.serif{font-size:28px !important}
  table.tbl{min-width:620px}
  .card:has(> table.tbl){overflow-x:auto}
  .chat-box>div:first-child{border-right:0 !important;border-bottom:1px solid var(--line)}
  .chat-compose{grid-template-columns:auto 1fr auto}
  .notif-fab{top:auto;bottom:154px;right:16px}
  .chat-dock{bottom:86px;right:14px}
  .ticket-admin{grid-template-columns:1fr}.logo-preview-grid{grid-template-columns:1fr}
}

@media (max-width:520px){
  .wrap{width:calc(100% - 20px)}
  .brand small{display:none}
  .btn{padding:10px 12px}
  .pad{padding:15px}
  .main h1.serif{font-size:25px !important}
  .profile-gallery a{height:70px}.profile-gallery a:first-child{height:min(58vh,390px)}
}
